Sistema operativo: realización inicial del proceso.

Sistema operativo: la realización inicial del proceso.

1. Proceso = programa en ejecución, el propósito de la aplicación es resolver el problema, el archivo ejecutable generado tendrá un proceso en ejecución y el propósito del proceso es completar la tarea.

Pensando: la computadora tiene un solo procesador, entonces, ¿cómo realizar varias tareas al mismo tiempo?
El sistema informático en la antigüedad
Sistema operativo: realización inicial del proceso.
se puede ver en la figura anterior. El procesador solo realiza una tarea a la vez, por lo que cuando la ejecución de la tarea1 finaliza, continuará ejecutándose desde la cola de tareas en espera. Desventajas que existían en la antigüedad: cuando la tarea que se está ejecutando requiere la interacción de dispositivos externos, el procesador está casi en un estado de línea K y otras tareas no se pueden ejecutar y solo pueden esperar.

A. Definición de tarea (definición de proceso)

Sistema operativo: realización inicial del proceso.
En la vista microscópica (sistema operativo), una tarea contiene lo que tiene la imagen de arriba. Para la realización de la multitarea, necesitamos Sistema operativo: realización inicial del proceso.
cumplir las siguientes condiciones de ejecución . En la mayoría de los casos, el número de tareas es mayor que el número de procesadores. Por lo tanto, es imposible lograr la ejecución paralela de tareas en el verdadero sentido, pero cada procesador se puede ejecutar en paralelo. La unidad de tiempo ejecuta una tarea y, finalmente, el procesador alterna la ejecución entre varias tareas.

B. ¿Cómo representar una tarea dentro de la computadora?

Estructura del lenguaje C: este lugar representa la representación de un proceso (correspondiente a la definición de tarea anterior), rv representa el valor del registro (guarda el estado del proceso), la pila representa la pila, el código y los datos (el programa está cargado en la memoria) explicará la
Sistema operativo: realización inicial del proceso.
tarea en detalle más adelante El estado de ejecución de se muestra en la siguiente figura -el valor del registro de la estructura- almacenado en la memoria
Sistema operativo: realización inicial del proceso.
TSS (guarde la información de la pila de la conversión del nivel de privilegio, habrá el valor de cada registro) -cuando la ejecución se transfiere del nivel de privilegio bajo al nivel de privilegio 0, se necesita TSS para cambiar la pila. Esta tabla corresponde a la estructura de la derecha. La estructura de la derecha en la figura siguiente muestra que los primeros cuatro bytes representan la información de la pila anterior, y lo siguiente muestra la información de la pila de cada nivel de privilegio, sin usar [22], lo que significa que los registros no se usan en el medio
Sistema operativo: realización inicial del proceso.

Materias primas necesarias para la implementación del proceso 1.
Las tareas en el sistema LDT-x86 utilizan descriptores de segmento privados
2. TSS: actualización del nivel de privilegios requerida para la información de la pila de vista de ejecución
3. RegValue: guarda la información de contexto
durante la ejecución de la tarea 4. Stack-x86 Pilas privadas de tareas en el sistema
5. Las tareas de GDT correspondientes a LDT y TSS deben registrarse en GDT

La pregunta que surge aquí: ¿cómo registrar dinámicamente LDT y TSS en GDT? Para configurar el descriptor en el GDT, debe obtener la dirección de inicio del GDT. ¿Cómo obtener esta dirección? La
solución es la siguiente (memoria compartida): el cargador escribe diferentes direcciones en la memoria de intercambio y el kernel puede obtener lo que necesita. necesidades en la memoria de intercambio El
Sistema operativo: realización inicial del proceso.
código detallado de la dirección se coloca en el siguiente enlace: Enlace: https://pan.baidu.com/s/1LbsIhwyjzTY_4sBV96RuDw Código de extracción: y0zy Después de
copiar este contenido, abra la aplicación de teléfono móvil Baidu Netdisk , la operación es más conveniente, el
resultado de la operación es como se muestra en la figura
Sistema operativo: realización inicial del proceso.

Bajo la realización inicial del proceso

Pregunta: ¿Cómo reanudar la ejecución del proceso mediante la realización del contexto? Cómo hacer que el proceso se ejecute en 3 niveles de privilegios

1. Restaure los datos de contexto: restaure el contexto a través del valor del registro en la estructura de datos de la tarea, varios registros esp memorizan la instrucción pop para restaurar el registro general (establezca el valor del registro a través de la instrucción de operación de la pila en el ensamblaje y el RegValue variable de estructura), cada pop Cuatro bytes a la dirección alta. Cabe señalar que iniciar una nueva tarea se puede considerar como un cambio de tarea especial, y el valor del registro pasado en la información de contexto de la tarea de destino del conmutador es 0.

Sistema operativo: realización inicial del proceso.
Sistema operativo: realización inicial del proceso.

2. Transferencia de nivel de privilegio (alto-bajo)

En la puerta de llamada, retf regresa de un nivel de privilegio alto a un nivel de privilegio bajo De manera similar, la instrucción iret también puede regresar a un nivel de privilegio bajo desde un nivel de privilegio alto. La operación aquí es apuntar esp a la ubicación de la memoria de destino (eip, cs, eflags, esp, ss), con la ayuda de la instrucción iret para des-privilegiar la ejecución
, puede saber cuándo la interrupción regresa de la interrupción y cuándo la interrupción ocurre, puede transferir del nivel de privilegio inferior al nivel de privilegio alto, cuando la interrupción regresa, transferir del nivel de privilegio alto al nivel de privilegio bajo
Sistema operativo: realización inicial del proceso.

3. La pila cambia cuando el programa de acceso de interrupción regresa: el registro operado por el comando iret

Sistema operativo: realización inicial del proceso.

4. El plan de ejecución del código es el siguiente

Sistema operativo: realización inicial del proceso.

5. "Función" de inicio del proceso

El parámetro es la dirección de la estructura de datos de la tarea, esp + 200/202 significa que el
Sistema operativo: realización inicial del proceso.
código detallado de compensación se coloca en el siguiente enlace: https://pan.baidu.com/s/1altDhV-kJNWamUcc4r5oEw Código de extracción: h2ao

Sistema operativo: realización inicial del proceso.

Supongo que te gusta

Origin blog.51cto.com/13475106/2657911
Recomendado
Clasificación