UNIVERSIDAD VALLE DEL GRIJALVA
TEMA: ADMINISTRACIÓN DE PROCESOS
MATERIA: SISTEMAS OPERATIVOS
ING. ALEJANDRO RUIZ MELGAR
ALUMNOS:
ISAAC RESINOS LOPEZ
JONATHAN PERAZ VELA
ING. SISTEMAS COMPUTACIONALES
TUXTLA GUTIERREZ CHIAPAS MEXICO
26 DE NOVIEMBRE DEL 2012
OBJETIVO GENERAL:
Se dice que un proceso es un programa
o más bien es una actividad de cierto tipo que tiene un programa entrada y
salida. Los procesos pueden ser cooperantes o independientes, en el primer caso
se entiende que los procesos interactúan entre sí y pertenecen a una misma
aplicación. Pues tiene algunos tipos de estados que pueden ser Listo,
En ejecución y Bloqueado. El objetivo de los procesos son: 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 número de tareas
procesadas por hora. Los procesos ligeros son programas en ejecución son
básicamente procesos pero a diferencia de éstos últimos que solo tienen un hilo
de ejecución los primeros tienen el hilo principal más hilos secundarios o
hijos.
OBJETIVO ESPESIFICO:
Es que los procesos están bien
administrados para poderse ejecutar. Los procesos pueden ser cooperantes o
independientes, en el primer caso se entiende que los procesos interactúan
entre sí y pertenecen a una misma aplicación. Los procesos en el estado
ejecución son los que se están ejecutando en el procesador en ese momento dado.
Los procesos que se encuentran en estado bloqueado están esperando la respuesta
de algún otro proceso para poder continuar con su ejecución. Por ejemplo
operación de E/S.
QUE ES UN PROCESO:
Es un programa en ejecución. Un proceso
simple tiene un hilo de ejecución, por el momento dejemos esta última
definición como un concepto, luego se verá en más detalle el concepto de hilo.
Una vez definido que es un proceso nos podríamos preguntar cuál es la
diferencia entre un programa y un proceso, y básicamente 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 interactúan
entre sí y pertenecen a una misma aplicación. En el caso de procesos
independientes en general se debe a que no interactúan y un proceso no requiere
información de otros o bien porque son procesos que pertenecen a distintos
usuarios.
ESTADO DE LOS PROCESOS:
Un proceso puede estar en cualquiera
de los siguientes tres estados: Listo, En ejecución y Bloqueado.
Los procesos en el estado listo son
los que pueden pasar a estado de ejecución si el planificador los selecciona.
Los procesos en el estado ejecución son los que se están ejecutando en el
procesador en ese momento dado. Los procesos que se encuentran en estado
bloqueado están esperando la respuesta de algún otro proceso para poder
continuar con su ejecución. Por ejemplo operación de E/S.
IMPLEMENTACION DE PROCESOS:
La implementación del modelo de
procesos se logra debido a que el sistema operativo almacena en una tabla
denominada tabla de control de procesos información relativa a cada proceso que
se esta ejecutando en el procesador. Cada línea de esta tabla representa a un
proceso.
LA INFORMACIÓN QUE SE ALMACENA ES LA
SIGUIENTE:
*Identificación del proceso.
* Identificación del proceso padre.
* Información sobre el usuario y
grupo.
*Estado del procesador.
* Información de control de proceso
* Información del planificador.
* Segmentos de memoria asignados.
*Recursos asignados
CONDICIONES DE COMPETENCIA:
Se dan cuando dos o más procesos
intentan acceder a un mismo recurso.
SECCIONES CRÍTICAS
Para solucionar las condiciones de
competencia se implementó un modelo para prohibir que dos procesos accedan al
mismo recurso. El modelo en cuestión se denomina exclusión mutua.
EXCLUSIÓN MUTUA CON ESPERA
OCUPADA
Las soluciones con espera ocupada
funcionan de la siguiente manera, cuando un proceso intenta ingresar a su
región crítica, verifica si esta permitida la entrada. Si no, el proceso se
queda esperando hasta obtener el permiso.
DESACTIVACIÓN DE INTERRUPCIONES
El método más simple para evitar las
condiciones de competencia es hacer que cada proceso desactive todas sus
interrupciones antes de entrar a su sección crítica 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 esta en
la región crítica no se puede salir de la misma y el sistema operativo no
recuperaría el control.
VARIABLES CERRADURA
En éste caso se genera una variable
la cual puede tener dos valores o bien 0 (no hay ningún proceso en su sección
crítica) o bien 1 (indicando que la sección crítica está ocupada) entonces cada
proceso antes de ingresar a la sección crítica 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 región crítica.
ALTERNANCIA ESTRICTA
El algoritmo de alternancia estricta
no bloquea el ingreso a la región crítica cuando otro proceso se esta
ejecutando. El problema de ésta solución es que cuando un proceso no esta en la
sección crítica 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.
INSTRUCCIÓN TSL
Esta solución requiere ayuda del
hardware y es debido a que en general las computadoras diseñadas para tener más
de un procesador tienen una instrucción TEST AND SET LOCK
DORMIR Y DESPERTAR
El modelo de espera acotada tienen el
inconveniente que se desperdicia tiempo de procesador.
EL PROBLEMA DEL PRODUCTOR Y EL
CONSUMIDOR
El problema del productor y el
consumidor describe el echo de que cuando hay dos o más procesos interactuando
a través de un buffer común habiendo procesos que ponen información o datos y
otros que los sacan se pueden llegar a dar condiciones en las cuales los
procesos que ingresan los datos no puedan hacerlo debido a que el buffer ya se
encuentra lleno y para el caso de los que sacan los datos del buffer intenten
sacar datos cuando ya no hay nada que sacar. Para evitar estas condiciones se
desarrollaron métodos de comunicación/sincronización entre procesos en los
cuales se impide que esto suceda haciendo que el proceso productor
"duerma" si el buffer está lleno y una vez que exista espacio el
proceso "consumidor" despierte al productor para que siga generando o
viceversa.
PLANIFICACIÓN DE PROCESOS
La planificación es el proceso por el
cual el sistema operativo selecciona que proceso ejecutar. La selección del
proceso se basa en alguno de los algoritmos de planificación que se describen
más abajo.
EXPULSIÓN
Es la característica por el cual el
sistema operativo puede o no expulsar del estado de ejecución a un proceso
dado. En este sentido entonces tenemos la planificación apreciativa en la cual
el sistema operativo puede cortar en cualquier momento la ejecución de un
proceso y la planificación no apreciativa en la cual una vez que el proceso
esta en ejecución el sistema operativo no puede sacarlo de ese estado.
OBJETIVOS DE LA PLANIFICACIÓN
*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 número de
tareas procesadas por hora.
PROCESOS LIGEROS
Los procesos ligeros son programas en
ejecución son básicamente procesos pero a diferencia de éstos últimos que solo
tienen un hilo de ejecución los primeros tienen el hilo principal más hilos
secundarios o hijos, en éste caso todos los procesos hijos comparten la
información del hilo principal pero además puede cada hilo tener su información
privada.
DENTRO DE LA INFORMACIÓN PROPIA
TENEMOS:
*Contador de programa
*Pila
*Registros.
*Estado del proceso ligero.
*Dentro de la información compartida
tenemos:
*Variables globales.
*Archivos abiertos
*Señales
*Semáforos.
*Contabilidad.
SEÑALES
Las señales son el mecanismo de
comunicación que se establece entre los procesos. Para comparar se puede decir
que las señales son a los procesos lo que las interrupciones son al procesador.
Cuando un proceso recibe una señal detiene su ejecución, bifurca a la rutina
del tratamiento de la señal que esta en el mismo proceso y luego una vez
finalizado sigue la ejecución en el punto que había bifurcado anteriormente.
Las señales se pueden originar en un
proceso o bien en el sistema operativo. Las señales se pueden enviar entre
procesos, solo los que tengan el mismo uid, o bien el sistema operativo puede
enviarle una señal a un proceso, por ejemplo excepciones de ejecución.
CONCLUSIÓN
Pues que los procesos son muy
importantes para la PC como para el usuario. Como se dice que un proceso es una
sucesión de tareas, que tienen como origen una entrada y como fin una salida.
También es un programa en ejecución, y un programa es un conjunto de
instrucciones que una vez ejecutadas realizan una o varias tareas en una PC.
Las señales son parte de un proceso por que es el mecanismo que hay para la
comunicación entre ellos.
No hay comentarios:
Publicar un comentario