Documente Academic
Documente Profesional
Documente Cultură
Gran parte de las acciones de un Sistema Operativo giran en torno a los procesos.
El sistema operativo debe asignar recursos a los procesos de acuerdo a una política y evitando
situaciones no deseables como el deadlock.
Un programa en ejecución es un proceso. Un proceso necesita para llevar a cabo una tarea
ciertos recursos, entre los que incluye tiempo del cpu, memoria, archivos y dispositivos de e/s.
estos recursos se proporcionan al proceso en el momento de crearlo o se le asignan mientras
se está ejecutando. Además de los diversos recursos físicos y lógicos que un proceso obtiene
pueden pasársele diversos datos de inicialización (entradas). Ejem: considere un proceso cuya
función sea la de mostrar el estado de un archivo en pantalla de un terminal, a ese proceso le
proporcionamos como entrada el nombre del archivo y el proceso ejecuta las instrucciones y
llamadas al sistema para obtener y mostrar en el terminal la información deseada, cuando el
proceso termina el sistema operativo reclama todos los recursos reutilizables.
2. ESTADOS DE UN PROCESO
A medida que se ejecuta un proceso, el proceso va cambiando de estado. El estado de un
proceso se define, en arte, según la actividad actual de dicho proceso.
Cuando un proceso se bloquea, lo hace debido a que comúnmente está esperando una
entrada que todavía no está disponible. También es posible que un proceso, que esté listo en
concepto y pueda ejecutarse, se detenga debido a que el sistema operativo ha decidido
asignar la CPU a otro proceso por cierto tiempo. En el primer caso, la suspensión está
inherente en el problema (no se puede procesar la línea de comandos del usuario sino hasta
que éste la haya escrito mediante el teclado).En el segundo caso, es un tecnicismo del sistema
(no hay suficientes CPUs como para otorgar a cada proceso su propio procesador privado). En
la figura 2-2 podemos ver un diagrama de estados que muestra los tres estados en los que se
puede encontrar un proceso:
Hay cuatro transiciones posibles entre estos tres estados. La transición 1 ocurre cuando el
sistema operativo descubre que un proceso no puede continuar justo en ese momento. La
transición 2 ocurre cuando el planificador decide que el proceso en ejecución se ha ejecutado
el tiempo suficiente y es momento de dejar que otro proceso tenga una parte del tiempo de la
CPU. La transición 3 ocurre cuando todos los demás procesos han tenido su parte del tiempo
de la CPU y es momento de que el primer proceso obtenga la CPU para ejecutarse de nuevo. El
tema de la planificación de procesos (decidir qué proceso debe ejecutarse en qué momento y
por cuánto tiempo) es importante. La transición 4 ocurre cuando se produce el evento externo
por el que un proceso estaba esperando (como la llegada de ciertos datos de entrada). Si no
hay otro proceso en ejecución en ese instante, se activa la transición 3 y el proceso empieza a
ejecutarse. En caso contrario, tal vez tenga que esperar en el estado listo por unos instantes,
hasta que la CPU esté disponible y sea su turno de utilizarla.
Limites de memoria
Lista de archivos abiertos
Información del estado de e/s: esta información incluye la lista de los dispositivos de
e/s asignados al proceso, una lista de los archivos abiertos etc.
Esencialmente el sistema operativo administra el uso que hacen los procesos de los recursos
del sistema.
Qué necesita el sistema operativo para controlar los procesos y administrar los recursos para
ellos?
Las tablas antes mencionadas deben mantener alguna relación ya que memoria, dispositivos y
archivos son administrados en función de los requerimientos de los procesos. El sistema operativo
mediante asistencia del administrador o un programa de autoconfiguración tiene acceso a datos
que definan su entorno básico.
4. CREACION DE UN PROCESO
Los sistemas operativos necesitan cierta manera de crear procesos. En sistemas muy simples
(diseñados para ejecutar una sola aplicación ejem el controlador en un horno de microondas),
es posible tener presentes todos los procesos que se vayan a requerir cuando el sistema inicie.
No obstante, en los sistemas de propósito general se necesita cierta forma de crear y terminar
procesos según sea necesario durante la operación.
Un proceso puede crear otro o varios procesos nuevos mientras se ejecuta, para ello se utiliza
una llamada al sistema específica para la creación de procesos. El proceso creador se
denomina proceso padre y los nuevos procesos son los hijos de dicho proceso. Cada uno de
estos procesos nuevos puede a su vez crear otros procesos, dando lugar a un árbol de
procesos.
3. Una petición de usuario para crear un proceso: En los sistemas interactivos, los usuarios
pueden iniciar un programa escribiendo un comando o haciendo (doble) clic en un icono.
Cualquiera de las dos acciones inicia un proceso y ejecuta el programa seleccionado. En los
sistemas UNIX basados en comandos que ejecutan X, el nuevo proceso se hace cargo de la
ventana en la que se inició. En Microsoft Windows, cuando se inicia un proceso no tiene una
ventana, pero puede crear una (o más) y la mayoría lo hace. En ambos sistemas, los usuarios
pueden tener varias ventanas abiertas a la vez, cada una ejecutando algún proceso. Mediante
el ratón, el usuario puede seleccionar una ventana e interactuar con el proceso.
4. El inicio de un trabajo por lotes: La última situación en la que se crean los procesos se aplica
sólo a los sistemas de procesa-miento por lotes que se encuentran en las mainframes grandes.
Aquí los usuarios pueden enviar trabajos de procesamiento por lotes al sistema (posiblemente
en forma remota). Cuando el sistema operativo decide que tiene los recursos para ejecutar
otro trabajo, crea un proceso y ejecuta el siguiente trabajo de la cola de entrada.
Técnicamente, en todos estos casos, hay que hacer que un proceso existente ejecute una
llamada al sistema de creación de proceso. Ese proceso puede ser un proceso de usuario en
ejecución, un proceso del sistema invocado mediante el teclado o ratón, o un proceso del
administrador de procesamiento por lotes.
5. CAMBIO DE UN PROCESO
Las interrupciones hacen que el S.O obligue a la CPU a abandonar su tarea actual, para
ejecutar una rutina del kernel. Cuando se produce una interrupción el sistema tiene que
guardar el contexto actual del proceso que está ejecutando en la CPU, de modo que pueda
restaurar dicho contexto cuando su procesamiento concluya, suspendiendo el proceso y
reanudándolo otra vez.
La razón por la que se usan dos modos debe quedar clara. Es necesario proteger al sistema
operativo y a las estructuras de datos importantes, tales como los bloques de control de
procesos, de las inferencias de los programas de usuario. En el modo núcleo o privilegiado, el
software tiene control completo del procesador y de todas las instrucciones, registros y
memoria.
Surgen dos preguntas: ¿cómo conoce el procesador en qué modo va a ejecutar?, ¿cómo se
cambia de modo? Para la primera pregunta, hay un bit en la PSW( palabra de estado ), que
indica el modo de ejecución. El bit se cambia como respuesta a ciertos sucesos tales como una
llamada al sistema y, así, se cambia de modo.
7. RPROCESOS LIGEROS
Una clasificación según como los procesos comparten la memoria es:
Otra clasificación tiene que ver con quién tiene el control para transferir el procesador de un
proceso a otro: