Está en la página 1de 51

Sistemas Operativos

UNIDAD 1

DEFINICIÓN Y CONCEPTOS DE SISTEMAS OPERATIVOS.

Sistema operativo.- en primer lugar definimos al elemento físico en el que se centra toda la actividad informática: es decir la computadora.

Una computadora Es una maquina de origen electrónico con una o mas unidades de proceso y equipos periféricos controlados por programas almacenados en su memoria y que pueden almacenar una gran variedad de trabajos.

Todo este componente físico es denominado comúnmente Hardware. Ahora bien el ser una maquina programable tiene que contar con información que indique como usar todas sus unidades físicas o herramientas que la componen, conocidas como recursos, para llevar acabo el trabajo.

Esta información es lo que llamamos soporte lógico o Hardware.

Una maquina sin Software, será una maquina inútil mientras que con el puede almacenar, procesar y obtener información, 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 lógico que controla el funcionamiento del equipo físico. (el software que controla el hardware)

En la actualidad no resulta sencilla su definición 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 vía sencilla y flexible de acceso al mismo. (Los programas que facilitan el uso de la computadora)

La ocultación de los detalles del Hardware a usuarios y parte del personal informatico tiene dos objetos:

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Abstracción .- la tendencia actual del software en toda su expresión es de dar una visión global y abstracta de la computadora haciendo fácil su uso ocultando por completo la gestión 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 información y procesos.

Usuario. Diseñador de traductores Diseñador. Programa de aplicación. Programador. Traductores. Sistemas
Usuario.
Diseñador
de
traductores
Diseñador.
Programa de aplicación.
Programador.
Traductores.
Sistemas operativos.
Hardware.

b)

Un sistema operativo es el administrador de recursos ofrecidos por el Hardware para

alcanzar un eficaz rendimiento de los mismos.

Punto de vista de Gestor de recursos.

Los recursos fundamentales que administra son :

a) Procesador.

b) Memoria.

c) Dispositivos de E / S.

d) Información.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

S.O. como gestor de recursos. JOBS E/S Memoria. Información

S.O. como gestor de recursos.

S.O. como gestor de recursos. JOBS E/S Memoria. Información

JOBS S.O. como gestor de recursos. E/S Memoria. Información

E/S
E/S
S.O. como gestor de recursos. JOBS E/S Memoria. Información
S.O. como gestor de recursos. JOBS E/S Memoria. Información

Memoria.

Información

Los sistemas operativos constituyen recursos de alto nivel, que denominaremos virtuales a base de encubrir los realmente existentes de bajo nivel que denominaremos físicos. Por lo tanto del punto de vista del usuario o de un proceso la maquina física es convertida por el sistema operativo en una maquina virtual también conocida como una maquina extendida que a diferencia de la física, ofrece mucho mas funciones y cómodas de utilizar.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Usuario

Aplicación

Sistemas Operativos Usuario Aplicación Hardware S. O. Un sistema operativo proporciona, además servicios de los que
Hardware
Hardware

S. O.

Un sistema operativo proporciona, además servicios de los que no dispone el hardware como pueden ser, la utilización de la computadora por varios usuarios simultáneamente, interacción entre usuarios y programas en ejecución al mismo tiempo, etc.

Para concluir vamos a dar una definición más académica que las anteriores basándonos en la definición previa de los términos sistema y operativo.

Sistema

si contribuyen a lograr un determinado objetivo.

. Sistema si contribuyen a lograr un determinado objetivo. conjunto de personas, maquinas y cosas que

conjunto de personas, maquinas y cosas que ordenadamente relacionadas entre

Operativo

personas maquinas y cosas que trabajan conjuntamente y consiguen el objetivo

personas maquinas y cosas que trabajan conjuntamente y consiguen el objetivo

deseado.

Sistema operativo conjunto de programas que conjuntamente relacionados entre si contribuyen a que la computadora lleve a cabo correctamente su trabajo.

a que la computadora lleve a cabo correctamente su trabajo. Como resumen podemos decir que los

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 TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Programas del sistema. Son los que controla el hardware, controla los procesos, hacen mas cómodo el entorno de trabajo, etc.

Programas de aplicación. Son los que resuelven un problema concreto del usuario y que no son suministrados por el sistema operativo, son programas diseñados 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 gestión eficiente no son siempre compatibles. En un principio se dio más importancia a la gestión eficiente mientras que hoy en día se atribuye, más 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 mantenía 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.

no era experto en el manejo del sistema operativo. b) Acceso por operador . Una de

b) Acceso por operador. Una de las soluciones fue el manejo de la maquina por un

especialista en operación (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 reunía y ejecutaba uno tras otro en la computadora y recogía los resultados obtenidos entregándolos a cada programador.

Una segunda solución más eficaz que la primera fue la siguiente:

El operador agrupaba todos los trabajos con una necesidad de recursos físicos y lógicos similares y los ejecutaba como si fuesen un bloque, por ejemplo si entre todos los trabajos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

aparecían varios programas en el mismo lenguaje (fortran, cobol, etc) se reunían uno de tras de otro con lo cual se conseguía cargar el compilador una sola ves obteniéndose un considerable ahorro de tiempo.

una sola ves obteniéndose un considerable ahorro de tiempo. c) Secuencia automática de trabajos . Analizando

c) Secuencia automática de trabajos. Analizando el trabajo que realizaba el operador,

se observa que era bastante necesario y que podía ser automatizado en gran parte con lo que surgió lo que se denomina secuencia automática de trabajos. Se diseño un pequeño programa que transfería automáticamente 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 permanecía 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 ejecución tomaba el control de nuevo dando paso al segundo de los trabajos y así sucesivamente.

El programa monitor residente contenía las siguientes partes:

c) Secuenciador automático de trabajos.

d) El interprete de las tarjetas de control.

e) Controladores software de e/s.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Sistemas Operativos Para que el monitor supiera que programa debía ejecutar y que datos iba a

Para que el monitor supiera que programa debía ejecutar y que datos iba a tratar se añadía al paquete de tarjetas que contenía el programa y los datos un conjunto de tarjetas de control con las indicaciones necesarias para que el monitor controlara la situación en cada momento, estas tarjetas se ceñían 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 carácter 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 también aumento la velocidad y la capacidad del procesador.

