Sie sind auf Seite 1von 51

Sistemas Operativos

UNIDAD 1
DEFINICIN Y CONCEPTOS DE SISTEMAS OPERATIVOS.
Sistema operativo.- en primer lugar definimos al elemento fsico en el que se centra toda la actividad informtica: es decir la computadora. Una computadora Es una maquina de origen electrnico con una o mas unidades de proceso y equipos perifricos controlados por programas almacenados en su memoria y que pueden almacenar una gran variedad de trabajos. Todo este componente fsico es denominado comnmente Hardware. Ahora bien el ser una maquina programable tiene que contar con informacin que indique como usar todas sus unidades fsicas o herramientas que la componen, conocidas como recursos, para llevar acabo el trabajo. Esta informacin es lo que llamamos soporte lgico o Hardware. Una maquina sin Software, ser una maquina intil mientras que con el puede almacenar, procesar y obtener informacin, editar textos, controlar el externo, etc . Un sistema operativo Es un elemento constituido por Software que en sus principios fue definido de la siguiente manera:

Un sistema operativo .- es el soporte lgico que controla el funcionamiento del equipo fsico. (el software que controla el hardware)

En la actualidad no resulta sencilla su definicin de forma que puede darse varias desde distintos puntos de vista.

a) Punto de vista del usuario. Un sistema operativo es el conjunto de programas y funciones que ocultan los detalles de el Hardware, ofreciendo al usuario una va sencilla y flexible de acceso al mismo. (Los programas que facilitan el uso de la computadora) La ocultacin de los detalles del Hardware a usuarios y parte del personal informatico tiene dos objetos:

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos Abstraccin .- la tendencia actual del software en toda su expresin es de dar una visin global y abstracta de la computadora haciendo fcil su uso ocultando por completo la gestin interna. Seguridad .- existen instrucciones en la maquina que pueden parar la computadora, interferir procesos, etc. Por ello es necesario restringir determinadas operaciones a los usuarios creando niveles de privilegios, de tal forma que cada usuario tenga protegida su informacin y procesos.

Usuario.
Diseador.

Diseador de traductores.

Programa de aplicacin.
Programador.

Traductores.

Sistemas operativos.

Hardware.

b) Punto de vista de Gestor de recursos. Un sistema operativo es el administrador de recursos ofrecidos por el Hardware para alcanzar un eficaz rendimiento de los mismos.

Los recursos fundamentales que administra son :

a) b) c) d)

Procesador. Memoria. Dispositivos de E / S. Informacin.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

JOBS

E/S

S.O. como gestor de recursos.

Memoria. Informacin

Los sistemas operativos constituyen recursos de alto nivel, que denominaremos virtuales a base de encubrir los realmente existentes de bajo nivel que denominaremos fsicos. Por lo tanto del punto de vista del usuario o de un proceso la maquina fsica es convertida por el sistema operativo en una maquina virtual tambin conocida como una maquina extendida que a diferencia de la fsica, ofrece mucho mas funciones y cmodas de utilizar.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Usuario

Aplicacin

S. O. Hardware

Un sistema operativo proporciona, adems servicios de los que no dispone el hardware como pueden ser, la utilizacin de la computadora por varios usuarios simultneamente, interaccin entre usuarios y programas en ejecucin al mismo tiempo, etc. Para concluir vamos a dar una definicin ms acadmica que las anteriores basndonos en la definicin previa de los trminos sistema y operativo. Sistema conjunto de personas, maquinas y cosas que ordenadamente relacionadas entre si contribuyen a lograr un determinado objetivo. Operativo deseado. personas maquinas y cosas que trabajan conjuntamente y consiguen el objetivo

Sistema operativo conjunto de programas que conjuntamente relacionados entre si contribuyen a que la computadora lleve a cabo correctamente su trabajo. Como resumen podemos decir que los sistemas operativos cubren dos objetivos fundamentales. 1.- Facilitar el trabajo del usuario. 2.- Gestionar de manera eficiente los recursos. Ahora bien no todo el software que se ejecuta en el software se considera como sistema operativo y entre los cuales distinguir:

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos Programas del sistema. Son los que controla el hardware, controla los procesos, hacen mas cmodo el entorno de trabajo, etc. Programas de aplicacin. Son los que resuelven un problema concreto del usuario y que no son suministrados por el sistema operativo, son programas diseados y codificados por analistas y programadores de aplicaciones conjuntamente con el usuario.

EVOLUCION DE LOS SISTEMAS OPERATIVOS.


Los objetivos mencionados anteriormente, facilidad de uso y gestin eficiente no son siempre compatibles. En un principio se dio ms importancia a la gestin eficiente mientras que hoy en da se atribuye, ms importancia al uso sencillo. a) Sistema de tiempo asignado: En esta forma de operar la computadora se le proporcionaba a una persona una cierta cantidad de tiempo a c / u de los usuarios, manteniendo el control nico de todos los recursos. Cargando sus programas por un tiempo limitado mantena el control de la computadora, la impresora, el lector de tarjeta, la consola y as sucesivamente para cada uno de los usuarios este tiempo no era suficiente para la captura de los procesos ya que demoraba mucho porque el programador no era experto en el manejo del sistema operativo.

b) Acceso por operador. Una de las soluciones fue el manejo de la maquina por un especialista en operacin (operador), cuyas misiones eran las de controlar el sistema, cargar los programas, obtener los resultados, etc. A partir de este momento el programador dejo de tener acceso directo a la computadora. El procedimiento de trabajo era el siguiente: Los programadores daban al programador los trabajos a realizar, este los reuna y ejecutaba uno tras otro en la computadora y recoga los resultados obtenidos entregndolos a cada programador. Una segunda solucin ms eficaz que la primera fue la siguiente: El operador agrupaba todos los trabajos con una necesidad de recursos fsicos y lgicos similares y los ejecutaba como si fuesen un bloque, por ejemplo si entre todos los trabajos

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos aparecan varios programas en el mismo lenguaje (fortran, cobol, etc) se reunan uno de tras de otro con lo cual se consegua cargar el compilador una sola ves obtenindose un considerable ahorro de tiempo.

c) Secuencia automtica de trabajos. Analizando el trabajo que realizaba el operador, se observa que era bastante necesario y que poda ser automatizado en gran parte con lo que surgi lo que se denomina secuencia automtica de trabajos. Se diseo un pequeo programa que transfera automticamente el control de un trabajo a otro, este lenguaje de control tomo el nombre de monitor residente que puede ser considerado como el primer sistema operativo y que como su nombre lo indica permaneca constante en memoria. En el momento de encender la computadora se daba el control al monitor, este a su ves daba el control al primer trabajo y cuando terminaba su ejecucin tomaba el control de nuevo dando paso al segundo de los trabajos y as sucesivamente. El programa monitor residente contena las siguientes partes:

c) Secuenciador automtico de trabajos. d) El interprete de las tarjetas de control. e) Controladores software de e/s.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Para que el monitor supiera que programa deba ejecutar y que datos iba a tratar se aada al paquete de tarjetas que contena el programa y los datos un conjunto de tarjetas de control con las indicaciones necesarias para que el monitor controlara la situacin en cada momento, estas tarjetas se cean a un lenguaje escrito de comandos denominado lenguaje de control de trabajos JCL (Job control language) . Las tarjetas de control se diferenciaban de del resto de las tarjetas por el carcter perforado en su primer columna y este variaba de un sistema a otro. En la figura anterior puede observarse un bloque de tarjetas que representan un trabajo con un programa en fortran los datos correspondientes y las tarjetas de control. d) OFF LINE. Con el paso del tiempo aparecieron dispositivos de e/s mas veloces que se utilizaron para resolver el problema existente, aunque tambin aumento la velocidad y la capacidad del procesador. Aparecieron las cintas magnticas, cuya velocidad era mayor que la de los lectores de tarjetas pero el acceso para escribir directamente en ellas era complicado, por ello se impuso una tcnica que consiste en perforar los programas en tarjetas, que eran ledas por una lectora de tarjetas y grabadas en una cinta magntica directamente. Esta cinta se pasaba a la computadora en bloque para la ejecucin de los programas, grabndose los resultados en una nueva cinta. Por ultimo la cinta de resultados se volcaba sobre una impresora. Las tres operaciones anteriores se realizaban en dispositivos distintos con lo cual la computadora reciba los programas y entregaba los resultados a una velocidad considerable. Las acciones de copiado de tarjetas a cintas y de cinta a impresora al ser lentas y separarse del control de la computadora permita realizar a esta otros trabajos distintos. Este tratamiento se conoce como off - line.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

ON LINE

