Proceso

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 4

Introduccin El siguiente documento describe las caractersticas que presentan los sistemas operativos para la administracin de procesos en los

sistemas mono y multiprocesadores. Se comienza con una introduccin sobre la funcionalidad de un proceso para luego entrar en los detalles de implementacin tpicos de los sistemas operativos. An no termine la totalidad del documento pero lo quiero publicar en Internet para obtener feedback por parte de los lectores interesados en el mismo. Procesos Qu es un proceso? 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. Implantacin de los procesos 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 esta 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. 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. 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 esta 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 salio 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 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 esta ejecutando. El problema de sta solucin es que cuando un proceso no esta 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 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 ms procesos interactuando a travs de un buffer comn habiendo procesos que ponen informacin 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 mtodos de comunicacin/sincronizacin 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. Planificacin de procesos La planificacin 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 que se describen ms abajo. 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 esta en ejecucin el sistema operativo no puede sacarlo de ese estado. Objetivos de la planificacin Los objetivos de la planificacin de proceso 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 nmero de tareas procesadas por hora.

Algoritmos de planificacin Los algoritmos de planificacin 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 corto 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 tiempo de ejecucin de los procesos y balancear el tiempo que estn utilizando el procesador para cumplir con la ecuacin previa. Procesos ligeros Los procesos ligeros son programas en ejecucin son bsicamente procesos pero a diferencia de stos ltimos que solo tienen un hilo de ejecucin los primeros tienen el hilo principal ms hilos secundarios o hijos, en ste caso todos los procesos hijos comparten la informacin del hilo principal pero adems puede cada hilo tener su informacin privada. Dentro de la informacin propia tenemos:

Contador de programa Pila Registros. Estado del proceso ligero. Dentro de la informacin compartida tenemos: Variables globales. Archivos abiertos Seales Semforos. Contabilidad.

Seales Las seales son el mecanismo de comunicacin que se establece entre los procesos. Para comparar se puede decir que las seales son a los procesos lo que las interrupciones son al procesador. Cuando un proceso recibe una seal detiene su ejecucin, bifurca a la rutina del tratamiento de la seal que esta en el mismo proceso y luego una vez finalizado sigue la ejecucin en el punto que haba bifurcado anteriormente. Las seales se pueden originar en un proceso o bien en el sistema operativo. Las seales se pueden enviar entre procesos, solo los que tengan el mismo uid, o bien el sistema operativo puede enviarle una seal a un proceso, por ejemplo excepciones de ejecucin.

También podría gustarte