2. Un proceso puede informalmente entenderse como un
programa en ejecución. Formalmente un proceso es
"Una unidad de actividad que se caracteriza por la
ejecución de una secuencia de instrucciones, un
estado actual, y un conjunto de recursos del sistema
asociados"
3. Jerárquica: cada proceso que se crea es hijo del proceso creador y hereda
el entorno de su ejecución de su padre. Un proceso durante su ejecución
puede crear varios procesos hijos a través de llamadas al sistema para
creación de procesos. Al restringirse un proceso hijo a un subconjunto de
recursos del padre, se evita que éste sature al sistema creando
demasiados procesos hijos. Al crear procesos hijos, el padre continúa
ejecutando concurrentemente con sus hijos o espera a que todos sus hijos
hayan terminado y luego continúa él.
No jerárquica: cada proceso creado se ejecuta en forma independiente
de su creador en un entorno diferente.
4. El principal trabajo del procesador es ejecutar las instrucciones de
máquina que se encuentran en memoria principal. Estas
instrucciones se encuentran en forma de programas. Para que un
programa pueda ser ejecutado, el sistema operativo crea un nuevo
proceso, y el procesador ejecuta una tras otra las instrucciones del
mismo.
En un entorno de multiprogramación, el procesador intercalará la
ejecución de instrucciones de varios programas que se encuentran
en memoria. El sistema operativo es el responsable de determinar
las pautas de intercalado y asignación de recursos a cada proceso.
5. El modelo anterior de dos estados funcionaría bien con
una cola FIFO y planificación por turno rotatorio para los
procesos que no están en ejecución, si los procesos
estuvieran siempre listos para ejecutar. En la realidad, los
procesos utilizan datos para operar con ellos, y puede
suceder que no se encuentren listos, o que se deba
esperar algún suceso antes de continuar, como una
operación de Entrada/Salida. Es por esto que se necesita
un estado donde los procesos permanezcan bloqueados
esperando hasta que puedan proseguir. Se divide
entonces al estado No ejecución en dos estados: Listo y
Bloqueado. Se agregan además un estado Nuevo y otro
Terminado.
6. • Ejecución: el proceso está actualmente en ejecución.
• Listo: el proceso está listo para ser ejecutado, sólo está
esperando que el planificador así lo disponga.
• Bloqueado: el proceso no puede ejecutar hasta que no se
produzca cierto suceso, como una operación de Entrada/Salida.
• Nuevo: El proceso recién fue creado y todavía no fue
admitido por el sistema operativo. En general los procesos que se
encuentran en este estado todavía no fueron cargados en la
memoria principal.
• Terminado: El proceso fue expulsado del grupo de
procesos ejecutables, ya sea porque terminó o por algún fallo, como
un error de protección, aritmético, etc.
7. Los estados de un proceso obedecen a su participación y
disponibilidad dentro del sistema operativo y surgen de la
necesidad de controlar la ejecución de cada proceso. Los
procesadores sólo pueden ejecutar un sólo proceso a la vez,
turnandolos para el uso de éste. Existen procesos apropiativos
que básicamente ocupan todo el tiempo del procesador hasta
que ellos deciden dejarlo. Los procesos no apropiativos son
aquellos que ocupan por un periodo de tiempo el procesador
hasta que una interrupción o señal llega al procesador para
hacer el cambio de proceso, a esto se le conoce como cambio
de contexto.
8. PARALELISMO: Es la ejecución de Diversas actividades
simultáneamente en varios procesadores. Con un solo
procesador se dice que se tiene pseudoparqalelismo.
11. En los sistemas multiprocesadores tradicionales, los procesos se asignan a los
procesadores de forma que haya una cola única para todos los procesadores o, si se
utiliza algún tipo de esquema de prioridades, existirán varias colas, según la
prioridad, alimentando todas a una reserva común de procesadores. Es posible
contemplar el sistema como una arquitectura de colas de multiservidor.
Considérese el caso de un sistema dual de procesadores en el que cada procesador
del sistema tiene la mitad de tasa de proceso que un sistema de procesador único.
Se realiza un análisis de cola que compara la planificación FCFS con el turno
rotatorio y con el algoritmo del menor tiempo restante. El estudio compara los
tiempos de servicio, que miden el tiempo de procesador que un proceso necesita
para completar su trabajo o cada vez que está listo para usar el procesador.