El proceso antes descrito contaba con algunas dificultades que obligaban a dedicar una pequea computadora para la gestin de las copias as surgieron los denominados procesadores satelitales que fueron la antesala de los actuales sistemas multicomputadoras. La ventaja principal de este sistema fue que se poda tener varios lectores de tarjetas produciendo cintas de entrada con lo que se mantena ocupado el procesador durante la gran mayora de tiempo.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos Por otra parte exista la desventaja de que un usuario tenia que esperar a que se llenara la cinta con otros trabajos para que el suyo fuera transferido a la computadora.

e) BUFFERING. Una forma de mejorar el tiempo que se pierde en los procesos de carga de las cargas es utilizar una memoria intermedia , tambin denominada buffer, donde la cinta va grabando datos hasta que se llena volcndose estos en la memoria de una ves y el procesador realiza operaciones con los datos recibidos, en paralelo se vuelve a cargar el buffer, a esta forma de trabajo se le denomina buffering. Es fcil entonces entender que la misin de las tcnicas buffering es mantener tanto al procesador como los dispositivos de e/s ocupados el mayor tiempo posible. Las tcnicas buffering son difciles de aplicar ya que necesitan un control exhaustivo de cuando esta lleno o no el buffer, y esto solo es posible a travs de interruptores. Por otro lado si el dispositivo de e/s es muy rpido de tal forma que produce la informacin en menos tiempo que pueda tratarla el procesador el buffering no reportara ninguna ventaja. El buffering suele estar soportado por el programa monitor con funciones especiales o dentro de los controladores de dispositivos de entrada y salida (Drives)

f) SPOOL. Las tcnicas de spool permitan que la salida de un programa se escriba en un buffer y posteriormente sea llevada a un disco magntico en espera de poder ser activada a una impresora o un cualquier otro perifrico de salida que en ese momento pueda estar ocupado, de esta manera el procesador puede estar ejecutando un trabajo mientras se imprimen por ejemplo : los resultados de otro programa o proceso anterior que ya haba acabado.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Al igual que los sistemas buffering el sistema de spooling trata de mantener al procesador y los dispositivos de e/s de unos trabajos con el proceso de otros. En general cada dispositivo tiene su propio sistema spooling.

g) MULTIPROGRAMACIN. Es un modo de trabajo en el que se pueden ejecutar varios programas simultneamente con el fin de aprovechar al mximo los recursos de la computadora. Surgi la imposibilidad para los sistemas o modos de trabajo anteriores de que con un solo trabajo se puede tener ocupados al procesador y a los dispositivos de e/s durante todo el tiempo.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Un trabajo realizado en una computadora donde el punto de vista de ocupacin en tiempo de procesador y los dispositivos perifricos, pueden ser de dos tipos: a) Trabajos limitados por proceso. Son aquellos que consumen la mayor parte del tiempo en el tratamiento de la informacin y muy poco en operaciones de e/s. A)

b) Trabajos limitados por operaciones de e/s. Son aquellos que dedican la mayor parte del tiempo en operaciones de e/s. Haciendo poco uso del procesador que se mantiene inactivo durante grandes periodos de tiempo. B)

El segundo tipo de proceso dio lugar a una nueva tcnica denominada multiprogramacin, que consiste en aprovechar la inactividad del microprocesador durante la ejecucin de una operacin de e/s de un proceso, en atender a otros procesos. Desde el punto de vista de cada proceso, todos estn siendo atendidos por un procesador que podemos denominar virtual, aunque en realidad todos estn atendidos por el mismo que conmuta de uno a otro constantemente.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos a) El acceso al procesador debe seguir algn tipo de reglas o polticas que permitan la ejecucin de todos los trabajos. b) Se hace necesario algn tipo de administracin de la memoria ya que esta debe ser compartida por todos los trabajos. c) Varios trabajos pueden necesitar la utilizacin de un recurso al mismo tiempo dando lugar a problemas de concurrencia.

En los S. O. multiprogramados, surge el proceso de planificar el procesador y a partir de ellos comienza una nueva estructura interna de los mismos apareciendo un ncleo central (Kernel) compuesto de rutinas para la gestin de la memoria central, el procesador, los dispositivos y el resto de recursos disponibles.

h) PROCESO POR LOTES (BATCH). Se denomina proceso por lotes en sistemas multiprogramados al que no precisa intervencin del usuario durante la ejecucin de los trabajos, tratndose en general de trabajos largos que van solicitndose y entrando en una cola de espera de tipo FIFO y que el procesador va tomando en un grupo determinado realizando en paralelo

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

i) TIEMPO COMPARTIDO (TIME SHARING). Dado el incoveneinte que tenia la multiprogramacin por lotes de no permitir el dialogo entre el usuario y el proceso, el siguiente paso en e desarrollo de los sistemas operativos fue la introduccin de la multiprogramacin interactiva. Aparece a la vez que las terminales conversacionales o interactivas (teclado / pantalla) en los que el usuario ya no tena que suministrar todos los datos al inicio de la ejecucin del proceso, si no que poda ir dndolos a medida que el proceso los iba necesitando de igual forma que iba recibiendo respuesta inmediata a sus datos.

En este modo de trabajo la organizacin no se realiza por trabajo si no por cesiones.

Una sesin es todo el conjunto de trabajos que se realizan desde que un usuario se conecta a la computadora hasta que se despide de la misma.

Durante estas cesiones se pueden realizar multitud de operaciones controladas por un proceso denominado interprete de comandos, que el dialogo entre el usuario y el S.O. este proceso puede dar lugar a muchas otras para realizar todas las demandas de usuario.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Durante una cesin el usuario supone tener a su disposicin todos los recursos de la computadora aunque existan otros usuario con cesiones activadas simultneamente. En estos modos de trabajo la depuracin de programas que con anterioridad se realizaban en volcados de memoria ahora se hace la forma interactiva suspendiendo la ejecucin del proceso momentneamente mientras se estudia el problema que puede haber aparecido. Los sistemas de tiempo compartido se caracterizan por : a) b) c) d) e) f) g) Ser muy conversacionales. Atender a varios usuarios simultneamente. Ofrecer tipos de respuesta relativamente cortas. Mantener una interrogacin secuencial de peticiones y de usuarios. Poseer una fuerte gestin de archivos. Utilizar tcnicas de buffering y spooling. Gestionar memoria virtual.

j) TIEMPO REAL. Es otra modalidad de los S.O. multiprogramados en que se necesita un tiempo de respuesta pequeo ante cualquier peticin. Suele emplearse en aplicaciones dedicadas a sistemas de control con censores como elementos de entrada, donde es necesaria una respuesta rpida sobre el sistema a controlar, podemos decir que un sistema trabaja en tiempo real si el tiempo de respuesta permite controlar y regulas al medio sobre el que opera.

Caracterstica principales del tiempo real: a) Fuertes restricciones en el tiempo de respuesta. b) La informacin debe de estar permanentemente actualizada. c) El sistema debe permanecer prcticamente inactivo lo mas rpidamente posible cualquier evento en la entrada. d) Manejo eficaz de interrupciones. e) Manejo sencillo de prioridades. f) Gestin de memoria real.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos k) PROCESO DITRIBUIDO. El siguiente paso en la evolucin de los S.O. fue el proceso distribuido que consiste en la conexin de computadoras entre si a travs de un gran variedad de dispositivos, existiendo varias unidades entre las que podemos citar la conexin de varias computadoras compartiendo un mismo almacenamiento principal o aquellas que se conectan a una misma red nacional o internacional para el intercambio de informacin.

l) MULTIPROCESO. Uno de los problemas actuales en el proceso de datos a sido la aparicin de aplicaciones que manejan tal cantidad de informacin que un solo procesador no es capas de procesar en el tiempo requerido. Podemos citar el caso de sistemas expertos, donde el volumen de los datos es extremadamente grande y se necesitan unos tiempos de respuesta extremadamente pequeos a dems los algoritmos que manejan estos datos son muy complicados y necesitan muchas operaciones para la obtencin de los resultados. En este caso las computadoras convencionales no satisfacen las necesidades por lo que se hizo necesaria la descomposicin de algoritmos en subalgoritmos mas censillos de manera que c / u pueda tratar un subconjunto de los datos con cierta independencia de los otros. Al final se conjunta estos datos obteniendo el resultado final de todo el proceso. Estos subalgoritmos pueden trabajar en paralelo tratando cada un su porcin de informacin al mismo tiempo. Para ello se estn desarrollando en el momento actual diversas maquinas que siendo una sola computadora contienen varios procesadores que pueden trabajar conjuntamente. Con ello puede quedar satisfecha la necesidad de proceso de varios algoritmos simultneamente y con un ahorro sustancial en el tiempo de ejecucin. En estas computadoras el S.O. realiza un trabajo complejo administrando varios procesadores y distribuyendo la carga de trabajo y optimizar al mximo el Job

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

