Clase 3 Sistemas Operativos Administración de procesos

Post on 19-Feb-2017

121 views 4 download

Transcript of Clase 3 Sistemas Operativos Administración de procesos

Sistemas Operativos Administración de Procesos

UNIVERSIDAD INTERNACIONAL SAN ISIDRO LABARDOREscuela de Ingeniería en Sistemas

Cuatrimestre II-2006

Recopilado porIng. Fernely Artavia Fallas

Requerimientos de un S.O en Procesos

Intercalar la ejecución de un conjunto de procesos para maximizar el uso del procesado para ofrecer tiempos de respuesta razonables.

Asignar recursos a los procesos de conformidad a una política específica (ejemplo prioridades), evitando el interbloqueo.

Soporte a la comunicación entre procesos y la creación de procesos por parte del usuario.

ESTADOS DE UN PROCESO

Modelo de Procesos con Dos Estados El SO controla la ejecución de los procesos

(se necesita saber en qué estado se encuentra cada uno).

Cada proceso puede tener dos estados: En ejecución. No en ejecución.

Abajo se presenta el diagrama de transición de estados.

Cola de procesos (2 estados)

Formas de Creación de Procesos1. Nuevo trabajo por lotes. Creación de un

nuevo trabajo.

2. Un nuevo usuario. El usuario entra al sistema iterativo.

3. Creado por el SO para dar un servicio. Ejemplo una impresión.

4. El proceso crea otro proceso.

Terminación de Procesos Instrucción Halt

incluida en la tarea (bach).

Solicitado por el usuario (salir de sesión).

Terminación normal. Salir del programa. Terminación del

padre. Solicitud del padre.

• Tiempo límite excedido.

• No hay memoria disponible.

• Violación de límites.• Error de protección• Error aritmético• Fallo de E/S (máximo

de intentos)• Instrucción invalidad.• Instrucción

priviligeada.• Violación de memoria.

Modelo de Procesos con 5 Estados

Modelo de Procesos con 5 Estados

Corriendo (Running). Proceso en ejecución.

Listo (Ready). Preparado para ser ejecutado, cuando se le de la oportunidad.

Bloqueado (Blocked). Esperan hasta que ocurra un evento o suceso.

Nuevo (New). Proceso nuevo pero no admitido por el sistema

Terminado (Exit). Proceso excluido por el sistema, pero terminado

Procesos Suspendidos El modelo planteado de tres estados (listo,

ejecución y bloqueado) ayuda mucho, pero no es suficiente.

Dado que para que un proceso se ejecute debe ser cargado en memoria completamente.

Por lo que sería conveniente suspenderlos: El procesador es más rápido que la E/S así que todos los

procesos tendrían que esperar la E/S. Intercambiar esos procesos al disco para liberar más

memoria. Dos nuevos estados:

Bloqueado - suspendido. Listo - suspendido.

Un estado suspendido

Dos estados suspendidos

Razones para suspender procesos

Intercambio (swapping). El SO necesita liberar suficiente memoria RAM para

cargar un nuevo proceso. Otra razon del SO.

El SO puede un proceso que se sospecha causa un problema.

Solicitud del usuario. Por tiempo.

Se ejecuta con cierta frecuencia, entonces mientras no se usa se suspende.

Solicitud del proceso padre. El padre desea suspenderlo para examinar o modificar el

proceso o para coordinar con otros procesos.

DESCRIPCION DE PROCESO

Procesos En un entorno multiprogramado muchos procesos

requieren y están haciendo uso de recursos.

¿Qué información necesita el SO para controlar los procesos y administrar los recursos?

Estructuras de Control del SO Para

administrar todo lo que pasa en el sistema el SO construye y mantiene tablas de información de cada entidad que esté administrando.

Tablas de Memoria Se utiliza para administrar la memoria

virtual y la memoria real. Asignación de memoria principal a los

procesos. Asignación de memoria secundaria a los

procesos. Atributos de protección para acceso a

