Vous êtes sur la page 1sur 12

INSTITUTO TECNOLOGICO SUPERRIOR DE LA SIERRA NEGRA DE AJALPAN

INGENIERIA EN SISTEMAS COMPUTACIONALES

SISTEMAS OPERATIVOS

UNIDAD 2

ADMINISTRACION DE PROCESOS Y EL PROCESADOR

CATEDRATICO: ING. MARCO ANTONIO ISIDRO MATIN

ELABORADO POR: RIGOBERTO PEREZ GARCIA

CONCEPTOS DE PROCESOS Todo programa para poder ser ejecutado necesita de usuario Se puede definir como un programa de gestin por el sistema operativo Por cada proceso el sistema operativo mantiene una serie de estructura de informacin que permite identificar las caractersticas de este, de igual forma como los recursos que tiene asignados. El sistema operativo mantiene una tabla de todos los BCP(bloques de control de procesos) La informacin que compone un proceso es la siguiente Contiene los registros del modelo de programacin. Contenido de BCP.

Contenido de segmento de memoria en los que residen el cdigo y los datos del proceso. A esta informacin se le denomina imagen o core image. ESTADO Y TRANSICIN DE PROCESO El proceso es la unidad de procesamiento gestionada por el sistema operativo. El proceso tiene asociado una serie de elemento de informacin. Estos elementos se clasifican en tres grupos: estado de procesador, imagen de la memoria y tablas del sistema operativo. Estado del procesador El procesador esta hecho por el contenido de todos sus registros, que se enumeran entre si 1) Registros generales 2) contador de programa 3) puntero de pila 4) registro o registro de estado 5) registros especiales. Como puede ser el RIED (registro identificador de direccionamiento).

El estado de procesador de un proceso esta en los registros del procesador, cuando el proceso esta en ejecucin Cuando el proceso esta ejecutando el estado del procesador vara por el flujo de instrucciones. Hay que tener en cuenta de los registros de la maquina se utilizan para acceder a la informacin de la memoria debido a que es mucho mas lenta. Por lo tanto no tiene sentido que en cada modificacin de un registro se actualice su valor en el BCP debido a que ya se encuentra en la memoria. Pero si se detiene la ejecucin de un proceso, es muy importante que el sistema operativo actualice la copia del estado del procesador en su BCP. Si hay una interrupcin lo primero que har el sistema operativo es salvar el estado del procesador en el BCP del proceso interrumpido.

PROCESOS LIGEROS (HILOS O BEBRAS) Un proceso ligero o thead es un programa en ejecucin (flujo de ejecucin) que comparten la imagen de la memoria y otras informaciones con otros procesos ligeros. Un proceso se puede definir en programacin como una funcin cuya ejecucin se puede lanzar en paralelos con otras. Y el hilo de ejecucin primario corresponde a la funcin Main. Cada proceso tiene su propia informacin es por eso que no pueden ser compartidos con otros procesos ligeros. Las informaciones propias se refieren principalmente al contexto de ejecucin, pudiendo destacar los siguientes:

1. 2. 3. 4.

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

Los procesos que tienen un mismo proceso comparten la informacin. Se destacan: 1) 2) 3) 4) 5) 6) 7) Espacio de memoria Variables globales Archivos abiertos Procesos hilos Temporizadores Seales y semforos Contabilidad

Es importante mencionar que todos los procesos ligeros de un mismo proceso comparten el mismo espacio de direcciones de memoria que incluye el cdigo, los datos y las pilas de los diferentes procesos. CONCURRENCIA Y SECUENCIALIDAD Los procesos son concurrentes si existen simultneamente. Estos pueden funcionar de forma totalmente independiente unos de otros o pueden ser asncronos, lo cual quiere decir que en cierto momento requieran sincronizacin o cooperacin. Se dice que hay concurrencia de procesos cuando dos o mas procesos llegan al mismo tiempo a ejecutarse, y para que sean concurrentes es necesario que haya alguna relacin entre ellos como puede ser: la cooperacin para un determinado trabajo, uso de la informacin o recurso compartido. De igual forma en un sistema operativo de varios procesos se puede presentar la concurrencia siempre y cuando las actividades acten entre si. Existen tres formas de computadoras en los que se pueden ejecutar procesos concurrentes: 1) Multiprogramacin con un nico procesador En este todos los procesos son ejecutados por un solo procesador. Sistema operativo se encarga de ir repartiendo el tiempo del procesador entre los distintos procesos.