Aparecieron las cintas magnéticas, 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 técnica que consiste en perforar los programas en tarjetas, que eran leídas por una lectora de tarjetas y grabadas en una cinta magnética directamente. Esta cinta se pasaba a la computadora en bloque para la ejecución de los programas, grabándose 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 recibía 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 permitía realizar a esta otros trabajos distintos.

Este tratamiento se conoce como off - line.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Sistemas Operativos ON – LINE El proceso antes descrito contaba con algunas dificultades que obligaban a

ON LINE

Sistemas Operativos ON – LINE El proceso antes descrito contaba con algunas dificultades que obligaban a

El proceso antes descrito contaba con algunas dificultades que obligaban a dedicar una pequeña computadora para la gestión 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 podía tener varios lectores de tarjetas produciendo cintas de entrada con lo que se mantenía ocupado el procesador durante la gran mayoría de tiempo.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Por otra parte existía 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 , también denominada buffer, donde la cinta va grabando datos hasta que se llena volcándose 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 fácil entonces entender que la misión de las técnicas buffering es mantener tanto al procesador como los dispositivos de e/s ocupados el mayor tiempo posible.

Las técnicas buffering son difíciles de aplicar ya que necesitan un control exhaustivo de cuando esta lleno o no el buffer, y esto solo es posible a través de interruptores. Por otro lado si el dispositivo de e/s es muy rápido de tal forma que produce la información en menos tiempo que pueda tratarla el procesador el buffering no reportaría 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)

controladores de dispositivos de entrada y salida (Drives) f) SPOOL. Las técnicas de spool permitían que

f) SPOOL. Las técnicas de spool permitían que la salida de un programa se escriba en

un buffer y posteriormente sea llevada a un disco magnético en espera de poder ser activada a una impresora o un cualquier otro periférico 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 había acabado.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

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.

general cada dispositivo tiene su propio sistema spooling. Es un modo de trabajo en el que

Es un modo de trabajo en el que se pueden ejecutar

varios programas simultáneamente con el fin de aprovechar al máximo los recursos de la

computadora.

g) MULTIPROGRAMACIÓN.

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 TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Sistemas Operativos Un trabajo realizado en una computadora donde el punto de vista de ocupación en

Un trabajo realizado en una computadora donde el punto de vista de ocupación en tiempo de procesador y los dispositivos periféricos, pueden ser de dos tipos:

a) Trabajos limitados por proceso. Son aquellos que consumen la mayor parte del tiempo en el tratamiento de la información y muy poco en operaciones de e/s. A)

de la información y muy poco en operaciones de e/s. A) b) Trabajos limitados por operaciones

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)

se mantiene inactivo durante grandes periodos de tiempo. B) El segundo tipo de proceso dio lugar

El segundo tipo de proceso dio lugar a una nueva técnica denominada multiprogramación, que consiste en aprovechar la inactividad del microprocesador durante la ejecución de una operación de e/s de un proceso, en atender a otros procesos.

Desde el punto de vista de cada proceso, todos están siendo atendidos por un procesador que podemos denominar virtual, aunque en realidad todos están atendidos por el mismo que conmuta de uno a otro constantemente.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

a) El acceso al procesador debe seguir algún tipo de reglas o políticas que permitan la ejecución de todos los trabajos.

b) Se hace necesario algún tipo de administración de la memoria ya que esta debe ser compartida por todos los trabajos.

c) Varios trabajos pueden necesitar la utilización de un recurso al mismo tiempo dando lugar a problemas de concurrencia.

al mismo tiempo dando lugar a problemas de concurrencia. En los S. O. multiprogramados, surge el
al mismo tiempo dando lugar a problemas de concurrencia. En los S. O. multiprogramados, surge el

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 núcleo central (Kernel) compuesto de rutinas para la gestión 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 intervención del usuario durante la ejecución de los trabajos, tratándose en general de trabajos largos que van solicitándose y entrando en una cola de espera de tipo FIFO y que el procesador va tomando en un grupo determinado realizando en paralelo

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Sistemas Operativos i) TIEMPO COMPARTIDO (TIME SHARING). Dado el incoveneinte que tenia la multiprogramación por lotes

i) TIEMPO COMPARTIDO (TIME SHARING). Dado el incoveneinte que tenia la

multiprogramación 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 introducción de la multiprogramación interactiva.

Aparece a la vez que las terminales conversacionales o interactivas (teclado / pantalla) en los que el usuario ya no tenía que suministrar todos los datos al inicio de la ejecución del proceso, si no que podía ir dándolos 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 organización no se realiza por trabajo si no por cesiones.

Una sesión 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.

a muchas otras para realizar todas las demandas de usuario. INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Durante una cesión el usuario supone tener a su disposición todos los recursos de la computadora aunque existan otros usuario con cesiones activadas simultáneamente. En estos modos de trabajo la depuración de programas que con anterioridad se realizaban en volcados de memoria ahora se hace la forma interactiva suspendiendo la ejecución del proceso momentáneamente mientras se estudia el problema que puede haber aparecido. Los sistemas de tiempo compartido se caracterizan por :

a) Ser muy conversacionales.

b) Atender a varios usuarios simultáneamente.

c) Ofrecer tipos de respuesta relativamente cortas.

d) Mantener una interrogación secuencial de peticiones y de usuarios.

e) Poseer una fuerte gestión de archivos.

f) Utilizar técnicas de buffering y spooling.

g) Gestionar memoria virtual.

j)

TIEMPO REAL.

Es otra modalidad de los S.O. multiprogramados en que se

necesita un tiempo de respuesta pequeño ante cualquier petición.

Suele emplearse en aplicaciones dedicadas a sistemas de control con censores como elementos de entrada, donde es necesaria una respuesta rápida 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.

permite controlar y regulas al medio sobre el que opera. Característica principales del tiempo real: a)

Característica principales del tiempo real:

a) Fuertes restricciones en el tiempo de respuesta.

b) La información debe de estar permanentemente actualizada.

c) El sistema debe permanecer prácticamente inactivo lo mas rápidamente posible cualquier evento en la entrada.

d) Manejo eficaz de interrupciones.

e) Manejo sencillo de prioridades.

f) Gestión de memoria real.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

k) PROCESO DITRIBUIDO. El siguiente paso en la evolución de los S.O. fue el

