Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DOS
GNU/Linux
Microsoft Windows
Mac OS X
BSD
Solaris
Procesos
Definición de proceso
Se podría definir proceso como: ‘Un programa en ejecución’
Para el Sistema Operativo un proceso es: ‘Un conjunto de estructuras de datos, registros y
campos con valores.’
Es una unidad actividad que se caracteriza por la ejecución de una secuencia de
instrucciones
Un prceso puede variar entre 5 estados inicio, esperando, en ejecucion listo y terminado
Procesos sombis cuando el padre o el hijo termina su proceso libera todo los recursos que
tenia asociado menos el pcb bloque de control del proceso o es tructura de datos por que
filtra la tabla de procsos
Estructuras de Control
1º) Tablas de memoria:
Emplean para saber que uso reciben las memorias principales y secundarias.
Y también para obtener cualquier otro tipo de información, relacionada con la memoria.
La Tabla de Procesos
+ Si enlazamos todos los ‘bloques de control de procesos’ (PCBs), mediante un array o
bien una lista enlazada, obtenemos la ‘tabla de procesos’.
- Esta, toma información de cada uno de los procesos.
- Cada proceso consta de un identificador (PI, Identificador de Procesos) para un correcto
uso y control.
Que contiene la imagen del proceso: Esta esta formada por: 1)PCB 2)Pila 3)codigo 4)Datos
Información de Estado
+ Se encarga de almacenar el contenido de los registros del procesador cuando el proceso,
no esta ejecutándose.
+ Este proceso normalmente esta supervisado y dirigido por el hardware de la máquina.
Información de control
+ Es la información que se utiliza para obtener datos relacionados con el control del
proceso.
Módulos de Ejecución
+ El Sistema Operativo utiliza estructuras para controlar los distintos procesos.
Estados de un Proceso:
El Modelo de 5 Estados
+ Si el Sistema Operativo se queda sin recursos el proceso se queda en ‘Nuevo’.
+ Cuando recibe suficientes recursos pasa al estado ‘Listo’.
- Este ya es un proceso completamente funcional, aunque el Sistema Operativo no
permite que haya más de un proceso ejecutándose simultáneamente.
+ Cuando el Sistema Operativo permite continuar el proceso, este pasa al estado de
‘Ejecución’.
+ Una vez finalizada la ejecución, el proceso acaba en el estado ‘Terminado’.
- Durante ciertos instantes se mantiene la información del proceso en el PCB, con el
objetivo de obtener datos sobre este.
+ Por último el Sistema Operativo repite todos los pasos anteriores con el resto de
procesos, que se encontraban ‘en espera’.
+ Un estado especial sería ‘bloqueado’, por el cuál el proceso es interrumpido hasta que
cumpla ciertos requisitos.
El Modelo de 7 Estados
+ La mayoría de los Sistemas Operativos pueden llevar los procesos desde la memoria
principal, hasta la secundaria, mediante un mecanismo denominado ‘swapping’
(Intercambio).
+ Esto permite el intercambio de procesos.
+ Una gran ventaja de este método es cuando el proceso ‘liberado’ no puede ejecutarse, y
el ‘introducido’ si puede hacerlo.
+ Un proceso ‘Suspendido’, esta en memoria secundaria
+ Un proceso ‘Bloqueado’, va siempre a memoria secundaria antes que un proceso ‘listo’.
+ Un proceso solo regresa a memoria principal [De ‘Listo y Suspendido’ a ‘Listo’] cuando lo
decide el Sistema Operativo.
+ Un proceso ‘Bloqueado y Suspendido’ nunca regresa a la memoria principal [De
‘Bloqueado y Suspendido’ a ‘Bloqueado’], hasta que se desbloquee.
+ Con el intercambio es posible sacar de la memoria principal a procesos bloqueados, para
dejar espacio a otros procesos totalmente funcionales.
Políticas de Planificación:
+ Se utilizan por el Sistema Operativo para tomar las decisiones, que cambian el estado de
un proceso.
Planificaciones a Largo Plazo (‘PLP’):
+ Decide que procesos llegan al estado ‘Listo’.
+ Este tipo de política mide el grado de multiprogramación
+ La PLP requiere un algoritmo muy complejo que se ejecuta cada cierto tiempo.
ni un brillo esto
Planificaciones a Medio Plazo (‘PMP’):
+ Controla el intercambio de procesos entre la memoria principal y la secundaria
--- Menos el código que implementan en el sistema
+ En un sentido u otro
Su ejecución se realiza con más frecuencia que la ‘PLP’ por lo que su tiempo de ejecución
será menor.
Planificaciones a Corto Plazo (‘PCP’):
+ Controla cuando un proceso comienza su ejecución, y cuando debe finalizar.
+ Este algoritmo debe ser muy simple, pues el proceso se ejecuta muy frecuentemente.
Planificaciones de un Procesador:
+ Los algoritmos más frecuentes y a los que además vamos a prestar más atención son los
‘PCP’ + Para comparar los distintos algoritmos de planificación se deben establecer una
serie de criterios que permitan esta comparación:
1) El Uso de la CPU:
- Mide el porcentaje de tiempo que el procesador pasa ejecutando los procesos
Valores Adecuados [40% - 90%]
Valores Imposibles [> 90%]
Valores Catastróficos [< 40%]
2) La Productividad:
- Es el número de trabajos realizados por unidad de tiempo
3) El Tiempo de Retorno:
- El tiempo que el proceso pasa en el sistema
- Cuanto menos mejor.
4) El Tiempo de Espera:
- El tiempo que el proceso gasta en estado de espera (Sin hacer nada).
5) El Tiempo de Retorno Normalizado:
TRNorm = Tretorno / Tservicio
- Permite realizar comparaciones absolutas
- Por lo que el ‘TRN’ es relativo.
6) El Tiempo de Respuesta Interactivo:
- Es el tiempo que pasa desde que el sistema interacciona con el usuario.
- Tiempo desde que el usuario ejecuta una aplicación, y el programa responde.
7) La Prioridad:
- El procesador muestra más prioridad en unos procesos que en otros.
FÓRMULAS:
Algoritmos de Planificación
Existen dos categorías
Apropiativos
El Sistema Operativo puede expulsar del procesador un proceso en ejecución (línea
punteada.)
No Apropiativos
Estos procesos, no pueden ser expulsados por el Sistema Operativo.
Clases de algoritmos
Algoritmo de planificación FCFS:
Este algoritmo emplea los procesos en la cola de ‘listos’ Algoritmo no apropiativo.
Una petición no puede ser desplazada por la llegada de una petición con prioridad
mas alta.
No hay reordenamiento de la cola de peticiones pendientes.
Se ignoran las relaciones posicionales entre las peticiones pendientes.
Ofrece una varianza pequeña aunque perjudica a las peticiones situadas al finale
de la cola.
Algoritmo de planificación SJF:
El algoritmo de primero el trabajo más corto (SJF, shortest job frist), que asocia a cada
proceso la longitud de la siguiente ráfaga de CPU de ese proceso. Cuando la CPU queda
disponible, asigna al proceso cuya siguiente ráfaga de CPU sea más corta. Si hay dos
procesos cuyas siguientes ráfagas de CPU tienen la misma duración, se emplea
planificación FCFS (first come, first served) para romper el empate. Consideremos el
conjunto de procesos siguiente(la duración de la ráfaga está en milisegundos):
P1 6
P2 8
P3 7
P4 3
Utilizando una politica SJF, planificariamos estos procesos según el diagrama de Gantt
siguiente:
P4 P1 P3 P2
0 3 9 16 24
El tiempo de espera es de 3 milisegundos para el proceso P 1, 16 milisegundos para el
proceso P3 y 0 milisegundos para el proceso P4. Así, el tiempo de espera promedio es
(3+16+9+0)/4=7 milisegundos. Se puede demostrar que el algoritmo SJF es óptimo, en
cuanto a que da el tiempo de espera promedio mínimo para un conjunto dado de
procesos. Si atendemos a un proceso corto antes que a uno largo, el tiempo de espera del
proceso corto disminuirá más de lo que aumenta el tiempo de espera del proceso largo.
En consecuencia, el tiempo de espera promedio disminuye. Lo realmente difícil del
algoritmo SJF es conocer la duración de la siguiente solicitud de CPU. Para la planificación
a largo plazo en un sistema por lotes, podemos usar como duración el límite de tiempo de
proceso que el usuario especifica cuando presenta el trabajo. Esto motiva a los usuarios
para estimar con precisión el límite de tiempo en sus procesos, ya que un valor más bajo
podría significar una respuesta más rápida.
Algoritmo de planificación SRT - Shortest Remaining Time - (Es un SJF
apropiativo)
Este algoritmo siempre ejecuta primero aquellos procesos a los que les queda menos
tiempo para terminar Este algoritmo también es conocido como ‘optimo’, pues con el se
obtienen los mejores resultados.
Algoritmo de prioridades:
Selecciona aquellos procesos que se encuentran en la cola de ‘listos’.
En este algoritmo, los criterios de rendimiento, no son los más necesarios.
El criterio principal es hacer que los procesos ‘en espera’ sean los primeros en ejecutarse
El principal inconveniente, es que puede producir ‘inanición’, es decir si tenemos un
proceso de prioridad baja, y muchos de alta, puede ocurrir que el primero no se ejecute
nunca.
Se puede llevar a cabo un proceso de envejecimiento, el cual hace ganar prioridad al
primer proceso, permitiendo que se ejecute.
Algoritmos Multiproceso:
Se utilizan múltiples colas en cada algoritmo Es necesario definir el algoritmo que elige
entre las colas, y asigna un proceso a estas. La primera cola es un FCFS Para la segunda
empleamos un Round Robin (RR) Y a la hora de seleccionar entre colas utilizamos las
prioridades Las colas multinivel utilizan la retroalimentación, según esto un proceso no
tiene que estar siempre en la misma cola Además de los algoritmos necesarios para la cola
multinivel, se necesita un algoritmo para cambiar entre colas Si el proceso consume el
quanto pasa a la siguiente cola y si termina, regresa a la cola inicial.
Evaluación de Algoritmos:
Permite obtener valores de rendimiento para los distintos algoritmos y así decidir cual de
ellos utilizar
La Evaluación Analítica:
Sirve para evaluar el funcionamiento de los distintos algoritmos Existen dos formas de
desarrollo:
El Modelo Determinista:
Evalúa el funcionamiento dependiendo de una ‘carga de trabajo’
El Modelo de Colas:
Aplica técnicas estadísticas, para la función de pilas de colas Para cada técnica existe un
tiempo de tratamiento según el cual se obtienen el resto de valores.....
El Método de Simulación:
Se construye un modelo simplificado del planificador (un simulador) para evaluar su
comportamiento. A mayor semejanza, mejores resultados. Normalmente se construye
para el menor número de planificadores posible (debido a los costes)
1
1
Wikiversidad
https://es.wikiversity.org/wiki/Sistemas_operativos
Definición de proceso