Revisión del sistema operativo al final del término ----- clase 2 descripción y control del proceso

1. El concepto de proceso

1. Definición

Desde diferentes perspectivas, un proceso puede tener diferentes definiciones, las definiciones típicas son:
(1) Un proceso es la ejecución de un programa
(2) Un proceso es una actividad que ocurre cuando un programa y sus datos se ejecutan secuencialmente en un procesador
( 3) Un proceso es un proceso en el que un programa con funciones independientes se ejecuta en un conjunto de datos, y es una unidad independiente para la asignación y programación de recursos por parte del sistema.
Hasta ahora, descubrí que el proceso y los procedimientos aún no están claros, bueno, entonces ve a baidu
inserte la descripción de la imagen aquíresultado:

Texto citado
Programas y procesos son dos conceptos relacionados pero distintos.
1. Un programa es una colección ordenada de instrucciones, que es un concepto estático,
mientras que un proceso es un proceso de ejecución de un programa en un procesador, que es un concepto dinámico.
2. El proceso tiene concurrencia, pero el programa no.
3. El proceso es la unidad básica para competir por los recursos informáticos, pero el programa no lo es.
4. Un proceso se compone de programas, datos y bloques de control de procesos, y un programa es solo una colección ordenada de instrucciones.
5. No existe una correspondencia uno a uno entre procesos y programas, es decir, el mismo programa se ejecuta en varios conjuntos de datos diferentes y pertenecerá a varios procesos diferentes, y un proceso puede ejecutar múltiples programas (oh, yo entender
ahora)

inserte la descripción de la imagen aquí

2. Composición

el proceso es dirigido porBloque de control de programa (PCB), segmento de programa, segmento de datoscomposición.
PCB : el sistema operativo administra el proceso a través del PCB, por lo que el PCB debe contener información diversa requerida por el sistema operativo para administrarlo, como información de descripción del proceso, información de control y administración del proceso, lista de asignación de recursos e información relacionada con la agencia de procesamiento.
Segmento de programa : La ubicación donde se almacena el código de programa.
Segmento de datos : Los datos de operación utilizados y generados cuando el programa se está ejecutando. Constantes como variables globales, variables locales y definiciones de macros se almacenan en el segmento de datos.

3. Organización

La forma organizativa del proceso se divide en:vinculación e indexación
**Método de vinculación:** Divida la PCB en múltiples colas según el estado del proceso, y el sistema operativo mantiene punteros para cada cola.
**Método de índice: **Cree varias tablas de índice de acuerdo con el estado del proceso, y el sistema operativo mantiene punteros para cada tabla de índice.

4. Características del proceso

Dinámico, Concurrente, Independiente, Asíncrono, Estructurado

2. El estado y la transición del proceso

1. El estado del proceso

Estado del proceso: El ciclo de vida de un proceso se puede dividir en un conjunto de estados que caracterizan todo el proceso. El estado del proceso refleja el estado de vida de un proceso.
En general, un proceso tiene cinco estados:
Listo, corriendo, bloqueado (estos tres son los estados básicos del proceso, ¡recuerda para laozi!), crear, terminar (hay un estado detrás de esto~)
**Estado de creación:** Cuando se crea un proceso, debe solicitar un PCB en blanco (sí, es el bloque de control del programa) y completar la información del proceso de control y gestión para completar la asignación de recursos. Si el trabajo de creación no se puede completar, por ejemplo, si el recurso no se puede satisfacer, no se puede programar para que se ejecute.El estado del proceso en este momento se denomina estado de creación.
**Estado de ejecución: **El proceso ocupa la CPU y se está ejecutando en la CPU.
**Estado listo: **El proceso tiene las condiciones para ejecutarse, pero no puede ejecutarse debido a una CPU no asignada.
**Estado de bloqueo: **El estado en el que el proceso no puede ejecutarse temporalmente porque está esperando que ocurra un evento.
**Estado de terminación: **El proceso termina, o se produce un error, o el sistema lo termina, y entra en el estado de terminación.

2. Estado de transición