UNIDAD ll.
EL NCLEO Y LOS PROCESOS.
El ncleo kernel de un S.O. es un conjunto de rutinas cuya misin es la de gestionar el procesador, la memoria, la e/s y el resto de recursos disponibles en la instalacin. Toda esta gestin la realiza para atender al funcionamiento, y peticiones de los trabajos que se ejecutan en el sistema. Procesos: Uno de los conceptos mas importantes que gira en torno a un S.O. es el de procesos. Este concepto surgi por primera vez con la multiprogramacin donde se puede

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos ejecutar ms de un programa simultneamente con el fin de aprovechar al mximo los recursos de la computadora. Un proceso es un programa en ejecucin junto con el entorno asociado (registros, variables, etc.)

Registros (PC;SP,...) Datos en pila (Stack) Datos en variables Instrucciones (programa en ejecucin)

Como ya se ha indicado que el corazn de un S.O. Es el ncleo, un programa de control que reacciona Ante cualquier interrupcin de eventos externos y que da servicios a los procesos, crendolos, termidndolos y respondiendo a cualquier peticin de servicios por parte de los mismos.

Modelo: Supongamos que en un determinado momento el mecnico esta realizando una reparacin compleja y aparece un vehculo que necesita una reparacin de las rpidas, el mecnico suspende momentneamente la reparacin compleja anotando en que situacin se queda dicha reparacin y que operacin estaba realizando en ese momento as mismo sustituye el manual que estaba utilizando por el de la reparacin rpida que se dispone a realizar, comienza la nueva reparacin, en la que las herramientas no sern las mismas que antes; las indicaciones del usuario, las piezas de repuesto y las indicaciones del manual llevaran a un feliz termino la reparacin para que el mecnico vuelva a la reparacin inicial.

EL BLOQUE DE CONTROL DE PROCESOS (PCB).


Un proceso se representa desde el punto de vista del S.O. por un conjunto de tatos donde se incluye el estado en cada momento, recursos de utilizacin, registros, etc. denominad bloque de control de procesos (PCB). Los objetivos que se pueden cubrir con el PCB son los siguientes: a) localizacin de la informacin sobre el proceso por parte del S.O. b) Mantener registrados los datos del proceso en caso de tener que suspender temporalmente su ejecucin o reanudarla.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

En general la informacin atendida en el bloque de control es la siguiente: a) Estado del proceso: Informacin relativa al contenido del contador de programas, estado del procesador en cuanto a propiedades del proceso, modo de ejecucin, etc. y por ultimo el estado de los recursos internos de la PC. b) Estadsticas de tiempo y ocupacin de recursos: Para la gestin de la planificacin del procesador. c) Ocupacin de memoria interna y externa: Para el intercambio (swapping). d) Recursos en uso e/s. e) Archivos en uso. f) Privilegios.

Estas informaciones se encuentran en la memoria principal o en disco y se accede a ella en los momentos en que sea necesaria su actualizacin o consulta. Los datos relativos al estado del proceso siempre se encuentran en memoria principal. De igual forma existe un bloque de control de sistema (SCB) con unos objetivos globales similares al anterior y entre los que se encuentran el enlazado de los bloques de control de los procesos existentes en el sistema. Tratamos de ver a continuacin como se realiza el cambio de un proceso a otro por lo cual suspenderemos que estamos en una computadora con un solo procesador y existen varios procesos activos compitiendo por el accesos al procesador, suponemos que los programas A y B ambos en memoria principal.

Boque de control del sistema. Excepciones Fallas en CPU. Reloj y consola. PCBS. Interpretaciones. Bloque de control de procesos Puntero Numero de procesos. Estado del proceso. Prioridad.
INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava Contador de programa.

Limite de memoria.

Sistemas Operativos

Las acciones que realiza el S.O. para cambiar el proceso A por el B se denomina cambio de proceso. Deja de ejecutar el proceso en curso(A) cedindose el control al ncleo del sistema operativo y aparece lo que se denomina cambio de contexto, pasando del modo usuario al modo supervisor. Antes de realizarse el cambio de contexto se salva el estado del proceso A para su posterior vuelta al punto donde fue interrumpido. El ncleo estudia el proceso B esta preparado para su ejecucin y si es as realiza el cambio de contexto correspondiente pasando del modo supervisor al modo usuario. A continuacin repone el estado del proceso B (en caso de haber sido interrumpido con anterioridad) y por ultimo pone en ejecucin el proceso B. El cambio de contexto se producir en caso de ejecucin de una instruccin privilegiada una llamada al S.O. o una interrupcin, es decir siempre que se requiera atencin de algn servicio del S.O. en cambio de contexto el ncleo salva el estado del proceso que se estaba ejecutando en su bloque de control y restara el proceso que va a ejecutarse a partir de los datos almacenados en su bloque de control. Programa A. Programa B.
Salva registros.

Cambio de

. . . . . . . . .

. . .
Carga registros.

proceso

INTERRUPCION

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Salva registros.

Ing. Renato Morales Nava

Sistemas Operativos . . . . . . .

. . .

ESTADO DE LOS PROCESOS.


Los bloques de control de los procesos se almacenan en cola cada uno de los enlaces representan un estado particular de los procesos, existiendo en cada bloque, entre otras informaciones tantos campos como colas en las que el proceso se pueda situar, para que a partir de ellos se indique la cola en que se encuentra. Los estados de los procesos son internos del S.O. y transparentes al usuario, para este su proceso estar siempre en ejecucin independientemente del estado en que se encuentre internamente en el sistema. Los estados de procesos se pueden dividir en 2 tipos: Activos e Inactivos.

Cola de trabajos en espera Cola de trabajos preparados CPU completo Gestor de trabajos

..... t r a . b . a . j o s

Gestor de recurso Cola de trabajos bloqueados


Ing. Renato Morales Nava

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Sistemas Operativos

a) Estados activos: Son aquellos que compiten por el uso del procesador o estn en condiciones de hacerlo, estos se dividen en: a-1) Ejecucin: Estado en el que se encuentra un proceso cuando tiene el control del procesador. En un sistema monoprocesador este estado solo lo puede tener un proceso. a-2) Preparado: Aquellos procesos que estn dispuestos para ser ejecutados, pero no estn en ejecucin por alguna causa. a-3) Bloqueado: Son los procesos que no pueden ejecutarse de momento pro necesitar algn recurso no disponible (generalmente recursos de e/s). b) Estado inactivo: Son aquellos que no pueden competir por el procesador, pero pueden volver a hacerlo por medio de ciertas operaciones en estos estados se mantiene el bloque de control del proceso apartado hasta que vuelve a ser activado. Se trata de procesos que no han terminado su trabajo por causas que lo han impedido (problemas de un dispositivo de e/s) y que pueden volver a activarse desde el punto donde se quedaron sin que tengan que ejecutarse desde el principio. Estos procesos se dividen en 2 tipos: b-1) Suspendido bloqueado: Es el procesos que fue suspendido en espera de un evento sin que hayan desaparecido los casos de su bloqueo. b-2) Suspendido preparado: Es el proceso que ha sido suspendido pero no tiene causas para estar bloqueado.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Suspender Preparado. Reanudar Terminacin de la e/s o la causa

Suspendido preparado.

Espera de E/S u otra causa

Ejecucin.

Terminacin de la operacin de E/S o la causa

Suspender Bloqueado. Reanuda r Suspendido bloqueado.

TANSICIONES DE ESTADO. Todo proceso a lo largo de su existencia puede cambiar de estado barias beses, cada uno de estos cambios se denominan transiciones de estado. Estas transiciones son las siguientes: a) Comienzo de la ejecucin: Todo proceso comienza al ser dada la orden de ejecucin del programa insertndose este en la cola de procesos preparados, el encolamiento depender de la poltica, la gestin de dicha cola. b) Paso a estado de ejecucin: Cuando el procesador se encuentre inactivo y en la cola de procesos preparados existan alguno en espera de ser ejecutado, se pondr en ejecucin el primero de ellos. c) Paso a estado bloqueado: Un proceso que se encuentre en ejecucin y que solicite una operacin a un dispositivo externo, teniendo que esperar a que esta operacin finalice, este ser pasado de estado de ejecucin a estado bloqueado, insertndose su PCB en la cola de procesos bloqueados, a partir de ese momento el procesador pone en ejecucin el siguiente proceso que ser el primero de la cola de procesos preparados. d) Paso a estado preparado: Este paso puede ser producido por alguna de las sig. causas: 1) Orden de ejecucin de un programa, con lo cual como ya sabemos el proceso pasa a la cola de preparados. 2) Si un proceso esta en estado bloqueado por causas de una operacin de e/s y esta finaliza pasara de la cola de bloqueados a la de preparados. 3) Si esta en ejecucin y aparece una interrupcin que fuerza al S.O. a ejecutar otro proceso, el primero pasara al estado preparado y su PCB a la cola de preparados.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos 4) Activacin, un proceso suspendido previamente sin estar bloqueado pasara al estado preparado al ser activado nuevamente. e) Paso al estado suspendido bloqueado: Si un proceso esta bloqueado y el S.O. recibe la orden de suspenderlo su PCB entrara en la cola de procesos suspendidos bloqueado. f) Paso al estado suspendido preparado: Este paso se puede producir bajo 3 circunstancias: 1) Suspensin de un proceso preparado pasando este de la cola de procesos preparados a la de suspendidos preparados. 2) Suspensin de un proceso en ejecucin con lo cual un proceso pasa a la cola de suspendidos preparados. 3) Desbloqueo de un proceso suspendido bloqueado por desaparecer la causa que impeda el ser ejecutado de nuevo.

