hola

Páginas: 29 (7166 palabras) Publicado: 23 de noviembre de 2014
Procesos

A veces es habla de programas y procesos como si fueran sinónimos, pero son conceptos distintos. Un proceso es un programa en ejecución, incluyendo el valor actual del program counter (PC), registros y variables. Un programa es pasivo (es sólo código o texto) y un proceso es activo y dinámico (varía en el tiempo).

Analogía: preparar una receta de una torta. El programa es lareceta, el proceso es la actividad que consiste en leer la receta, mezclar los ingredientes y hornear la torta.

Varios procesos pueden estar ejecutando el mismo programa, por ejemplo, si dos o más usuarios están usando simultáneamente el mismo editor de texto. El programa es el mismo, pero cada usuario tiene un proceso distinto (y con distintos datos).

Conceptualmente cada proceso tiene supropia CPU virtual. En la práctica, hay una sola CPU real, que cambia periódicamente la ejecución de un proceso a otro, pero para entender el sistema es más fácil modelarlo como una colección de procesos secuenciales que ejecutan concurrentemente (pseudoparalelismo).

Estado de los procesos

Para efectos del sistema operativo, cada proceso puede estar en uno de los siguientes estados:Ejecutando.
El proceso está siendo ejecutado en la CPU. Por lo tanto a lo más un proceso puede estar en este estado en un computador uniprocesador.

Listo.
El proceso está en condiciones de ejecutarse, pero debe esperar su turno de CPU.

Bloqueado.
El proceso no está en condiciones de ejecutarse. Está esperando que algún evento ocurra, como la finalización de una operación de I/O. Tambiénse dice que está suspendido o en espera.





Implementación de procesos

El sistema operativo mantiene para cada proceso un bloque de control o process control block (PCB), donde se guarda para cada proceso la información necesaria para reanudarlo si es suspendido, y otros datos.

Estado (ejecutando, listo, bloqueado)
Program counter
Registros de CPU
Información paraplanificación (p.ej., prioridad)
Información para administración de memoria (p.ej., registros base y límite)
Información de I/O: dispositivos y recursos asignados al proceso, archivos abiertos, etc.
Estadísticas y otros: tiempo real y tiempo de CPU usado, identificador del proceso, identificador del dueño, etc.

El sistema mantiene una cola con los procesos que están en estado LISTO. Los procesossuspendidos se podrían poner todos en otra cola, pero suele ser más eficiente manejar colas distintas según cuál sea la condición por la cual están bloqueados. Así, se maneja una cola de procesos para cada dispositivo.

Cambios de contexto

Cuando el sistema operativo entrega la CPU a un nuevo proceso, debe guardar el estado del proceso que estaba ejecutando, y cargar el estado del nuevo proceso.El estado de un proceso comprende el PC, y los registros de la CPU. Además, si se usan las técnicas de administración de memoria que veremos más adelante, hay más información involucrada. Este cambio, que demora de unos pocos a mil microsegundos, dependiendo del procesador, es puro overhead o sobrecosto, puesto que entretanto la CPU no hace trabajo útil (ningún proceso avanza). Considerando quela CPU hace varios cambios de contexto en un segundo, su costo es relativamente alto.

Algunos procesadores tienen instrucciones especiales para guardar todos los registros de una vez. Otros tienen varios conjuntos de registros, de manera que un cambio de contexto se hace simplemente cambiando el puntero al conjunto actual de registros. El problema es que si hay más procesos que conjuntos deregistros, igual hay que apoyarse en la memoria. Como sea, los cambios de contexto involucran un costo importante, que hay que tener en cuenta.

Creación de procesos

Un proceso `padre' puede crear nuevos procesos `hijos' mediante llamadas al sistema. A su vez, estos hijos también pueden crear otros procesos.

Por ejemplo, en Unix, cuando se carga el sistema operativo, se inicializa un...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • hola hola hola hola
  • hola hola hola hola hola
  • hola hola hhola hola y hola
  • hola hola hola
  • Hola Hola Hola
  • Hola Hola Hola
  • hola hola hola
  • Hola hola

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS