Está en la página 1de 5

Sistemas Operativos 09/05/2022

Administración de Procesos
La entidad principal con la que interactúa un sistema operativo (ya sea para brindarle
servicios o para imponerle restricciones) es el proceso.
Los diferentes estados de los procesos y la relación entre estos son los principales modelos
empleados para el multiprocesamiento. Un sistema operativo debe instrumentar protección
y separación, incluso entre procesos que compiten o que sencillamente no saben el uno
acerca del otro. Para que varios procesos coexistan en un sistema informático el primer
recurso que un sistema operativo utiliza, es multiplexar o repartir entre todos ellos es el
tiempo de cómputo o sea el uso del procesador. Debe planificar los niveles a corto plazo los
diferentes modelos de planificación y su relación con los procesos.

Administración de Memoria: los programas solo se vuelven procesos cuando se les asigna
memoria y tiempo de cómputo. Este cómputo presenta en primer lugar la visión desde
dentro de la memoria por parte de cada uno de los procesos. el espacio de
direccionamiento y el acomodo clásico de un proceso en la memoria que le es asignada.
Para que distintos procesos compartan la memoria del sistema se han presentado
diferentes esquemas, partición contigua fija y variable para ofrecer mayor flexibilidad al
sistema operativo. Al manejar la memoria de un proceso, surgen puntos importantes a
tomar en cuenta como la vulnerabilidad conocida como desbordamiento de buffer.
Sistemas Operativos 16/05/2022

compilador
ejecutable

operador
estímulo
obtiene del disco
comunicación ram ⇒ cpu
procesos
salida

bios que maneja?


dispositivos entrada salida
todos
inicia el sistema operativo luego de chequear que todo funcione
ADMINISTRACIÓN DE PROCESOS 23/05/2022
-Estados de un proceso
-"nuevo" Se solicitó al SO la creación de un proceso, y sus recursos y estructuras están
siendo creados.
-"listo" Está listo para iniciar o continuar con su ejecución pero el sistema no le ha asignado
un procesador.
-"En ejecución" El proceso está siendo ejecutado en este momento. Sus instrucciones están
siendo procesadas en algún procesador.
-"Bloqueado" En espera de algún evento para poder continuar con su ejecución (aún si
hubiera un procesador disponible no podría avanzar)
-"Zombie" El proceso ha finalizado su ejecución pero el S.O debe realizar ciertas
operaciones de limpieza para poder eliminarlo de la lista
-"El terminado" El proceso es terminado de ejecutarse y sus estructuras están a la espera
de ser limpiadas por el S.O

PROCESOS E HILOS
-Estado del proceso: Es el estado actual del proceso.
-Contador de programa: Cual es la siguiente instrucción a ser ejecutada por el proceso.
-Registros del CPU: La información específica del estado del CPU mientras el proceso está
en ejecución (Debe ser respaldada y restaurada cuando registra un cambio de estado)
-Información de planificación: La prioridad del proceso, la cola en que está agendado y de
mas información que puede ayudar al S.O a planificar procesos.
-información de administración de memoria: La información de mapeo de memoria(páginas
o segmentos dependiendo del SO incluyendo la pilas de llamadas)
-Información de contabilidad: Información de la utilización de recursos que ha tenido este
proceso. Puede incluir tiempo total empleado, cuando el procesador va avanzando sobre
instrucciones de programa, de sistema cuando el SO está atendiendo solicitudes de
proceso, uso acumulado de memoria y dispositivos.
-Estado de Entrada y Salida "E/S": Listado de dispositivos y archivos asignados que el
dispositivo tienen abiertos en un momento dado.

*La cantidad de información que el SO debe manejar acerca de CADA PROCESO es


bastante significativo, si cada vez que el planificador elige qué proceso pasar de listo a en
ejecución, debe considerar una gran parte de la mencionada información nombrada
anteriormente.

*Cuando se consideran procesos basados en un modelo de hilos, se puede proyectar en


sentido inverso, y todo proceso es como un solo hilo de ejecución.
Un SO que no ofreciera soporte expreso a los hilos , los planificaría exactamente del mismo
modo.

PATRONES DE TRABAJO CON HILOS


Por lo general hay 3 patrones en los que caen generalmente los modelos de hilo

-Jefe/trabajador: Un hilo tiene una tarea distinta de todos los demás, el hilo jefe genera o
recopila tareas a realizar, las separa y las entrega a los hilos trabajadores, este modelo es el
mas común para procesos que implementan servidores y para aplicaciones gráficas en que
hay una porción del programa esperando a que ocurran eventos externos.
El jefe realiza poco trabajo se limita a invocar a los trabajadores para que hagan el trabajo
de verdad.
Dato>Tipicamente los hilos trabajadores realizan su operación y posiblemente notifiquen al
jefe su trabajo y finalizan su ejecución.

-Equipo de trabajo: Al iniciar la porción multihilos del proceso se crean muchos hilos
identicos que realizaran las mismas tareas sobre diferentes datos, puede combinarse con
un estilo de jefe trabajador para ir dando al usuario una previsialización de resultados. Su
principal diferencia con el patrón jefe/trabajador, consiste en que el trabajo a realizar por
cada uno de los hilos se plantea desde el principio, el paso de división del trabajo no es un
hilo mas, sino que se preparan los datos para que estos sean lanzados en paralelo.

-Linea de ensamblado: Si una tarea larga puede dividirse en pasos sobre bloques de la
informacion total a procesar, cada hilo puede enfocarse a hacer solo un paso y pasarle los
datos a otro hilo conforme vaya terminando.
Una de las principales ventajas de este modelo es que ayuda a mantener rutinas simples de
comprender y permite que el procesamiento de datos continúe, en una linea de ensamblado
si bien los hilos trabajan en forma secuencial pueden estar ejecutandose paralelamente
sobre bloques consecutivos de información, eventos, etc.
Sistemas Operativos 30/05/2022

También podría gustarte