proceso distribuido que consiste en la conexión de computadoras entre si a través de un gran variedad de dispositivos, existiendo varias unidades entre las que podemos citar la conexión de varias computadoras compartiendo un mismo almacenamiento principal o aquellas que se conectan a una misma red nacional o internacional para el intercambio de información.

o internacional para el intercambio de información. l) MULTIPROCESO. Uno de los problemas actuales en el

l) MULTIPROCESO. Uno de los problemas actuales en el proceso de datos a sido la

aparición de aplicaciones que manejan tal cantidad de información 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 pequeños a demás los algoritmos que manejan estos

datos son muy complicados y necesitan muchas operaciones para la obtención de los resultados.

En este caso las computadoras convencionales no satisfacen las necesidades por lo que se hizo necesaria la descomposición 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 porción de información al mismo tiempo.

Para ello se están 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 simultáneamente y con un ahorro sustancial en el tiempo de ejecución.

En estas computadoras el S.O. realiza un trabajo complejo administrando varios procesadores y distribuyendo la carga de trabajo y optimizar al máximo el Job

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Sistemas Operativos UNIDAD ll.  EL NÚCLEO Y LOS PROCESOS. El núcleo “kernel” de un S.O.

UNIDAD ll.

EL NÚCLEO Y LOS PROCESOS.

El núcleo “kernel” de un S.O. es un conjunto de rutinas cuya misión es la de gestionar el

procesador, la memoria, la e/s y el resto de recursos disponibles en la instalación.

gestión la realiza para atender al funcionamiento, y peticiones de los trabajos que se ejecutan en el sistema.

Toda esta

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 multiprogramación donde se puede

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

ejecutar más de un programa simultáneamente con el fin de aprovechar al máximo los recursos de la computadora.

Un proceso es un programa en ejecución junto con el entorno asociado (registros, variables, etc.)

Registros (PC;SP,

)

Datos en pila (Stack)

Datos en variables

Instrucciones (programa en

ejecución)

Como ya se ha indicado que el corazón de un S.O. Es el núcleo, un programa de control que reacciona Ante cualquier interrupción de eventos externos y que da servicios a los procesos, creándolos, termi- dándolos y respondiendo a cualquier petición de servicios por parte de los mismos.

Modelo: Supongamos que en un determinado momento el mecánico esta realizando una reparación compleja y aparece un vehículo que necesita una reparación de las rápidas, el mecánico suspende momentáneamente la reparación compleja anotando en que situación se queda dicha reparación y que operación estaba realizando en ese momento así mismo sustituye el manual que estaba utilizando por el de la reparación rápida que se dispone a realizar, comienza la nueva reparación, en la que las herramientas no serán las mismas que antes; las indicaciones del usuario, las piezas de repuesto y las indicaciones del manual llevaran a un feliz termino la reparación para que el mecánico vuelva a la reparación 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 utilización, registros, etc. denominad bloque de control de procesos (PCB).

Los objetivos que se pueden cubrir con el PCB son los siguientes:

a) localización de la información sobre el proceso por parte del S.O.

b) Mantener registrados los datos del proceso en caso de tener que suspender temporalmente su ejecución o reanudarla.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

En general la información atendida en el bloque de control es la siguiente:

a)

Estado del proceso: Información relativa al contenido del contador de programas, estado del procesador en cuanto a propiedades del proceso, modo de ejecución, etc. y por ultimo el estado de los recursos internos de la PC.

b)

Estadísticas de tiempo y ocupación de recursos:

Para la gestión de la planificación

del procesador.

c)

Ocupación 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 actualización 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 continuación 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.

PCB’S.

Excepciones Fallas en CPU. Reloj y consola. PCB’S. Interpretaciones. INTSTITUTO TECNOLÓGICO DE LÁZARO

Interpretaciones.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Bloque de control de procesos

Puntero

Numero de procesos.

Estado del proceso.

Prioridad.

Contador de programa.

Ing. Renato Morales Nava

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) cediéndose el control al núcleo 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 núcleo estudia el proceso B esta preparado para su ejecución y si es así realiza el cambio de contexto correspondiente pasando del modo supervisor al modo usuario. A continuación repone el estado del proceso B (en caso de haber sido interrumpido con anterioridad) y por ultimo pone en ejecución el proceso B.

El cambio de contexto se producirá en caso de ejecución de una instrucción privilegiada una llamada al S.O. o una interrupción, es decir siempre que se requiera atención de algún servicio del S.O. en cambio de contexto el núcleo 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.

almacenados en su bloque de control. Programa A. Programa B. . . . . . .

.

.

.

.

.

.

.

.

Salva registros.
Salva registros.
Salva registros.
Salva registros.
Salva registros.
Salva registros.
Salva registros.

Salva registros.

.

.

.

A. Programa B. . . . . . . . . Salva registros. . . .
Carga registros.

Carga registros.

Carga registros.
Carga registros.
Carga registros.
Carga registros.

INTERRUPCION

Cambio

proceso

de

.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Cambio proceso de . INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Salva registros. Ing. Renato Morales Nava
Cambio proceso de . INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Salva registros. Ing. Renato Morales Nava
Cambio proceso de . INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Salva registros. Ing. Renato Morales Nava

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 ejecución independientemente del estado en que se encuentre internamente en el sistema.

Los estados de procesos se pueden dividir en 2 tipos: Activos e Inactivos.

t

r

a

b

a

j

o

s

Cola de trabajos en espera

Cola de trabajos preparados CPU completo Gestor de recurso
Cola de trabajos preparados
CPU
completo
Gestor de recurso

Cola de trabajos bloqueados

completo Gestor de recurso Cola de trabajos bloqueados Gestor de trabajos . . . INTSTITUTO TECNOLÓGICO
Gestor de trabajos
Gestor de trabajos
Gestor de recurso Cola de trabajos bloqueados Gestor de trabajos . . . INTSTITUTO TECNOLÓGICO DE
. . .
.
.
.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

a)

Estados activos:

Son aquellos que compiten por el uso del procesador o están en

condiciones de hacerlo, estos se dividen en:

a-1) Ejecución: 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 están dispuestos para ser ejecutados, pero no están en ejecución por alguna causa. a-3) Bloqueado: Son los procesos que no pueden ejecutarse de momento pro necesitar algún 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:

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.