OPERACIONES SOBRE PROCESOS. Los sistemas operativos actuales procesan una serie de funciones cuyo objetivo es el de manipulacin de los procesos. En general las operaciones que se pueden hacer sobre un proceso son las siguientes: Crear el proceso: Se produce con la orden de ejecucin del programa y suele necesitar varios argumentos como el nombre y la prioridad del proceso aparte en este momento el PCB que ser instalado en la cola de procesos preparados.

Programa.

+ Ejecutar
Datos.

+
Argumento.

Proceso .

Jerrquica: En ella c/proceso que se crea es hijo del proceso creador y hereda el entorno de ejecucin de su poder. El primer proceso que ejecuta un usuario ser hijo del intrprete de comandos con el que interacta. No jerrquica: c/proceso creado por otro proceso se ejecuta independientemente de su creador que no suele darse en los S.O. actuales

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Proceso A.
A.1

Proceso Padre.

Procesos Hijos.
A.2 A.3 A.4 A.5

Destruir un proceso: Se trata de la orden de eliminacin del proceso con la cual el S.O. destruye su PCB. Suspender un proceso: Es una operacin de alta prioridad que paraliza un proceso que puede ser reanudado posteriormente, suele utilizarse en ocasiones de mal funcionamiento o sobrecarga del sistema. Reanudar un proceso: Trata de activar un proceso que ha sido previamente suspendido. Cambiar la prioridad de un proceso: Esta operacin consiste en alterar la jerarqua de un proceso, debido a su tiempo de ejecucin, recursos, o usuario de su creacin. Temporizar la ejecucin de un proceso: Hace que un determinado proceso se ejecute cada determinado tiempo por etapas o de una sola vez pero transcurrido un periodo de tiempo fijo. Despertar un proceso: Es una forma de desbloquear un proceso que habr sido bloqueado previamente por temporizaciones o otra causa.

PRIORIDADES DE UN PROCESO. En general todo proceso por su caractersticas e importancia lleva consigo unas determinadas necesidades de ejecucin en cuanto a urgencia y necesidades de recursos, esto ase que los distintos procesos presenten en un sistema no accedan de igual forma y con igual frecuencia al procesador debido a la prioridad que cada uno de ellos tienen asignada, las prioridades segn los S.O. se pueden clasificar de la siguiente forma: Asignados por el S.O: Se tratan de prioridades que son asignadas a un proceso en el momento de comenzar su ejecucin y dependen fundamentalmente de los privilegios de su propietario y del modo de ejecucin. Asignados por el propietario: En este caso es el propio usuario el que asigna a cada proceso la prioridad con que este debe de ejecutarse, esta modalidad de asignacin y de prioridades es muy utilizada en sistemas de tiempo real, ya que algunos de sus procesos necesitan atender rpidamente algn evento sin que tenga que interrumpirse.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos CLASIFICACIN

DE PRIORIDADES ATENDIENDO POSIBILIDA DE VARIACIN DE LAS MISMAS.

LA

Estticas: No pueden ser modificadas durante la ejecucin del proceso, se utiliza en S.O. de tiempo compartido y no en S.O. de tiempo real. Dinmicas: Pueden ser modificados con el fin de atender cualquier evento que se produzca. Tipos de procesos: Un proceso puede clasificarse en 2 grandes grupos segn el uso que vaya a tener y la forma como se haya construido el cdigo ejecutable de programa estos grupos son: a) Preutilizables: Son aquellos que pueden cambiar los datos que utilizan pero si vuelven a ejecutarse necesitan a iniciar en su estado inicial y procesar nuevos datos es el caso de los programas normales de usuario. b) Reentrantes: Se caracteriza por no tener asociados datos, es decir solo tienen cdigo puro. Los datos que utilizan se encuentran en la pila o en registros internos y no pueden ser modificados durante su uso, este es el caso de los editores cuyo cdigo se encuentra una vez en memoria, siendo utilizado por usuarios cuyos datos particulares estn en una zona del disco asignado a c/u de ellos.

CLASIFICACIN

DE PROCESOS SEGN LA CAPACIDAD DE ACCESO AL PROCESADOR Y AL RESTO DE LOS RECURSOS.

a) Apropiativos: Son aquellos que al tener asignados un recurso no permiten que otro proceso pueda acceder a el hasta que hayan terminado de utilizarlo. b) No apropiativos: Permiten que otro proceso pueda acceder a un recurso que esta siendo utilizado por ellos.

CLASIFICACIN DE LOS PROCESOS SEGN SU FORMA DE

EJECUCIN.
a) Residentes: Son los que permanecen en memoria todo el tiempo que dure su ejecucin. b) Intercambiable: Son aquellos que pueden se llamados a memoria principal a disco mientras estn bloqueados. La memoria principal liberada por ellos pueden ser utilizada por otro proceso que en ese momento la necesite.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos EXEPCIONES. A lo largo de la ejecucin de un proceso puede aparecer una serie de irregularidades o fallos que de alguna forma un S.O. debe de tratar de controlar y en su caso corregir. Estos pueden ser de distinta naturaleza y afectar en mayor o menor medida al proceso y entre ellos podemos citar: Fallo de Hardware. Fallo de Software. Eventos anormales. Entrada de datos incorrectos.

Para atender a este tipo de eventos los S.O. incorporan lo que se denomina gestor de excepciones cuya misin es la de tratar el software que controla este tipo de eventos. Segn la gravedad de los eventos que pueden presentarse se establecen 3 categoras de correos: a) Catastrficos: Son aquellos que imposibilitan el funcionamiento del sistema y no hay modo de recuperarlo, por ejemplo un error en la alimentacin del sistema. Inicio del proceso Recuperacin Lugar de la excepcin Fin normal del proceso Lugar de la excepcin Programa. Inicio del proceso Terminacin Programa. Manejador. Fin anormal del proceso Manejador.

b) Recuperables: Son los que con ciertos ajustes permiten que el proceso continu en su ejecucin normal, por ejemplo los sistemas que son alimentados con un tipo de carcter diferente al formato de validacin. c) No recuperables: Son los que sin afectar el sistema asen que el proceso no pueda continuar su ejecucin. PLANIFICACIN DEL PROCESO.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos Un S.O. tiene muchos planificadores, hay dos planificadores del CPU principales el planificador a largo plazo y el planificador a corto plazo. Planificador a largo plazo: O planificador de trabajos, determina cuales son los trabajos que se administran en el sistema para su procesamiento, en un sistema batch, con frecuencia hay mas trabajos de los que se pueden ejecutarse inmediatamente. Estos trabajos se transfieren en un dispositivo de almacenamiento perifrico donde se mantienen para su posterior ejecucin. El planificador a largo plazo selecciona los trabajos de este conjunto y los carga en la memoria para su ejecucin. Planificador a corto plazo: O planificador de CPU. selecciona entre los trabajos en memoria cuales estn listos para su ejecucin y asigna el CPU a uno de ellos.

La distincin bsica entre estos 2 planificadores es la frecuencia de su ejecucin.

Planificador a mediano plazo: Es el encargado de eliminar procesos de memoria y reducir el grado de multiprogramacin, mas tarde el proceso puede reintroducirse en la memoria y continuar con el punto donde abandono, a este esquema se denomina como suapping, ya que el planificador cambia el proceso hacindole salir de la memoria y lo vuelve a entrar mas tarde.

Intercambio.

Proceso previamente

ejecutados

Descarga.

descargados.

CPU

Cola de preparados.

FIN

E/S

Cola de espera de e/s

