manual de sistemas operativos

51
Sistemas Operativos INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava 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:

Upload: isi-carrillo

Post on 05-Dec-2014

54 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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:

Page 2: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

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) Procesador.

b) Memoria.

c) Dispositivos de E / S.

d) Información.

Programa de aplicación.

Traductores.

Sistemas operativos.

Hardware.

Programador.

Diseñador.

Usuario. Diseñador de

traductores.

Page 3: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

S.O. como gestor

de recursos.

JOBS

E/S

Memoria.

Información

Page 4: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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 conjunto de personas, maquinas y cosas que ordenadamente relacionadas entre

si contribuyen a lograr un determinado objetivo.

Operativo 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.

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:

Hardware

Usuario Aplicación

S. O.

Page 5: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

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

Page 6: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

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.

Page 7: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

Page 8: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

ON – LINE

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.

Page 9: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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)

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.

Page 10: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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) MULTIPROGRAMACIÓN. 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.

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.

Page 11: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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)

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 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.

Page 12: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

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

Page 13: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

Page 14: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

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.

Page 15: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

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

Page 16: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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. Toda esta

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

Page 17: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.)

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.

Registros (PC;SP,...)

Datos en pila (Stack)

Datos en variables

Instrucciones (programa en

ejecución)

Page 18: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

Bloque de control de procesos

Excepciones

Fallas en CPU.

Reloj y consola.

PCB’S.

Interpretaciones.

Puntero

Numero de procesos.

Estado del proceso.

Prioridad.

Contador de programa.

Limite de memoria.

Page 19: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

.

. .

. .

. .

.

.

.

.

INTERRUPCION

.

Cambio de

proceso

Salva registros.

Carga registros.

Salva registros.

Page 20: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

.

.

.

. .

. .

. .

.

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.

Cola de trabajos en espera

Cola de trabajos preparados

.....

t

r completo

a . Gestor de trabajos

b .

a .

j

o Gestor de recurso

s

Cola de trabajos bloqueados

CPU

Page 21: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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:

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.

Page 22: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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:

1) 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.

Preparado. Suspendido

preparado.

Ejecución.

Bloqueado. Suspendido

bloqueado.

Terminación

de la e/s o la

causa

Suspender

Reanudar

Terminación de la

operación de E/S

o la causa

Suspender

Reanuda

r

Espera de

E/S u otra

causa

Page 23: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

+

Ejecutar

+

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

Programa.

Datos.

Argumento.

Proceso

.

Page 24: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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 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 según

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 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.

A.2

A.1

A.3 A.4 A.5

Proceso

A.

Page 25: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

Tipos de procesos: 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:

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 DE LOS PROCESOS SEGÚN SU FORMA DE

EJECUCIÓN.

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.

Page 26: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

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.

Programa.

Programa.

Manejador.

Manejador.

Inicio del proceso

Lugar de la

excepción

Fin normal

del proceso

Lugar de la

excepción Inicio del proceso

Terminación

Fin anormal del

proceso

Recuperación

Page 27: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

OBJETIVOS.

Intercambio. Descarga.

FIN

Proceso previamente ejecutados

descargados.

CPU

Cola de preparados.

E/S Cola de

espera de e/s

Page 28: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

Page 29: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

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

Tiempo de servicio

T= tf - t

Tiempo de espera

E = T - t

Tiempo de servicio

I = t / T

Page 30: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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

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

Page 31: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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

Fin de la

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

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

E D C B A Procesador

Page 32: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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

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)

Page 33: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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

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

Page 34: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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. Fin de la ejecución.

Apropiación

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

D

C

A Procesa

dor B C A

Page 35: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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

Page 36: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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

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

Page 37: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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

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

Page 38: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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

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

Page 39: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

G 1.3 0.2 1.3 0 1.5 0.2 0 1

Media. 1.071 0.61 0.68

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

Page 40: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

G 1.3 0.2 2.2 2.4 1.1 0.9 0.18 1

Media. 1.71 1.25 0.35

N. Proceso

T. llegada

T Ejecución

T. Entrada

T.Restante T. Salida

T E I Prioridad

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

Page 41: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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

Q = 0.1

N. Proceso

T. llegada

T Ejecución

T. Entrada

T.Restante T. Salida

T E I

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

Page 42: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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

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

Page 43: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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 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.

Page 44: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

PROCESO

T.

LLEGADA T.EJEC.

T.

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

Page 45: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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 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.

Page 46: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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

Page 47: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

3) 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.

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.

Page 48: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

Page 49: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

2) 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

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:

Page 50: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.

Page 51: Manual de Sistemas Operativos

Sistemas Operativos

INTSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS Ing. Renato Morales Nava

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.