b-1) Suspendido bloqueado:

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Suspender Suspendido Preparado. preparado. Reanudar Terminación de la e/s o la causa Espera de E/S
Suspender
Suspendido
Preparado.
preparado.
Reanudar
Terminación
de la e/s o la
causa
Espera de
E/S u otra
causa
Ejecución.
Terminación de la
operación de E/S
o la causa
Suspender
Suspendido
Bloqueado.
bloqueado.

Reanuda

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 ejecución: Todo proceso comienza al ser dada la orden de ejecución del programa insertándose este en la cola de procesos preparados, el encolamiento dependerá de la política, la gestión de dicha cola.

b) Paso a estado de ejecución: Cuando el procesador se encuentre inactivo y en la cola de procesos preparados existan alguno en espera de ser ejecutado, se pondrá en ejecución el primero de ellos.

c) Paso a estado bloqueado: Un proceso que se encuentre en ejecución y que solicite una operación a un dispositivo externo, teniendo que esperar a que esta operación finalice, este será pasado de estado de ejecución a estado bloqueado, insertándose su PCB en la cola de procesos bloqueados, a partir de ese momento el procesador pone en ejecución 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:

Orden de ejecución 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 operación de e/s y esta finaliza pasara de la cola de bloqueados a la de preparados. 3) Si esta en ejecución y aparece una interrupción que fuerza al S.O. a ejecutar otro proceso, el primero pasara al estado preparado y su PCB a la cola de preparados.

1)

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

4) Activación, 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) Suspensión de un proceso preparado pasando este de la cola de procesos preparados a la de suspendidos preparados. 2) Suspensión de un proceso en ejecución con lo cual un proceso pasa a la cola de suspendidos preparados. 3) Desbloqueo de un proceso suspendido bloqueado por desaparecer la causa que impedía el ser ejecutado de nuevo.

OPERACIONES SOBRE PROCESOS.

Los sistemas operativos actuales procesan una serie de funciones cuyo objetivo es el de manipulación 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 ejecución 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.
Programa.
+
Ejecutar
Datos.
+
Argumento.

Proceso

Jerárquica: En ella c/proceso que se crea es hijo del proceso creador y hereda el entorno de ejecución de su poder. El primer proceso que ejecuta un usuario será hijo del intérprete de comandos con el que interactúa.

No jerárquica:

c/proceso creado por otro proceso se ejecuta independientemente de su creador que no suele darse en los S.O. actuales

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Proceso A. A.1 A.2 A.3 A.4 A.5
Proceso
A.
A.1
A.2
A.3
A.4
A.5

Proceso Padre.

Procesos Hijos.

Destruir un proceso: Se trata de la orden de eliminación del proceso con la cual el S.O. destruye su PCB.

Suspender un proceso: Es una operación 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 operación consiste en alterar la jerarquía de un proceso, debido a su tiempo de ejecución, recursos, o usuario de su creación.

Temporizar la ejecución 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 características e importancia lleva consigo unas determinadas

necesidades de ejecución en cuanto a urgencia y necesidades de recursos, esto ase

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 según los S.O. se pueden clasificar de la siguiente forma:

que los

Asignados por el S.O: Se tratan de prioridades que son asignadas a un proceso en el momento de comenzar su ejecución y dependen fundamentalmente de los privilegios de su propietario y del modo de ejecución.

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 asignación y de prioridades es muy utilizada en sistemas de tiempo real, ya que algunos de sus procesos necesitan atender rápidamente algún evento sin que tenga que interrumpirse.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

CLASIFICACIÓN

DE

PRIORIDADES

ATENDIENDO

A

LA

POSIBILIDA DE VARIACIÓN DE LAS MISMAS.

Estáticas: No pueden ser modificadas durante la ejecución del proceso, se utiliza en S.O. de tiempo compartido y no en S.O. de tiempo real.

Dinámicas:

Pueden ser modificados con el fin de atender cualquier evento que se

produzca.

Un proceso puede clasificarse en 2 grandes grupos según el uso que

vaya a tener y la forma como se haya construido el código ejecutable de programa estos

grupos son:

Tipos de procesos:

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 código 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 código se encuentra una vez en memoria, siendo utilizado por usuarios cuyos datos particulares están en una zona del disco asignado a c/u de ellos.

CLASIFICACIÓN

DE

PROCESOS

SEGÚN

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.

CLASIFICACIÓN EJECUCIÓN.

DE

LOS

PROCESOS

SEGÚN

SU

FORMA

DE

a) Residentes: Son los que permanecen en memoria todo el tiempo que dure su ejecución.

b) Intercambiable: Son aquellos que pueden se llamados a memoria principal a disco mientras están bloqueados. La memoria principal liberada por ellos pueden ser utilizada por otro proceso que en ese momento la necesite.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

EXEPCIONES.

A lo largo de la ejecución 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 misión es la de tratar el software que controla este tipo de eventos.

Según la gravedad de los eventos que pueden presentarse se establecen 3 categorías de correos:

a) Catastróficos: Son aquellos que imposibilitan el funcionamiento del sistema y no hay modo de recuperarlo, por ejemplo un error en la alimentación del sistema.

Inicio del proceso

Programa. Manejador Inicio del proceso Terminación Programa. Manejador
Programa.
Manejador
Inicio del proceso
Terminación
Programa.
Manejador
Recuperación Lugar de la excepción Fin normal
Recuperación
Lugar de la
excepción
Fin normal

del proceso

Lugar de la excepción

Fin anormal del proceso

b) Recuperables: Son los que con ciertos ajustes permiten que el proceso continué en su ejecución normal, por ejemplo los sistemas que son alimentados con un tipo de carácter diferente al formato de validación.

c) No recuperables: Son los que sin afectar el sistema asen que el proceso no pueda continuar su ejecución.

PLANIFICACIÓN DEL PROCESO.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

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 periférico donde se mantienen para su posterior ejecución. El planificador a largo plazo selecciona los trabajos de este conjunto y los carga en la memoria para su ejecución.

Planificador a corto plazo: O planificador de CPU. selecciona entre los trabajos en memoria cuales están listos para su ejecución y asigna el CPU a uno de ellos.

La distinción básica entre estos 2 planificadores es la frecuencia de su ejecución.

Planificador a mediano plazo: Es el encargado de eliminar procesos de memoria y reducir el grado de multiprogramación, 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 haciéndole salir de la memoria y lo vuelve a entrar mas tarde.

