Want to make creations as awesome as this one?

Transcript

Morales Gomez Luis Raul.de la Cruz Flores Karla Garfias Cruz Ximena Getsemani

concurrencia.

Fundamentos de procesos y

Empezar

conceptos

Fundamentos de procesos y concurrencia.

La concurrencia se refiere a la capacidad de ejecutar dos o más tareas al mismo tiempo. Esto puede ocurrir en un solo procesador (concurrencia a nivel de hilo) o en múltiples procesadores (concurrencia a nivel de proceso).Los fundamentos de procesos son los principios y conceptos básicos que sustentan la gestión y mejora de los procesos en cualquier tipo de organización. Estos fundamentos se pueden dividir en cinco categorías principales:

+ info

¿Que es un proceso?

Un proceso es un conjunto de actividades planificadas que se llevan a cabo de forma secuencial para lograr un objetivo específico. Estas actividades pueden ser simples o complejas, y pueden involucrar a una o más personas, así como recursos materiales y tecnológicos. Los procesos se pueden encontrar en todos los ámbitos de la vida, desde la naturaleza hasta las empresas y las organizaciones. Algunos ejemplos de procesos son: En la naturaleza: el ciclo del agua, la fotosíntesis, la digestión de los alimentos. En las empresas: la producción de un producto, la atención al cliente, la gestión de pedidos.

Jerarquías de procesosLas jerarquías de procesos son una forma de organizar los procesos en una estructura de árbol. Cada proceso en la jerarquía tiene un padre y puede tener uno o más hijos.

Primitivas de gestión de procesosLas primitivas de gestión de procesos son las operaciones que el sistema operativo proporciona para crear, eliminar, suspender, reanudar y controlar los procesos.

Un proceso puede encontrarse en uno de varios estados de actividad durante su ciclo de vida: 1. Nuevo: El proceso se ha creado pero aún no se ha comenzado a ejecutar. 2. Listo: El proceso está listo para ejecutarse, pero está esperando que se le asigne un procesador. 3. En ejecución: El proceso se está ejecutando actualmente en un procesador. 4. Bloqueado: El proceso está esperando que ocurra un evento, como la finalización de una operación de E/S o la recepción de una señal. 5. Terminado: El proceso ha finalizado su ejecución.

Estados de actividad de un proceso.

Ejemplos

+ info

Sistemas concurrentes.

Un sistema concurrente es un sistema en el que dos o más tareas se ejecutan al mismo tiempo. Esto puede ocurrir en un solo procesador (concurrencia a nivel de hilo) o en múltiples procesadores (concurrencia a nivel de proceso). Beneficios de la concurrencia: Mejora del rendimiento: Permite ejecutar tareas simultáneamente, lo que puede mejorar el rendimiento general del sistema. Mayor capacidad de respuesta: El sistema puede responder más rápido a las solicitudes de los usuarios. Eficiencia en el uso de recursos: Permite aprovechar mejor los recursos disponibles, como los procesadores y la memoria.

Cooperación:La cooperación entre procesos se refiere a la forma en que los procesos trabajan juntos para lograr un objetivo común. Esto puede implicar compartir recursos, comunicarse entre sí y coordinar sus acciones.Competencia: La competencia entre procesos se refiere a la forma en que los procesos compiten por recursos, como el tiempo de CPU, la memoria y los dispositivos de E/S.

Especificación de la concurrencia La especificación de la concurrencia es el proceso de definir cómo se ejecutarán las tareas de forma concurrente.La concurrencia tiene como propósito principal mejorar la eficiencia y el rendimiento de los sistemas al permitir que dos o más tareas se ejecuten al mismo tiempo. Objetivos específicos de la concurrencia:

  • Mejora la ejecución simultanea de tareas puede aprovechar mejor los recursos disponibles, como los procesadores y la memoria.
  • Los sistemas concurrentes pueden responder más rápido a las solicitudes de los usuarios, ya que no tienen que esperar a que una tarea termine antes de comenzar otra.
  • La concurrencia permite aprovechar mejor los recursos disponibles, como los procesadores y la memoria, lo que puede reducir el tiempo de espera y aumentar la eficiencia en el uso de recursos.
  • Los sistemas concurrentes pueden escalarse mejor a medida que aumenta el número de usuarios o la cantidad de datos, ya que pueden distribuir la carga de trabajo entre múltiples tareas.
  • Los sistemas concurrentes pueden ser más tolerantes a fallos, ya que si una tarea falla, las demás tareas pueden continuar ejecutándose.

