0% encontró este documento útil (0 votos)
11 vistas13 páginas

Estados y Transiciones de Procesos OS

El documento describe la multiprogramación en sistemas operativos, donde la memoria principal se divide entre el sistema operativo y los programas en ejecución, permitiendo que varios procesos se ejecuten simultáneamente. Se explican los diferentes estados de los procesos (New, Ready, Running, Blocked, Exit) y las transiciones entre ellos, así como el papel del dispatcher en la gestión del tiempo de CPU. Además, se aborda la importancia del Process Control Block (PCB) y el cambio de modo para proteger los recursos del sistema operativo.

Cargado por

Sofia Leon
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas13 páginas

Estados y Transiciones de Procesos OS

El documento describe la multiprogramación en sistemas operativos, donde la memoria principal se divide entre el sistema operativo y los programas en ejecución, permitiendo que varios procesos se ejecuten simultáneamente. Se explican los diferentes estados de los procesos (New, Ready, Running, Blocked, Exit) y las transiciones entre ellos, así como el papel del dispatcher en la gestión del tiempo de CPU. Además, se aborda la importancia del Process Control Block (PCB) y el cambio de modo para proteger los recursos del sistema operativo.

Cargado por

Sofia Leon
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Clase 2 Overview Proyecto

Sistemas
Operativos

Sofia Leon
Multiprogramacion
La memoria principal estaría dividida en pedazos de
memoria:
Un espacio que ocupe el SO
Otros espacios exclusivos para programas a
ejecutar.
El procesador atiende un programa hasta que realice
una operación de E/S o sea despachado. Luego el SO
escoge otro programa para ejecutar.
Mientras un programa esperaba por la culminación de
una operación de E/S, otro programa podría estar
ejecutándose en el procesador mediante un cambio de
control (HARDWARE del cambio de modo) realizado
por el sistema operativo.
Procesos Los programas no deben ser programados
considerando el tiempo de ejecución.

Una unidad de actividad


caracterizada por la Estados fundamentales (for now):
ejecución de instrucciones, 1. Ready / Listo
un estado y un set de 2. Running/ Ejecutandose
recursos del sistema 3. Exit/ Salida o terminado
asociados. Otros estados:
Bloqueado / Blocked
New / Nuevo
No se puede asumir nada Existen otros, pero para el
del tiempo de ejecución proyecto solo necesitan conocer
relativa a los n procesos. estos,
notas importantes
El SO tiene un número límite de procesos existentes o una cantidad de
memoria virtual asociada a procesos límite para no degradar el rendimiento
del procesador.
El procesador es más rápido que I/O, entonces sin el estado suspendido es
posible que los procesos estén todos bloqueados.
E/S de disco es el más rápido del sistema, por lo que swapping puede mejorar
el performance.
Incluso con memoria virtual, se va a necesitar el estado suspendido, puesto
que el rendimiento de la memoria virtual puede colapsar con un gran número
de procesos activos en memoria principal.
Definicion de los estados
New: Procesos que acaban de ser creados por el SO, y cuentan con su PCB, todavía no es
admitido a la lista de procesos para ser ejecutados porque los recursos son limitados.
Mientras un proceso se encuentra en el Estado New, el programa del proceso se encuentra
almacenado en disco.

Ready: Procesos que se encuentran listos para ser ejecutados y en memoria principal.
Ready/Suspended: Procesos que se encuentran listos para ser ejecutados, pero no se
encuentran guardados en memoria principal.
La cola de listos puede ser FIFO, si no hay un esquema de prioridades.

Running: Procesos que se encuentran siendo ejecutados por el sistema operativo. Solo un
proceso a la vez pueden ser ejecutados (Si hay solo una CPU).

Las listas que forman cada uno de los estados son listas de PCBs.
Definicion de los estados
Blocked: Procesos que no se encuentran listos para ser ejecutados y se encuentran en memoria
principal.
Un evento bloqueado no puede continuar lógicamente.
Si el evento por el que espera ocurre, debe ser movido a la cola de listos.
El SO debe escanear toda la cola de bloqueados para examinar que eventos han sido
desbloqueados.
A veces hay varias colas de bloqueados, dependiendo del evento por el que se espera.
Blocked/Suspended: Procesos que no se encuentran listos para ser ejecutados y no se
encuentran en memoria principal.

Exit: Procesos que han sido terminados, ya sea por una terminación natural, o terminación
forzada.
Ya no está disponible para ejecución.
Se guardan los datos relacionados para realizar la contabilización del uso de recursos, y
luego el proceso es borrado del sistema.
Transiciones básicas
New → Ready: Un proceso es creado e inmediatamente añadido a la cola de listos, considerando la
disponibilidad en memoria principal.

Ready → Running: El dispatcher selecciona al proceso para que sea el siguiente en ejecutarse.

NOTA RAPIDA: ¿EL DISPATCHER’?