Intercambio. Descarga. Proceso previamente ejecutados descargados. CPU Cola de preparados. E/S Cola de espera de
Intercambio.
Descarga.
Proceso previamente ejecutados
descargados.
CPU
Cola de preparados.
E/S
Cola de
espera de e/s

FIN

OBJETIVOS.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Las políticas de planificación intentan cubrir los siguientes objetivos:

a) Justicia: La política debe de ser lo mas justa posible con todo tipo de procesos sin favorecer a algunos ni perjudicar a otros.

b) Máxima capacidad de ejecución: Debe de dar un servicio aceptable para que todos los trabajos se realicen lo mas rápidamente posible, esto se logra disminuyendo el numero de cambios de procesos.

c) Máximo numero de usuarios interactivos: En los sistemas de tiempo compartido se tratara que puedan estar trabajando el mayor número de usuarios simultáneamente.

d) Predecibilidad: La política de planificación debe de concebirse de tal forma que en todo momento pueda saberse como será su ejecución.

e) Minimización 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 estén ocupados equitativamente el mayor tiempo posible.

g) Seguridad de las prioridades: Si un proceso tiene mayor prioridad que otro esta debe de respetarse, ejecutándose mas rápido que la anterior.

CRITERIOS

Los criterios que se deben de tener en cuenta a la hora de elegir o diseñar un algoritmo de planificación son los siguientes:

a) Tiempo de respuesta: Velocidad con que el ordenador da respuesta a una petición 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 ejecución en el procesador y el tiempo consumido en operaciones de e/s.

c) Tiempo de ejecución: Es idéntico al tiempo de servicio menos el tiempo teórico que necesitaría 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 están 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 ejecución simultánea de varios procesos “Máximo” en una unidad de tiempo.

MEDIDAS.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Para estudiar el comportamiento de las distintas políticas 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 (ejecución)

a) tf = tiempo que el proceso termina su ejecución.

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 ejecución respecto al tiempo de vida del mismo en el sistema. En caso de que solo exista un proceso ejecutándose en el sistema según en el valor de índice de servicio podemos decir que:

1)

Cuando I sean próximo a 1 el P esta limitado por proceso

2)

Cuando I sea próximo 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 serán las medidas que nos reflejan el verdadero comportamiento del sistema, estas medidas son las siguientes:

Tiempo medio de servicio.

Tiempo medio de espera.

Eficiencia.

Además de las anteriores en la planificación del procesador suelen emplearse otras 2 medidas del interés que son:

a) Tiempo del núcleo: Es el tiempo consumido por el núcleo del S.O. para tomar las decisiones de planificación 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 vacía y por tanto no puede realizar ningún trabajo productivo.

Unidad 3

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

ALGORITMOS DE PLANIFICACIÓN

La planificación 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 planificación que operan de manera diferente, los cuales describiremos a continuación. Al tiempo que discutimos los distintos algoritmos de planificación del cpu queremos ilustrar su modo de operar, una ilustración precisa implicaría considerar muchos trabajos, constituido c/u de ellos en varios cientos de ráfagas 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 ejecución en unidades de tiempo representativos, a la realidad. Las políticas de planificación 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 políticas utilizaremos los siguientes datos:

N. Proceso

T. llegada

T Ejecución

Prioridad

A 0

 

3

0

B 1

 

5

1

C 4

 

2

0

D 5

 

6

2

E 8

 

4

1

2 0 D 5   6 2 E 8   4 1  FIFO (Primero en

FIFO (Primero en llegar primero en salir)

En esta política de planificación el procesador ejecuta cada proceso hasta que termina, por tanto los procesos que entren en cola de procesos preparados permanecerán encolados en el

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

orden en que lleguen hasta que les toque su ejecución, se trata de una política muy simple y sencilla de llevar a la practica, pero muy pobre en cuanto a su comportamiento. A continuación se realizaran los cálculos para dicho algoritmo.

Cola de preparados

E D C B A
E
D
C
B
A

Procesador

Fin de la

Cola de preparados E D C B A Procesador Fin de la Ejecución N. Proceso T.

Ejecución

N. Proceso

T. llegada

T Ejecución

T. Entrada

T. Salida

T

E

I

A 0

 

3

0

3

3

0

1

B 1

 

5

3

8

7

2

0.71

C 4

 

2

8

10

6

4

0.33

D 5

 

6

10

16

11

5

0.54

E 8

 

4

16

20

12

8

0.33

 

Media.

7.8

3.8

.58

20 12 8 0.33   Media. 7.8 3.8 .58 CARACTERISTICAS a). Es propiativa b). Es justa

CARACTERISTICAS

a). Es propiativa b). Es justa aunque los procesos largos hacen esperar mucho a los cortos c). Es una política predecible d). El tiempo medio de servicio es muy variable en función del numero de procesos y su duración.

SJN (el siguiente es el mas corto)

Es una política de planificación apropiativa que trata de incubrir algunos objetivos y criterios de los sistemas operativos. Esta operación toma de la cola de procesos preparados al trabajo

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

que necesite menos tiempo de ejecución para ello debe de saber el tiempo de procesador que necesita cada proceso, lo cual no estaría nada fácil pero posible a través de diversos métodos, como puede ser la información suministrada por el propio usuario, por el propio programa, basándose en la historia anterior. En esta política el tiempo de servicio es bueno para los procesos cortos perjudicando a los procesos largos.

N. Proceso

T. llegada

T Ejecución

T. Entrada

T. Salida

T

E

I

A 0

 

3

0

3

3

0

1

B 1

 

5

3

8

7

2

0.71

C 4

 

2

8

10

6

4

0.33

D 5

 

6

14

20

15

9

0.4

E 8

 

4

10

14

6

2

0.67

 

Media

7.4

3.4

0.62

14 6 2 0.67   Media 7.4 3.4 0.62 CARACTERISTICAS: a). Es apropiativo b). El tiempo

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 planificación

SRT (próximo proceso el de tiempo restante más corto)

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Es una mezcla de los métodos anteriores para ellos esta técnica cambia el proceso que esta en ejecución cuando se ejecuta un proceso con una exigencia de tiempo de ejecución 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 mayoría de los proceso, consigue una buena eficiencia ya que logra que la lista de procesos preparados sea lo mas corta posible, esta política es no apropiativa.

N. Proceso

T. llegada

T Ejecución

T. Entrada

T.Restante.

T. Salida

T

E

I

