0% encontró este documento útil (0 votos)
26 vistas8 páginas

Procesos

PROCESOS DE SISTEMA OPERATIVO

Cargado por

ARCADE LJA
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)
26 vistas8 páginas

Procesos

PROCESOS DE SISTEMA OPERATIVO

Cargado por

ARCADE LJA
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

PROCESOS Instancia de un programa en ejecución más su contexto (PCB)

 Es un concepto manejado por los SO

 El SO los crea y los destruye

 Es un mecanismo esencial para definir y gestionar la ejecución concurrente de los programas


bajo el control de los SO

 Nacen mediante un SystemCall

 Contexto -> Conjunto de entidades que definen el estado de un proceso

Componentes del proceso:

 Instrucciones de programa destinadas a ser ejecutadas

 Estado de ejecución

 Memoria de Trabajo (memoria reservada + sus contenidos)

 Otra información para la planificación del SO

Definiciones:

 Espacio de nombres de un programa: Nombre de elementos que un programa puede utilizar (Ej:
variables, archivos, etc.)

 Espacio de nombres de un proceso: Espacio en RAM donde están los objetos que pertenecen al
procesador.

 Espacio de nombres del procesador: Espacio en memoria que pueden utilizar todos los
procesos.

 Espacio de memoria: Direcciones de memoria donde se monta espacio de nombres del


procesador.

 Poder de un proceso: Define los recursos que pueden ser accesibles por dicho proceso.

Bloque de Control de Procesos (PCB)


El Bloque de Control de Procesos contiene el contexto de un proceso y todos los datos
necesarios para hacer posible la ejecución de ese proceso y satisfacer sus necesidades.

En forma más detallada cada uno de sus campos contiene (no están todos listados, solo los más
importantes):

ARSO – UTN FRGP


LIC. DAMIAN NATALE
Página 1 de 8
 Apuntador a proceso anterior: dirección del BCP anterior (anterior en tiempo pues fue creado
antes). El primer BCP tendrá una identificación que lo señale como tal y deberá ser conocida su
ubicación por el Planificador de Procesos.

 Apuntador a proceso posterior: dirección del BCP posterior (posterior en tiempo, pues fue
creado después). El último BCP tendrá un nil (no se descartan encadenamientos circulares,
pero por ahora se los presenta como lineales).

 Identificación de Proceso (ID): identificación única para este proceso que lo hace inconfundible con
otro.

 Dispositivos: apuntador a todos los dispositivos a los que tiene acceso el proceso al momento.
Esta in- formación puede ser estática si es necesario que el proceso declare antes de comenzar
su ejecución los dispositivos a usar, o completamente dinámica si existe la capacidad de
obtener y liberar dispositivos a medida que se ejecuta el proceso.

 Archivos: ídem Dispositivos pero para los archivos del proceso.

 Tiempos: Tiempo de CPU utilizado hasta el momento. Tiempo máximo de CPU permitido a
este proceso. Tiempo que le resta de CPU a este proceso. Otros tiempos.

 Estado: Ejecutando. Listo. Bloqueado. Wait (En espera). Ocioso.

 Accounting: información que servirá para contabilizar los gastos que produce este proceso (números
contables, cantidad de procesos de E/S, etc.)

Creación de un proceso Darle un nombre único y especificar en el PCB objetos y datos

Jerárquica: Cada proceso es hijo del creador y hereda el entorno de ejecución del padre.

P1

P2 P3

P4

No Jerárquica: Cada proceso es independiente de su creador (entornos diferentes).

P1 P3

P2

ARSO – UTN FRGP


LIC. DAMIAN NATALE
Página 2 de 8
Tipo de recursos de un proceso:

 Variables locales: Solo son accesibles por desde el proceso y solo estos la conocen.

 Variables Globales o Públicas: Son aquellas que también se acceden desde otros Procesos
(Compartidas).

Tipos de Procesos:

 Independientes o Disjuntos: Son aquellos que sólo tienen variables locales (operan sobre
variables disjuntas) o comparten variables globales sin modificarlas.

 Paralelos o Concurrentes: Son aquellos que pueden usar simultáneamente un recurso. Si el


recurso es modificado entonces es crítico y se usa la mutua exclusión para sincronizar su
[Link]én se denominan procesos concurrentes cuando sus ejecuciones se superponen en el
tiempo (si la primera operación de uno de ellos es comenzada antes que se complete la última
operación del otro).

Clasificación según su código:

 Reutilizables: Son los que pueden ser ejecutados con diferentes juegos de datos.

 Reentrantes: Sólo tienen código puro y no tienen asociados datos.

Diagrama de transición o diagramas de estados

Modelo de dos Estados

ARSO – UTN FRGP


LIC. DAMIAN NATALE
Página 3 de 8
Modelo de cinco Estados

Admitir

Enviar Salir

Desalojo

