Requerimientos principales de un sistema operativo -...

26
1 Descripción y control de procesos Requerimientos principales de un sistema operativo Intercalar la ejecución de varios procesos para maximizar el uso del procesador proporcionando un tiempo de respuesta razonable Asignar recursos a procesos Soportar comunicación entre procesos y la creación de procesos por los usuarios

Transcript of Requerimientos principales de un sistema operativo -...

Page 1: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

1

Descripción y control de procesos

Requerimientos principales de un sistema operativo

• Intercalar la ejecución de varios procesos para maximizar el uso del procesador proporcionando un tiempo de respuesta razonable

• Asignar recursos a procesos• Soportar comunicación entre procesos y

la creación de procesos por los usuarios

Page 2: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

2

Proceso

• También es llamado tarea• Ejecución de un programa individual• Puede ser rastreado

– enlistar la secuencia de instrucciones que se ejecutan

Page 3: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

3

Page 4: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

4

Modelo de procesos de dos estados

• Los procesos pueden estar en dos estados– Corriendo– No corriendo

Cola de procesos que no están en ejecución

Page 5: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

5

Creación de procesos

• Envío de una tarea• El usuario entra al sistema (login)• Creado para proveer un servicio tal y

como el de la impresión• Un proceso crea otro proceso

Terminación de procesos

• Una tarea envía la instrucción de detener proceso (halt)

• El usuario sale del sistema (logoff)• Se sale de la aplicación• Errores y fallas

Page 6: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

6

Motivos para la terminación de procesos

• Terminó su ejecución normalmente• Se excedió su tiempo limite• No hay memoria disponible• Error de protección

– Ejemplo: tratar de escribir en un archivo de solo lectura

• Error aritmético• Proceso esperando mas que el tiempo

especificado para un evento

Motivos para la terminación de procesos

• Fallas en dispositivos de E/S• Instrucción invalida

– sucede cuando se tratan de ejecutar datos

• Instrucción privilegiada• Mal uso de datos• Intervención del sistema operativo• El proceso padre termina por lo tanto el hijo

también debe de terminar• Petición del proceso padre

Page 7: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

7

Procesos

• No corriendo– listos para ejecutarse

• Bloqueado– esperando algún dispositivo de E/S

• El despachador del S/O no puede solo seleccionar al proceso que tiene más tiempo en la cola porque quizás el proceso esté bloqueado

Modelo de cinco estados

• Corriendo• Listo• Bloqueado• Nuevo• Terminado (de salida)

Page 8: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

8

Page 9: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

9

Utilizando dos colas

Page 10: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

10

Procesos suspendidos• El procesador es más rápido que E/S por lo

tanto todos los procesos pudieran estar esperando respuesta de E/S

• Pasar estos procesos a disco para liberar más memoria

• El estado bloqueado se convierte en suspendido al pasar el proceso a disco

• Dos nuevos estados– Bloqueado, suspendido– Listo, suspendido

Un estado suspendido

Page 11: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

11

Dos estados suspendido

Razones para suspender procesos

Un proceso padre puede suspender la ejecución de un descendiente para examinar o modificar el proceso suspendido o para coordinar su actividad con otros descendientes

Petición del proceso padre

Un proceso puede ejecutarse periódicamente (ejemplo: sistema de monitoreo de procesos) y puede ser suspendido para que espere la siguiente llegada

Temporización

Un usuario puede suspender la ejecución de un programa para efectos de depuración o en conexión con el uso de algún recurso

Petición interactiva del usuario

El sistema operativo puede suspender un proceso de transfondo o de utilería que pudiera estar causando problemas

Otra razón del SO

El sistema operativo requiere liberar memoria para traer un proceso que está listo para ejecutarse

Liberar memoria

Page 12: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

12

Estructuras de Control del Sistema Operativo

• Contienen información acerca del estatus actual de cada proceso y cada recurso

• Se construyen tablas para cada entidad que el sistema operativo administra