inserte la descripción de la imagen aquíLa transición entre los tres estados básicos anteriores se puede dividir en seis situaciones:
ejecutar -> listo:
(1) La razón principal es que el proceso ocupa la CPU durante demasiado tiempo y el tiempo asignado por el sistema al proceso es limitado; (2)
En el sistema que usa el algoritmo de programación de prioridad preventiva, cuando hay una prioridad más alta Cuando un proceso está a punto de ejecutarse, el proceso se ve obligado a renunciar a la CPU y el proceso cambia del estado de ejecución al estado listo.
Listo -> Ejecutar: Cuando se agote el intervalo de tiempo del proceso en ejecución, la programación irá a la cola lista para seleccionar el proceso apropiado para asignar la CPU.
ejecutar -> bloquear: El proceso en ejecución no se puede ejecutar debido a un evento de espera y el proceso cambia del estado en ejecución al estado de bloqueo, como una solicitud de E/S.
bloqueo -> listo: El evento que el proceso está esperando se ha completado y entra en la cola de procesos listos.
Nota: Las dos transiciones de estado de bloqueo->estado en ejecución y estado listo->estado de bloqueo son imposibles.

3. Proceso de comunicación

1. La comunicación de procesos se refiere al intercambio de información entre procesos.

La operación PV es el nivel más bajo de comunicación, y el modo de comunicación avanzada se refiere al modo de comunicación que transmite una gran cantidad de datos con alta eficiencia.
Existen tres tipos principales de métodos de comunicación avanzada:
(1) Almacenamiento compartido
Existen métodos de comunicación basados ​​en estructuras de datos compartidas, como productores y consumidores, y métodos de comunicación basados ​​en áreas de almacenamiento compartido.
(2) La transmisión de mensajes
se basa en el mensaje formateado como unidad y utiliza el lenguaje primitivo para transmitir el mensaje, que se divide en comunicación directa y comunicación indirecta.
(3) La comunicación por tubería
es una forma especial de transmisión de mensajes, que se utiliza para conectar un proceso de lectura y un proceso de escritura para crear un archivo compartido entre ellos, también conocido como archivo de tubería.

cuatro, hilo

1. La introducción de hilos

El propósito de introducir subprocesos es simplificar la comunicación entre procesos y mejorar la concurrencia dentro de los procesos con menos gastos generales.
Un subproceso es la unidad más pequeña para realizar cálculos en un proceso, una entidad en un proceso y la unidad básica programada y enviada de forma independiente por el sistema. Un subproceso en sí mismo no posee recursos del sistema, sino solo algunos recursos que son esenciales durante la operación, pero puede compartir todos los recursos que posee el proceso con otros subprocesos que pertenecen al mismo proceso.
Un subproceso puede crear y cancelar otro subproceso , y varios subprocesos en el mismo proceso pueden ejecutarse simultáneamente.

2. Subproceso: como unidad básica de programación y asignación

Un proceso es la unidad de asignación de recursos del sistema y un subproceso es la unidad de programación del procesador .
Un hilo representa un punto de control de un proceso que puede ejecutar una serie de instrucciones. Por lo general, corresponde a una función de la aplicación. La descomposición de procesos en subprocesos también hace un uso eficiente de las computadoras multiprocesador y multinúcleo.

3. Comparación entre hilos y procesos

(1) La diferencia entre un proceso y un hilo:
A. Programación. El subproceso es la unidad básica de programación y asignación, y el proceso es la unidad básica de recursos.
B. Concurrencia. No solo los procesos se pueden ejecutar al mismo tiempo, sino que también se pueden ejecutar varios subprocesos del mismo proceso al mismo tiempo.
C. Recursos propios. Un proceso es una unidad independiente que posee recursos, y un subproceso no posee recursos del sistema, pero puede acceder a los recursos que pertenecen a un proceso.
D. Gastos generales del sistema. Al crear o cancelar un proceso, la sobrecarga del sistema es obviamente mayor que la de crear o cancelar un hilo porque el sistema debe asignar y recuperar recursos para ello.
(2) La relación entre procesos y subprocesos:
A. Un subproceso solo puede pertenecer a un proceso, y un proceso puede tener múltiples subprocesos, pero al menos un subproceso.
B. Los recursos se asignan a los procesos y todos los subprocesos del mismo proceso comparten todos los recursos del proceso.
C. El procesador está asignado al subproceso, es decir, el subproceso se está ejecutando realmente en el procesador.
D. Los subprocesos deben cooperar y sincronizarse durante la ejecución. Los subprocesos de diferentes procesos necesitan utilizar la comunicación de mensajes para lograr la sincronización. Un subproceso se refiere a una unidad de ejecución dentro de un proceso y también es una entidad programable dentro de un proceso.
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_52030647/article/details/130568048
Recomendado
Clasificación