Você está na página 1de 7

ndice

Concepto de proceso

Calendarizacin de procesos

Operaciones en procesos

Comunicacin entre procesos

Concepto de procesos
Un proceso es un programa en ejecucin. Un proceso simple tiene un hilo de
ejecucin, por el momento dejemos esta ltima definicin como un concepto,
luego se ver en ms detalle el concepto de hilo. Una vez definido que es un
proceso nos podramos preguntar cul es la diferencia entre un programa y un
proceso, y bsicamente la diferencia es que un proceso es una actividad de cierto
tipo que contiene un programa, entradas salidas y estados.
Los procesos pueden ser cooperantes o independientes, en el primer caso se
entiende que los procesos interactan entre s y pertenecen a una misma
aplicacin. En el caso de procesos independientes en general se debe a que no
interactan y un proceso no requiere informacin de otros o bien porque son
procesos que pertenecen a distintos usuarios.

Estados de los procesos

Un proceso puede estar en cualquiera de los siguientes tres estados: Listo, En


ejecucin y Bloqueado. Los procesos en el estado listo son los que pueden pasar
a estado de ejecucin si el planificador los selecciona. Los procesos en el estado
ejecucin son los que se estn ejecutando en el procesador en ese momento
dado. Los procesos que se encuentran en estado bloqueado estn esperando la
respuesta de algn otro proceso para poder continuar con su ejecucin. Por
ejemplo operacin de E/S.
La implementacin del modelo de procesos se logra debido a que el sistema
operativo almacena en una tabla denominada tabla de control de procesos
informacin relativa a cada proceso que se est ejecutando en el procesador.
Cada lnea de esta tabla representa a un proceso.

La informacin que se almacena es la siguiente:

1) Identificacin del proceso.


2) Identificacin del proceso padre.
3) Informacin sobre el usuario y grupo.
2

4) Estado del procesador.


5) Informacin de control de proceso
5.1) Informacin del planificador.
5.2) Segmentos de memoria asignados.
5.3) Recursos asignados.
Calendarizacin de procesos
La Calendarizacin es el proceso por el cual el sistema operativo selecciona que
proceso ejecutar. La seleccin del proceso se basa en alguno de los algoritmos de
planificacin por ejemplo:

Expulsin

Es la caracterstica por el cual el sistema operativo puede o no expulsar del estado


de ejecucin a un proceso dado. En este sentido entonces tenemos la
planificacin apropiativa en la cual el sistema operativo puede cortar en cualquier
momento la ejecucin de un proceso y la planificacin no apropiativa en la cual
una vez que el proceso est en ejecucin el sistema operativo no puede sacarlo
de ese estado.

Objetivos de la Calendarizacin

Equidad, todos los procesos deben poder ejecutarse


Eficacia, mantener ocupada la CPU un 100% del tiempo
Tiempo de respuesta, minimizar el tiempo de respuesta al usuario
Tiempo de regreso, minimizar el tiempo que deben esperar los usuarios por lotes
para obtener sus resultados
Rendimiento, maximizar el nmero de tareas procesadas por hora.

Algoritmos de Calendarizacin

Los algoritmos de Calendarizacin son los que definen que poltica se va a seguir
para que un proceso pase al estado de ejecucin.
Planificacin Round-Robin
En este tipo de planificacin cada proceso tiene asignado un quantum de tiempo
para ejecutarse y en el caso de que no pueda terminar la ejecucin en su quantum
el proceso pasa de nuevo a la cola de procesos para ser ejecutado por otro
quantum luego de recorrer la cola para asegurarse que todos los procesos reciban
ese quantum de procesamiento.
Planificacin por prioridad
En la planificacin round-robin todos los procesos son tratados con la misma
prioridad. Para el caso de este tipo de planificacin a cada proceso se le asigna
una prioridad y los mismos son ejecutados
Colas mltiples
Las colas mltiples estn basadas en una pila que sirve como ndice de una lista
de procesos que se tienen que ejecutar.
Primero el trabajo ms cort
Este tipo de algoritmo de planificacin se usa para trabajos en batch o de
procesamiento or lotes en los cuales se puede saber cual es el tiempo de duracin
de la ejecucin de cada proceso y entonces se puede seleccionar primero el
trabajo ms corto. El problema que se presenta con ste algoritmo es que los
grandes procesos podran sufrir de inanicin dado que cualquier proceso pequeo
se "cuela" sobre uno de mayor tamao y como resultado final se podra dar el
caso que el proceso grande nunca obtenga procesamiento.
Planificacin garantizada
En este modelo de planificacin se tiene en cuenta la cantidad de usuarios en el
sistema y se le asigna a cada uno el tiempo de ejecucin de 1/n (siendo n la
cantidad total de usuarios) de esa forma el planificador tiene que llevar cuenta del
4

