Sie sind auf Seite 1von 3

UNIDAD 2.

- Administracin de Procesos y Del Procesador



2.1 Concepto de Proceso

Un proceso no es mas que un programa en ejecucin, e incluye los valores actuales del contador de programa, los registros y las
variables. Conceptualmente cada unos de estos procesos tiene su propia CPU virtual. Desde luego, en la realidad la verdadera CPU
conmuta de un proceso a otro.
Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado por:
Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.
Su estado de ejecucin 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.

2.2 Estado y Transiciones de los procesos

El principal trabajo del procesador es ejecutar las instrucciones de mquina 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 multiprogramacin, el procesador
intercalar la ejecucin de instrucciones de varios programas que se encuentran en memoria. El sistema operativo es el responsable
de determinar las pautas de intercalado y asignacin de recursos a cada proceso.

El uso adecuado de la concurrencia entre procesos exige la capacidad de definir secciones crticas y hacer cumplir la exclusin
mutua. Cualquier servicio o capacidad que d soporte para la exclusin mutua debe cumplir con un protocolo de sincronizacin, que
tiene los requisitos siguientes:

1. Debe cumplirse la exclusin mutua: slo un proceso de entre todos los que poseen secciones crticas por el mismo recurso u
objeto compartido, debe tener permiso para entrar en ella en un instante dado.

2. Un proceso que se interrumpe en una seccin no crtica debe hacerlo sin estorbar a los otros. Es decir que si se cuelga un proceso
que est usando un recurso, los dems procesos que esperan deben poder acceder al recurso de todas formas (el S.O. mata al
proceso que se colg y as libera al recurso).

3. No se puede demorar indefinidamente la entrada de un proceso a un cierto recurso; no debe permitirse el interbloqueo y la
inanicin. Todos los procesos deben poder acceder al recurso que solicitan, sino se van a morir sin usarlo y no es justo.

4. Cuando ningn proceso est en su seccin crtica, cualquier proceso que solicite entrar en la suya debe poder hacerlo sin
dilatacin. Es decir, si nadie est usando un cierto recurso, entonces se le otorga al primer proceso que lo solicite.

5. No se pueden hacer suposiciones sobre la velocidad relativa de los procesos o su nmero (cantidad de procesadores). Nunca se
puede saber a priori si a un proceso le falta mucho o poco para terminar.

6. Un proceso permanece en su seccin crtica slo por un tiempo finito. Esto sirve para evitar que un proceso se quede con un
recurso por mucho tiempo y para que un recurso no se quede trabado sin sentido.

2.3 Procesos Ligeros (Hilos y Hebras)

Un proceso ligero, o thread, es un programa en ejecucin (flujo de ejecucin) que comparte la imagen de memoria y otras
informaciones con otros procesos ligeros. Un proceso puede contener un solo flujo de ejecucin, como ocurre en los procesos
clsicos, o mas de un flujo de ejecucin (procesos ligeros).

Cada proceso ligero tiene informaciones que le son propias y que no comparte con otros procesos ligeros. Las informaciones propias
se refieren fundamentalmente al contexto de ejecucin, pudindose destacar las siguientes:

Contador de programa.
Pila.
Registros.
Estado del proceso ligero (ejecutando, listo o bloqueado).

Todos los procesos ligeros de un mismo proceso comparten la informacin del mismo. En concreto, comparten:

Espacio de memoria.
Variables globales.
Archivos abiertos.
Procesos hijos.
Temporizadores.
Seales y semforos.
Contabilidad.

2.4 Concurrencia y Secuenciabilidad

Los procesos son concurrentes si existen simultneamente. Los procesos concurrentes pueden funcionar en forma totalmente
independiente unos de otros, o pueden ser asncronos, lo cual significa que en ocasiones requieren cierta sincronizacin o
cooperacin.

Multiprogramacin con un nico procesador.

En este modelo todos los procesos concurrentes ejecutan sobre un nico procesador. El sistema operativo se encarga de ir
repartiendo el tiempo del procesador entre los distintos procesos, intercalando la ejecucin de los mismos para dar asi una
apariencia de ejecucin simultanea.

Multiprocesador.

Un multiprocesador es una maquina formada por un conjunto de procesadores que comparten memoria principal. En este tipo de
arquitecturas, los procesos concurrentes no solo pueden intercalar su ejecucin sino tambin superponerla. En este caso si existe
una verdadera ejecucin simultanea de procesos, al coincidir las fases de procesamiento de distintos procesos. En un instante dado
se pueden ejecutar de forma simultanea tantos procesos como procesadores haya.

2.5 Niveles, Objetivos y Criterios de planificacin

Concepto de Planificacin

La planificacin hace referencia a un conjunto de polticas y mecanismos incorporados al sistema operativo que gobiernan el orden
en que se ejecutan los trabajos que deben ser cumplimentados por el sistema informtico.