2) Multiprocesador. Maquina formada por varios procesadores que comparten memoria principal. En este tipo de modelo los procesos no pueden ser ejecutados de formas intercaladas. En este caso si existe una verdadera ejecucin simultanea de procesos. 3) Multicomputadora Es una maquina de memoria distribuida, lo contrario con el multiprocesador que es una memoria compartida. Esta formada por una serie de computadoras completas con su memoria principal. Cada uno de estos procesadores completos se les llama nodo. Los nodos se encuentran conectados y se comunican entre si a travs de una red interconexin. Tambin es posible la ejecucin simultnea de los procesos sobre los distintos procesadores. En general para que exista una concurrencia el nmero de procesos ser mayor que el procesador. Ser real cuando hay un proceso para un procesador. Exclusin mutua de seccin critica El mtodo ms sencillo de los procesos de un programa concurrente es el uso de unas variables de datos. Esta forma tan sencilla de comunicacin no puede ocasionar errores en el programa ya que el acceso concurrente puede hacer que la accin de un proceso interfiera en las acciones de otro de una forma no adecuada. Para evitar estos tipos de errores se pueden identificar aquellas regiones de los procesos que acceden a variables compartidas y dotarlas de la posibilidad de ejecucin como si fueran una nica instruccin. Se le llama seccin critica a a aquellas parte de los procesos concurrentes que no pueden ejecutarse de forma concurrente o tambin, que desde otro proceso se ven como si fueran una nica instruccin. Las secciones crticas se pueden agrupar en clases, siendo simultneamente exclusivas las secciones criticas de cada clase. Para conseguir dicha exclusin se tienen que implementar protocolos de software que impidan el acceso a una seccin crtica mientras esta siendo utilizado por un proceso.

Requisitos para la exclusin mutua 1. Solo podr entrar un solo proceso de todos los que poseen secciones crticas y debe tener permiso para acceder en un momento dado. 2. Un proceso que se interrumpe en una seccin no crtica debe hacerlo sin interferir con los otros procesos. 3. Un proceso no puede solicitar acceso a una seccin crtica para despus ser demorado indefinidamente, no puede permitir el interbloqueo. 4. Si ningn proceso esta en su seccin crtica, cualquier proceso que solicite entrar en la suya tendr que hacerlo sin demorar. 5. No se debe suponer sobre la velocidad relativa de los procesos o el nmero de los procesadores. 6. Un proceso permanecer en una seccin crtica por un tiempo finito. La manera de satisfacer los requisitos de La excusin mutua es dejar la responsabilidad a los procesos que deseen ejecutarse concurrentemente. Pero si son programas del sistema los procesos deben coordinarse unos con otros para cumplir la exclusin mutua, sin la ayuda del lenguaje de programacin o del sistema operativo. A estos mtodos se les conoce como solucin de software. Sincronizacin de procesos Para lograr la comunicacin de los procesos estos se deben sincronizar, de no ser as puede ocurrir un problema no deseado. La sincronizacin es la transmisin y recepcin de seales que tiene como objetivo llevar acabo el trabajo de un grupo de procesos cooperativos. La sincronizacin entre procesos es necesaria para prevenir y corregir errores de sincronizacin debido al acceso concurrente a recursos compartido, tales como estructura de datos o dispositivos de E/S, de procesos contendientes, tambin permite el intercambio de seales de tiempo entre procesos cooperantes. Sin la sincronizacin adecuada entre procesos, la actualizacin de variables compartidas puede inducir a errores de tiempo relacionados que son por lo general difciles de depurar. Para que los procesos puedan sincronizarse es necesario disponer del servicio que permitan bloquear o suspender bajo de determinadas circunstancia la ejecucin de un proceso.