OBJETIVOS.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos Las polticas de planificacin intentan cubrir los siguientes objetivos: a) Justicia: La poltica debe de ser lo mas justa posible con todo tipo de procesos sin favorecer a algunos ni perjudicar a otros. b) Mxima capacidad de ejecucin: Debe de dar un servicio aceptable para que todos los trabajos se realicen lo mas rpidamente posible, esto se logra disminuyendo el numero de cambios de procesos. c) Mximo numero de usuarios interactivos: En los sistemas de tiempo compartido se tratara que puedan estar trabajando el mayor nmero de usuarios simultneamente. d) Predecibilidad: La poltica de planificacin debe de concebirse de tal forma que en todo momento pueda saberse como ser su ejecucin. e) Minimizacin de la sobrecarga: La computadora debe de tener poca sobrecarga ya que esta incide directamente sobre el rendimiento final del sistema, a menor sobrecarga mayor velocidad de proceso, por ello los cambios de contexto deben de minimizarse. f) Equilibrio en el uso de recursos: Para obtener un bien rendimiento en el uso de los recursos y que estos estn ocupados equitativamente el mayor tiempo posible. g) Seguridad de las prioridades: Si un proceso tiene mayor prioridad que otro esta debe de respetarse, ejecutndose mas rpido que la anterior.

CRITERIOS Los criterios que se deben de tener en cuenta a la hora de elegir o disear un algoritmo de planificacin son los siguientes: a) Tiempo de respuesta: Velocidad con que el ordenador da respuesta a una peticin dependiendo de la velocidad de respuesta de los dispositivos de e/s. b) Tiempo de servicio: Es el tiempo que tarda en ejecutarse un proceso donde se incluyen el tiempo de carga del programa en la memoria, el tiempo de espera en la cola de procesos preparados, el tiempo de ejecucin en el procesador y el tiempo consumido en operaciones de e/s. c) Tiempo de ejecucin: Es idntico al tiempo de servicio menos el tiempo terico que necesitara el proceso para ser ejecutado si este fuera el nico presente en el sistema. d) Tiempo de procesado: Es el tiempo que un proceso esta utilizando el procesador sin contar el tiempo que se encuentra bloqueado en operaciones de e/s. e) Tiempo de espera: Es el tiempo en el que los procesos estn activos pero sin ser ejecutados, es decir los tiempos de espera en las distintas colas. f) Eficiencia: Que el procesador este el mayor tiempo posible ocupado para lograr as un gran rendimiento. g) Rendimiento: Se refiere a la ejecucin simultnea de varios procesos Mximo en una unidad de tiempo. MEDIDAS.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos Para estudiar el comportamiento de las distintas polticas planificaremos, estudiaremos 2 medidas relacionadas entre si que nos indique como estamos tratando el proceso completo. t = tiempo de proceso P = Proceso ti = tiempo inicial de un proceso (ejecucin)

a) tf = tiempo que el proceso termina su ejecucin.

Tiempo de servicio T= tf - t

Tiempo de espera E=T-t

Tiempo de servicio I=t/T

Este ndice representa el tanto por uno de tiempo que el proceso esta en ejecucin respecto al tiempo de vida del mismo en el sistema. En caso de que solo exista un proceso ejecutndose en el sistema segn en el valor de ndice de servicio podemos decir que: 1) Cuando I sean prximo a 1 el P esta limitado por proceso 2) Cuando I sea prximo a 0 el P esta limitado por e/s. En los casos mas usuales en los que existen mas de un proceso en el sistema no podemos hacer las consideraciones anteriores puesto que pueden desvirtuarse el verdadero comportamiento del sistema, por este motivo se establecen las mismas medidas pero con valores medios obtenidos al considerar el conjunto de procesos presentes, estas sern las medidas que nos reflejan el verdadero comportamiento del sistema, estas medidas son las siguientes: Tiempo medio de servicio. Tiempo medio de espera. Eficiencia.

Adems de las anteriores en la planificacin del procesador suelen emplearse otras 2 medidas del inters que son: a) Tiempo del ncleo: Es el tiempo consumido por el ncleo del S.O. para tomar las decisiones de planificacin del procesador, donde se incluyen los tiempos de cambio de procesos y contexto. b) Tiempo de inactividad: Es el tiempo consumido cuando la cola de procesos preparados esta vaca y por tanto no puede realizar ningn trabajo productivo.

Unidad 3

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos ALGORITMOS DE PLANIFICACIN La planificacin del cpu consiste en decidir a cual de los procesos situados en la cola de preparados hay que asignar el procesador, existen varios algoritmos de planificacin que operan de manera diferente, los cuales describiremos a continuacin. Al tiempo que discutimos los distintos algoritmos de planificacin del cpu queremos ilustrar su modo de operar, una ilustracin precisa implicara considerar muchos trabajos, constituido c/u de ellos en varios cientos de rfagas de cpu y e/s. Para simplificar consideraremos que los trabajos no van a realizar operaciones de e/s y nicamente consideraremos su tiempo de ejecucin en unidades de tiempo representativos, a la realidad. Las polticas de planificacin se agrupan en: a). APROPIATIVAS. Son aquellas en las que el proceso no abandona nunca el procesador desde su comienzo hasta su fin. b). NO APROPIATIVAS. Son las que producen un cambio de proceso con cada cambio de contexto, o sea el proceso que se encuentra haciendo uso del procesador puede ser temporalmente suspendido para permitir que otro proceso se apropie del procesador. Para el estudio de las polticas utilizaremos los siguientes datos:

N. Proceso

T. llegada

T Ejecucin

Prioridad

A B C D E

0 1 4 5 8

3 5 2 6 4

0 1 0 2 1

FIFO (Primero en llegar primero en salir) En esta poltica de planificacin el procesador ejecuta cada proceso hasta que termina, por tanto los procesos que entren en cola de procesos preparados permanecern encolados en el
INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos orden en que lleguen hasta que les toque su ejecucin, se trata de una poltica muy simple y sencilla de llevar a la practica, pero muy pobre en cuanto a su comportamiento. A continuacin se realizaran los clculos para dicho algoritmo. Cola de preparados Fin de la E D C B A Procesador Ejecucin

N. Proceso

T. llegada

T Ejecucin

T. Entrada

T. Salida

A B C D E

0 1 4 5 8

3 5 2 6 4 Media.

0 3 8 10 16

3 8 10 16 20

3 7 6 11 12 7.8

0 2 4 5 8 3.8

1 0.71 0.33 0.54 0.33 .58

CARACTERISTICAS a). Es propiativa b). Es justa aunque los procesos largos hacen esperar mucho a los cortos c). Es una poltica predecible d). El tiempo medio de servicio es muy variable en funcin del numero de procesos y su duracin. SJN (el siguiente es el mas corto) Es una poltica de planificacin apropiativa que trata de incubrir algunos objetivos y criterios de los sistemas operativos. Esta operacin toma de la cola de procesos preparados al trabajo

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos que necesite menos tiempo de ejecucin para ello debe de saber el tiempo de procesador que necesita cada proceso, lo cual no estara nada fcil pero posible a travs de diversos mtodos, como puede ser la informacin suministrada por el propio usuario, por el propio programa, basndose en la historia anterior. En esta poltica el tiempo de servicio es bueno para los procesos cortos perjudicando a los procesos largos.

N. Proceso

T. llegada

T Ejecucin

T. Entrada

T. Salida

A B C D E

0 1 4 5 8

3 5 2 6 4 Media

0 3 8 14 10

3 8 10 20 14

3 7 6 15 6 7.4

0 2 4 9 2 3.4

1 0.71 0.33 0.4 0.67 0.62

CARACTERISTICAS: a). Es apropiativo b). El tiempo de espera aumenta de acuerdo a la longitud de los procesos pero el tiempo medio de espera es optimo c). Es poco predecible d). No es justo con los procesos largos e). Buen tiempo de servicio f). Necesite todo para que se realice la planificacin

SRT (prximo proceso el de tiempo restante ms corto)

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos Es una mezcla de los mtodos anteriores para ellos esta tcnica cambia el proceso que esta en ejecucin cuando se ejecuta un proceso con una exigencia de tiempo de ejecucin total menor que el que se esta ejecutando en el procesador, el valor de tiempo de respuesta medio de los procesos largos mejora con respecto al SJN, presenta un excelente ndice de servicio y el tiempo de espera es bastante corto para la mayora de los proceso, consigue una buena eficiencia ya que logra que la lista de procesos preparados sea lo mas corta posible, esta poltica es no apropiativa.

N. Proceso

T. llegada

T Ejecucin

T. Entrada

T.Restante.

T. Salida

A B C D E

0 1 4 5 8

3 5 2 6 4

0 3-6 4 14 10 Media.

0 4-0 0 0 0

3 4-10 6 20 14

3 9 2 15 6 7

0 4 0 9 2 3

1 0.55 1 0.4 0.66 0.72

