Vous êtes sur la page 1sur 44

ADMINISTRACIÓN DE CARRERA DE INGENIERÍA DE SISTEMAS

SISTEMAS OPERATIVOS

Ing. Alejandro Huapaya Sánchez 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.

Ing. Alejandro Huapaya Sánchez


Ing. Alejandro Huapaya Sánchez
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.

Ing. Alejandro Huapaya Sánchez


Se conoce como COLA de Procesos en NO ejecución
 La cola es una lista FIFO (First In – First Out)
 Cada bloque de la cola representa un proceso
 El comportamiento del despachador se puede describir en
términos de un diagrama de colsa
 El procesador opera según un turno rotativo (round – robin)

Ing. Alejandro Huapaya Sánchez


1. 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.

Ing. Alejandro Huapaya Sánchez


Instrucción Halt incluida
• Tiempo límite excedido.
en la tarea (bach).
• No hay memoria disponible.
Solicitado por el usuario
• Violación de límites.
(salir de sesión).
• Error de protección
Terminación normal.
• Error aritmético
Salir del programa. • Fallo de E/S (máximo de
Terminación del padre. intentos)
Solicitud del padre. • Instrucción invalidad.
• Instrucción priviligeada.
• Violación de memoria.

Ing. Alejandro Huapaya Sánchez


Ing. Alejandro Huapaya Sánchez
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
Ing. Alejandro Huapaya Sánchez
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.
Ing. Alejandro Huapaya Sánchez
Ing. Alejandro Huapaya Sánchez
Ing. Alejandro Huapaya Sánchez
 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.

Ing. Alejandro Huapaya Sánchez


Ing. Alejandro Huapaya Sánchez
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?

Ing. Alejandro Huapaya Sánchez


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

Ing. Alejandro Huapaya Sánchez


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.

Ing. Alejandro Huapaya Sánchez


 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

Ing. Alejandro Huapaya Sánchez


 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).

Ing. Alejandro Huapaya Sánchez


 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

Ing. Alejandro Huapaya Sánchez


 Para que el SO administre los proceso debe de
conocer:

 Ubicación de proceso.

 Atributos.

Ing. Alejandro Huapaya Sánchez


• Variables locales
BCP • Variables globales
• Constantes
• Pila

Programas • Variables locales


user • Variables globales
• Constantes
Programas • Pila
Proceso

Programas • Variables locales


Imagen • Variables globales
• Constantes
Imagen
del
• Pila
del
Proceso
Proceso

Memoria RAM

Ing. Alejandro Huapaya Sánchez


 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

Ing. Alejandro Huapaya Sánchez


Ing. Alejandro Huapaya Sánchez
 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

Ing. Alejandro Huapaya Sánchez


 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.

Ing. Alejandro Huapaya Sánchez


 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.

Ing. Alejandro Huapaya Sánchez


Ing. Alejandro Huapaya Sánchez
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.
Ing. Alejandro Huapaya Sánchez
 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.

Ing. Alejandro Huapaya Sánchez


multiprogramación multiproceso Procesamiento
distribuido

Ing. Alejandro Huapaya Sánchez


En un sistema multiprogramado (1 μP), los procesos
se intercalan, para dar la apariencia de
simultaneidad.
P1

P2

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

P2

P3

Ing. Alejandro Huapaya Sánchez


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..
Ing. Alejandro Huapaya Sánchez
Ing. Alejandro Huapaya Sánchez
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).

Ing. Alejandro Huapaya Sánchez


condiciones : P1 requiere R1 y R2
P2 requiere R1 y R2
acciones:
1. P1 obtiene R1

2. P2 obtiene R2

3. P1 Y P2 están bloqueados esperando cada uno al otro

R1 R1 R1

1 0 0

P1 P2 P1 P2 P1 P2

1 1 0
R2 R2 R2

Ing. Alejandro Huapaya Sánchez


 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

Ing. Alejandro Huapaya Sánchez


Ing. Alejandro Huapaya Sánchez
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.
Se suspende la ejecución
de la sección crítica hasta
que acabe el anterior
Ejemplo:
solo un proceso
en cada
momento estará sección
crítica
enviando
comandos a la
impresora

Ing. Alejandro Huapaya Sánchez


1. 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.

Ing. Alejandro Huapaya Sánchez


Ing. Alejandro Huapaya Sánchez
 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

Ing. Alejandro Huapaya Sánchez


Hacer
Ing. Alejandro Huapaya Sánchez tres subgrupos
1. Escriba tres requerimientos de un S.O en Procesos.
2. Escriba los estado del modelo de Procesos con Dos Estados
3. Escriba tres formas de crear un proceso
4. Escriba tres maneras de terminar un proceso
5. Escriba los estado del modelo de Procesos con cinco estados
6. Mencione tres razones para suspender procesos.
7. ¿Qué información necesita el SO para controlar los procesos y administrar los recursos?
8. Escriba nombre de las 4 tablas que crea el SO para controlar los procesos y administrar
los recursos
9. Para que el SO administre los proceso debe de conocer ____________ y ____________
10. Mencione por escrito las 5 pasos que debe hacer un SO cada vez que se crea un proceso.
11. Escriba 3 razones por las que un SO debe cambiar de proceso.
12. ¿Qué es la concurrencia de procesos?
13. "Explique: Exclusión mutua"
14. ¿Cuál es la función de los semáforos en los SO?
15. "Explique: Interbloqueo (deadlock)"
16. "Explique: Inanición"

Ing. Alejandro Huapaya Sánchez

Vous aimerez peut-être aussi