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
Top Related