regiones de memoria compartida. Información necesaria para administrar la

memoria virtual.

Tablas de E/S Se utiliza para administrar los

dispositivos y canales DES: Estado del DES: disponible o asignado. Estado de una operación con el DES. Ubicación en la memoria principal que ha sido

usada como fuente o destino de una operación de E/S

Tabla de Archivos Existencia de archivos.

Ubicación en la memoria secundaria. Estado actual Atributos. A veces esta información es mantenida por el

sistema de administración de archivos (file-management system).

Tabla de Procesos Permite administrar la información de

cada proceso Donde está ubicado - proceso en memoria - imagen del

proceso

Atributos necesarios para este administrador. Process ID Process state Location in memory

Estructuras de Control Para que el SO administre los proceso

debe de conocer:

Ubicación de proceso.

Atributos.

Ubicación de los Procesos

Proceso

Imagen del

Proceso

Memoria RAM

BCP

Programas

Programas

Programas

• Variables locales• Variables

globales• Constantes• Pila• Variables locales• Variables

globales• Constantes• Pila• Variables locales• Variables

globales• Constantes• Pila

user

Atributos Bloque de Control de Proceso:

Identificación del proceso. Identificadores

Información del estado del procesador. Registros Visibles para el usuario. Registro de control y de estado Punteros de pila

Información de control del proceso. Información de planificación y de estado Estructuración de datos Comunicación entre procesos Privilegios de los procesos Gestión de memoria Propiedad de los recursos y utilización

CONTROL DE PROCESOS

Modos de Ejecución Se divide en dos modos para proteger al SO y

sus tablas de ser modificadas por el usuario.

Modo usuario Modo de menor privilegio. Los programas de usuario se ejecutan en este modo

Modo sistema, modo control o modo kernel Modo más privilegiado. Kernel del SO

Creación de Procesos Cada vez que el SO crea un proceso se

procede de la siguiente manera: Asignar un único identificador del proceso. Asignar espacio para el proceso. Elementos de

la imagen del proceso. Espacio de direcciones privado, de la pila

Inicializar el BCP. Establecer los enlaces apropiados. Colocarlo

en la lista de procesos listos o suspendidos. Crear otras estructuras de control.

¿Cuándo cambiar un proceso? Interrupción del reloj.

Se le acabó el tiempo máximo de ejecución permitido. Interrupción de E/S.

Inicio de E/S o fin de E/S Fallo de memoria.

Cuando existe un fallo de página (página que no está en memoria)

Cepos (Trap) Determina si el error es fatal. Se puede terminar el proceso, reanudar o suspenderlo

Llamada del Supervisor Cuando un programa llama al SO para ejecutar un

proceso Ejemplo abrir un archivo.

CONCURRENCIA

Concurrencia La concurrencia es la simultaneidad de hechos. Un programa concurrente es aquel en el que

ciertas unidades de ejecución internamente secuenciales (procesos o threads), se ejecutan paralela o simultáneamente.

Incluye los siguientes aspectos: comunicación entre procesos. compartición y competencia por los recursos. sincronización de la ejecución de varios procesos. asignación del tiempo de procesador a los procesos.

Surgen en entornos con un solo procesador, con multiprocesadores y proceso distribuido.

Concurrencia Un programa concurrente está formado por una

colección de procesos secuenciales autónomos que se ejecutan (aparentemente) en paralelo.

Tres formas de ejecutar procesos concurrentes:1. Los procesos multiplexan sus ejecuciones sobre un único

procesador (multiprogramación).2. Los procesos multiplexan sus ejecuciones sobre un sistema

multiprocesador de memoria compartida (multiproceso).3. Los procesos multiplexan sus ejecuciones en varios

procesadores que no comparten memoria (procesamiento distribuido).

El término concurrencia indica paralelismo potencial.

Concurrencia

multiprogramación multiproceso Procesamientodistribuido

Concurrencia En un sistema multiprogramado (1 μP),

los procesos se intercalan, para dar la apariencia de simultaneidad.

