3. El principal concepto en cualquier
sistema operativo es el de proceso.
• Un proceso es un programa en ejecución,
incluyendo el valor del programa
counter, los registros y las variables.
• Conceptualmente, cada proceso tiene un
hilo (thread) de ejecución que es visto
como un CPU virtual.
• El recurso procesador es alternado
entre los diferentes procesos que
existan en el sistema, dando la idea de
que ejecutan en paralelo
(multiprogramación)
4. • Son instrucciones de un programa (un
programa en ejecución), que consume
recursos tales como:
• Memoria, CPU, dispositivos de E/S,
stack.
• Son entidades activas reconocidas por
el SO, que tienen asociados un conjunto
de atributos:
• Código del programa ejecutable,
datos, stack, registros e identificador
único.
• El SO es el encargado de crear y
destruir los procesos.
• Los procesos pueden llamar y ser
llamados por otros procesos.
5. Modelo de Procesos
• Multiprogramación:
la CPU alterna de programa en
programa, en un esquema de
seudoparalelismo
(Paralelismo virtual).
• Paralelismo real de hardware:
Cuando se ejecutan las
instrucciones de un programa
conmás de un procesador.
6. PCB
Es una estructura de datos que sirve para llevar el control de los
procesos y recursos asignados que cada uno de ellos tiene.
Le sirve al sistema operativo para una descripción en tiempo real del
proceso, durante el tiempo de vida de este.
Le ayuda al sistema operativo para poder asignar y desasignar
recursos a las procesos
La información que incluye el PCB puede cambiar entre sistemas
operativos, pero básicamente se cuenta con:
• Identificador del proceso (PID).
• Estado del proceso.
• Listo
• En espera
• Bloqueado.
Contador de Programa: Dirección de la próxima instrucción a ejecutar.
7. Modelo de dos estados.
Estados de procesos - SoWiKi, sistemas operativos
El modelo de estados más simple es el de dos
estados. En este modelo, un proceso puede estar
ejecutándose o no. Cuando se crea un nuevo proceso,
se pone en estado de No ejecución. En algún momento
el proceso que se está ejecutando pasará al estado
No ejecución y otro proceso se elegirá de la lista de
procesos listos para ejecutar para ponerlo en
estado Ejecución. De esta explicación se desprende
que es necesario que el sistema operativo pueda
seguirle la pista a los procesos, conociendo su
estado y el lugar que ocupa en memoria Estados de
procesos - SoWiKi, sistemas operativos Estados de
procesos - SoWiKi, sistemas operativos Estados de
procesos - SoWiKi, sistemas operativos. Además los
procesos que no se están ejecutando deben guardarse
en algún tipo de cola mientras esperan su turno para
8.
9. Modelo de Tres Estados
Para poder manejar convenientemente una administración de procesador
es necesario contar con un cierto juego de datos. Ese juego de datos será
una tabla (BCP o en inglés PCB) en la cual se reflejará en qué estado se
encuentra el proceso, por ejemplo, si está ejecutando o no. Los
procesos, básicamente, se van a encontrar en este caso, en tres estados:
- Ejecutando.
- Listos para la ejecución.
- Bloqueados por alguna razón.
Sobre la base de estos estados se construye lo que se denomina
Diagrama de Transición de Estado (DTE). Estar en la cola de Listos
significa que el único recurso que a ese proceso le está haciendo falta es
el recurso procesador. O sea, una vez seleccionado de esta cola pasa al
estado de Ejecución. Se tiene una transición al estado de Bloqueados cada
vez que el proceso pida algún recurso. Una vez que ese requerimiento ha
sido satisfecho, el proceso pasará al estado de Listo porque ya no
necesita otra cosa más que el recurso procesador.
Para manejar esa cola de Listos se requiere de una tabla, y esa tabla
debe tener una identificación de los procesos (Ver figura).
Como los listos pueden ser muchos, hará falta un puntero al primero de
esa cola de listos, y posiblemente un enganche entre los siguientes en el
mismo estado. Esta tabla contiene los Bloques de Control de Procesos.
En este caso se agrupan los BCP en una Tabla de Bloques de Control de
Procesos (TBCP).
10.
11. JERARQUIA DE PROCESOS
Grupos de procesos dependientes de cada Shell.
Familia de procesos.
- Proceso hijo
- Proceso padre
- Proceso hermano
-Proceso abuelo
Vida de un proceso
- Crea
- Ejecuta
- Muere o termina
Ejecución del proceso
- Batch
- Interactivo
Grupo de procesos.
12.
13. Planificación de procesos
. Conjunto de políticas y mecanismos
incorporados al sistema operativo, a través de
un módulo denominado planificador, que debe
decidir cuál de los procesos en condiciones de
ser ejecutado conviene ser despachado
primero y qué orden de ejecución debe
seguirse. Esto debe realizarse sin perder de
vista su principal objetivo que consiste en el
máximo aprovechamiento del sistema, lo que
implica proveer un buen servicio a los
procesos existentes en un momento dado.
14. Un proceso paralelo
Es aquel que se realiza al mismo tiempo que
otro, siendo ejecutados ambos de modo
simultáneo. Cuando hablamos de procesos
paralelos en un ordenador, nos referimos a
aquellos procesos que se ejecutan y/o
procesan a la vez, anteponiéndose a los
procesos lineales o secuenciales, que serán
ejecutados de uno en uno.
El proceso paralelo sólo es posible si
disponemos de varias unidades de proceso,
generalmente núcleos o procesadores.
15. INTERBLOQUEO
•Es un estado en el que dos o mas procesos quedan en un estado de
espera y ninguno de ellos tienen las condiciones necesarias para
continuar su ejecución. Estas condiciones solamente pueden ser
provistas por los otros procesos que esperan. Ver ejemplo
anterior. Ej. Puente de un solo carril.
•La manera adecuada de utilizar los recursos compartidos es por
medio de los siguientes pasos:
–Solicitar recursos
–Utilizar el Recurso
–Liberar el recurso.
•Condiciones de la existencia de interbloqueo:
–Exclusión mutua
–Posesión y espera
–No apropiación
–Espera circular.
•Trabamiento del Interbloqueo: Ignorar, prevenir, evitar,
detectar y recuperar