a)Determinar si hay diferencias en ese modelos de estados entre un S.O. Windows y un S.O. Unix(Linux). Muestre los gráficos. Estados de un proceso en Unixa) Preparado (R).- Proceso que está listo para ejecutarse. Simplemente está esperando a que el sistema operativo le asigne un tiempo de CPU.
b) Ejecutando (O).- Sólo uno de los procesos preparados se está ejecutando en cada momento (monoprocesador).
c) Suspendido (S).- Un proceso se encuentra suspendido si no entra en el reparto de CPU, ya que se encuentra esperando algún tipo de evento (por ejemplo, la recepción de una señal software o hardware). En cuanto dicho evento se produce, el proceso pasa a formar parte del conjunto de procesos preparados.
d) Parado (T).- Un proceso parado tampoco entra en el reparto de CPU, pero no porque se encuentre suspendido esperando algún evento. En este caso, sólo pasarán a estar preparados cuando reciban una señal determinada que les permita continuar.
e) Zombie (Z).- Todo proceso al finalizar avisa a su proceso padre, para que éste elimine su entrada de la tabla de procesos. En el caso de que el padre, por algún motivo, no reciba esta comunicación no lo elimina de la tabla de procesos. En este caso, el proceso hijo queda en estado zombie, no está consumiendo CPU, pero sí continua consumiendo recursos del sistema.
Estados de un proceso en Windows 2000En Windows 2000, la estructura original de los procesos y de los servicios que brinda el núcleo es relativamente simple y de propósito general. Las características más importantes de los procesos en W2K son las siguientes:
• Los procesos se implementan como objetos.
• Un proceso ejecutable puede tener un hilo o más.
• Los objetos proceso e hilo tienen capacidades de sincronización.
Un proceso es una entidad correspondiente a un trabajo de usuario o a una aplicación, que dispone de sus propios recursos, tales como memoria y archivos. Un hilo es una unidad de trabajo que se puede expedir para su ejecución secuencial y que es interrumpible, de forma que el procesador puede pasar de un hilo a otro.
Estados de un hilo en Windows 2000
• Ready: El hilo listo para ejecutarse
• Running: El hilo está ejecutando
• Standby: El hilo ha sido seleccionado para ser ejecutado en un procesador particular.
• Waiting: Se encuentra bloqueado esperando un evento
• Terminated: Finalización del hilo.
Como nos podemos dar cuenta ambos sistemas operativos cumplen con el mismo estado de procesos, sólo que se diferencian en algunos aspectos.
b) Cuales son los pasos para la formación de un proceso? (Recuerden dentro del S.O.)Un proceso es un programa en ejecución, los procesos son gestionados por el sistema operativo y están formados por:
• Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.
• Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa.
• Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.
• Otra información que permite al sistema operativo su planificación.
Esta definición varía ligeramente en el caso de sistemas operativos multihilo, donde un proceso consta de uno o más hilos, la memoria de trabajo (compartida por todos los hilos) y la información de planificación. Cada hilo consta de instrucciones y estado de ejecución.
Los procesos son creados y destruidos por el sistema operativo, así como también este se debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros procesos. El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación (fork). Los nuevos procesos pueden ser independientes y no compartir el espacio de memoria con el proceso que los ha creado o ser creados en el mismo espacio de memoria.
En los sistemas operativos multihilo es posible crear tanto hilos como procesos. La diferencia estriba en que un proceso solamente puede crear hilos para sí mismo y en que dichos hilos comparten toda la memoria reservada para el proceso
Ej.: UNIX
*UNIX provee el system call fork para la creación de un nuevo proceso.
*La invocacióna esta función le retorna al padre elnúmero de process id del hijo recién creado y al hijo el valor 0.El hijo comienza su ejecución en elr etorno del fork.
*Además, se provee del system call exec que reemplaza el espacio dememoria del proceso por uno nuevo
c) Según la respuesta a la pregunta b) los pasos implican: Software, Hardware o ambos? Participan ambos Software.
d) Es lo mismo estado del procesador que estado del proceso? Explique su respuesta.No es lo mismo ya que los estado del proceso representan el comportamiento del proceso en un momento dado, mientras tanto el estado del procesador básicamente, está formada por el contenido de los registros del procesador. Mientras el proceso está ejecutándose, la información está en los registros. Cuando se interrumpe el proceso, toda la información de los registros debe salvarse de forma que pueda restaurarse cuando el proceso reanude su ejecución. La naturaleza y número de registros involucrados depende del diseño del procesador. Normalmente, en el conjunto de registros se incluyen los registros visibles para el usuario, los registros de control y de estado (contador de programa y palabra de estado) y los punteros a pila