A 0

 

3

0

0

3

3

0

1

B 1

 

5

3-6

4-0

4-10

9

4

0.55

C 4

 

2

4

0

6

2

0

1

D 5

 

6

14

0

20

15

9

0.4

E 8

 

4

10

0

14

6

2

0.66

 

Media.

7

3

0.72

14 6 2 0.66   Media. 7 3 0.72 CARACTERISTICAS: a). es una variante del SJN

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 TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Esta política cuya traducción podría ser asignación cíclica, o planificación 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 ejecución 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, concediéndose el procesador al siguiente proceso por su correspondiente quantum. Esta interrupción periódica continúa hasta que el proceso termine su ejecución, formando una rueda de procesos que serán ejecutados cíclicamente hasta que termine. La gestión 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 según su prioridad variando el parámetro “q” logramos tener diferentes comportamientos de esta política de tal forma que si “q” es mayor que el tiempo que necesita para su ejecución el proceso mas largo, se convertirá en una políticas 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” varían 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
A
C
C
B
B
 

Procesa

A dor  
A
A
A

dor

 

Apropiación

Fin de la ejecución.

A dor   Apropiación Fin de la ejecución. Si un proceso finaliza durante sui quantum, inmediatamente

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 ejecución en el mismo momento que un quantum finaliza, se supondrá que dicho proceso a llegado a la cola de proceso preparados antes de la finalización del mencionado quantum.

N. Proceso

T. llegada

T Ejecución

T. Entrada

T. Salida

T

E

I

A 0

 

3

0

5

5

2

0.6

B 1

 

5

1

13

12

7

0.41

C 4

 

2

5

9

5

3

0.4

D 5

 

6

7

20

15

9

0.4

E 8

 

4

10

18

10

6

0.4

 

Media.

9.4

5.4

0.44

Round Robin.

E

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

D

  Media. 9.4 5.4 0.44 Round Robin. E INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales

Sistemas Operativos

PRIORIDAD DE TIPO APROPIATIVO

En esta política 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 asignación de dichas prioridades, la prioridad de dicha política es el bloqueo o postergación 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 están en espera de utilizar el procesador.

N. Proceso

T. llegada

T Ejecución

T. Entrada

T. Salida

T

E

I

Prioridad

A 0

 

3

0

3

3

0

1

0

B 1

 

5

3

8

7

2

0.7

1

C 4

 

2

8

10

6

4

0.33

0

D 5

 

6

14

20

15

9

0.4

2

E 8

 

4

10

14

6

2

0.66

1

 

Media.

7.4

3.4

0.61

 

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

POLITICA DE TIPO NO APROPIATIVO.

N. Proceso

T. llegada

T Ejecución

T. Entrada

T.Restante.

T. Salida

T

E

I

Prioridad

A 0

 

3

0

0

3

3

0

1

0

B 1

 

5

3-6

4-0

4-10

9

4

0.55

1

C 4

 

2

4

0

6

2

0

1

0

D 5

 

6

14

0

20

15

9

0.4

2

E 8

 

4

10

0

14

6

2

0.66

1

 

Media.

7

3

0.72

 
2 0.66 1   Media. 7 3 0.72    EXAMEN. N. Proceso T. llegada T

EXAMEN.

N. Proceso

T. llegada

T Ejecución

T. Entrada

T. Salida

T

E

I

A

0

0.9

0

0.9

0.9

0

1

B

0.2

0.6

0.9

1.5

1.3

0.7

0.46

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

C 0.4

0.2

1.5

1.7

1.3

1.1

0.15

D 0.5

0.5

1.7

2.2

1.7

1.2

0.29

E 0.8

0.7

2.2

2.9

2.1

1.4

0.33

F 1.0

0.1

2.9

3

2

1.9

0.05

G 1.3

0.2

3

3.2

1.9

1.7

0.10

 

Media.

1.6

1.14

0.34

1.9 1.7 0.10   Media. 1.6 1.14 0.34 N. Proceso T. llegada T Ejecución T. Entrada

N. Proceso

T. llegada

T Ejecución

T. Entrada

T. Salida

T

E

I

A 0

 

0.9

0

0.9

0.9

0

1

 

B 0.2

0.6

1.9

2.5

2.3

1.7

0.26

 

C 0.4

0.2

0.9

1.1

0.7

0.5

0.28

 

D 0.5

0.5

1.2

1.7

1.2

0.7

0.41

 

E 0.8

0.7

2.5

3.2

2.4

1.7

0.29

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

F 1.0

0.1

1.1

1.2

0.2

0.1

0.5

G 1.3

0.2

1.7

1.9

0.6

0.4

0.33

 

Media

1.18

0.72

0.43

0.6 0.4 0.33   Media 1.18 0.72 0.43 N. Proceso T. llegada T Ejecución T. Entrada

N. Proceso

T. llegada

T Ejecución

T. Entrada

T.Restante.

T. Salida

T

E

I

A 0

 

0.9

0 1.8

0.7-0

0.2-2.5

2.5

1.6

0.36

 

B 0.2

0.6

0.2-0.6

0.4-0

0.4-1.0

0.8

0.2

0.75

 

C 0.4

0.2

0.4

0

0.6

0.2

0

1

 

D 0.5

0.5

1.1-1.5

0.3-0

1.3-1.8

1.3

0.8

0.38

 

E 0.8

0.7

2.5

0

3.2

2.4

1.7

0.29

 

F 1.0

0.1

1.0

0

1.1

0.1

0

1

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

G

1.3

0.2

1.3

0

1.5

0.2

0

1

 

Media.

1.071

0.61

0.68

0.2 0 1   Media. 1.071 0.61 0.68 N. Proceso T. llegada T Ejecución T. Entrada

N. Proceso

T. llegada

T Ejecución

T. Entrada

T. Salida

T

E

I

Prioridad

A 0

 

0.9

0

0.9

0.9

0

1

1

 

B 0.2

0.6

0.9

1.5

1.3

0.7

0.46

0

 

C 0.4

0.2

2.9

3.1

2.7

2.5

0.07

3

 

D 0.5

0.5

2.4

2.9

2.4

1.9

0.20

2

 

E 0.8

0.7

1.5

2.2

1.4

0.7

0.5

0

 

F 1.0

0.1

3.1

3.2

2.2

2.1

0.045

4

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

G

1.3

0.2

