5. Gestión de procesos
¿Que es un proceso?
“Un proceso es básicamente
un entorno formado por
todos los recursos
necesarios para ejecutar
programas. Desde el punto
de vista del SO, un proceso
es un objeto más que hay
que gestionar y al cual hay
que dar servicio”.
5
6. Gestión de procesos
El sistema operativo es
responsable de :
• Crear y destruir los
procesos.
• Parar y reanudar procesos.
• Ofrecer mecanismos para
que los procesos se
comuniquen y sincronicen.
6
7. Gestión de procesos
La gestión de procesos podría ser similar al
trabajo que se realiza en una oficina.
Se puede tener una lista de tareas a
realizar y a estas fijarles prioridades alta,
media, baja por ejemplo:
Se debe comenzar haciendo las tareas de
prioridad alta primero y cuando se
terminen seguir con las de prioridad
media y después las de baja.
Una vez realizada la tarea se tacha.
Esto puede traer un problema que las
tareas de baja prioridad pueden que
nunca lleguen a ejecutarse y permanezcan
en la lista para siempre. Para solucionar
esto, se puede asignar alta prioridad a las
tareas más antiguas.
7
8. Gestión de procesos
Estado del proceso
Define su actividad actual.
Durante su existencia, un proceso
pasa por una serie de estados
discretos.
Estos estados son :
• Nuevo
• Listo
• En ejecución
• Bloqueado
• Terminado
8
9. Gestión de procesos
Nuevo
• Un proceso está en estado de nuevo cuando
apenas se encuentra en proceso de crearse.
Listo
• Un proceso está en estado de listo, cuando
podría usar una UCP, si hubiera una
disponible.
En ejecución
• Un proceso está estado de ejecución, si en
ese momento tiene esta ocupando la CPU.
Bloqueado
• Un proceso está en estado de bloqueado, si
espera que ocurra algo, como por ejemplo, la
terminación de una E/S, para así poder
ponerse en marcha.
Terminado
• Cuando un proceso se ha completado su
ejecución pasa a ser un proceso terminado.
9
10. Gestión de procesos
Procesos suspendidos
Una de las razones para implementar el
estado Bloqueado era poder hacer que los
procesos se puedan mantener esperando
algún suceso, por ejemplo una Entrada/Salida.
Sin embargo, al ser mucho más lentas
estas operaciones, puede suceder que en
nuestro modelo de cinco estados todos los
procesos en memoria estén esperando en el
estado Bloqueado y que no haya más
memoria disponible para nuevos procesos.
Podría conseguirse más memoria, aunque es
probable que esto sólo permita procesos más
grandes y no necesariamente nuevos
procesos. Además hay un costo asociado a la
memoria y de cualquier forma es probable
que se llegaría al mismo estado con el tiempo.
10
11. Gestión de procesos
Procesos en espera
Dos o más procesos pueden cooperar mediante señales de
forma que uno obliga a detenerse a los otros hasta que reciban
una señal para continuar.
Se usa una variable llamada semáforo para intercambiar
señales.
Si un proceso esta esperando una señal, se suspende (WAIT)
hasta que la señal se envíe (SIGNAL).
Se mantiene una cola de procesos en ESPERA en el semáforo.
La forma de elegir los procesos de la cola en ESPERA es
mediante una política FIFO.
La sincronización explícita entre procesos es un caso particular
del estado "bloqueado". En este caso, el suceso que permite
desbloquear un proceso que no es una operación de
entrada/salida, sino una señal generada a propósito por el
programador desde otro proceso.
11
13. Administración de memoria principal
La parte del sistema operativo
que administra la memoria se
llama administrador de
memoria.
Consiste en llevar un registro
de las partes de memoria que
se estén utilizando y aquellas
que no.
Asignar espacio en memoria a
los procesos cuando éstos la
necesiten y liberándola cuando
terminen.
13
14. Administración de memoria principal
La memoria principal de la mayoría
de los computadores es mucho mas
pequeña de lo que sería necesario
para manejar todos los programas y
datos.
El módulo de gestión de memoria es
el encargado de asignar ciertas
porciones de la memoria principal a
los diferentes programas, mientras el
resto de programas y datos se
mantienen en los dispositivos de
almacenamiento masivo.
La forma mas común de gestión de
memoria es crear una memoria
virtual utilizando los dispositivos de
almacenamiento masivo.
14
15. Administración de memoria principal
Jerarquía de Memoria
Una jerarquía en memoria
está organizada en varios
niveles, cada uno más
pequeño, más rápido y
más caro por byte que el
siguiente.
15
16. Administración de memoria principal
Memoria Real
La memoria real o principal es en donde son
ejecutados los programas y procesos de una
computadora.
Es el espacio real que existe en memoria para
que se ejecuten los procesos.
La memoria es de mayor costo que la memoria
secundaria, pero el acceso a la información
contenida en ella es de más rápido acceso.
Solo la memoria cache es más rápida que la
principal, pero su costo es a su vez mayor.
16
17. Administración de memoria principal
Memoria Virtual
La memoria virtual es una
técnica para proporcionar la
simulación de un espacio
de memoria mucho mayor
que la memoria física de una
máquina.
Esto permite que los
programas se hagan sin
tener en cuenta el tamaño
exacto de la memoria física
17
18. Administración de memoria principal
El concepto de espacio de
direcciones lógicas vinculado a
un espacio de direcciones
físicas separado es crucial para
una buena gestión de memoria
Dirección lógica
Es la dirección que genera el
proceso; también se conoce
como dirección virtual
Dirección física
Dirección que percibe la
unidad de memoria
18
19. Administración de memoria principal
Direcciones Lógicas y Físicas
Las direcciones lógicas y
físicas son iguales en los
esquemas de vinculación en
tiempo de compilación y de
carga.
Difieren en el esquema de
vinculación en tiempo de
ejecución.
19
20. Administración de memoria principal
Traducción De Direcciones
Reubicación Hardware: la MMU
(memory management unit) se encarga
de la traducción que es la encargada de
convertir las direcciones lógicas emitidas
por los procesos en direcciones físicas
Proceso:
Programa se carga en memoria sin
modificar
El S.O. almacena por cada proceso su
función de traducción
El S.O. especifica a la MMU qué función
aplicar para cada proceso
20
21. Administración de memoria principal
Funciones son:
Convertir las direcciones lógicas
emitidas por los procesos en
direcciones físicas.
Comprobar que la conversión se
puede realizar. La dirección lógica
podría no tener un dirección física
asociada. Por ejemplo, la pagina
correspondiente a una dirección se
puede haber trasladado a una zona
de almacenamiento secundario
temporalmente.
Comprobar que el proceso que
intenta acceder a una cierta
dirección de memoria tiene permisos
para ello.
21
22. Clasificación Memorias de CPU
Memoria Principal
(primaria)
• RAM
Memoria Secundaria
• Disco Duro
Memoria Terciaria
• DVDs
• USB
22