Galería de mapas mentales Descripción y control del proceso.
Este es un mapa mental sobre la descripción y el control del proceso. Los contenidos principales incluyen: implementación de subprocesos, concepto de subprocesos, comunicación de procesos, control de procesos, descripción de procesos, diagrama predecesor y ejecución del programa.
Editado a las 2024-10-15 21:39:12,Find a streamlined guide created using EdrawMind, showcasing the Lemon 8 registration and login flow chart. This visual tool facilitates an effortless journey for American users to switch from TikTok to Lemon 8, making the transition both intuitive and rapid. Ideal for those looking for a user-centric route to Lemon 8's offerings, our flow chart demystifies the registration procedure and emphasizes crucial steps for a hassle-free login.
これは稲盛和夫に関するマインドマップです。私のこれまでの人生のすべての経験は、ビジネスの明確な目的と意味、強い意志、売上の最大化、業務の最小化、そして運営は強い意志に依存することを主な内容としています。
かんばんボードのデザインはシンプルかつ明確で、計画が一目で明確になります。毎日の進捗状況を簡単に記録し、月末に要約を作成して成長と成果を確認することができます。 実用性が高い:読書、早起き、運動など、さまざまなプランをカバーします。 操作簡単:シンプルなデザイン、便利な記録、いつでも進捗状況を確認できます。 明確な概要: 毎月の概要により、成長を明確に確認できます。 小さい まとめ、今月の振り返り掲示板、今月の習慣掲示板、今月のまとめ掲示板。
Find a streamlined guide created using EdrawMind, showcasing the Lemon 8 registration and login flow chart. This visual tool facilitates an effortless journey for American users to switch from TikTok to Lemon 8, making the transition both intuitive and rapid. Ideal for those looking for a user-centric route to Lemon 8's offerings, our flow chart demystifies the registration procedure and emphasizes crucial steps for a hassle-free login.
これは稲盛和夫に関するマインドマップです。私のこれまでの人生のすべての経験は、ビジネスの明確な目的と意味、強い意志、売上の最大化、業務の最小化、そして運営は強い意志に依存することを主な内容としています。
かんばんボードのデザインはシンプルかつ明確で、計画が一目で明確になります。毎日の進捗状況を簡単に記録し、月末に要約を作成して成長と成果を確認することができます。 実用性が高い:読書、早起き、運動など、さまざまなプランをカバーします。 操作簡単:シンプルなデザイン、便利な記録、いつでも進捗状況を確認できます。 明確な概要: 毎月の概要により、成長を明確に確認できます。 小さい まとめ、今月の振り返り掲示板、今月の習慣掲示板、今月のまとめ掲示板。
Descripción y control del proceso.
Gráficos precursores y ejecución del programa.
Gráfico precursor
se refiere a un gráfico acíclico dirigido
No se permiten bucles
Ejecución de la secuencia del programa.
Secuencialidad, cierre, reproducibilidad.
Ejecución del programa al mismo tiempo
Discontinuidad, pérdida de cierre, no reproducibilidad.
Descripción del proceso
Definición y características del proceso.
Composición del proceso
Sección del programa
código de programa
segmento de datos
Varios datos generados durante la operación (los segmentos de programa y los segmentos de datos son para el proceso en sí y están relacionados con la lógica operativa del proceso).
tarjeta de circuito impreso
identificador de proceso
estado del procesador
Información de programación de procesos
Información de control de procesos (PCB es para el sistema operativo)
definición
Un proceso es el proceso de ejecución de un programa y una unidad independiente para la asignación y programación de recursos en el sistema.
característica
Dinámica, concurrencia, independencia, asincronía.
Diferencia del programa
proceso
dinámica
Memoria
temporario
Segmento de programa Segmento de datos PCB
programa
estático
Almacenamiento externo
permanente
Estados básicos y transiciones de procesos.
estado
estado listo
Al proceso se le han asignado todos los recursos necesarios excepto la CPU.
Estado de ejecución
Ocupar la CPU y ejecutar en la CPU
estado de bloqueo
El proceso en ejecución no puede ejecutarse temporalmente porque está esperando un evento.
Crear estado
El proceso se está creando y el sistema operativo asigna recursos al proceso e inicializa la PCB.
estado terminal
El sistema operativo recicla los recursos propiedad del proceso y revoca la PCB.
transición de estado
Listo → Ejecutar
El proceso está programado
Ejecutando → Listo
El intervalo de tiempo se acabó o otros procesos de alta prioridad se apropian de la CPU.
ejecutar → bloquear
Esperando la asignación de recursos del sistema o esperando que ocurra un evento (comportamiento activo)
bloqueado → listo
Los recursos se asignan en el lugar o esperando a que ocurra un evento (comportamiento pasivo)
Crear → Listo
El sistema completa el trabajo relacionado con el proceso de creación.
Ejecutar → Terminar
El proceso finaliza o se encuentra un error irreparable durante la operación.
Operaciones suspendidas y transiciones de estado de proceso.
Actividad lista
Listo para descansar
implementar
bloqueo de actividad
bloqueo estático
Estructuras de datos en la gestión de procesos.
El papel de los PCB
Como símbolo de la unidad básica de funcionamiento independiente.
Implementar el modo de operación intermitente
Proporcionar la información necesaria para la gestión de procesos.
Proporcionar la información necesaria para la programación del proceso.
Implementar sincronización y comunicación con otros procesos.
Uso de PCB
Creación de procesos
Generar la PCB del proceso.
proceso terminado
reciclar su pcb
Organización y gestión de procesos.
Logrado a través de la organización y gestión de PCB
Cómo está organizado PCB
enfoque lineal
método de enlace
Modo de índice
Estructura de almacenamiento de PCB
enfoque lineal
Guarde todas las PCB en una mesa lineal.
El sistema operativo contiene la dirección inicial de la tabla.
método de enlace
Divida la PCB en varias colas según el estado del proceso
El sistema operativo contiene punteros a cada cola.
Modo de índice
Cree varias tablas de índice basadas en diferentes estados de proceso.
El sistema operativo tiene punteros a varias tablas de índice.
control de procesos
Creación de proceso
Eventos que causan la creación de procesos.
Inicio de sesión de usuario
En un sistema de tiempo compartido, si un usuario inicia sesión correctamente, el sistema creará un proceso para el usuario.
programación de trabajo
En un sistema de procesamiento por lotes multicanal, cuando se coloca un nuevo trabajo en la memoria, se creará un proceso para él.
proporcionar servicios
Cuando un usuario realiza ciertas solicitudes al sistema operativo, el sistema operativo creará especialmente un proceso para proporcionar los servicios requeridos.
solicitud de solicitud
El proceso de usuario solicita activamente la creación de un proceso hijo.
Crear primitivas
Solicite una PCB en blanco
Asignar los recursos necesarios
Inicializar PCB
Insertar en la cola de listos
terminación del proceso
Eventos que causan la terminación del proceso.
Terminar normalmente
El proceso en sí solicita la llamada al sistema de salida del dedo medio.
final anormal
Por ejemplo, intentar escribir un archivo de solo lectura y esperar un tiempo determinado supera el valor máximo especificado.
intervención externa
El proceso finaliza en respuesta a solicitudes externas, como el uso del administrador de tareas para finalizar el proceso.
Terminación primitiva
Encuentre la PCB que finalizó el proceso en la colección de PCB
Si el proceso se está ejecutando, priva inmediatamente de la CPU y asigna la CPU a otros procesos.
Terminar todos sus procesos secundarios.
Devolver todos los recursos que posee el proceso al proceso principal o al sistema operativo
Eliminar estado listo de PCB/estado bloqueado/estado en ejecución/estado terminado → ninguno
Bloqueo y despertar del proceso.
bloqueo de proceso
Eventos que causan bloqueo de procesos
No se pudieron solicitar recursos compartidos del sistema
Espere a que se complete alguna operación
Aún no han llegado nuevos datos
Esperando que lleguen nuevas tareas
bloqueo primitivo
Encuentre la PCB correspondiente al proceso a bloquear
Proteja el sitio de ejecución del proceso, establezca la información de estado de la PCB en el estado de bloqueo y suspenda la ejecución del proceso.
Inserte la PCB en la cola de espera para el evento correspondiente.
despertar del proceso
Eventos que hacen que un proceso se despierte.
El proceso bloqueado espera que algo suceda
despertar primitivo
Buscar PCB en la cola de bloqueo de eventos
Retire la PCB de la cola de bloqueo y establezca el estado del proceso en listo
Inserte la PCB en la cola lista en espera de ser programada
Suspensión y activación del proceso.
Suspensión del proceso
Eventos que hacen que un proceso se cuelgue
suspender primitivo
activación del proceso
Eventos que causan la activación del proceso.
primitiva de activación
Cambio de proceso
Eventos que causan cambio de proceso
El intervalo de tiempo del proceso actual ha finalizado
Llega un proceso de mayor prioridad
El proceso actual bloquea activamente
El proceso actual termina
cambiar primitivo
Almacenar información del entorno operativo en PCB
PCB pasa a la cola correspondiente
Seleccione otro proceso para ejecutar y actualizar su PCB
El entorno operativo necesario para restaurar el nuevo proceso basado en la PCB
comunicación de proceso
Tipos de comunicación de procesos
almacenamiento compartido
Configurar un espacio compartido
El acceso al espacio compartido es mutuamente excluyente.
Basado en estructuras de datos (nivel bajo)
Uso compartido basado en depósitos (avanzado)
comunicación por tubería
Configurar un archivo compartido especial, esencialmente un búfer
Cuando la escritura está llena, el proceso de escritura se bloquea; cuando la lectura está vacía, el proceso de lectura se bloquea.
Acceso mutuamente excluyente a tuberías para cada proceso.
Una tubería sólo puede lograr una comunicación semidúplex
Para lograr una comunicación full-duplex, es necesario establecer dos tuberías
mensajería
Entregar mensajes estructurados (encabezado y cuerpo del mensaje)
Enviar primitivo, recibir primitivo
Método de comunicación directa: el mensaje se cuelga directamente en la cola de mensajes que recibe la comida.
Método de comunicación indirecta, el mensaje se envía primero al intermediario (buzón)
cliente-servidor
enchufe
llamada a procedimiento remoto
llamada a método remoto
Cómo se implementa la comunicación de paso de mensajes
Ejemplo: comunicación de procesos de Linux
Conceptos básicos
El control de procesos consiste en realizar la conversión del estado del proceso.
El control de procesos se implementa mediante primitivas.
Las primitivas se implementan mediante interrupciones de encendido y apagado.
Una primitiva es un tipo especial de programa.
La ejecución de primitivas debe ser continua e ininterrumpida.
Primitivas relacionadas
Crear primitivas
Terminación primitiva
Primitivas de bloqueo y primitivas de activación
Suspender primitivas y activar primitivas
cambiar primitivo
El concepto de hilo.
La introducción de hilos.
Cambio de hilo
El cambio de hilo en el mismo proceso no provocará el cambio de proceso
Cambiar subprocesos en diferentes procesos provocará un cambio de proceso
Comparación de hilos y procesos.
Programación del procesador, asignación de recursos.
El subproceso es la unidad de programación del procesador y el proceso es la unidad de asignación de recursos.
Cada hilo del mismo proceso comparte los recursos que posee el proceso.
El cambio de hilo dentro del mismo proceso no provocará el cambio de proceso
concurrencia
Los procesos se pueden ejecutar simultáneamente.
La ejecución simultánea entre subprocesos tal vez
Gastos generales del sistema
Simultaneidad entre procesos, alta sobrecarga del sistema
Dentro del mismo proceso, los subprocesos son concurrentes y la sobrecarga del sistema es pequeña.
independencia
Los espacios de direcciones entre procesos son independientes entre sí.
En el mismo proceso, los recursos del proceso se comparten entre subprocesos y la independencia es débil.
Soporta multiprocesadores
Los procesos tradicionales, es decir, los procesos de un solo subproceso, solo pueden ejecutarse en un procesador
Se pueden asignar varios subprocesos dentro del mismo proceso a varios procesadores
Bloques de estado y control de subprocesos
Implementación del hilo
Cómo se implementan los hilos
hilo a nivel de usuario
Implementado por la biblioteca de hilos.
La perspectiva del sistema operativo no es visible
Hilos a nivel de kernel
Implementado por el sistema operativo.
Visible desde la perspectiva del sistema operativo
Método combinado
modelo muchos a uno
La ventaja es que la sobrecarga de gestión de subprocesos es pequeña y eficiente.
La desventaja es que bloquear un hilo provocará que se bloquee todo el proceso y la concurrencia sea baja.
modelo uno a uno
La ventaja es que cada subproceso se puede asignar a procesadores multinúcleo para ejecución paralela y alta concurrencia.
La desventaja es que la gestión de subprocesos requiere soporte del sistema operativo y es costosa.
modelo de muchos a muchos
n subprocesos a nivel de usuario se asignan a m subprocesos a nivel de kernel (n>igual a m)
Combinando lo mejor de ambos mundos
Características de los subprocesos a nivel de kernel
PCB y TCB son mantenidos por el kernel.
Los subprocesos que ejecutan llamadas al sistema y están bloqueados no afectan a otros subprocesos
La creación, terminación y cambio de subprocesos son relativamente grandes.
Llamadas comunes al sistema/funciones del kernel, implementadas en el kernel
Asignar tiempo de CPU en unidades de subprocesos
Los procesos multiproceso obtienen más tiempo de CPU
Características de los hilos a nivel de usuario.
Kernel independiente del sistema operativo
El kernel no sabe de la existencia de hilos de usuario.
Se puede utilizar en sistemas operativos multiproceso que no admiten subprocesos.
Mecanismo de subprocesamiento implementado en el espacio del usuario.
TCB es mantenido por funciones de biblioteca de subprocesos
El cambio de hilo de usuario dentro del mismo proceso es rápido
No es necesario cambiar el modo de usuario/modo kernel
Permitir que cada proceso tenga su propio algoritmo de programación de subprocesos.
La implementación específica de hilos.
Tanto los procesos como los subprocesos deben obtener soporte del kernel directa o indirectamente.
La sobrecarga gastada por los subprocesos en la programación y la conmutación es mucho menor que la de los procesos.
Creación y terminación de hilos.
Creación de hilos
Cuando se inicia una aplicación, generalmente solo hay un hilo ejecutándose. A este hilo lo llamamos hilo de inicialización. Su función principal es crear un nuevo hilo.
Terminación de hilo
Si el subproceso especificado no ha finalizado, el subproceso que llama al comando de conexión se bloqueará hasta que finalice el subproceso especificado antes de que pueda conectarse al subproceso especificado y continuar la ejecución; si el subproceso especificado ha finalizado, el subproceso que llama no será terminado; bloqueado, y Sí, seguirá ejecutándose