CARACTERISTICAS: a). es una variante del SJN para hacerla no apropiativa b). puede ser injusta ya que un proceso corto puede evitar a uno largo que este haciendo uso del procesador c). presenta una mayor sobrecarga d). excelente tiempo medio de servicio e). es muy eficiente

ROUND ROBIN

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos Esta poltica cuya traduccin podra ser asignacin cclica, o planificacin en rueda, es una mejora de algoritmo de tipo FIFO, trata de ser mas justa en cuanto a la respuesta tanto de los procesos cortos como de los largos; consiste en conceder a cada proceso en ejecucin un periodo de tiempo q(quantum) transcurriendo el cual si el proceso no ha terminado se le devuelve al final de la cola de proceso preparados, concedindose el procesador al siguiente proceso por su correspondiente quantum. Esta interrupcin peridica contina hasta que el proceso termine su ejecucin, formando una rueda de procesos que sern ejecutados cclicamente hasta que termine. La gestin de la cola de procesos preparados se puede realizar de muy diversas maneras, siendo las mas comunes las de tipo FIFO o por prioridades, donde los procesos se ordenan segn su prioridad variando el parmetro q logramos tener diferentes comportamientos de esta poltica de tal forma que si q es mayor que el tiempo que necesita para su ejecucin el proceso mas largo, se convertir en una polticas de tipo FIFO, en cambio si se aproxima a cero, la sobrecarga del sistema ser muy grande puesto que la mayor parte del tiempo se consumir en cambios de contexto, los valores de q varan entre 10 y 100 milisegundos, siendo recomendable que el 80% de los tiempos de respuesta de los procesos sean inferiores del al quantum.

Cola de preparado. A C B A Procesa dor

Fin de la ejecucin.

Apropiacin

Si un proceso finaliza durante sui quantum, inmediatamente se le concede el procesador a otro proceso al que se le asigna un quantum completo al crearse un proceso y pasar a la lista de procesos preparados se coloca al final de la lista. Si un proceso comienza su ejecucin en el mismo momento que un quantum finaliza, se supondr que dicho proceso a llegado a la cola de proceso preparados antes de la finalizacin del mencionado quantum.

N. Proceso

T. llegada

T Ejecucin

T. Entrada

T. Salida

A B C D E

0 1 4 5 8

3 5 2 6 4 Media.

0 1 5 7 10

5 13 9 20 18

5 12 5 15 10 9.4

2 7 3 9 6 5.4

0.6 0.41 0.4 0.4 0.4 0.44

Round Robin.

E
INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

PRIORIDAD DE TIPO APROPIATIVO


En esta poltica se asocia a cada proceso una prioridad de manera que el procesador se asigna al proceso de mayor prioridad, y las prioridades pueden ser definidas internas o externas , en el primer caso el S.O. se basa en una serie de informaciones mediables para el calculo y asignacin de dichas prioridades, la prioridad de dicha poltica es el bloqueo o postergacin indefinida ya que un proceso de baja prioridad puede estar esperando su turno indefinidamente para evitarlo se suele emplear lo que se denomina envejecimiento de las prioridades que aumentan gradualmente las prioridades de los procesos que estn en espera de utilizar el procesador.

N. Proceso

T. llegada T Ejecucin T. Entrada

T. Salida

Prioridad

A B C D E

0 1 4 5 8

3 5 2 6 4 Media.

0 3 8 14 10

3 8 10 20 14

3 7 6 15 6 7.4

0 2 4 9 2 3.4

1 0.7 0.33 0.4 0.66 0.61

0 1 0 2 1

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

POLITICA DE TIPO NO APROPIATIVO.


N. Proceso T. llegada T Ejecucin T. Entrada T.Restante. T. Salida T E I Prioridad

A B C D E

0 1 4 5 8

3 5 2 6 4

0 3-6 4 14 10 Media.

0 4-0 0 0 0

3 4-10 6 20 14

3 9 2 15 6 7

0 4 0 9 2 3

1 0.55 1 0.4 0.66 0.72

0 1 0 2 1

EXAMEN.
N. Proceso T. llegada T Ejecucin T. Entrada T. Salida T E I

A B

0 0.2

0.9 0.6

0 0.9

0.9 1.5

0.9 1.3

0 1 0.7 0.46

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos C D E F G 0.4 0.5 0.8 1.0 1.3 0.2 0.5 0.7 0.1 0.2 Media. 1.5 1.7 2.2 2.9 3 1.7 2.2 2.9 3 3.2 1.3 1.1 1.7 1.2 2.1 1.4 2 1.9 1.9 1.7 1.6 1.14 0.15 0.29 0.33 0.05 0.10 0.34

N. Proceso

T. llegada

T Ejecucin

T. Entrada

T. Salida

A B C D E

0 0.2 0.4 0.5 0.8

0.9 0.6 0.2 0.5 0.7

0 1.9 0.9 1.2 2.5

0.9 2.5 1.1 1.7 3.2

0.9 2.3 0.7 1.2 2.4

0 1.7 0.5 0.7 1.7

1 0.26 0.28 0.41 0.29

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos F G 1.0 1.3 0.1 0.2 Media 1.1 1.7 1.2 1.9 0.2 0.1 0.5 0.6 0.4 0.33 1.18 0.72 0.43

N. Proceso

T. llegada

T Ejecucin

T. Entrada

T.Restante.

T. Salida

A B C D E F

0 0.2 0.4 0.5 0.8 1.0

0.9 0.6 0.2 0.5 0.7 0.1

0 1.8 0.2-0.6 0.4 1.1-1.5 2.5 1.0

0.7-0 0.4-0 0 0.3-0 0 0

0.2-2.5 0.4-1.0 0.6 1.3-1.8 3.2 1.1

2.5 0.8 0.2 1.3 2.4 0.1

1.6 0.2 0 0.8 1.7 0

0.36 0.75 1 0.38 0.29 1

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos G 1.3 0.2 1.3 Media. 0 1.5 0.2 0 1 1.071 0.61 0.68

N. Proceso

T. llegada T Ejecucin T. Entrada

T. Salida

Prioridad

A B C D E F

0 0.2 0.4 0.5 0.8 1.0

0.9 0.6 0.2 0.5 0.7 0.1

0 0.9 2.9 2.4 1.5 3.1

0.9 1.5 3.1 2.9 2.2 3.2

0.9 1.3 2.7 2.4 1.4 2.2

0 0.7 2.5 1.9 0.7 2.1

1 0.46 0.07 0.20 0.5 0.045

1 0 3 2 0 4

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos G 1.3 0.2 Media. 2.2 2.4 1.1 1.71 0.9 1.25 0.18 0.35 1

N. T. T T. T.Restante T. T E I Prioridad Proceso llegada Ejecucin Entrada Salida A 0 0.9 0-1.5 0.7-0 0.2-2.2 2.2 1.3 0.40 1 B 0.2 0.6 0.2 0 0.8 0.6 0 1 0 C 0.4 0.2 2.9 0 3.1 2.7 2.5 0.07 3 D 0.5 0.5 2.4 0 2.9 2.4 1.9 0.20 2 E 1.8 0.7 0.8 0 1.5 0.7 0 1 0

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos F G 1 1.3 0.1 0.2 3.1 2.2 Media. 0 0 3.2 2.4 2.2 2.1 0.04 1.1 0.9 0.18 1.7 1.24 0.41 4 1

Q = 0.1 N. T. T T. T.Restante T. Proceso llegada Ejecucin Entrada Salida A 0 0.9 0 0 2.9 B 0.2 0.6 0.2 0 2.5 C 0.4 0.2 0.5 0 1 T 2.9 2.3 0.6 E I

2 0.31 1.5 0.26 0.4 0.33

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos D E F G 0.5 1.8 1 1.3 0.5 0.7 0.1 0.2 0.7 1.1 1.4 1.7 Media. 0 0 0 0 2.8 3.2 1.5 2.3 2.3 2.4 0.5 1 1.71 1.8 1.7 0.4 0.8 1.25 0.21 0.29 0.2 0.2 0.25

Unidad 4
COLAS MULTIPLES
Cuando los procesos que van a ser ejecutados en una computadora se pueden agrupar en distintos grupos, podemos asigaralos a diferentes colas, cada una con distinta planificacin

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos para darle a cada una de ellas la que realmente necesite. Esta poltica divide la cola de procesos preparados en varias colas separadas de manera que los procesos se asignan a una determinada cola segn sus necesidades y tipo, para determinar en cada caso que cola es la suministrara un proceso para que se acceda al procesador cuando este deje a otro anterior, ser controlada por un algoritmo de planificacin entre las colas que normalmente es apropiativo y de prioridad fija.

