Documente Academic
Documente Profesional
Documente Cultură
Materia:
Sistemas Operativos
Especialidad:
Ing. Sistemas computacionales
Grupo: IS-B
Horario: 09:00-10:00
Alumno:
Julin Ramrez Luis Gerardo
Profesora:
Valverde Jarqun Reyna
Tercer Semestre
Unidad I
Carpeta de evidencias
CONTENIDO
Tabla de ilustraciones
INTRODUCCIN A LOS SISTEMAS OPERATIVOS
ILUSTRACIN 1: SISTEMAS OPERATIVOS: ........................................................................................... 6
ILUSTRACIN 2: RELACIN DE DISPOSITIVOS ..................................................................................... 8
ILUSTRACIN 3: PRIMERA COMPUTADORA ENIAC............................................................................. 9
ILUSTRACIN 4: TRANSISTORES ........................................................................................................ 10
ILUSTRACIN 5: PRIMER CIRCUITO INTEGRADO .............................................................................. 11
ILUSTRACIN 6: PRIMER ORDENADOR PERSONAL 1981 .................................................................. 12
ILUSTRACIN 7: SPOOLING ............................................................................................................... 13
ILUSTRACIN 8: MULTIPROGRAMACIN ............................................................................. 14
ILUSTRACIN 9: SISTEMA DE TIEMPO COMPARTIDO ....................................................................... 15
ILUSTRACIN 10:SISTEMAS DISTRIBUIDOS ....................................................................................... 17
ILUSTRACIN 11: SISTEMAS DE TIEMPO REAL .................................................................................. 18
ILUSTRACIN 12: SISTEMAS DE RED ................................................................................................. 19
ILUSTRACIN 13: NIVELES EN UN SISTEMA OPERATIVO .................................................................. 24
ADMINISTRACIN DE PROCESOS Y DEL PROCESADOR
ILUSTRACIN 1: ESTADO DE UN PROCESO EN LINUX ....................................................................... 32
ILUSTRACIN 2: TRANSICIONES DE ESTADO DE LOS PROCESOS ..................................................... 33
ILUSTRACIN 3: PCB.......................................................................................................................... 34
ILUSTRACIN 4: DIAGRAMA QUE MUESTRA LA CONMUTACIN DE CPU DE UN PROCESO A OTRO35
ILUSTRACIN 5: PROCESOS LIGEROS ................................................................................................ 36
ILUSTRACIN 6: DIAGRAMA DE COLAS DE LA PLANIFICACIN DE PROCESOS ................................ 37
ILUSTRACIN 7: TIPO MONITOR ....................................................................................................... 45
ILUSTRACIN 8: TIPO MANAGER ...................................................................................................... 45
ILUSTRACIN 9: TIPO MEDIADOR ..................................................................................................... 46
ILUSTRACIN 10: TIPO GLADIADOR .................................................................................................. 46
ILUSTRACIN 11: INTERBLOQUEO DEADLOCK ................................................................................. 47
ILUSTRACIN 12: ALGORITMO FIFO ................................................................................................. 55
ILUSTRACIN 13: ALGORITMO SJF .................................................................................................... 56
ILUSTRACIN 14: ALGORITMO RR .................................................................................................... 57
ILUSTRACIN 15: ALGORITMO DE COLAS MULTINIVELES ................................................................ 58
ILUSTRACIN 16: DIAGRAMA DE COLAS MULTINIVELES RETROALIMENTACION ............................. 59
Introduccin
Un Sistema operativo es un programa que administra el hardware de una
computadora, sin el S. O el hardware solo sera un montn de fierro. Tambin
proporciona las bases para los programas de aplicacin, y acta como intermediario
entre el usuario y el hardware. Estas tareas, pueden ser llevadas a cabo de varias
formas, lo que permite que algunos sistemas Operativos se diseen para ser
prcticos, otros eficientes y otros para ser ambas cosas. Dado que un sistema
operativo es un software grande y complejo, debe crearse pieza por pieza.
A lo largo del tema, se hablara de la historia, evolucin, clasificacin y estructura de
los
sistemas
operativos.
Veremos que no slo Microsoft tiene la exclusiva de los sistemas operativos
en el mundo; tambin Linux y Mac OS, entre otros, son utilizados en
muchos ordenadores, tanto a nivel de usuario como de empresa y de profesional a
utnomo.
1.1Definicin y concepto
Un sistema operativo es un conjunto de programas de un sistema informtico que
gestiona los recursos de hardware entre los diversos programas de aplicacin de
los distintos usuarios. Comienza a trabajar cuando se enciende el computador, y
gestiona el hardware de la mquina desde los niveles ms bsicos, permitiendo
tambin la interaccin con el usuario.
Un sistema operativo se puede encontrar normalmente en la mayora de los
aparatos electrnicos que utilicen microprocesadores para funcionar, ya que gracias
a estos podemos entender la mquina y que sta cumpla con sus funciones
(telfonos mviles, reproductores de DVD y computadoras)
En general, no existe una definicin perfecta de sistema operativo. El objetivo
fundamental de los computadores es ejecutar los programas del usuario y facilitar
la resolucin de los problemas de los usuarios.
Objetivos:
Comodidad: Los sistemas operativos existen porque se supone que es ms fcil
realizar tareas de cmputo con ellos que sin ellos.
Eficiencia: permite que los recursos de un sistema informtico se aprovechen de
manera ms eficiente.
Capacidad de evolucin se debe de crear el desarrollo efectivo, edificacin y la
introduccin de nuevas soluciones en los sistemas.
Ilustracin 1: Sistemas Operativos:
1.2Funciones y caractersticas
Funciones de los sistemas operativos.
1.- Aceptar todos los trabajos y conservarlos hasta su finalizacin.
2.- Interpretacin de comandos: Interpreta los comandos que permiten al usuario
comunicarse con el ordenador.
3.- Control de recursos: Coordina y manipula el hardware de la computadora, como
la memoria, las impresoras, las unidades de disco, el teclado o el Mouse.
4.- Manejo de dispositivos de E/S: Organiza los archivos en diversos dispositivos de
almacenamiento, como discos flexibles, discos duros, discos compactos o cintas
magnticas.
5.- Manejo de errores: Gestiona los errores de hardware y la prdida de datos.
6.- Secuencia de tareas: El sistema operativo debe administrar la manera en que se
reparten los procesos. Definir el orden. (Quien va primero y quien despus).
7.- Proteccin: Evitar que las acciones de un usuario afecten el trabajo que est
realizando otro usuario.
8.- Multiacceso: Un usuario se puede conectar a otra mquina sin tener que estar
cerca de ella.
9.- Contabilidad de recursos: establece el costo que se le cobra a un usuario por
utilizar determinados recursos.
1.3Evolucion histrica
Primera generacin (1945-1955) Bulbos y conexiones.
Despus de los esfuerzos infructuosos de Babbage, hubo poco progreso en la
construccin de las computadoras digitales, hasta la Segunda Guerra Mundial. A
mitad de la dcada de los 40's, Howard Aiken, John Von Newman, J. Prespe R.
Eckert y Williams Mauchley, as como Conrad Zuse, entre otros lograron construir
mquinas de clculo mediante bulbos. Estas mquinas eran enormes y llenaban
cuartos completos con decenas de miles de bulbos, siendo estas muy lentas.
En los aos 40, se introducen los programas bit a bit, por medio de interruptores
mecnicos y toda la programacin se llevaba a cabo en lenguaje de maquina
absoluto y con frecuencia se utilizaban conexiones para controlar las funciones
bsicas de la mquina. Los lenguajes de programacin eran desconocidos al igual
que los Sistemas Operativos. El modo usual de operacin consista en que el
programador reservaba cierto periodo, iba al cuarto de la mquina, insertaba su
conexin a la computadora y pasaba unas horas esperando que ninguno de los
20,000 o ms bulbos se quemara durante la ejecucin. La inmensa mayora de los
problemas eran clculos numricos directos.
A principios de los aos 50 los sistemas operativos aparecen con el fin de facilitar
la interaccin entre programador y maquina con conceptos como:
Procesamiento por lotes: agrupaba los trabajos en lotes en una misma cinta
o conjunto de tarjetas de forma que se ejecutara uno a continuacin de otro sin
perder apenas tiempo en la transicin.
Tercera generacin
multiprogramacin.
(1965-1980):
Circuitos
integrados
1.4 Clasificacin
Sistemas por lotes sencillos
El sistema operativo en los primeros computadores era sencillo ya que estos eran
enormes maquinas que se controlaban a travs de una consola. Los dispositivos de
entrada eran lectores de tarjetas, unidades de cinta y los de salida eran impresoras
de lnea, unidades de cinta y perforadoras de tarjetas. Su principal obligacin era
transferir el control automticamente de un trabajo al siguiente. El sistema operativo
siempre estaba en la memoria. Se caracteriza por la falta de interaccin entre el
usuario y el trabajo que se est ejecutando.
A fin de agilizar el procesamiento, los programas con necesidades similares se
agrupaban en lotes y se introducan en el computador como un grupo, cuando el
computador quedaba disponible, ejecutaba cada lote. Entre la presentacin de un
trabajo y su terminacin conocido como tiempo de retorno, ocasiona retardos antes
de que el S. O empiece a procesar otro trabajo, por lo que la CPU con frecuencia
est ociosa. Esta inactividad se debe a la diferencia de velocidad entre la CPU y los
dispositivos de E/S.
La introduccin de la tecnologa de discos ha sido til a este problema y dio lugar a
la operacin perifrica simultnea en lnea (Spooling) que consiste en que las
tarjetas pueden leerse del lector al disco. El disco se utiliza como buffer de gran
tamao, para leer por adelantado hasta donde sea posible de los dispositivos de
entrada, y para guardar los archivos de salida hasta que los dispositivos de salida
puedan aceptarlos.
Ilustracin 7: Spooling
Ilustracin 8: Multiprogramacin
Ejemplos de sistemas por lotes : SCOPE, del DC6600, EXEC II para el UNIVAC
1107, GM-NAA I/O, Fortran Monitor Sistem y el IBSYS
Sistemas Paralelos
Tales sistemas tienen ms de un procesador en comunicacin, los cuales
comparten el bus del computador, el reloj y a veces la memoria y los dispositivos
perifricos. Decimos que estos sistemas estn fuertemente acoplados. Una ventaja
es el aumento en el rendimiento. Los multiprocesadores tambin pueden ahorrar
dinero en comparacin con varios sistemas con un solo procesador, porque los
procesadores pueden compartir perifricos, gabinetes y fuentes de potencia. Otra
ventaja es la confiabilidad, ya que si uno de los n procesadores falla no detendr el
sistema, solo lo har ms lento ya que los procesadores que no han fallado debern
asumir una porcin de trabajo del que fallo, a esto se le denomina degradacin
gradual .
Los sistemas de mltiple procesador pueden ser multiprocesamiento simtrico, en
el que cada procesador ejecuta una copia idntica del sistema operativo, y estas
copias se comunican entre s cuando es necesario. Otros utilizan el asimtrico, en
el que a cada procesador se asigna una tarea especfica. Un procesador maestro
controla el sistema; los dems procesadores obtienen sus instrucciones del maestro
o bien tienen tareas predefinidas.
Ejemplos: Encore de UNIX para el computador multimax, sunOs versin 4 y versin
5.
Sistemas distribuidos
Se dice que los sistemas estn dbilmente acoplados o distribuidos cuando el
sistema se distribuye entre varios procesadores que no comparten la memoria ni el
reloj. En vez de ello, cada procesador tiene su propia memoria local. Los
procesadores se comunican entre s a travs de diversas lneas de comunicacin.
Hay diversas razones para construir sistemas distribuidos, siendo las principales:
Recursos Compartidos. Si varios sitios distintos se conectan entre s, un usuario de
un sitio podra aprovechar los recursos disponibles en otro.
Computacin ms rpida. Se utiliza la carga compartida que es cuando un sitio esta
sobrecargado de trabajos, estos se pueden trasferir a otros sitios con menos carga.
Confiabilidad: si un sitio de un sistema distribuido falla los sitios restantes podran
seguir funcionando.
Comunicacin: Hay muchos casos en los que los programas necesitan intercambiar
datos con otros programas del mismo sistema. Si muchos sitios estn conectados
a travs de una red de comunicaciones, los procesos de diferentes sitios tienen la
oportunidad de intercambiar informacin.
1.6 Ncleo.
El Ncleo del Sistema Operativo.
Todas las operaciones en las que participan procesos son controladas por la parte
del sistema operativo denominada ncleo (nucleus, core o kernel, en ingls). El
ncleo normalmente representa slo una pequea parte de lo que por lo general se
piensa que es todo el sistema operativo, pero es tal vez el cdigo que ms se utiliza.
Por esta razn, el ncleo reside por lo regular en la memoria principal, mientras que
otras partes del sistema operativo son cargadas en la memoria principal slo cuando
se necesitan.
Los ncleos se disean para realizar "el mnimo" posible de procesamiento en cada
interrupcin y dejar que el resto lo realice el proceso apropiado del sistema, que
puede operar mientras el ncleo se habilita para atender otras interrupciones.
La estructura general del nucleo se divide en 3 niveles:
1 Nivel Ncleo. Gestin bsica de procesos: planificacin a corto plazo, cambio de
contexto. Primitivas de sincronizacin. Gestin de E/S y tiempo, rutinas de atencin.
2 Nivel del Sistema Bsico de Ficheros, BFS. Sistema bsico de ficheros: ubicacin
en
disco, directorios. Rutinas de E/S, servidores de dispositivos.
3 Nivel Sistema. Implementacin de las llamadas al sistema; independencia del
dispositivo (tablas de canales); gestin de buffers para acceso a ficheros; carga,
ejecucin y finalizacin de procesos.
Ilustracin 13: Niveles en un sistema operativo
Manejo de interrupciones.
Despacho.
Sincronizacin de procesos.
Conclusin
Luego de haber investigado y analizado, el sistema operativo se crea como producto
de una necesidad para mejorar la codificacin de tareas en los aos cuarenta. Antes
las operaciones se hacan manualmente. El sistema operativo es esencial en
nuestros equipos informticos ya que es una parte fundamental para el
funcionamiento del equipo y sin l no se podra realizar accin o actividad alguna,
se puede encontrar en la mayora de los aparatos electrnicos que utilizan
microprocesadores para funcionar. Ya que nos ayuda a crear una interfaz entre
nosotros y el equipo, y el equipo con sus componentes. Se puede ver que se han
desarrollado varios tipos de sistemas operativos con diferentes interfaces y
categoras, los sistemas han sufrido cambios por parte de los programadores, los
sistemas operativos evolucionaron a la par con la arquitectura de los computadores,
a travs de cuatro generaciones donde alcanzaron un mejoramiento y efectividad
en su desempeo. Los sistemas operativos son programas esenciales para el
funcionamiento eficaz de las tareas, programas y aplicaciones proporcionando una
interfaz cada vez ms agradable a la vista del usuario.
Bibliografa
Galvin, A. S. (s.f.). Sistemas Operativos. 5ta Edicin.
Lafuente, A. (Febrero 2006). Ncleo de un Sistema.
Fuentes bibliogrficas:
http://www.aeromental.com/ (Lafuente, Febrero 2006) (Lafuente, Febrero 2006)
(Lafuente, Febrero 2006)2006/08/16/evolucin-de-los-sistemas-operativos/
http://sistemasoperativos.angelfire.com/html/1.3.html
http://manuelpereiragonzalez.blogspot.mx/2009/10/historia-de-la-informatica-lossistemas.html
http://es.slideshare.net/juanitobanana0102/sistemas-operativos-41005779
Materia:
Sistemas Operativos
Especialidad:
Ing. Sistemas computacionales
Grupo: IS-B
Horario: 09:00-10:00
Alumno:
Julin Ramrez Luis Gerardo
Profesora:
Valverde Jarqun Reyna
Tercer Semestre
Unidad II
Carpeta de evidencias
INTRODUCCIN
El presente trabajo de investigacin se pretende dar a conocer la forma en que se
realizan los procesos en el procesador, entre ellos se encuentran la concurrencia
entre procesos, la forma de planificacin de los procesos, los tipos de interbloqueo
y las tcnicas de administracin de procesos.
La gestin de procesos es la tarea fundamental de cualquier sistema operativo
moderno. El sistema operativo debe asignar recursos a los procesos, permitir el
intercambio de informacin entre los mismos, proteger los recursos de un proceso
del resto y facilitar la sincronizacin de procesos. Para alcanzar estos objetivos, el
sistema operativo mantiene una estructura de datos para cada proceso que describe
su estado y los recursos que posee y que permite al sistema operativo imponer un
control sobre los procesos (PCB Bloque de Control de Proceso). En un
monoprocesador multiprogramado, debe intercalarse en el tiempo, la ejecucin de
mltiples procesos. En un multiprocesador, no slo puede intercalarse la ejecucin
sino que los procesos se pueden ejecutar simultneamente. Ambos, intercalacin y
ejecucin simultnea, son formas de concurrencia y llevan a una multitud de
problemas complejos, tanto para el programador de aplicaciones como para el
sistema operativo. El sistema operativo debe llevar a cabo la funcin de planificar y
ofrecer mecanismos para compartir y sincronizar procesos.
Esto vara en los sistemas multihilo, donde el proceso consta de uno o ms hilos,
de memoria de trabajo e informacin de planificacin. Cada hilo consta de
instrucciones y estado de ejecucin.
Los procesos son creados y destruidos por el sistema operativo, as como de la
comunicacin entre procesos a peticin de otros procesos. El mecanismo por el cual
un proceso crea otro proceso se denomina bifurcacin. Los nuevos procesos
pueden no compartir el espacio de memoria con el proceso que los ha creado o ser
creados en el mismo espacio de memoria.
Transiciones de estados
Cuando el trabajo es admitido se crea un proceso equivalente y se inserta en la
ltima parte de la cola de listos. Cuando el proceso pasa de un estado a otro se le
conoce como transicin de estado.
Admitido: Nuevo Listo
Cuando un proceso se ha creado y se le permite competir por la CPU.
Despacho: Listo en ejecucin
La asignacin de la CPU al primer proceso de la lista de listos es llamada despacho
y es ejecutado por la entidad de sistema llamada despachador. Mientras que el
proceso tenga la CPU se dice que est en ejecucin.
2.3.1 PLANIFICADORES
Un proceso migra a diferentes colas de planificacin durante su existencia, el sistema
operativo debe seleccionar los procesos de esta cola de un modo u otro. Es aqu que un
planificador apropiado se encarga de este proceso.
Existen dos planificadores en el caso de un sistema operativo por lotes cuando hay
procesos que se ejecutan inmediatamente , estos procesos son colocados en Spool en un
dispositivo de almacenamiento y esperan a que sean ejecutados, el primer planificador que
es el de largo plazo que escoge los procesos de esta reserva, los carga ala memoria y los
ejecuta. El segundo planificador es el de corto plazo, que escoge los procesos listos para
ejecutarse y le asigna la CPU a uno de ellos.
En general los procesos pueden describirse como limitados por E/S o por la CPU.
El proceso limitado por E/S dedica la mayor parte de si tiempo a operaciones de E/S y no
a clculo, al contrario que con el proceso limitado por la CPU que dedica la mayor parte de
su tiempo a realizar clculos.
El planificador a largo plazo puede estar ausente, como es el caso de los sistemas de
tiempo compartido, que se limitan a colocar los procesos en la memoria para el planificador
a mediano plazo. Adems, de que estos sistemas pueden crear una cola intermedia. La
idea de este planificador es que a veces resulta mejor sacar un proceso de la memoria para
reducir la multiprogramacin. Entonces el mismo proceso en algn momento se
reintroducir a la memoria y continuara su ejecucin donde se qued, esto se le conoce
como swapping o intercambio.
En general, la concurrencia ser aparente siempre que el nmero de procesos sea mayor
que el de procesadores disponibles, es decir, cuando haya ms de un proceso por
procesador. La concurrencia ser real cuando haya un proceso por procesador. Aunque
puede parecer que la intercalacin y la superposicin de la ejecucin de procesos presentan
formas de ejecucin distintas, se ver que ambas pueden contemplase como ejemplos de
procesos concurrentes.
As como existen las razones que motivan la ejecucin de procesos concurrentes, tambin
existen sus contras:
Los procesos que ejecutan de forma concurrente en un sistema se pueden clasificar como:
Procesos son cooperantes: Son aquellos que estn diseados para trabajar
conjuntamente en alguna actividad, para lo que deben ser capaces de comunicarse
e interactuar entre ellos.
Los puntos de entrada de un recurso indican la cantidad de procesos que pueden utilizar
simultneamente al mismo. Si un recurso tiene slo un punto de entrada, se lo denomina
recurso crtico o recurso no compartible.
1. Debe cumplirse la exclusin mutua: slo un proceso de entre todos los que poseen
secciones crticas por el mismo recurso u objeto compartido, debe tener permiso para entrar
en ella en un instante dado.
2. Un proceso que se interrumpe en una seccin no crtica debe hacerlo sin estorbar a los
otros. Es decir que si se cuelga un proceso que est usando un recurso, los dems procesos
que esperan deben poder acceder al recurso de todas formas (el S.O. mata al proceso que
se colg y as libera al recurso).
3. No se puede demorar indefinidamente la entrada de un proceso a un cierto recurso; no
debe permitirse el interbloqueo y la inanicin. Todos los procesos deben poder acceder al
recurso que solicitan, sino se van a morir sin usarlo y no es justo.
4. Cuando ningn proceso est en su seccin crtica, cualquier proceso que solicite entrar
en la suya debe poder hacerlo sin dilatacin. Es decir, si nadie est usando un cierto
recurso, entonces se le otorga al primer proceso que lo solicite.
5. No se pueden hacer suposiciones sobre la velocidad relativa de los procesos o su nmero
(cantidad de procesadores). Nunca se puede saber a priori si a un proceso le falta mucho
o poco para terminar.
6. Un proceso permanece en su seccin crtica slo por un tiempo finito. Esto sirve para
evitar que un proceso se quede con un recurso por mucho tiempo y para que un recurso no
se quede trabado sin sentido.
a. sncrona: los dos procesos han de ejecutar servicios de forma simultnea. El emisor ha
de ejecutar el servicio enviar mientras el receptor ejecuta recibir.
b. asncrona: el emisor hace el envo y prosigue su ejecucin. El SO ofrece un
almacenamiento intermedio para guardar la informacin enviada, hasta que el receptor la
solicite.
2.4.2.1 MECANISMO DE SEMAFOROS
Un semforo es un mecanismo de comunicacin con el cual no se mueven datos, puesto
que solo se puede consultar y modificar su valor al tener un carcter puramente informativo.
Dijkstra define un semforo como una variable entera positiva o nula sobre la que slo se
pueden realizar dos operaciones: wait (tambin denominada P) y signal (tambin
denominada V). La operacin wait decrementa el valor del semforo siempre que ste tenga
un valor mayor que 0; por lo tanto esta operacin se utiliza para adquirir el semforo o para
bloquearlo en el caso de que valga 0. La operacin signal incrementa el valor del semforo
y por tanto se utiliza para liberarlo o inicializarlo.
Ambas operaciones deben ser atmicas para que funcionen correctamente; es decir que
una operacin wait no puede ser interrumpida por otra operacin wait o signal sobre el
mismo semforo, y lo mismo ocurre para la operacin signal. Este hecho garantiza que
cuando varios procesos compitan por la adquisicin de un semforo, slo uno de ellos va a
poder realizar la operacin.
Adems, se ha de indicar que este mecanismo memoriza las peticiones de operaciones
wait no satisfechas y despierta por tanto a los procesos en espera.
Es una solucin sencilla y elegante del problema de la exclusin mutua. Esta tcnica
permite solucionar la mayora de los problemas de sincronizacin entre procesos. Un
semforo binario es un indicador de condicin (s) que registra si un registro est disponible
o no. Un semforo slo puede tomar dos valores; 0 y 1. Si para un semforo, S=1 el recurso
est disponible y la tarea lo puede utilizar; si S=0 el recurso no est disponible y el proceso
debe esperar.
Los semforos se implementan mediante una cola de tareas a la que se aaden los
procesos que estn en espera del recurso. Solo se permiten tres operaciones sobre un
semforo:
1. Inicializa (s: Semforo_Binario; v: integer) -- > poner el valor del semforo s al valor de v
(0,1).
2. Espera (wait)(s) if s = 1 then s: = 0 else Suspender la tarea que hace la llamada y ponerla
en la cola de tareas.
3. Seal (signal)(s) if cola de tareas vaca then s : = 1 else Reanudar la primera tarea de la
cola tareas.
Tipos De Monitores
Monitor tipo monitor
Este monitor fue implementado en Pascal Concurrente, lenguaje desarrollado por Per
Brinch Hansen. Es el monitor ms simple de todos pues solo tiene tres estados y las
funciones internas son muy sencillas. Una caracterstica distintiva de este monitor es que
el proceso que reinicia a otros debe salir del monitor, es decir abandona el estado activo.
El diagrama de estados de este monitor esta dado en la siguiente figura.
Consumibles
Un recurso consumible es aqul que puede ser creado (producido) y destruido (consumido).
Normalmente, no hay lmite en el nmero de recursos consumibles de un tipo en particular.
Un proceso productor que no est bloqueado puede liberar cualquier nmero de recursos
consumibles. Cuando un proceso adquiere un recurso, ste deja de existir. Como ejemplos
de recursos consumibles estn las interrupciones, seales, mensajes, e informacin en
buffers de E/S.
Prevencin
Los bloqueos mutuos pueden prevenirse asegurando que no suceda alguna de las
condiciones necesarias vistas anteriormente.
Eliminando la exclusin mutua: ningn proceso puede tener acceso exclusivo a un recurso.
Esto es imposible para procesos que no pueden ser encolados (puestos en un Spool), e
incluso con colas tambin pueden ocurrir interbloqueos.
La condicin de retencin y espera puede ser eliminada haciendo que los procesos pidan
todos los recursos que van a necesitar antes de empezar. Este conocimiento por
adelantado muchas veces es imposible nuevamente. Otra forma es requerir a los procesos
liberar todos sus recursos antes de pedir todos los recursos que necesitan. Esto tambin
es imprctico en general.
La condicin de no expropiacin puede ser tambin imposible de eliminar dado que un
proceso debe poder tener un recurso por un cierto tiempo o el procesamiento puede quedar
inconsistente.
La condicin de espera circular es la ms fcil de atacar. Se le permite a un proceso poseer
slo un recurso en un determinado momento, o una jerarqua puede ser impuesta de modo
tal que los ciclos de espera no sean posibles.
Algunas de estas cantidades son ms fciles de medir que otras. El tiempo restante
estimado deja lugar a dudas, especialmente. Adems, aparte de las medidas de prioridad,
no existe otra indicacin del coste para el usuario frente al coste para el sistema en
conjunto.
2.6.1 FIFO
FIFO: First In First Out
Mecanismo de scheduling en el cual los procesos se ordenan en una fila, en la cual se
ejecutan cada uno de los procesos hasta su finalizacin secuencialmente. Es
tremendamente ineficiente.
Cuando se tiene que elegir a qu proceso asignar la CPU se escoge al que llevara ms
tiempo listo. El proceso se mantiene en la CPU hasta que se bloquea voluntariamente.
Para implementar el algoritmo slo se necesita mantener una cola con los procesos listos
ordenada por tiempo de llegada. Cuando un proceso pasa de bloqueado a listo se sita el
ltimo de la cola.
2.6.2 SJF
Al igual que en el algoritmo FIFO las rfagas se ejecutan sin interrupcin, por tanto, slo es
til para entornos batch. Su caracterstica es que cuando se activa el planificador, ste elige
la rfaga de menor duracin. Es decir, introduce una nocin de prioridad entre rfagas.
Hay que recordar que en los entornos batch se pueden hacer estimaciones del tiempo de
ejecucin de los procesos
Nota: Es una disciplina no apropiativa y por lo tanto no recomendable en ambientes del
tiempo compartido. El proceso en espera con el menor tiempo estimado de ejecucin hasta
su terminacin es el siguiente en ejecutarse. Los tiempos promedio de espera son menores
que con FIFO.
Una vez que un proceso ejecuta no deja de hacerlo hasta que voluntariamente cambia de
estado (no hay interrupcin por tiempo). Asocia a cada proceso el tiempo de CPU que habr
de usar en su prxima vuelta y va a decidir por el ms pequeo.
2.6.3 RR
Cada proceso tiene asignado un intervalo de tiempo de ejecucin, llamado cuantum o
cuanto. Si el proceso agota su cuantum de tiempo, se elige a otro proceso para ocupar la
CPU. Si el proceso se bloquea o termina antes de agotar su cuantum tambin se alterna el
uso de la CPU.
El round robin es muy fcil de implementar. Todo lo que necesita el planificador es mantener
una lista de los procesos listos.
2.6.4 QUEVESMULTILEVEL
Un algoritmo de planificacin multinivel particiona la cola de listos en colas
separadas. Se asignan en forma permanente los trabajos a una cola, generalmente,
basndose en alguna propiedad del mismo (requerimientos de memoria, tipo de
trabajo), teniendo cada cola su propio algoritmo. Por ejemplo, la cola interactiva
podra planificarse usando RR y la batch FIFO.
Ningn trabajo en una cola de baja prioridad puede ejecutarse si las colas con mayor
prioridad no estn vacas. Si algn trabajo entra en una cola de mayor prioridad, el
trabajo de otras colas es interrumpido.
CONCLUSIN
BIBLIOGRAFA
FUENTES BIBLIOGRFICAS:
http://ac.itdurango.mx/acreditacion/4Proceso_E_A/LI/Evidencias/4.5%20M%E9tod
os%20de%20Ense%F1anza/APUNTES%20DEL%20MAESTRO/Sistemas%20Op
erativos/ApuntesU2_SistemasOperativosISC.pdf