Objetivo de la Planificacin

El objetivo principal de la planificacin es optimizar el rendimiento del sistema y proporcionar un buen servicio a todos los procesos
que se encuentren en el. En general, la planificacin trata de cubrir los siguientes objetivos:

Justicia.
Mxima capacidad de ejecucin.
Producibilidad.
Minimizacin de la sobrecarga.
Equilibrio en el uso de recursos.
Seguridad de las prioridades.

Criterios de planificacin
Para realizar los objetivos de la planificacin, un mecanismo de planificacin debe considerar lo siguiente:

Si un proceso es por lote o interactivo
La prioridad de un proceso
Cuanto tiempo de ejecucin real ha recibido el proceso

Cuanto tiempo adicional va a necesitar el proceso para terminar?: los tiempos promedio de espera pueden reducirse priorizando
los procesos que requieren de un tiempo de ejecucin mnimo para su terminacin, pero pocas veces es posible conocer la cantidad
de tiempo adicional que cada proceso necesita para terminar.

2.6 Tcnicas de administracin del planificador.

FIFO
Tal vez la disciplina mas simple de planificacin sea la de FIFO (First IN First OUT). Los procesos se despachan de acuerdo con su
tiempo de llegada a la cola de procesos listos. Cuando un proceso tiene la CPU, se ejecuta hasta terminar. Es junto en el sentido
formal, pero algo injusta en cuanto a que los trabajos largos hacen esperar a los cortos y los trabajos sin importancia hacen esperar a
los importantes. FIFO ofrece variaciones relativamente pequeas en los tiempos de respuesta y por lo tanto es mas predecible que
los otros esquemas. No es til en la planificacin para los usuarios interactivos porque no puede garantizar buenos tiempos de
respuesta.

SJF
Otro mtodo de planificacin de la CPU es el algoritmo de planificacin con seleccin del trabajo mas corto (SJF, shortest job-first).
Este algoritmo asocia con cada proceso la duracin de la siguiente rfaga de CPU del proceso. Cuando la CPU esta disponible, se
asigna al proceso que tiene la siguiente rfaga de CPU mas corta. Si las siguientes rfagas de CPU de dos procesos son iguales, se usa
la planificacin FCFS para romper el empate. Observe que un termino mas apropiado para este mtodo de planificacin seria el de
algoritmo de la siguiente rfaga de CPU mas corta, ya que la planificacin depende de la duracin de la siguiente rfaga de CPU de
un proceso, en lugar de depender de su duracin total. Usamos el termino SJF porque casi todo el mundo y gran parte de los libros
de texto emplean este termino para referirse a este tipo de planificacin.


RR (Round Robin)
Es un sistema apropiativo. Cada proceso recibe una fraccin de tiempo de procesamiento o cuanto para su ejecucin, de manera
que cuando se esta ejecutando y excede el tiempo que se le ha concedido, se genera una interrupcin de reloj, mediante la cual la
ejecucin del proceso se detiene y se coloca al proceso al final de la cola de procesos listos para su posterior ejecucin,
seleccionndose a continuacin un nuevo proceso de la cola para su ejecucin. Si un proceso finaliza su ejecucin antes de que
termine el tiempo que se le ha asignado, este cede el control, seleccionndose un nuevo proceso de la cola para su ejecucin.

Queues Multinivel (Colas Multinivel)
Otra clase de algoritmos de planificacin es la que se ha desarrollado para aquellas situaciones en las que los procesos pueden
clasificarse fcilmente en grupos diferentes. Por ejemplo, una clasificacin habitual consiste en diferenciar entre procesos de primer
plano (interactivos) y procesos de segundo plano (por lotes). Estos dos tipos de procesos tienen requisitos diferentes de tiempo de
respuesta y, por tanto, pueden tener distintas necesidades de planificacin. Adems, los procesos de primer plano pueden tener
prioridad (definida externamente) sobre los procesos de segundo plano.

Multi-Level Feedback Queues (Colas Multinivel Realimentadas)
El algoritmo de planificacin mediante colas multinivel realimentadas permite mover un proceso de una cola a otra. La idea es
separar los procesos en funcin de las caractersticas de sus rfagas de CPU. Si un proceso utiliza demasiado tiempo de CPU, se pasa
a una a de prioridad mas baja.
La definicin del planificador mediante colas multinivel realimentadas le convierte en el algoritmo de planificacin de la CPU mas
general. Puede configurarse este algoritmo para adaptarlo a cualquier sistema especifico que se quiera disear. Lamentablemente,
tambin es el algoritmo mas complejo, puesto que definir el mejor planificador requiere disponer de algn mecanismo para
seleccionar los valores de todos los parmetros.

Das könnte Ihnen auch gefallen