2.2

2.4

1.1

0.9

0.18

1

 

Media.

1.71

1.25

0.35

 
1   Media. 1.71 1.25 0.35   N. T. T T. T.Restante T. T E I

N.

T.

T

T.

T.Restante

T.

T

E

I

Prioridad

Proceso

llegada

Ejecución

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 TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

F

1

0.1

 

3.1 0

3.2

2.2

2.1

0.04

4

G

1.3

0.2

 

2.2 0

2.4

1.1

0.9

0.18

1

 

Media.

1.7

1.24

0.41

 
0.18 1   Media. 1.7 1.24 0.41   Q = 0.1 N. T. T T. T.Restante

Q = 0.1

N.

T.

T

T.

T.Restante

T.

T

E

I

Proceso

llegada

Ejecución

Entrada

Salida

A

0

0.9

0

0

2.9

2.9

2

0.31

B

0.2

0.6

0.2

0

2.5

2.3

1.5

0.26

C

0.4

0.2

0.5

0

1

0.6

0.4

0.33

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

D

0.5

0.5

0.7

0

2.8

2.3 1.8

 

0.21

E

1.8

0.7

1.1

0

3.2

2.4 1.7

 

0.29

F

1

0.1

1.4

0

1.5

0.5 0.4

 

0.2

G

1.3

0.2

1.7

0

2.3

1

0.8

0.2

 

Media.

1.71

1.25

0.25

1 0.8 0.2   Media. 1.71 1.25 0.25 Unidad 4  COLAS MULTIPLES Cuando los procesos

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 planificación

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

para darle a cada una de ellas la que realmente necesite. Esta política divide la cola de procesos preparados en varias colas separadas de manera que los procesos se asignan a una determinada cola según 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 planificación entre las colas que normalmente es apropiativo y de prioridad fija.

colas que normalmente es apropiativo y de prioridad fija.  COLAS MULTIPLES CON RETROALIMENTACIÓN Para dar

COLAS MULTIPLES CON RETROALIMENTACIÓN

Para dar un trato justo a los procesos es necesario conocer previamente todos sus parámetros característicos , longitud si están limitados por e/s o por procesador, la memoria que va a necesitar ,etc., como estos datos no suelen ser reconocidos, es difícil determinar el trato que debe recibir cada proceso. Después de analizar las políticas anteriores es fácil 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 método de colas múltiples con retroalimentación divide los procesos en varias colas de procesos preparados; cola 0, cola 1, cola 2, y así sucesivamente de manera que las de numeración mas baja tendrán asignadas mayor prioridad.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Sistemas Operativos  ALGORITMO FB Cuando el nuevo proceso que esta haciendo uso del procesador finaliza

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 algún proceso. Una vez que un proceso haya consumido el quantum de su cola un determinado número de veces, sin haber finalizado su ejecución, será colocado al final del nivel inmediatamente superior al anterior.

La política FB intenta dar trato justo a los procesos por medio de separación de los mismos en categorías, para así darles el servicio que necesitan. Los procesos limitados por procesador irán a las colas de menor prioridad (NIVEL MAS ALTO), mientras que los de mayor prioridad serán aquellos procesos muy interactivos.

Las características de esta política 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.

 

T.

         

PROCESO

LLEGADA

T.EJEC.

ENTRA

T. SALE

T. RESTA

T

E

I

A

0 3

   

0 11

0

11

8

0.27

B

1 5

   

1 18

0

17

12

0.29

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

 

C 4

2

4

7

0

3

1

0.67

D 5

 

6

5

20

0

15

9

0.4

 

E 8

4

8

17

0

9

5

0.49

 

MEDIAS

11

7

0.41

CUANTUM = 1

F E D C B A 1 2 3 4 5 6 7 8 9
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

Multiprogramación (simultanea)

Multiproceso (paralelismo)

Proceso distribuido (Internet)

c). Paralelismo . Es la ejecución de diversas actividades de manera idéntica en varios procesadores, si solo existiese un solo procesador le llamaríamos seudo-paralelismo esto nos haría simular que se cuenta con mas de un procesador.

d). Concurrencia. Es la existencia de varias actividades ejecutándose simultáneamente y necesita sincronizarse para actuar conjuntamente, se trata en este caso de un concepto lógico ya que solo se hace referencia a las actividades sin importar el número de procesadores presentes.

Ejemplo: si un programa se esta ejecutando y se encuentra grabando datos en un archivo y otro programa también en ejecución esta leyendo datos de ese mismo archivo, si existe concurrencia entre ellos, el funcionamiento de uno interfiere en el otro.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

e). Exclusión 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 información obtenida por el segundo proceso seria inconsistente, para evitar esta situación, se debe sincronizar los procesos de manera que uno este escribiendo, ningún 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 sincronización entre procesos: puede darse el caso de que escribir este actualizando un registro y se quede a medias, sorprendiéndole 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 serán inconsistentes.

b). Con sincronización entre procesos. supongamos algún mecanismo que prohíba la lectura a cualquier proceso mientras el proceso de escribir este realizando alguna operación, en este caso el proceso leer al hacer uso del procesador y solicitar una operación 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 terminaría su trabajo sobre el registro en el siguiente cambio leer procedería a hacer el suyo. Esta sincronización por la cual una actividad impide que otras puedan tener acceso a un dato mientras se encuentra realizando una operación del mismo es lo que se conoce como exclusión mutua. La zona de código de un proceso que no puede ser interrumpida por otro por los motivos anteriormente expuestos se denomina sesión critica.

SINCRONIZACION

Si una actividad desea impedir que otra acceda a ciertos datos compartidos mientras no se emplee una determinada condición, debemos sincronizar las actividades en dicha condición. Por tanto la sincronización es un elemento necesario para asignar la exclusión mutua. los algoritmos que se han diseñado para este fin se clasifican en 3 categorías:

a) Espera activa. Son aquellos algoritmos que basan todo su funcionamiento en establecer la espera de estado o la sucesión critica con un bucle que sea roto en el momento en que se cumple una determinada condición. Se llaman de espera activos por que el proceso no queda bloqueado durante su ejecución si no que están compitiendo por el procesador constantemente. Por este motivo estos algoritmos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

sobrecargan el sistema innecesariamente.

1) Espera con mutex. Algoritmo que utiliza switch (mutex) a través del cual se produce la sincronización.