Propósitos y objetivos de la concurrencia.

+ info

Planificación de procesos.

La planificación de procesos es la función del sistema operativo que se encarga de decidir qué proceso se ejecutará a continuación y por cuánto tiempo. Esta función es importante para garantizar que todos los procesos tengan la oportunidad de ejecutarse y que los recursos del sistema se utilicen de manera eficiente.

Estructuras y niveles de planificación.

Las estructuras de planificación se clasifican en tres niveles:1. Planificación a largo plazo2. Planificación a mediano plazo3. Planificación a corto plazo:Los niveles de planificación se clasifican en dos: 1. Nivel de usuario: Se centra en la gestión de procesos desde la perspectiva del usuario. 2. Nivel de núcleo:Se centra en la gestión de procesos desde la perspectiva del sistema operativo.

+ info

El bloque de control del proceso (BCP), también conocido como PCB (Process Control Block), es una estructura de datos fundamental en la gestión de procesos de un sistema operativo. El BCP contiene toda la información que el sistema operativo necesita para gestionar un proceso individual.Colas de gestión de procesos Las colas de gestión de procesos son estructuras de datos que se utilizan para organizar y gestionar los procesos en un sistema operativo. 1. Cola de listos contiene los procesos que están listos para ejecutarse en la CPU se organiza generalmente por orden de prioridad, de mayor a menor.2. Cola de espera contiene los procesos que están esperando un evento de E/S.3. Cola de terminados contiene los procesos que han terminado su ejecución.Planificación a largo plazo (estratégica), Definir los objetivos generales del sistema y las estrategias para alcanzarlos.2. Planificación a mediano plazo (táctica), Traducir los objetivos a largo plazo en planes concretos y acciones a corto plazo.3. Planificación a corto plazo (operativa), Asegurar la ejecución eficiente de las tareas y procesos del sistema.Hilos (Threads) En informática, un hilo o hebra es una unidad de ejecución dentro de un proceso. Un proceso puede tener uno o más hilos ejecutándose de forma concurrente. Los hilos comparten el mismo espacio de memoria del proceso, pero tienen su propio conjunto de registros y pila.

El bloque de control del proceso.

Tareas

+ info

Objetivos de la planificación de procesos.

1. Equidad: Todos los procesos deben tener la oportunidad de ejecutarse y no se debe dar preferencia a ningún proceso en particular. 2. Eficiencia: Se busca aprovechar al máximo los recursos del sistema, como la CPU y la memoria, para que no haya recursos ociosos mientras otros esperan. 3. Rendimiento: El sistema debe responder a las solicitudes de los usuarios de manera rápida, sin que haya tiempos de espera excesivos. 4. Prioridad: Se debe dar preferencia a los procesos que son más importantes para el usuario o para el sistema. 5. Seguridad: Se debe proteger el sistema de accesos no autorizados por parte de los procesos. 6. Imparcialidad: Todos los procesos deben ser tratados de manera justa y no se debe discriminar a ningún proceso. 7. Transparencia: Los usuarios y los administradores del sistema deben tener acceso a información sobre la planificación de procesos. 8. Flexibilidad: El sistema de planificación de procesos debe ser flexible para adaptarse a diferentes tipos de procesos y diferentes necesidades de los usuarios.

Criterios de evaluación de las políticas.

+ info