Los principales mecanismos de sincronizacin que ofrecen los sistemas operativos son los siguientes: 1) 2) 3) 4) 5) Seales Tuberas Semforos Mutex y variables condicionales Pasos de mensajes.

Interbloqueo (deadlock) El interbloqueo se puede decir que es un conjunto de procesos se estancan si cada proceso del conjunto esta esperando un evento que solo otro proceso del conjunto puede provocar. Abrazo mortal Un Conjunto de procesos esta en un abrazo mortal cuando los procesos en ese conjunto estn esperando un evento que solo puede ser causado por otro proceso en el conjunto. Un abrazo mortal es una condicin no deseable. En un abrazo mortal los procesos nunca terminan de ejecutarse y los recursos del sistema estn amarrados evitando que otros procesos puedan empezar a ejecutarse. Existen 4 condiciones que deben cumplirse para que haya estancamiento, segn coffman. 1) 2) 3) 4) Exclusin mutua: Retener y esperar: No existe el derecho de desasignar: Espera circular:

Mtodos para manejar abrazos mortales Existen dos mtodos para manejar el problema de los abrazos mortales El de prevencin y el de evasin.

NIVELES, OBJETIVOS, Y CRITERIOS DE PLANIFICACION En pocas pasadas de los sistemas de procesamiento por lotes, el algoritmo de planificacin era muy sencillo: solo haba que ejecutar el siguiente trabajo en las cintas. Cuando ms de un proceso es ejecutable, el sistema operativo debe decidir cual de ellos deber ejecutarse primero. Hay que tener una planificacin de los procesos que quieran ejecutarse en el sistema. La planificacin es una funcin primordial del sistema operativo, la mayora de los recursos se planifican antes de ser utilizados.

Concepto de la planificacin La planificacin hace la 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 complementados 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. Trata de cubrir los siguientes objetivos: 1. Justicia: debe ser lo mas justa posible con todos los procesos. 2. Mxima capacidad de ejecucin: dar servicio eficiente para que todos los trabajos se realicen lo mas rpido posible. 3. Mximo numero de usuario interactivo: en los sistemas de tiempo compartido se tratara de que puedan estar trabajando el mayor numero de usuarios al mismo tiempo. 4. Predecibilidad: la planificacin debe realizarse de tal forma que en todo momento pueda saberse como ser ejecutado 5. Minimizacin de la sobrecarga: la computadora debe de tener poca sobrecarga ya que afecta en el rendimiento final del sistema: a menor sobrecarga mayor velocidad de proceso. 6. Equilibrio en el uso de recursos 7. Seguridad de las prioridades: si un proceso tiene mayor prioridad que otro, este debe ejecutar de mas rpido. 8. Evitar la postergacin indefinida: esto se logra aumentando la prioridad de un proceso mientras espere por un recurso.

Criterios de planificacin Para poder llevar a cabo los objetivos de planificacin, un mecanismo debe considerar lo siguiente: Limitacin de un proceso a las operaciones de entrada/ salida. Limitacin de un proceso a la CPU: Prioridad de un proceso. Tiempo de ejecucin real que ha recibido el proceso Tiempo adicional real que necesita el proceso para terminar.