Tablas de memoria

• Reservación de memoria principal para los procesos

• Reservación de memoria secundaria para los procesos

• Atributos de protección para los accesos hacia regiones compartidas de memoria

• Información necesaria para administrar memoria virtual

Page 13: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

13

Tablas de E/S

• Indican si el dispositivo de E/S estádisponible o está ocupado

• Estatus de la operación de E/S• Ubicación en la memoria principal que

está siendo utilizada como la fuente o el destino de la transferencia a E/S

Tablas de archivos

• Existencia de archivos• Ubicación en memoria secundaria• Estatus actual• Atributos• En ocasiones esta información es

mantenida por un sistema de administración de archivos

Page 14: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

14

Tabla de procesos

• Dónde está ubicado el proceso• Atributos necesarios para su

administración– ID de proceso– Estado del proceso– Ubicación en memoria

Ubicación de proceso• El proceso incluye un conjunto de programas a

ser ejecutados– Ubicación de los datos para variables locales y

globales– Constantes definidas– Pila

• Bloque de control del proceso– Colección de atributos

• Imagen de proceso– Colección del programa, datos, pila y atributos

Page 15: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

15

Bloque de Control del Proceso

• Identificación del proceso– Identificadores

• Algunos identificadores numéricos pueden almacenarse en el bloque de control del proceso e incluyen:

• Identificador de este proceso • Identificador del proceso que creó este proceso

(proceso padre)• Identificador de usuario

Page 16: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

16

Bloque de Control del Proceso

• Información del estado del proceso– Registros visibles al usuario

• Un registro visible al usuario es aquel que puede ser referenciado por medio del lenguaje maquina que el procesador ejecuta. Típicamente, hay entre 8 y 32 de estos registros aunque algunas arquitecturas RISC cuentan con más de 100.

Bloque de Control del Proceso• Información del estado del procesador

– Registros de estatus y controlExiste una variedad de registros del procesador que son empleados para controlar su operación. Estos incluyen:

• Contador de programa: Contiene la dirección de la siguiente instrucción a ser ejecutada

• Códigos de condición: Resultado de las mas reciente operación aritmética o lógica (por ejemplo: sign, zero, carry, equal, overflow)

• Información de estatus: Incluye las banderas de habilitar/deshabilitar interrupciones, modo de ejecución

Page 17: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

17

Bloque de Control del Proceso

• Información del estado del procesador– Apuntadores a la pila

• Cada proceso tiene una o más pilas (LIFO) asociadas a él. Una pila es utilizada para almacenar parámetros y direcciones de llamadas a procedimientos y sistema. El apuntador apunta a la cima de la pila.

Bloque de Control del Proceso• Información de Control del Proceso

– Información de calendarización y de estadoEsta es información que es necesitada por el sistema operativo para desempeñar la función de calendarización. Se pueden encontrar:•Estado del proceso: define si esta listo el proceso para ser programada su ejecución (por ejemplo: corriendo, listo, esperando, trabado).•Prioridad: Uno o más campos pueden utilizarse para describir la prioridad de los procesos. En algunos sistemas se requieren varios valores•Información relacionada con la calendarización: Esta dependerá del algoritmo de calendarización utilizado. Como ejemplo se puede mencionar el tiempo que un proceso ha esperado o el tiempo que un proceso ha estado ejecutándose.•Evento: Identidad del evento que el proceso está esperando para reanudar su ejecución

Page 18: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

18

Bloque de Control del Proceso

• Información de Control del Proceso– Estructuras de los datos

• Un proceso puede estar ligado a otro en una cola, anillo o alguna otra estructura. Por ejemplo, todos los procesos en estado de espera para un determinado nivel de prioridad pueden estar ligados en una cola. Un proceso puede tener una relación padre-hijo con otro proceso. El bloque de control del proceso puede contener apuntadores a otros procesos para dar soporte a estas estructuras.

Bloque de Control del Proceso• Información de Control del Proceso