El modelo de comportamiento de un proceso describe cómo un proceso cambia de estado a lo largo de su vida útil. Los estados más comunes son: 1. Nuevo: El proceso se ha creado pero aún no se ha iniciado. 2. Listo: El proceso está listo para ejecutarse pero está esperando que la CPU esté disponible. 3. Ejecución: El proceso se está ejecutando en la CPU. 4. Espera: El proceso está esperando un evento, como la finalización de una operación de E/S. 5. Terminado: El proceso ha terminado su ejecución.Los criterios de evaluación de las políticas son los parámetros que se utilizan para determinar si una política es efectiva o no.1. Eficacia: La política debe lograr los objetivos que se ha propuesto. 2. Eficiencia: La política debe alcanzar sus objetivos de la manera más eficiente.3. Equidad: La política debe ser justa y equitativa para todos los ciudadanos.4. Impacto: La política debe tener un impacto positivo en la sociedad. 5. Sostenibilidad: La política debe ser sostenible a largo plazo, tanto en términos económicos como ambientales. 6. Viabilidad: La política debe ser viable de implementar y de gestionar. 7. Aceptabilidad: La política debe ser aceptada por los ciudadanos o grupos afectados.

FCFS.SJF. Métodos expulsivos (preemptive). Round-Robin. Métodos basados en prioridades. Métodos multicolas.

FCFS significa "Primero en Entrar, Primero en Salir". Es un algoritmo de planificación utilizado en sistemas informáticos para administrar tareas como procesos en espera de la CPU o solicitudes en cola para una red.SJF SJF significa "El Trabajo Más Corto Primero" (TMC Primero). Es un algoritmo de planificación que se usa para decidir qué proceso debe ejecutarse en el CPU a continuación.Metodos expulsivos ()Los métodos de planificación expulsivos (preemptive) son aquellos en los cuales el sistema operativo puede interrumpir un proceso que se esté ejecutando en la CPU para darle paso a otro proceso con mayor prioridad.Round-RobinEl algoritmo de planificación Round-Robin (RR) es un método muy utilizado en sistemas operativos multitarea. Se basa en un turnos rotativos cada proceso tiene un tiempo específico para realizar una tarea antes de pasárselo al siguiente.Métodos de Planificación Basados en Prioridades Son un conjunto de algoritmos que asignan prioridades a los procesos para determinar cuál debe ejecutarse en la CPU. La prioridad puede basarse en diversos criterios, como el tipo de proceso, la urgencia de la tarea o los requisitos de recursos.Métodos MulticolasLos métodos multicolas son una estrategia avanzada para la planificación de procesos que divide la cola de ready quede en múltiples colas separadas cada una con su propio algoritmo de planificación

En sistemas operativos multitarea, donde se ejecutan varios procesos al mismo tiempo, la sincronización y la comunicación son dos aspectos fundamentales para garantizar un funcionamiento correcto y eficiente.

  • Sincronización: Se encarga de coordinar la ejecución de los procesos para evitar accesos inconsistentes a recursos compartidos y garantizar la integridad de los datos. Se utilizan diferentes mecanismos para lograr esto:
  • Semáforos: Variables enteras que controlan el acceso a recursos. Un proceso que necesita un recurso debe adquirir un semáforo, y cuando termina con el recurso, lo libera.
  • Mutex: Garantizan que solo un proceso pueda acceder a un recurso a la vez.
  • Barreras: Permiten sincronizar un grupo de procesos para que esperen hasta que todos hayan llegado a un punto determinado antes de continuar.
  • Comunicación: Los procesos necesitan comunicarse entre sí para intercambiar información y datos.
Existen diferentes mecanismos para la comunicación:Memoria compartida: Los procesos pueden compartir una zona de memoria para leer y escribir datos. Mensajes: Los procesos pueden enviarse mensajes entre sí para intercambiar información.

Propósitos y objetivos de la concurrencia.

+ info

Sincronización entre procesos.

La sincronización entre procesos es un componente fundamental en sistemas operativos multitarea. Permite coordinar la ejecución de procesos concurrentes para garantizar la integridad de los datos y evitar accesos inconsistentes a recursos compartidos.

Conceptoos y Necesidad

Concepto: La sincronización entre procesos es un mecanismo fundamental en sistemas operativos multitarea que permite coordinar la ejecución de procesos concurrentes para garantizar la integridad de los datos y evitar accesos inconsistentes a recursos compartidos.Necesidad: La sincronización entre procesos es necesaria para:

  • Garantizar la integridad de los datos: Cuando dos o más procesos acceden a los mismos datos, la sincronización asegura que no se produzcan modificaciones inconsistentes que corrompan la información.
  • Evitar errores de lógica: La sincronización permite controlar el acceso a recursos compartidos y evitar que dos o más procesos interfieran entre sí, generando resultados impredecibles o errores de lógica.
  • Prevenir interbloqueos: La sincronización previene situaciones de interbloqueo donde dos o más procesos se bloquean esperando que el otro termine, creando un estado de espera indefinido que detiene el progreso del sistema.
  • Permitir la cooperación entre procesos: La sincronización permite que los procesos se comuniquen y coordinen sus acciones para realizar tareas complejas de forma conjunta.