TECNICAS DE ADMINISTRACION DE PLANIFICACION Las disciplinas de planificacin pueden ser: 1) Expropiativas 2) No expropiativas Se denominan planificacin al software del sistema operativo encargado de asignar los recursos de un sistema entre los procesos que los solicitan. El planificador debe decidir cual de los procesos que compiten por la posesin de un determinado recursos lo recibir. Los algoritmos tienen distintas prioridades segn los criterios en los que se basan para su ejecucin. Antes de realizar la eleccin de un algoritmo se debe considerar las propiedades de estos frente al criterio de diseo elegido. Algunos de estos son: a) Eficacia: se expresa como un porcentaje del tiempo medio de utilizacin. b) Rendimiento: es la medida de procesos completados por unidad de tiempo. c) Tiempo de retorno o regreso: es el intervalo de tiempo que transcurre desde que un proceso se crea o presenta hasta que se completada por el sistema d) Tiempo de espera: es el tiempo que el proceso espera hasta que se le concede el procesador. e) Tiempo de respuesta a un evento: se denomina as el intervalo de tiempo que transcurre desde que se seala un evento hasta que se ejecuta la primera instruccin de la rutina de servicio de dicho evento.

FIFO Algoritmo de planificacin de FIFO El esquema de FIFO rara vez se usa como esquema principal en los sistemas actuales, pero a menudo esta incorporado en otros sistemas. Las caractersticas principales de este algoritmo son las siguientes: No es apropiativa Es justa, aunque los procesos largos hacen esperar mucho a los cortos. Es una poltica predecible El tiempo promedio de servicio es muy variable ya que esta en funcin del nmero de procesos y la duracin promedio que tenga. SJF Las rfagas se ejecutan sin interrupcin por lo tanto es til para entorno Bach. Su caracterstica es que cuando se activa el planificador, este elige la rfaga de menor duracin. La ventaja que tiene este algoritmo sobre el FIFO es que minimiza el tiempo de finalizacin promedio.

Este algoritmo asocia con cada proceso de la duracin de la siguiente rfaga de CPU del proceso. El algoritmo de planificacin SJF es probablemente optimo, en el sentido de que proporciona el tiempo mnimo de espera para un conjunto de proceso dado. Aunque el algoritmo SJF es optimo, no se puede implementar en el nivel de la planificacin de la CPU a corto plazo, ya que no hay forma de conocer la duracin de la siguiente rfaga de CPU. Planificacin de asignacin en rueda (RR-Round Robin) Es un sistema apropiado. Cada proceso recibe una fraccin de tiempo de procesamiento o quanto para su ejecucin. Con el round robin, cuando un proceso inicia una operacin de E/S, este es penalizado respecto de los procesos que no realizan E/S.

Caractersticas de RR 1) Baja sobrecarga: si el cambio de un proceso y otro es eficiente y los procesos siempre estn en la memoria principal. 2) El tamao optimo del quantum depende de : El tipo de sistema Las cargas que vaya a soportar el sistema. El numero de procesos en el sistema y su tipo. Es la poltica mas usada para tiempo compartido Ofrece un servicio igual para todos los procesos Es una poltica apropiativa Mantiene mas equilibradas las colas de los procesos listos y bloqueados. Virtual round robind El sistema permitir solucionar los problemas de RR en relacin al favorecimiento que este realiza con los procesos orientados a la CPU frente a los procesos orientados a las operaciones de E/S. Queues multinivel Un algoritmo de planificacin mediante colas multinivel divide la cola de procesos preparados en varias colas distintas. Se asignan en forma permanente los trabajos a una cola, generalmente, basndose en una propiedad del mismo, teniendo cada cola su propio algoritmo. Ninguna cola con baja prioridad podr ser ejecutada si aun no estn vacas las de mayor prioridad. Multi-level freedBack queues En colas multinivel realimentadas los trabajos pueden moverse dentro distintas colas. Si un proceso espera mucho tiempo en una cola de menor prioridad ser movido a la cola de mayor prioridad. Un planificador de este tipo esta definido por los siguientes parmetros: 1) El numero de cola 2) El tipo de algoritmo de planificacin de cola 3) Un mtodo de determinacin de cuando mover un trabajo a una cola de mayor prioridad 4) Un mtodo de determinacin de cuando mover a una cola de menor prioridad.

5) Un mtodo de determinacin de a que cola se enviara un trabajo cuando necesita servicio. Este algoritmo proporciona la prioridad ms alta a todo proceso que tenga una rfaga de CPU de 8 milisegundos o menos.

Vous aimerez peut-être aussi