tiempo de ejecucin de los procesos y balancear el tiempo que estn utilizando el


procesador para cumplir con la ecuacin previa.
Operaciones en procesos
Los sistemas operativos son responsables de la "gestin de procesos y memoria",
por lo que estn encargados de realizar una serie de actividades, tales como la
planificacin o itineracin de procesos, la operacin sobre procesos y la
comunicacin entre procesos. Para operar sobre un proceso, los sistemas
operativos actuales suministran ciertas funciones, que pueden ser ejecutadas ya
sea desde el mismo proceso o desde el intrprete de comandos, si es un usuario
el que solicita algn servicio de dicho sistema.
Entre las operaciones sobre procesos que con mayor frecuencia ofrecen los
sistemas operativos se encuentran la creacin, terminacin o destruccin,
suspensin y reanudacin de procesos. Actualmente, en la mayora de los S.O.,
los procesos pueden ejecutarse de forma concurrente, pudindose crear y eliminar
de forma dinmica, por lo que es necesario que estos sistemas brinden un
mecanismo para la creacin y terminacin de procesos. Durante la ejecucin de
un proceso, ste puede crear otros procesos. Si lo hace, el proceso creador es
llamado proceso padre, y el creado, proceso hijo. Estos ltimos pueden, a su vez,
crear otros procesos, construyendo as un rbol de procesos.
Hay 4 eventos comunes que conducen a la creacin de procesos:
En un ambiente batch, un proceso es creado en respuesta al sometimiento a
ejecucin de un trabajo (job). El S.O. tomar el prximo trabajo a ser ejecutado y
crear el respectivo proceso.
En un ambiente interactivo, un proceso es creado cuando un nuevo usuario entra
al sistema (log on). El S.O crea un proceso shell que espera las rdenes del
usuario.
El S.O. puede crear un proceso para que realice una funcin en respuesta a una
peticin de un programa usuario, sin que el usuario tenga que esperar. Por
ejemplo, si un usuario quiere que se imprima un archivo, el S.O. puede crear un
5

proceso que maneje esta impresin, mientras que el proceso que realiz la
peticin puede continuar independientemente del tiempo requerido para completar
la impresin.
Para procesos de modularidad o para explotar paralelismo, donde un programa
usuario ya existente puede crear un conjunto de procesos hijos.
Comunicacin entre procesos

Condiciones de competencia

Las condiciones de competencia se dan cuando dos o ms procesos intentan


acceder a un mismo recurso.

Secciones crticas

Para solucionar las condiciones de competencia se implement un modelo para


prohibir que dos procesos accedan al mismo recurso. El modelo en cuestin se
denomina exclusin mutua.

Exclusin mutua con espera ocupada

Las soluciones con espera ocupada funcionan de la siguiente manera, cuando un


proceso intenta ingresar a su regin crtica, verifica si est permitida la entrada. Si
no, el proceso se queda esperando hasta obtener el permiso.

Desactivacin de interrupciones

El mtodo ms simple para evitar las condiciones de competencia es hacer que


cada proceso desactive todas sus interrupciones antes de entrar a su seccin
crtica y las active una vez que sali de la misma. Este modelo como se puede
observar, ste modelo tiene una gran problema y es que si se produce una falla
mientras que el proceso est en la regin crtica no se puede salir de la misma y el
sistema operativo no recuperara el control.

Variables cerradura

En ste caso se genera una variable la cual puede tener dos valores o bien 0 (no
hay ningn proceso en su seccin crtica) o bien 1 (indicando que la seccin crtica
est ocupada) entonces cada proceso antes de ingresar a la seccin crtica
verifica el estado de la variable de cerradura y en caso de que la misma este en 0,
le cambia el valor e ingresa a la misma y en caso de que la misma sea 1 el
proceso se queda verificando el estado de la misma hasta que el mismo sea 0.
El problema aqu se presenta si dos procesos verifican al mismo tiempo que la
variable cerradura esta en 0 e ingresan a la regin crtica.

Alternancia estricta

El algoritmo de alternancia estricta no bloquea el ingreso a la regin crtica cuando


otro proceso se est ejecutando. El problema de sta solucin es que cuando un
proceso no est en la seccin crtica igualmente tiene bloqueado el acceso a la
misma y por lo tanto no permite que otro proceso que requiera ingresar a la misma
logre hacerlo.

Instruccin TSL

Esta solucin requiere ayuda del hardware y es debido a que en general las
computadoras diseadas para tener ms de un procesador tienen una instruccin
TEST AND SET LOCK

Você também pode gostar