Semáforos. Regiones críticas. Monitores. Problemas clásicos de sincronización entre procesos

Semáforos: Variables que pueden ser incrementadas o decrementadas por los procesos. Se utilizan para controlar el acceso a recursos compartidos. Permiten evitar el problema del acceso concurrente a recursos críticos.

- Genially

Regiones críticas:

Secciones de código que solo pueden ser ejecutadas por un proceso a la vez. Se utilizan para proteger recursos compartidos del acceso simultáneo de varios procesos. Permiten evitar el problema de la inconsistencia de datos.

Monitores:

Tipo de variable que permite a los procesos sincronizar su ejecución. Se utilizan para controlar el acceso a recursos compartidos y para coordinar la ejecución de los procesos. Permiten evitar el problema del interbloqueo.S

01

Problemas clásicos de sincronización entre procesos:

Problema del productor-consumidor: Un proceso produce datos que otro proceso consume. Problema del lector-escritor: Varios procesos pueden leer un recurso compartido, pero solo uno puede escribir en él a la vez. Problema de las filósofas: Cinco filósofas comen de un plato de arroz con cinco tenedores.

2.18 Comunicación entre procesos Primitivas de comunicación:

Mensajes: Intercambio de información entre procesos mediante mensajes. Tuberías: Canales de comunicación unidireccionales que permiten el intercambio de datos entre procesos. Memoria compartida: Zona de memoria accesible a todos los procesos que permite el intercambio de datos entre ellos.

Taxonomía de los mecanismos de paso de mensajes:

Paso de mensajes por copia: Se crea una copia del mensaje para cada proceso receptor. Paso de mensajes por referencia: Se comparte la misma copia del mensaje entre todos los procesos receptores.

Conceptos y usos:Comunicación sincrónica:

El proceso emisor espera a que el proceso receptor reciba el mensaje. Comunicación asincrónica: El proceso emisor no espera a que el proceso receptor reciba el mensaje. RPC (Remote Procedure Call): Mecanismo que permite a un proceso llamar a una función de otro proceso.

+ info

¿Tienes una idea?

Con las plantillas de Genially podrás incluir recursos visuales para dejar a tu audiencia con la boca abierta. También destacar alguna frase o dato concreto que se quede grabado a fuego en la memoria de tu público e incluso embeber contenido externo que sorprenda: vídeos, fotos, audios... ¡Lo que tú quieras!

¿Cuales son los 5 pasos?

1. Enfoque a procesos: El enfoque a procesos permite a las organizaciones comprender cómo se crea valor para sus clientes y mejorar su eficiencia y eficacia. 2. Gestión por procesos: Definición: La gestión por procesos es un enfoque de gestión que se centra en la identificación, diseño, implementación, medición y mejora de los procesos de una organización. 3. Mejora continua: El ciclo de mejora continua se basa en cuatro pasos: planificar, hacer, verificar y actuar (PHVA). 4. Medición y análisis: La medición y el análisis son fundamentales para evaluar el desempeño de los procesos e identificar oportunidades de mejora. 5. Cultura de mejora: La cultura de mejora es esencial para el éxito de la gestión, una cultura de mejora se caracteriza por el compromiso de la dirección, la participación del personal y el aprendizaje continuo.

Ejemplos

Algunas de las primitivas más comunes son:

  • Crear procesos.
  • Eliminar procesos.
  • Suspender procesos.
  • Reanudar procesos.
  • Cambiar la prioridad de un procesos.
  • Envía una señal a un proceso para notificar un evento.
Las jerarquías de procesos pueden ser útiles para:
  • Organizar los procesos por función.
  • Controlar la ejecución de los procesos.
  • Los procesos pueden compartir recursos entre sí.