Ocurre suceso Espera suceso

Modelo de cinco Estados más suspendido (utiliza SWAP a disco rígido)

ARSO – UTN FRGP


LIC. DAMIAN NATALE
Página 4 de 8
Estados de los Procesos El SO crea un proceso (ejecución de programa) para que la
CPU ejecute una tras otras las instrucciones.

En multiprogramación la CPU intercala la ejecución de instrucciones, según pautas del SO.

Tipos

Activos Listo (Ready) espera CPU

Ejecutando (Running) está utilizando la CPU

Inactivos

Esperando (Waiting) Bloqueado: Espera de recursos en memoria

Suspendido: Espera de recursos en disco

Nuevo (new o créate) Recién creado, aún no admitido por el SO

Terminado (completed) Los recursos son devueltos al Job


Schedule.

Fin de un proceso
Normal: Proceso completo

Anormal: Ocurre un error y no puede finalizar de forma normal

Espera de recursos: Pasa a bloqueado

Desalojo: Un proceso se está ejecutando (running) y debe pasar al estado listo (ready) porque
ingreso un proceso de mayor prioridad. Ej: estamos navegando por internet y un proceso del
kernel requiere ser ejecutado en el momento.

Cuando un proceso muere desaparece su PCB liberando todos los recursos locales y
comunes (estos son tomados por el Job Scheduler, capa 1 del SO). Cuando un proceso
finaliza, también lo deben hacer sus hijos.

ARSO – UTN FRGP


LIC. DAMIAN NATALE
Página 5 de 8
Mejor
POLITICAS DE ASIGNACION Algoritmo

Pautas:

Tiempos a
 Uso del procesador al 100%
 Cantidad de trabajos por unidad de tiempo Maximizar

 Tiempo de Ejecución: Tiempo desde que ingresa un proceso hasta que termina Tiempos a
 Tiempo de Espera: Permanencia en Listos
 Tiempo de Respuesta: Tiempo que tarda en obtenerse un resultado Minimizar

1) FIFO (First In First Out)

El primer proceso en entrar es el primero en ser atendido. Se respeta el orden de llegada. No


hay desalojo, un proceso solo pasa a bloqueado por decisión propia. Si entra a bloqueado debe
volver al final de la cola de “listos”.

2) Más corto primero (JSF) sin desalojo

Ordena los procesos en cola por el tiempo que van a utilizar el procesador.

3) Más corto primero (JSF) con desalojo

Una variante de la política de asignación de procesos anterior. El desalojo se puede dar por dos
causas:

 Porque llegó un programa calificado como más corto que el que está en ejecución
 Porque llegó un programa cuyo tiempo es menor que el tiempo remanente.

4) Administración por prioridades

En la cola de ready los procesos con mayor prioridad van a tener mayor prioridad ante el
submódulo Dispatcher.

5) Round Robin

Esta administración consiste en dar a cada proceso la misma cantidad o cuota de uso del
procesador. Todos los procesos se les da un quantum, que es una medida del tiempo que
ARSO – UTN FRGP
LIC. DAMIAN NATALE
Página 6 de 8
podrán usar el procesador antes de ser interrumpidos por reloj. Obviamente puede ocurrir que
cuando le toque al siguiente proceso, éste se encuentre bloqueado por operaciones de E/S, en
tal caso se pasa al siguiente proceso, y el anterior tendrá que esperar que le toque el
procesador nuevamente la próxima vuelta.
La asignación se comporta como una manecilla que recorre el segmento circular (que representa
la ráfaga asignada) y que al pasar al próximo proceso genera una interrupción por reloj. Si el
próximo proceso no se encuentra en estado de listo, se pasa al siguiente y así sucesivamente.

Calesita circular del método Round-Robin.

6) Multicolas
Representa el trabajo en conjunto de diferentes tipos de políticas de asignación.

ARSO – UTN FRGP


LIC. DAMIAN NATALE
Página 7 de 8
HILO DE EJECUCIÓN (Threads)
Un hilo de ejecución, en sistemas operativos, es una característica que permite a una aplicación realizar
varias tareas concurrentemente. Son sub-procesos que comparten el PCB del creador.

Es comparable con los procesos de estructura jerárquica pero a diferencia de los procesos no tienen un
contexto independiente.

La principal diferencia entre un hilo y un proceso, es que estos últimos tienen un PCB propio. Los hilos
comparten el PCB del proceso que los creo.

Por ejemplo, en un programa de hoja de cálculo un hilo puede estar visualizando los menús y leer la
entrada del usuario mientras que otro hilo ejecuta las órdenes y actualiza la hoja de cálculo. Esta
medida suele aumentar la velocidad que se percibe en la aplicación, permitiendo que el programa
pida la orden siguiente antes de terminar la anterior.

ARSO – UTN FRGP


LIC. DAMIAN NATALE
Página 8 de 8

También podría gustarte