En un sistema con varios procesadores (n μP), los procesos se superponen.

P1

P2

P3

P1

P2

P3

Dificultades con la Concurrencia Los problemas generados por la

multiprogramación surgen por que no es posible predecir la velocidad relativa de los procesos:

La actividad de un proceso depende de la actividad de los otros procesos y de la forma cómo el SO trata las interrupciones y las políticas de planificación.

Dificultades: Compartir recursos globales (variable global) Manejar la asignación de recursos Detectar un error es difícil, dado que es difícil

reproducir la situación..

PROBLEMAS POTENCIALES A RESOLVER

1. Exclusión mutua

Es un mecanismo empleado en el diseño de los sistemas operativos para evitar los problemas de competencia por recursos, se basa en definir una zona o región crítica la cual está marcada por las instrucciones que hacen uso del recurso en competencia (recurso crítico).

2. Interbloqueo (deadlock)condiciones : P1 requiere R1 y R2 P2 requiere R1 y R2acciones:1. P1 obtiene R12. P2 obtiene R23. P1 Y P2 están bloqueados esperando cada uno al otro

1

1

R1

R2

P1 P2

0

1

R1

R2

P1 P2

0

0

R1

R2

P1 P2

3. Inanición

Los procesos siempre están bloqueados y nunca acceden a los recursos que necesitan

Sean 3 procesos. P1 solicita recurso. P2 y P3 solicitan recursos P1 suelta el recurso Se asigna el recurso a P2 P1 solicita el recurso P2 suelta el recurso Se asigna el recurso a P1

SECCION CRÍTICA

Sección Crítica Es la parte del programa que

accede a un recurso compartido

Solo un programa puede acceder a su sección crítica en un momento dado.

Ejemplo:solo un proceso en cada momento estará enviando comandos a la impresora

sección crítica

Se suspende la ejecución de la sección crítica hasta que acabe el anterior

Requerimientos para exclusión mutua1. Exclusión mutua. Sólo un procese accede a la vez a su

SC

2. Un proceso suspendido en su SC no debe estorbar a otros

3. No inanición, no interbloqueo. Si un proceso solicita acceso a su SC no debe demorar su atención.

4. Si ningún proceso está en su SC, no se puede evitar que otro proceso entre a su SC.

5. No suponer la velocidad relativa de los procesos.

6. Se permanece en la SC por un tiempo finito.

SEMAFOROS

Semáforos

La variable especial llamado un semáforo es usado para comunicar

Si un proceso está esperando para una señal, es suspendido hasta esa señal se envía

Espera y operaciones de señales no pueden ser interrumpidas

Forme fila están acostumbrado a tener los procesos esperando en el semáforo

LA LIGA DEL SABER

Hacer tres subgrupos

PREGUNTA 1 Escriba tres requerimientos de un S.O en

Procesos.

Requerimientos de un S.O en Procesos

Intercalar la ejecución de un conjunto de procesos para maximizar el uso del procesado para ofrecer tiempos de respuesta razonables.

Asignar recursos a los procesos de conformidad a una política específica (ejemplo prioridades), evitando el interbloqueo.

Soporte a la comunicación entre procesos y la creación de procesos por parte del usuario.

PREGUNTA 2 Escriba los estado del modelo de

Procesos con Dos Estados

Modelo de Procesos con Dos Estados Cada proceso puede tener dos estados:

En ejecución. No en ejecución.

PREGUNTA 3 Escriba tres formas de crear un proceso

Formas de Creación de Procesos1. Creación de un nuevo trabajo.

2. El usuario entra al sistema iterativo.

3. Creado por el SO para dar un servicio.

4. El proceso crea otro proceso.

PREGUNTA 4 Escriba tres maneras de terminar un

proceso

Terminación de Procesos Instrucción Halt

incluida en la tarea (bach).

Solicitado por el usuario (salir de sesión).

Terminación normal. Salir del programa. Terminación del

padre. Solicitud del padre.