– Comunicación Interprocesos (IPC)• Varias banderas, señales y mensajes pueden estar

asociados con la comunicación entre dos procesos independientes. Alguna o toda esta información puede ser mantenida en el bloque de control del proceso.

– Privilegios de procesos• Los procesos tienen privilegios en relación a la memoria

que pueden accesar y los tipos de instrucciones que pueden ejecutar. También los privilegios pueden aplicarse al uso de servicios y utilerías del sistema.

Page 19: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

19

Bloque de Control del Proceso• Información de Control del Proceso

– Administración de memoria• Esta sección puede incluir apuntadores a segmentos y/o

paginas que describen la memoria virtual asignada al proceso.

– Propiedad y utilización de recursos• Los recursos controlados por el proceso pueden estar

enlistados, tal como archivos abiertos. Un historial acerca del uso del procesador y otros recursos también puede incluirse; esta información puede ser requerida por el calendarizador de tareas.

Page 20: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

20

Información de estado del proceso

• Contenido de los registros del procesador– Registros visibles al usuario– Registro de estatus y control– Apuntadores a la pila

• Palabra de estatus del programa (PSW)– Contiene información del estatus– Ejemplo: el registro EFLAGS en

computadoras Pentium

Registro EFLAGS

Page 21: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

21

Modos de ejecucion

• Modo usuario– Modo de menor privilegio– Programas de usuario típicamente se

ejecutan en este modo• Modo sistema, modo control o modo

kernel– Modo más privilegiado– Núcleo del sistema operativo

Creación de procesos• Asignar identificador de proceso único• Reservar espacio para el proceso• Inicializar el bloque de control del proceso• Establecer ligas apropiadas

– Ejemplo: agregar el nuevo proceso a la lista ligada utilizada en la cola de calendarización

• Crear o expander otras estructuras de datos– Ejemplo: mantener un archivo

Page 22: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

22

Cuándo cambiar de proceso

• Interrupción de reloj– El proceso se ha ejecutado el tiempo

máximo permitido• Interrupción de E/S• Falla de memoria

– La dirección de memoria se encuentra en memoria virtual y debe de ser traída hacia memoria principal

Cuándo cambiar de proceso

• Trampa– Ocurre un error– Puede ocasionar que el proceso se vaya al

estado de Salida (Exit)• Llamada de supervisor

– Tal como el abrir un archivo

Page 23: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

23

Cambio del estado del proceso• Guardar el contexto del procesador incluyendo

el contador del programa y otros registros• Actualizar el bloque de control del proceso

que esta corriendo actualmente• Mover el bloque de control del proceso hacia

la cola apropiada – listos, bloqueados• Seleccionar otro proceso para su ejecución

Cambio de estado del proceso

• Actualizar el bloque de control del proceso seleccionado

• Actualizar las estructuras de datos de administracion de memoria

• Restaurar contexto del procesoseleccionado

Page 24: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

24

Ejecución del sistema operativo

• Kernel puro– Ejecutar kernel fuera de cualquier proceso– El código del sistema operativo es ejecutado

como una entidad independiente que opera en modo privilegiado

• Ejecución dentro de procesos de usuario– El software de sistema operativo dentro del

contexto de un proceso de usuario– El Proceso se ejecuta en modo privilegiado

cuando ejecuta código del sistema operativo

Page 25: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

25

Ejecución del sistemaoperativo

• Sistema operativo basado en procesos– Funciones grandes del kernel son procesos

separados– Utiles en ambientes multi-procesadores o

multi-computadoras

Administración de procesos en UNIX SVR4

• La mayor parte del sistema operativo se ejecuta dentro del ámbito de un proceso de usuario

Page 26: Requerimientos principales de un sistema operativo - UABCfcqi.tij.uabc.mx/usuarios/lpalafox/cursos/sistops/... · 2012-06-12 · 1 Descripción y control de procesos Requerimientos

26

Estados de procesos en UNIX