Short Term Dispatcher: Programa que ejecuta la CPU que se encarga de escoger que
procesos serán ejecutados en el procesador y de cambiar la ejecución de un proceso a otro
en el procesador.
Impide que un proceso monopolice la CPU.
Transiciones básicas
Running → Ready : Un proceso ha finalizado su quantum de tiempo de ejecución en la CPU
(Tiempo máximo permitido para ejecución no interrumpida), por lo que es devuelto a la cola de
listos para que el procesador pueda ejecutar otro proceso.

Apropiación (Preemption): Antes de que termine su quantum del tiempo, el SO se apropia del
procesador para poder ejecutar un proceso de mayor prioridad que ha sido desbloqueado.
Reclamo de un recurso (En este caso el procesador mismo) de un proceso antes de que
haya terminado de utilizarlo.

Running → Blocked: Un proceso hace un requerimiento al S/O para una operación de E/S o una
llamada al sistema en general, por lo que debe esperar a la finalización de esta, o esperar por
algún otro proceso para proveer algo (IPC).
Transiciones básicas
Blocked → Running: Poco probable, pero puede suceder sin pasar a la cola de listos porque es un
proceso de gran prioridad. O que no haya nadie en la cola de listos

Apropiación (Preemption): Antes de que termine su quantum del tiempo, el SO se apropia del
procesador para poder ejecutar un proceso de mayor prioridad que ha sido desbloqueado.
Reclamo de un recurso (En este caso el procesador mismo) de un proceso antes de que
haya terminado de utilizarlo.

Running → Blocked: Un proceso hace un requerimiento al S/O para una operación de E/S o una
llamada al sistema en general, por lo que debe esperar a la finalización de esta, o esperar por
algún otro proceso para proveer algo (IPC).

Any State → Exit: Si es un proceso hijo y el padre es terminado


Running→ Exit: Si ha terminado
Imagen de un proceso
Area privada o espacio de direcciones: Datos del programa, Pila
del usuario. Programa ya compilado para ser ejecutado.
Pila: Pila usada por el SO para el almacenamiento de los
parametros y llevar seguimiento de las llamadas al sistema.
PCB: Maneja información de la identificación, control y estado del
proceso(Datos necesitados por el SO para que pueda controlar
al proceso).

Para que el proceso sea manejado, al menos una porción


de su imagen debe estar en MP.
Para que sea ejecutado, todo el proceso debe estar en
MP (si no hay MV) o MV.
Cambio de modo ¿Por qué se tienen dos modos
Quitar temporalmente el proceso que está en ejecución de ejecución? Es necesario
para permitir que el SO entre en ejecución. proteger al sistema operativo
y a sus recursos de operación
de interferencias o errores de
Se guarda el contexto de ejecución del proceso en la
los programas de usuario.
pila, solo se guarda en su PCB si hay cambio de
proceso.
Modo Kernel, Supervisor o Privilegiado: Cuando el SO
operativo entra en ejecución y puede ejecutar
El procesador sabe qué modo
instrucciones privilegiadas, como E/S o cambiar el
está ejecutando por el bit de
proceso en ejecución
modo de ejecución en el PSW,
Modo usuario: No tiene exceso a instrucciones este bit es cambiado por la
privilegiadas. instrucción trap.
Process Control Block
1. Identificación del proceso: ID, ID del proceso padre, ID de usuario
(Todos únicos)
2. Estado del proceso PSW: Información que es salvaguardada de los
registros del procesador cuando el proceso es interrumpido.
3. Información de control y planificación:
a. Planificación y estado: Estado del proceso (Listo, running,
bloqueado), prioridad, ID del evento por el que puede estar
esperando, información de planificación (tiempo esperando,
Quantum consumido la última vez)
i. La información de planificación permite realizar
correcciones a la política de planificación (Round Robbing
virtual), al crear colas de procesos que fueron interrumpidos
antes de que se completara su quántum de tiempo.
b. Pointer a estructuras de datos relacionados: Colas de espera de
entrada/salida (por evento), asociaciones a procesos padre,
colas de estado, etc.
¿El SO es un proceso? Depende

Non process Kernel: El SO


Ejecución dentro de Procesos de usuario:
se ejecuta luego de un
El SO es una colección de rutinas llamada
cambio de modo con su
por el programa de usuario, y se
propia pila del sistema, y SO basado en procesos: Las
ejecutan dentro del ambiente del
región de memoria
proceso de usuario (Análogo a una rutinas del SO son
designada. El sistema
subrutina). ejecutadas como procesos
operativo se ejecuta como
Se tiene una pila de Kernel separada diferentes.
una entidad aparte en
del User Stack. También habrá una rutina
modo privilegiado. El
Los datos y el programa del SO se de cambio de proceso que
concepto de proceso es solo
encuentran en una área compartida no se ejecuta como uno.
aplicado a los programas de
por todos los usuarios.
usuario.
Reduce la necesidad de hacer
Esta aproximación es
cambios de proceso.
obsoleta.

También podría gustarte