COLAS MULTIPLES CON RETROALIMENTACIN Para dar un trato justo a los procesos es necesario conocer previamente todos sus parmetros caractersticos , longitud si estn limitados por e/s o por procesador, la memoria que va a necesitar ,etc., como estos datos no suelen ser reconocidos, es difcil determinar el trato que debe recibir cada proceso. Despus de analizar las polticas anteriores es fcil concluir que deben adoptar las siguientes cuestiones. a) favorecer los procesos cortos b) favorecer los procesos limitados por e/s c) determinar la naturaleza del trabajo a realizar el mtodo de colas mltiples con retroalimentacin divide los procesos en varias colas de procesos preparados; cola 0, cola 1, cola 2, y as sucesivamente de manera que las de numeracin mas baja tendrn asignadas mayor prioridad.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

ALGORITMO FB Cuando el nuevo proceso que esta haciendo uso del procesador finaliza su quantum, se selecciona otro proceso de la cola de nivel mas bajo que tenga algn proceso. Una vez que un proceso haya consumido el quantum de su cola un determinado nmero de veces, sin haber finalizado su ejecucin, ser colocado al final del nivel inmediatamente superior al anterior. La poltica FB intenta dar trato justo a los procesos por medio de separacin de los mismos en categoras, para as darles el servicio que necesitan. Los procesos limitados por procesador irn a las colas de menor prioridad (NIVEL MAS ALTO), mientras que los de mayor prioridad sern aquellos procesos muy interactivos. Las caractersticas de esta poltica son: a) soporta bien la sobrecarga b) no es apropiativa c) es muy adaptable a las necesidades del sistema ya que cada cola puede ser gestionada de manera diferente.

T. PROCESO LLEGADA T.EJEC. A 0 3 B 1 5

T. ENTRA T. SALE T. RESTA 0 11 0 1 18 0

T 11 17

E 8 12

I 0.27 0.29

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos C D E 4 5 8 2 6 4 MEDIAS 4 5 8 7 20 17 0 0 0 3 15 9 11 1 9 5 7 0.67 0.4 0.49 0.41

CUANTUM = 1 F E D C B A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

PROCESOS PARALELOS E INTERBLOQUEO


a). ACTIVIDADES Proceso tarea b). SISTEMAS Multiprogramacin (simultanea) Multiproceso (paralelismo) Proceso distribuido (Internet) c). Paralelismo . Es la ejecucin de diversas actividades de manera idntica en varios procesadores, si solo existiese un solo procesador le llamaramos seudo-paralelismo esto nos hara simular que se cuenta con mas de un procesador. d). Concurrencia. Es la existencia de varias actividades ejecutndose simultneamente y necesita sincronizarse para actuar conjuntamente, se trata en este caso de un concepto lgico ya que solo se hace referencia a las actividades sin importar el nmero de procesadores presentes. Ejemplo: si un programa se esta ejecutando y se encuentra grabando datos en un archivo y otro programa tambin en ejecucin esta leyendo datos de ese mismo archivo, si existe concurrencia entre ellos, el funcionamiento de uno interfiere en el otro.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos e). Exclusin mutua. Para abordar este estudio consideraremos los datos de un registro compartido como un recurso que el sistema operativo debe de gestionar para asignar un uso correcto. Si en el momento en que un proceso esta escribiendo o modificando un registro existiese otro proceso que realice la lectura de ese mismo registro, y el primero de ellos solo hubiese tenido que escribir o modificar un campo. A la informacin obtenida por el segundo proceso seria inconsistente, para evitar esta situacin, se debe sincronizar los procesos de manera que uno este escribiendo, ningn otro no pueda leer, ahora esto no pasa cuando dos proceso intentan leer un mismo archivo aun coincidiendo en el mismo registro. Supongamos que si un proceso intenta leer un archivo, y otro intenta grabar en ese mismo archivo, en el momento de un cambio de proceso de uno al otro se puede predecir las siguientes situaciones: a). Sin sincronizacin entre procesos: puede darse el caso de que escribir este actualizando un registro y se quede a medias, sorprendindole el cambio de proceso, por tanto terminara de escribirlo cuando termine de hacer uso del procesador con el cambio le tocara el turno Al proceso leer que acceder a dicho recurso y poderlo leer completamente, es evidente que los datos dados sern inconsistentes. b). Con sincronizacin entre procesos. supongamos algn mecanismo que prohba la lectura a cualquier proceso mientras el proceso de escribir este realizando alguna operacin, en este caso el proceso leer al hacer uso del procesador y solicitar una operacin de lectura sobre un registro que se encuentra bloqueado quedara en espera de que el registro quede totalmente escrito y se procesa a su desbloqueo, leer pasara al estado bloqueado, escribir terminara su trabajo sobre el registro en el siguiente cambio leer procedera a hacer el suyo. Esta sincronizacin por la cual una actividad impide que otras puedan tener acceso a un dato mientras se encuentra realizando una operacin del mismo es lo que se conoce como exclusin mutua. La zona de cdigo de un proceso que no puede ser interrumpida por otro por los motivos anteriormente expuestos se denomina sesin critica.

SINCRONIZACION
Si una actividad desea impedir que otra acceda a ciertos datos compartidos mientras no se emplee una determinada condicin, debemos sincronizar las actividades en dicha condicin. Por tanto la sincronizacin es un elemento necesario para asignar la exclusin mutua. los algoritmos que se han diseado para este fin se clasifican en 3 categoras: a) Espera activa. Son aquellos algoritmos que basan todo su funcionamiento en establecer la espera de estado o la sucesin critica con un bucle que sea roto en el momento en que se cumple una determinada condicin. Se llaman de espera activos por que el proceso no queda bloqueado durante su ejecucin si no que estn compitiendo por el procesador constantemente. Por este motivo estos algoritmos

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos sobrecargan el sistema innecesariamente. 1) Espera con mutex. Algoritmo que utiliza switch (mutex) a travs del cual se produce la sincronizacin. 2) Alternancia. Ligeramente mejor que el anterior. Utiliza tambin una variable turno para realizar el sincronismo entre los procesos. 3) Algoritmo de DEKKER. Resuelve el problema mediante la solucin propuesta por DEKKER basando su funcionamiento en una tabla unidimensional de dos elementos lgicos.

b) Espera no activa. Son los algoritmos que establecen la espera para estar en la seccin critica bloqueado el proceso haciendo que deje de competir por el procesador hasta que se emplea la condicin de desbloqueo. Entre los algoritmos mencionaremos los siguientes: 1) Semforo. Para eliminar los problemas que se producen con los algoritmos de estado activo fundamentalmente referidos a la sobrecarga que se producen en el sistema en el ao de 1965 se diseo un mecanismo basado en otra variable entera utilizada como contador de peticin de entrada a una seccin critica, esta variable es compartida por todos los procesos del sistema esta variable se denomina semforo por su capacidad de gestionar el trafico de procesos que sean acceder a datos compartidos, con este sistema cuando un proceso intente entrar a una seccin critica mientras otro esta accediendo a los datos compartidos, se bloqueara de igual manera que cuando un proceso accede a un recurso que esta ocupado. 2) Regiones crticas. Son sistemas que permiten establecer protecciones contra una mala utilizacin de los usuarios, para ellos solo permiten que los datos compartidos puedan acceder desde determinadas regiones quedando transparentes desde el resto. Tiene pequeos inconvenientes relacionados con la sincronizacin y no permite que varias actividades puedan realizar operaciones de lectura simultnea.

3) Regiones criticas condicionales. Consiste en una mejora del mtodo anterior tratando de resolver algunos problemas de sincronizacin que presentaban. 4) Monitores. Uno de los problemas existentes en los mecanismos anteriores es el que el programador tiene que proporcionar de forma explicita el mtodo de sincronizacin para evitarlo Hansen y Hoare desarrollaron un nuevo mecanismo denominado monitor que debe de ser soportado por el lenguaje correspondiente.