• Tiempo límite excedido.

• No hay memoria disponible.

• Violación de límites.• Error de protección• Error aritmético• Fallo de E/S (máximo

de intentos)• Instrucción invalidad.• Instrucción

priviligeada.• Violación de memoria.

PREGUNTA 5 Escriba los estado del modelo de

Procesos con cinco estados

Modelo de Procesos con 5 Estados

Corriendo (Running). Listo (Ready). Bloqueado (Blocked). Nuevo (New). Terminado (Exit).

PREGUNTA 6 Mencione tres razones para suspender

procesos.

Razones para suspender procesos

Intercambio (swapping). El SO necesita liberar suficiente memoria RAM para

cargar un nuevo proceso. Otra razon del SO.

El SO puede un proceso que se sospecha causa un problema.

Solicitud del usuario. Por tiempo.

Se ejecuta con cierta frecuencia, entonces mientras no se usa se suspende.

Solicitud del proceso padre. El padre desea suspenderlo para examinar o modificar el

proceso o para coordinar con otros procesos.

PREGUNTA 7 Qué información necesita el SO para

controlar los procesos y administrar los recursos?

Para administrar todo lo que pasa en el sistema el SO construye y mantiene tablas de información de cada entidad que esté administrando.

PREGUNTA 8 Escriba nombre de las 4 tablas que crea

el SO para controlar los procesos y administrar los recursos

Tablas de memoria Tablas de E/S Tablas de archivos Tablas de procesos

PREGUNTA 9 Para que el SO administre los proceso

debe de conocer y .

Estructuras de Control Para que el SO administre los proceso

debe de conocer:

Ubicación de proceso.

Atributos.

PREGUNTA 10 Mencione por escrito las 5 pasos que

debe hacer un SO cada vez que se crea un proceso.

Creación de Procesos Cada vez que el SO crea un proceso se

procede de la siguiente manera: Asignar un único identificador del proceso. Asignar espacio para el proceso. Elementos de

la imagen del proceso. Espacio de direcciones privado, de la pila

Inicializar el BCP. Establecer los enlaces apropiados. Colocarlo

en la lista de procesos listos o suspendidos. Crear otras estructuras de control.

PREGUNTA 11 Escriba 3 razones por las que un SO debe

cambiar de proceso.

¿Cuándo cambiar un proceso?

Interrupción del reloj. Se le acabó el tiempo máximo de ejecución permitido.

Interrupción de E/S. Inicio de E/S o fin de E/S

Fallo de memoria. Cuando existe un fallo de página (página que no está

en memoria) Cepos (Trap)

Determina si el error es fatal. Se puede terminar el proceso, reanudar o suspenderlo

Llamada del Supervisor Cuando un programa llama al SO para ejecutar un

proceso Ejemplo abrir un archivo.

PREGUNTA 12 ¿Qué es la concurrencia de procesos?

Concurrencia Un programa concurrente está formado

por una colección de procesos secuenciales autónomos que se ejecutan (aparentemente) en paralelo.

El término concurrencia indica paralelismo potencial.

PREGUNTA 13 Explique:

1. Exclusión mutua 2. Interbloqueo (deadlock) 3. Inanición

1. Exclusión mutua

Es un mecanismo empleado en el diseño de los sistemas operativos para evitar los problemas de competencia por recursos, se basa en definir una zona o región crítica la cual está marcada por las instrucciones que hacen uso del recurso en competencia (recurso crítico).

2. Interbloqueo (deadlock)

condiciones :P1 requiere R1 y R2P2 requiere R1 y R2acciones:1. P1 obtiene R12. P2 obtiene R23. P1 Y P2 están

bloqueados esperando cada uno al otro

3. Inanición

• Los procesos siempre están bloqueados y nunca acceden a los recursos que necesitan

PREGUNTA 14 ¿Cuál es la función de los semáforos en

los SO?

Semáforos

Si un proceso está esperando para una señal, es suspendido hasta esa señal se envía