Ejemplos de jerarquías de procesos:El shell es un proceso que crea otros procesos para ejecutar comandos.Un servidor web puede tener varios procesos para manejar las solicitudes de los clientes.El sistema operativo puede tener varios procesos para realizar diferentes tareas, como la gestión de memoria, la gestión de dispositivos y la gestión de archivos.

Ejemplos

Algunas de las primitivas más comunes son:

  • Crear procesos.
  • Eliminar procesos.
  • Suspender procesos.
  • Reanudar procesos.
  • Cambiar la prioridad de un procesos.
  • Envía una señal a un proceso para notificar un evento.
Las jerarquías de procesos pueden ser útiles para:
  • Organizar los procesos por función.
  • Controlar la ejecución de los procesos.
  • Los procesos pueden compartir recursos entre sí.
Ejemplos de jerarquías de procesos:El shell es un proceso que crea otros procesos para ejecutar comandos.Un servidor web puede tener varios procesos para manejar las solicitudes de los clientes.El sistema operativo puede tener varios procesos para realizar diferentes tareas, como la gestión de memoria, la gestión de dispositivos y la gestión de archivos.

¿Tienes una idea?

1. Planificación a largo plazo:Admitir nuevos procesos en el sistema y eliminar los procesos que ya han terminado.Se basa en la memoria virtual y la gestión de jobs, Se decide si se admite un nuevo trabajo en el sistema en función de la disponibilidad de recursos.2. Planificación a mediano plazo:Mover procesos entre la memoria principal y la memoria secundaria.Se basa en técnicas de paginación y segmentación.3. Planificación a corto plazo:Seleccionar el proceso que se ejecutará a continuación en la CPU.Se basa en algoritmos de planificación de procesos, Se elige el proceso que se ejecutará a continuación en la CPU.Se asigna la CPU al proceso seleccionado.

Tareas

1. Planificación a largo plazo (estratégica):Tareas:

  • Definir la misión y visión del sistema.
  • Identificar las necesidades y objetivos del sistema.
  • Seleccionar las estrategias para alcanzar los objetivos.
  • Desarrollar un plan de acción a largo plazo.
2. Planificación a mediano plazo (táctica): Tareas:
  • Desarrollar planes de acción específicos para cada objetivo.
  • Asignar recursos a los diferentes proyectos.
  • Establecer métricas para medir el progreso.
3. Planificación a corto plazo (operativa):Tareas:
  • Programar las tareas y procesos del sistema.
  • Controlar la ejecución de las tareas y procesos.
  • Monitorizar el rendimiento del sistema.
  • Realizar ajustes y correcciones en caso de errores o problemas.

Ejemplos

Algunas de las primitivas más comunes son:

  • Crear procesos.
  • Eliminar procesos.
  • Suspender procesos.
  • Reanudar procesos.
  • Cambiar la prioridad de un procesos.
  • Envía una señal a un proceso para notificar un evento.
Las jerarquías de procesos pueden ser útiles para:
  • Organizar los procesos por función.
  • Controlar la ejecución de los procesos.
  • Los procesos pueden compartir recursos entre sí.
Ejemplos de jerarquías de procesos:El shell es un proceso que crea otros procesos para ejecutar comandos.Un servidor web puede tener varios procesos para manejar las solicitudes de los clientes.El sistema operativo puede tener varios procesos para realizar diferentes tareas, como la gestión de memoria, la gestión de dispositivos y la gestión de archivos.

¿Cuales son los 5 pasos?

1. Enfoque a procesos: El enfoque a procesos permite a las organizaciones comprender cómo se crea valor para sus clientes y mejorar su eficiencia y eficacia. 2. Gestión por procesos: Definición: La gestión por procesos es un enfoque de gestión que se centra en la identificación, diseño, implementación, medición y mejora de los procesos de una organización. 3. Mejora continua: El ciclo de mejora continua se basa en cuatro pasos: planificar, hacer, verificar y actuar (PHVA). 4. Medición y análisis: La medición y el análisis son fundamentales para evaluar el desempeño de los procesos e identificar oportunidades de mejora. 5. Cultura de mejora: La cultura de mejora es esencial para el éxito de la gestión, una cultura de mejora se caracteriza por el compromiso de la dirección, la participación del personal y el aprendizaje continuo.