Un monitor permite compartir, segura y eficazmente datos entre varias actividades garantizando la exclusin mutua, sin necesidad de que el programador tenga que suministrarla explcitamente.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos Se basa en dos premisas: la primera es la abstraccin de datos consistentemente en una tcnica capas de superar las operaciones a ejecutar sobre los datos, de los detalles de diseo propio de los mismos. La segunda es que realizan la exclusin mutua de manera explicita. La finalidad mas til de los monitores es reunir todas las funciones que operan sobre un conjunto de datos compartidos en un solo modulo de manera que todos los accesos a esos datos estarn forzados a utilizar dichas funciones. 5) Contadores de evento. Es un mecanismo para sincronizar actividades sin que sea necesario forzar la exclusin mutua ya sea por que no deseamos limitar la concurrencia de las actividades o simplemente por que no lo necesitamos. Se basa en una variable entera cuya misin es contar determinadas operaciones. 6) Mensajes. Es un mecanismo que permite a los procesos intercambiar aquella informacin que sea necesaria durante el desarrollo normal de su ejecucin. Por tanto es ms un mecanismo de cooperacin que de sincronizacin. Esta cooperacin se realiza por medio de mensajes que se envan entre si los procesos. Se basa en una zona de memoria compartida que gestiona el S. O. directamente y que permanece oculta a los procesos. De esta manera el proceso que enva un mensaje a otro deposita la informacin en la zona de memoria compartida y el receptor lo lee posteriormente. En este sistema las directrices de envo y recuperacin establecen una sincronizacin entre los procesos al tener que esperar por dichos mensajes, antes de continuar con su ejecucin. Existen dos tipos de comunicacin entre procesos: Directa. Los procesos envan y reciben los mensajes directamente entre si de manera que se asocian un enlace bidimensional nico entre cada dos procesos. Indirecta. Los mensajes son enviados y recibidos a travs de buzones de correo con este mtodo cada proceso puede estar relacionado con tantos buzones como desee consiguiendo comunicarse con tantos procesos como sea necesario.

7) llamadas remotas. el paso de mensajes de un proceso a otro es un mecanismo muy utilizado para resolver los problemas de concurrencia entre procesos. Es anlogo al paso de parmetros en una llamada a otra rutina o procesamiento si unimos los conceptos de manejo y paso de mensaje y paso de parmetros tendremos lo que se conoce como rutinas o procedimientos remotos, efectundose una copia del mismo cada vez que son ejecutados siendo dicha ejecucin concurrente. Este tipo de interaccin asegura que hasta que un proceso no termine determinadas operaciones, el siguiente permanezca en espera.

8) Rendez- Vous. Es la culminacin de todos los mecanismos anteriores tratndose de una ligera modificacin de mtodos de las llamadas remotas, donde la llamada en lugar de ser a todo un procedimiento lo es solamente a un grupo de sentencias dentro de el. De igual manera se trata de un procedimiento similar al monitor pero con ms versatilidad y potencia. Este mtodo se ha llevado a la prctica con el lenguaje ADA.
INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

c) Mecanismos de hardware. Son instrucciones hardware que aseguran la exclusin mutua, entre las mas utilizadas citamos las siguientes: 1) deshabilitar interrupciones. Las computadoras actuales permiten que las interrupciones puedan ser deshabilitadas, de esta forma si un dispositivo generase una interrupcin estando deshabilitada, el reconocimiento y el tratamiento de la nueva interrupcin se retendrn hasta que se habiliten de nuevo las interrupciones, por este medio se puede forzar la exclusin mutua deshabilitando las interrupciones mientras exista una actividad en la seccin critica. De este modo dicha actividad no podr ser interrumpida y por tanto no se podr producir ningn cambio de proceso. Normalmente la desh habilitacin y nueva habilitacin de las interrupciones suele hacerse con una instruccin maquina, por lo que resulta ser una operacin muy rpida. 2) Instruction Test - And Set. Muchas de las computadoras actuales suministran una instruccin maquina denominada, test and set, cuya misin es la de forzar la exclusin mutua. La ventaja de este mecanismo es que no puede ser interrumpida por ser una instruccin hardware y el inconveniente es que no son muchas las computadoras que la poseen. Esta instruccin po si sola no basta para asegurar la exclusin mutua por lo que tendremos que basarnos en ella para construir los denominados lock. 3) lock. Se basa en la instruccin anterior y su cometido es permitir el acceso a la seccin crtica a un proceso en caso de no existir otra actividad dentro de su seccin crtica no permitindolo en caso contrario. En este caso el nmero de actividades y de procesadores compartiendo memoria principal puede ser cualquiera y adems son mecanismos simples y fciles de probar y depurar.

INTERBLOQUEO
En la teora de los S.O. se puede definir como la situacin de un conjunto de procesos en un estado de espera tal que ninguno de ellos tiene suficientes criterios para continuar su ejecucin. Recursos Se entiende como recurso un elemento que un programa o proceso puede utilizar en la computadora donde se esta ejecutando, se engloba bajo el concepto de recursos tanto los dispositivos de hardware, como una cierta cantidad de informacin; no obstante en una computadora pueden existir muchos tipos de recursos e incluso varios del mismo tipo. Por ello definiremos un recurso como algo que puede ser utilizado por un solo proceso en un instante dado. Para que un proceso pueda utilizar un recurso deber realizar la siguiente secuencia de operaciones:

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos a) solicitar un recurso. Si no estuviera disponible el proceso quedara bloqueado hasta que le pueda ser asignado. b) utilizar recurso c) liberar recurso Modelo En primer lugar vamos a definir lo que entendemos por nter bloqueo tambin conocido como abrazo mortal (read lock). Se dice que un conjunto de procesos a alcanzado un estado de nter bloqueo si cada uno de ellos espera que ocurra algo que solo puede ser producto por uno de los procesos del propio conjunto. Como todos los procesos que estn en espera ninguno de ellos seria el primero en introducir el suceso deseado y por tanto permanecern esperando indefinidamente. Para finalizar todo lo expuesto hasta el momento vamos a fijar los principios en los que se basa todo el sistema informativo: pose un numero finito de recursos } existe un numero finito de procesos que compiten por recurso los recursos se pueden dividir en tipos de tal forma que cada nos de ellos este compuesto por recursos idnticos entre si los proceso deben realizar las tres acciones expuestas anteriormente sobre los recursos un proceso puede solicitar tantos recursos como necesite para realizar su trabajo ya sea del mismo tipo o no, siempre que no excedan del total del sistema. Las operaciones sobre los recursos se realizan a travs de llamadas al s.o. de tal manera que que si se solicita un recurso que esta siendo utilizado quedara bloqueado en espera de que se libere dicho recursos.

POSTERGACION INDEFINIDA
Un problema asociado al nter bloqueo es el de la postergacin indefinida, en cualquier sistema que existan procesos en espera por operaciones y las decisiones de planificacin del s.o. , es posible que un determinado proceso quede esperando indefinidamente por el recurso deseado, mientras otros reciben la atencin del sistema, esta situacin se conoce como postergacin indefinida o como Starvation.

CONDICIONES DE INTERBLOQUEO
Podemos asegurar que un conjunto de procesos ha llegado al nter bloqueo si se cumplen las siguientes condiciones: a) exclusin mutua. existencia al menos de un recurso compartido por los procesos al cual solo puede acceder uno simultneamente. b) Posesin y espera. Debe de existir algn proceso detenga asignado algn recurso y este esperando a que le se le asignen otros que estn siendo utilizados por otros procesos.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Sistemas Operativos c) No apropiacin. Los recursos no pueden ser apropiados por los procesos, es decir los recursos solo podrn ser liberados momentneamente por sus propietarios. d) Espera circular. Si existen varios procesos p1, p2, p3pn, y proceso p1 esperando un recurso que tenga asignado p2 y p2 esperando un recurso del proceso p3 y as sucesivamente hasta que pn estar esperando un recurso asignado a p1.

TRATAMIENTO DEL INTERBLOQUEO


Existen 4 categoras para el tratamiento del nter bloqueo: a) Ignorar. se trata de no tener en cuenta en el s.o. este tipo de situaciones, teniendo en cuenta que su operacin es bastante improbable, y la solucin para este caso es volver a arrancar el sistema. b) Prevenir. Concite en evitar algunas de las 4 condiciones que deben de estar presentes para que pueda aparecer el nter bloqueo con lo cual nunca se podra presentar tal situacin. c) Evitar. Se puede evitar los posibles nter bloqueos siempre y cuando tengamos disponibles cierta informacin sobre los recursos que necesita cada proceso por adelantado, para evitar el nter bloqueo se ha estudiado diversos mtodos uno de ellos es el algoritmo del banquero. d) Detectar y recuperar. Consiste en abortar un proceso cuando existe indicios de que se pueda producir nter bloqueo, para abortar un proceso el sistema operativo se basa en varias caractersticas del mismo. d-1) prioritario. se elimina el menos prioritario d-2) tiempo de procesador usado. Cuando menos tiempo haya estado el proceso a abortar menos trabajo se pierde y mas fcil ser recuperarlo d-3) tipo de recursos utilizados. Si los recursos son muy crticos y escasos ser preferible liberarlos cuanto antes. d-4) necesidades de recursos. Es necesario eliminar aquellos procesos que necesitan un gran numero de recursos. d-5) facilidad de suspensin / reanulacin. Se eliminara antes aquellos procesos cuyo trabajo perdido sea fcil de recuperar.

INTSTITUTO TECNOLGICO DE LZARO CRDENAS

Ing. Renato Morales Nava

Das könnte Ihnen auch gefallen