2) Alternancia. Ligeramente mejor que el anterior. Utiliza también una variable turno para realizar el sincronismo entre los procesos.

Algoritmo de DEKKER. Resuelve el problema mediante la solución propuesta por DEKKER basando su funcionamiento en una tabla unidimensional de dos elementos lógicos.

3)

b) Espera no activa. Son los algoritmos que establecen la espera para estar en la sección critica bloqueado el proceso haciendo que deje de competir por el procesador hasta que se emplea la condición de desbloqueo. Entre los algoritmos mencionaremos los siguientes:

1) Semáforo. 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 año de 1965 se diseño un mecanismo basado en otra variable entera utilizada como contador de petición de entrada a una sección critica, esta variable es compartida por todos los procesos del sistema esta variable se denomina semáforo 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 sección 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 críticas. Son sistemas que permiten establecer protecciones contra una mala utilización de los usuarios, para ellos solo permiten que los datos compartidos puedan acceder desde determinadas regiones quedando transparentes desde el resto. Tiene pequeños inconvenientes relacionados con la sincronización y no permite que varias actividades puedan realizar operaciones de lectura simultánea.

3) Regiones criticas condicionales. Consiste en una mejora del método anterior tratando de resolver algunos problemas de sincronización 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 método de sincronización 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 exclusión mutua, sin necesidad de que el programador tenga que suministrarla explícitamente.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

Se basa en dos premisas: la primera es la abstracción de datos consistentemente en una técnica capas de superar las operaciones a ejecutar sobre los datos, de los detalles de diseño propio de los mismos.

La segunda es que realizan la exclusión 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 estarán forzados a utilizar dichas funciones.

5) Contadores de evento. Es un mecanismo para sincronizar actividades sin que sea necesario forzar la exclusión 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 misión es contar determinadas operaciones.

6) Mensajes. Es un mecanismo que permite a los procesos intercambiar aquella información que sea necesaria durante el desarrollo normal de su ejecución. Por tanto es más un mecanismo de cooperación que de sincronización. Esta cooperación se realiza por medio de mensajes que se envían 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 envía un mensaje a otro deposita la información en la zona de memoria compartida y el receptor lo lee posteriormente. En este sistema las directrices de envío y recuperación establecen una sincronización entre los procesos al tener que esperar por dichos mensajes, antes de continuar con su ejecución.

Existen dos tipos de comunicación entre procesos:

Directa. Los procesos envían 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 través de buzones de correo con este método 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 análogo al paso de parámetros en una llamada a otra rutina o procesamiento si unimos los conceptos de manejo y paso de mensaje y paso de parámetros tendremos lo que se conoce como rutinas o procedimientos remotos, efectuándose una copia del mismo cada vez que son ejecutados siendo dicha ejecución concurrente. Este tipo de interacción asegura que hasta que un proceso no termine determinadas operaciones, el siguiente permanezca en espera.

8) Rendez- Vous. Es la culminación de todos los mecanismos anteriores tratándose de una ligera modificación de métodos 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 más versatilidad y potencia. Este método se ha llevado a la práctica con el lenguaje ADA.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

c) Mecanismos de hardware. Son instrucciones hardware que aseguran la exclusión 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 interrupción estando deshabilitada, el reconocimiento y el tratamiento de la nueva interrupción se retendrán hasta que se habiliten de nuevo las interrupciones, por este medio se puede forzar la exclusión mutua deshabilitando las interrupciones mientras exista una actividad en la sección critica. De este modo dicha actividad no podrá ser interrumpida y por tanto no se podrá producir ningún cambio de proceso. Normalmente la desh habilitación y nueva habilitación de las interrupciones suele hacerse con una instrucción maquina, por lo que resulta ser una operación muy rápida.

Instruction Test - And Set. Muchas de las computadoras actuales suministran una

instrucción maquina denominada, test and set, cuya misión es la de forzar la exclusión mutua. La ventaja de este mecanismo es que no puede ser interrumpida por ser una instrucción hardware y el inconveniente es que no son muchas las computadoras que la poseen. Esta instrucción po si sola no basta para asegurar la exclusión mutua por lo que tendremos que basarnos en ella para construir los denominados lock. 3) lock. Se basa en la instrucción anterior y su cometido es permitir el acceso a la sección crítica a un proceso en caso de no existir otra actividad dentro de su

2)

sección crítica no permitiéndolo en caso contrario. En este caso el número de actividades y de procesadores compartiendo memoria principal puede ser cualquiera y además son mecanismos simples y fáciles de probar y depurar.

INTERBLOQUEO

En la teoría de los S.O. se puede definir como la situación de un conjunto de procesos en un estado de espera tal que ninguno de ellos tiene suficientes criterios para continuar su ejecución.

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 información; 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 TECNOLÓGICO DE LÁZARO CÁRDENAS

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 también 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 están en espera ninguno de ellos seria el primero en introducir el suceso deseado y por tanto permanecerán 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 idénticos 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 través 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 postergación indefinida, en cualquier sistema que existan procesos en espera por operaciones y las decisiones de planificación del s.o. , es posible que un determinado proceso quede esperando indefinidamente por el recurso deseado, mientras otros reciben la atención del sistema, esta situación se conoce como postergación 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) exclusión mutua. existencia al menos de un recurso compartido por los procesos al cual solo puede acceder uno simultáneamente.

b) Posesión y espera. Debe de existir algún proceso detenga asignado algún recurso y este esperando a que le se le asignen otros que están siendo utilizados por otros procesos.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava

Sistemas Operativos

c) No apropiación. Los recursos no pueden ser apropiados por los procesos, es decir los recursos solo podrán ser liberados momentáneamente por sus propietarios.

d) Espera circular. Si existen varios procesos p1, p2, p3…pn, 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 categorías 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 operación es bastante improbable, y la solución 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 podría presentar tal situación.

c) Evitar. Se puede evitar los posibles ínter bloqueos siempre y cuando tengamos disponibles cierta información sobre los recursos que necesita cada proceso por adelantado, para evitar el ínter bloqueo se ha estudiado diversos métodos 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 características 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 fácil será recuperarlo d-3) tipo de recursos utilizados. Si los recursos son muy críticos 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 suspensión / reanulación. Se eliminara antes aquellos procesos cuyo trabajo perdido sea fácil de recuperar.

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS

Ing. Renato Morales Nava