Escolar Documentos
Profissional Documentos
Cultura Documentos
OBJETIVOS
Identificar las funciones principales
de un Sistema operativo.
Identificar las distintos sistemas
operativos comerciales
Realizar aplicaciones prcticas usando
los distintos comandos del sistema
operativo.
CONTENIDOS
Qu es un SO.
Funciones de un SO.
Gestin de procesos.
Gestin de memoria
Gestin de archivos
Gestin de E/S.
Informtica industrial
Sistemas operativos
3.1 INTRODUCCIN
Los sistemas operativos son una materia fundamental en el estudio de la informtica. Todo
usuario de un ordenador pasar una buena parte de su tiempo dialogando con la mquina a travs
de comandos, utilidades o software de un determinado sistema operativo.
La evolucin continua de los ordenadores supuso, ya desde las primeras generaciones de los
mismos, un aumento de complejidad en la lgica de su funcionamiento. con el fin de conseguir un
uso ms racional y un mejor aprovechamiento de la capacidad de los ordenadores, se desarrollaron
una serie de programas, intermediarios entre hombre y mquina, que constituyen el software
funcional o sistema operativo del ordenador.
Un sistema operativo es, por tanto, un programa que acta como una interfaz entre el usuario
de un ordenador y el hardware del mismo, ofreciendo el entorno necesario para que el usuario pueda
ejecutar programas. por tanto el sistema operativo se carga en memoria al arrancar el ordenador y se
mantiene ejecutndose hasta que la mquina se apaga. En este sentido, su principal cometido es
facilitar el uso del sistema informtico, siendo su objetivo secundario permitir la utilizacin del
hardware del computador en modo eficiente. As pues, un Sistema Operativo es el soporte lgico que
controla el funcionamiento del equipo fsico, la eficiencia, fiabilidad, facilidad de mantenimiento, y un
pequeo tamao seran las caractersticas deseables de este software.
El sistema operativo es una parte importante de todo sistema informtico que engloba a:
:
67
Informtica industrial
Sistemas operativos
Para lograr estos objetivos el SO debe realizar las tareas o servicios siguientes:
68
Informtica industrial
Sistemas operativos
Informtica industrial
Sistemas operativos
Operaciones offline
Buffering
Spuling
Informtica industrial
Sistemas operativos
Buffering
Una forma de mejorar el tiempo que se pierde en los procesos de carga de las cintas es
utilizar una memoria intermedia, denominada buffer, donde la cinta va grabando datos hasta que se
llena, volcndose stos en la memoria de una vez y mientras 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. La misin de las tcnicas de buffering es mantener tanto el procesador como los
dispositivos de E/S ocupados el mayor tiempo posible. Esto se logra solapando la E/S de un trabajo
con el procesamiento del mismo.
El buffering es complicado. Uno de los problemas reside en detectar tan pronto como sea
posible que un dispositivo de E/S ha acabado una operacin. La operacin de E/S que le siga
nicamente podr iniciarse cuando la previa haya finalizado. Este problema se resuelve mediante las
interrupciones.
Tan pronto como un dispositivo de E/S acaba una operacin, interrumpe a la CPU. Entonces
detiene lo que est haciendo e inmediatamente transfiere el control a la rutina de servicio de las
interrupciones.
La rutina de servicio de la interrupcin comprueba si el buffer est lleno (para un dispositivo
de entrada) o si no esta vaco (para un dispositivo de salida) e inicia la siguiente peticin de E/S. De
esta manera, los dispositivos de E/S y la
CPU puede trabajar a pleno rendimiento.
Por otro lado, si el dispositivo de E/S es muy
rpido, de tal forma que produce la
informacin en menos tiempo que pueda
tratarla el procesador, el buffering no
reportara ninguna ventaja; por eso
aparecieron las tcnicas de Acceso Directo a
Memoria (DMA), para evitar la intervencin
del procesador en este tipo de operaciones
de carga.
Spooling
Con la aparicin del disco magntico como dispositivo de almacenamiento masivo de
informacin con acceso directo, desapareci el problema que representaban las cintas magnticas,
ya que slo podan ser escritas despus de ser ledas por completo, requiriendo adems un
tratamiento secuencial desde su principio hasta su final, mientras que los discos pueden ser ledos y
escritos simultneamente y en cualquier punto de su superficie.
La tcnica del spooling (Simultaneous Peripheral Operation On-line) utiliza el disco como un
buffer muy grande, para leer tan por delante como sea posible, de los dispositivos de entrada y para
almacenar los ficheros de salida hasta que los dispositivos de salida sean capaces de aceptarlos.
La ventaja del spooling sobre el buffering es que el spooling solapa la E/S de un trabajo con
la computacin de otros. Incluso en un sistema sencillo, el spooling puede estar leyendo la entrada
de un trabajo mientras imprime la salida de otro diferente. El buffering nicamente puede simultanear
la E/S de un trabajo con su propia computacin.
Un sistema de SPOOL se podra ver como una cola de archivos en espera de que llegue su
turno para ser impresos, grabados en una cinta, etc. La gestin de la cola (la planificacin de
trabajos) puede ser del tipo primero en llegar-primero en salir, en funcin de la prioridad de cada
trabajo, en funcin de la longitud, etc.
71
Informtica industrial
Sistemas operativos
El acceso al procesador deber seguir algn tipo de reglas para que todos los
posibles trabajos que lleguen puedan ser ejecutados.
La memoria ha de ser compartida por todos los trabajos, ya que necesitarn residir
en ella al mismo tiempo para poder ser ejecutados, por ello se hace necesario algn
tipo de administracin de la misma.
72
Informtica industrial
Sistemas operativos
73
Informtica industrial
Sistemas operativos
1 LSI (Large Scale Integration): A esta escala pertenecen todos aquellos integrados que contienen ms de 100 puertas lgicas
(lo cual conlleva unos 1000 componentes integrados individualmente), hasta las mil puertas.
VLSI: (Very Large Scale Integration) de 1000 a 10000 puertas por circuito integrado
74
Informtica industrial
Sistemas operativos
Monousuarios : Soportan un usuario a la vez sin importar los procesadores que tengan la
computadora o los procesos y tareas que el usuario puede realizar al mismo tiempo.
Multiusuario : Ofrece servicio a ms de un usuario a la vez ya sea por medio de terminales
o secciones remotas en un red. No importa la cantidad de procesadores que tenga la
maquina ni la cantidad de procesos que se realicen a la vez.
Monotareas : Permite una tarea a la vez por usuario. Aunque hallar ms de un usuario a la
vez solo permitir una tarea por usuario.
Multitareas : Permite al usuario realizar varias tareas a la misma vez.
Uniproseso : Maneja solamente un procesador de la computadora. Si tuviera ms de uno
seria intil.
Multiproceso : Puede manejar ms de un procesador distribuyendo la carga asimtrica y
simtrica.
75
Informtica industrial
Sistemas operativos
Sistemas en cluster
Estos utilizan mltiples CPU, pero se diferencian de los sistemas multiprocesador en que un
sistema en cluster est formado por dos o ms sistemas individuales acoplados, compartiendo
almacenamiento a travs de una red LAN. Se suelen usar para proporcionar un servicio de alta
disponibilidad, es decir, que funcione incluso si uno o ms sistemas fallan.
Un cluster se puede estructurar de varias formas: cluster asimtrico (una mquina est en
modo de espera mientras otra ejecuta las aplicaciones, monitorizndola, si dicho servidor falla, el
host en espera pasa a ser el servidor activo) y cluster simtrico (dos o ms hosts ejecutan
aplicaciones y se monitorizan entre s, obviamente es ms eficiente), cluster en paralelo (permite que
varios hosts accedan a los mismos datos) y clusters conectados a una red de rea extensa. Otros
son los clusters de base de datos (donde docenas de hosts pueden compartir la misma base de
datos, incrementando el rendimiento y la fiabilidad).
3.5 TENDENCIAS ACTUALES Y FUTURAS DE LOS SISTEMAS OPERATIVOS
Se ha progresado mucho en el desarrollo de los sistemas operativos. Estos progresos han
sido paralelos a la aparicin de nuevas tecnologas y de nuevos algoritmos para las tareas de los
sistemas operativos. Teniendo en cuenta todo esto, los sistemas operativos tendern a adoptar las
siguientes caractersticas:
Microncleos.
76
Informtica industrial
Sistemas operativos
77
Informtica industrial
Sistemas operativos
gestin de memoria,
control de entrada/salida,
gestin de almacenamiento masivo,
asignacin de recursos y planificacin
proteccin.
El ncleo
El ncleo descansa directamente sobre el hardware de la computadora y proporciona una
serie de servicios a las capas superiores del sistema. Entre sus tareas se incluye:
Manejar interrupciones
Asignar trabajo al procesador
Proporcionar una va de comunicacin entre los distintos procesos.
Una interrupcin es un suceso externo que provoca que el programa activo se detenga. Las
interrupciones se generan mediante una o ms lneas de interrupcin, que forman parte de los buses
que conectan al procesador con los dispositivos perifricos. Cuando se produce una interrupcin, se
salva el contexto del programa interrumpido y se transfiere el control a una rutina de control de
interrupciones que forma parte del sistema operativo. Cuando se solvente la interrupcin, se contina
con la ejecucin del programa interrumpido.
Las causas ms comunes de las interrupciones incluyen los procesos de
entrada/salida,deteccin de un error en un programa o que el programa excediera el lmite de tiempo
que tiene asignado.
Teniendo en cuenta lo anterior, y de nuevo tal y como vimos en el punto 3 de este tema en
clasificacin de los sistemas operativos segn su estructura,se considera la organizacin interna de
los S. O. y conforme a ella se los clasifica de la siguiente manera :
Sistemas monolticos
Sistemas con capas o jerrquica:
Mquinas virtuales
Modelo cliente - servidor
Sistemas monolticos
Es la arquitectura ms simple para un S.O. Este
sistema contiene todas las rutinas y funcionalidades
disponibles ( sistema de archivos, manejo de drivers,
gestin de memoria y CPU, etc.) juntos dentro de un
gran programa o ncleo.
Su principal desventaja radica en que, debido a
que todos los componentes del ncleo tienen acceso a
78
Informtica industrial
Sistemas operativos
todas las estructuras y rutinas internas, un error o un vulnerabilidad de seguridad puede expandirse y
afectar a todo el ncleo.
Diseo por Capas
En esta arquitectura, el S.O. se divide en una
jerarqua de capas, donde cada capa solamente utiliza
los servicios de la capa inferior y se enfoca en ofrecerle
una interfaz clara y bien definida a la capa superior. En
cada capa se encapsulan funciones especficas, as
cada capa se encarga de una funcin individual del
sistema operativo. Su principal ventaja radica en poseer
un diseo mucho ms modular, seguro y escalable que
el monoltico.
Diseo Cliente-Servidor
En este modelo, lo nico que hace el ncleo es controlar la comunicacin entre los clientes y
los servidores. Al separar el sistema operativo en partes, cada una de ellas controla una faceta del
sistema, como el servicio a archivos, servicios a procesos, servicio a terminales o servicio a la
memoria, cada parte es pequea y controlable. Adems como todos los servidores se ejecutan como
procesos en modo usuario y no en modo ncleo, no tienen acceso directo al hardware. En
consecuencia si hay un error en el servidor de archivos, ste puede fallar, pero esto no afectar en
general a toda la mquina.
Mquinas Virtuales
mediante software, se proporciona a los
programas la emulacin de un sistema que nos interesa
reproducir. El sistema emulado puede ser una mquina,
un sistema operativo, una red de computadores El
software emulador traduce las peticiones hechas a la
mquina virtual en operaciones sobre la mquina real.
Se pueden ejecutar varias mquinas virtuales al mismo
tiempo (ej.: mediante tiempo compartido). Los recursos
reales se reparten entre las distintas mquinas
virtuales.
79
Informtica industrial
Sistemas operativos
UNIX
Mac OS X
Es un sistema operativo desarrollado y comercializado por Appple Inc que ha sido incluido en su
gama de computadoras Macintosh desde 2002. Es el sucesor del Mac OS 9 (la versin final del Mac
OS Classic), el sistema operativo de Apple desde 1984. Est basado en UNIX y se construy sobre
las tecnologas desarrolladas en Next entre la segunda mitad de los 80's y finales de 1996, cuando
Apple adquiri esta compaa. Desde la versin Mac OS X 10.5 Leopard para procesadores Intel el
sistema tiene la certificacin UNIX 03.
Mac OS X es la dcima versin del sistema operativo de Apple para computadores
Macintosh. Las versiones previas usaron una numeracin, p.e. Mac OS 8 y Mac OS 9. La letra X en
el nombre Mac OS X se refiere al 10 en nmeros romanos. Por tal motivo, la pronunciacin correcta
es diez en este contexto, aunque pronunciarlo como equis es muy comn. El centro del Mac OS
X es compatible con POSIX construido sobre el ncleo XNU con facilidades UNIX disponibles en la
interfaz de lnea e comandos (terminal). Apple liber esta familia de software como un sistema
operativo libre y de cdigo abierto, bajo el nombre de Darwin, pero parcialmente se fue volviendo
cdigo cerrad. Sobre Darwin, Apple coloc varios componentes, incluyendo la interfaz de usuario
Aqua y el Finder para completar la interfaz en la que estaba basado Mac OS X.
Mac OS X introdujo un buen nmero de nuevas funciones para proveer una plataforma ms
viable y estable que su predecesora, el Mac OS 9. Por ejemplo, la multitarea preventiva y la memoria
protegida mejoraron la habilidad del sistema para ejecutar mltiples aplicaciones simultneamente
sin interrupciones. Muchos aspectos de la arquitectura del Mac OS X se derivan de OpenStep, el cual
fue diseado para ser portable, con el objetivo de facilitar la transicin de una plataforma a otra. Por
ejemplo, Nextstep fue portado de estaciones de trabajo Next basadas en procesadores 68 K a x86 y
otras arquitecturas antes de que NeXT fuese adquirido por Apple, y OpenStep fue luego portado a la
arquitectura PowerPC como parte del proyecto Rhapsody
80
Informtica industrial
Sistemas operativos
El cambio ms visible fue la inclusin de la interfaz Aqua. La misma haca uso de bordes
suaves, colores translucidos y rayas -similar al diseo del hardware de los primeros iMac- trajo ms
textura y color a la interfaz de usuario al ser comparado con el OS 9 o el OS X Server 1.0. Hubo
recepciones encontradas respecto a la nueva interfaz. Bruce Tognazzini (quien fund el Apple
Human Interface Group inicial) afirm que la interfaz Aqua en Mac OS X v10.0 represent un paso
atrs en la usabilidad comparado con la interfaz original del Mac OS. Mientras tanto, John Siracusa,
uno de los editores de Ars Technica, dijo que la introduccin de Aqua y su salida del entonces
convencional look fue un tremendo xito. A pesar la controversia por la nueva interfaz, los
desarrolladores de aplicaciones comenzaron a producir pieles para aplicaciones personalizadas para
Mac y otros sistemas operativos que imitaban a Aqua.
GNU/Linux
es uno de los trminos empleados para referirse a la combinacin del ncleo o Kerne libre similar a
Unix denominado Linux, que es usado con herramientas del sistema GNU. Su desarrollo es uno de
los ejemplos ms prominentes de software libre ; todo su cdigo fuente puede ser utilizado,
modificado y redistribuido libremente por cualquiera bajo los trminos de la GPL (Licencia Pblica
General de GNU en ingls: General Public License) y otra serie de licencias libres.
Distribuciones de Linux
Linux es un ncleo de sistema operativo libre tipo Unix. Es uno de los
principales ejemplos de software libre. Linux est licenciado bajo la GPL v2 y
est desarrollado por colaboradores de todo el mundo. El desarrollo del da a
da tiene lugar en la Linux Kernel Mailing List.
Linux es un sistema de libre distribucin por lo que se pueden
encontrar todos los ficheros y programas necesarios para su funcionamiento
en multitud de servidores conectados a Internet. La tarea de reunir todos los
ficheros y programas necesarios, asi como instalarlos en tu sistema y configurarlo, puede ser una
tarea bastante complicada y no apta para muchos. Por esto mismo, nacieron las llamadas
distribuciones de Linux, empresas y organizaciones que se dedican a hacer el trabajo "sucio" para
nuestro beneficio y comodidad.
Una distribucin no es otra cosa, que una recopilacin de programas y ficheros, organizados
y preparados para su instalacin. Estas distribuciones se pueden obtener a travs de Internet, o
comprando los CDs de las mismas, los cuales contendrn todo lo necesario para instalar un sistema
Linux bastante completo y en la mayora de los casos un programa de instalacin que nos ayudara
en la tarea de una primera instalacin. Casi todos los principales distribuidores de Linux, ofrecen la
posibilidad de bajarse sus distribuciones, va FTP (sin cargo alguno).
Existen muchas y variadas distribuciones creadas por diferentes empresas y organizaciones
a unos precios bastantes asequibles (si se compran los CDs, en vez de bajrsela va FTP), las cuales
se deberan poder encontrar en tiendas de informtica o libreras. En el peor de los casos siempre
podeis encargarlas directamente por Internet a las empresas y organizaciones que las crean. A
veces, las revistas de informtica sacan una edicin bastante aceptable de alguna distribucin.
Si se va a instalar el sistema por primera vez, es recomendable probar una distribucin
LiveCD. Con ella se puede probar Linux sin necesidad de instalarlo.
Las distribuciones ms importantes de Linux son las siguientes (aunque no las nicas) :
81
Informtica industrial
Sistemas operativos
Distribuciones Linux
Distribucin
Descripcin
UBUNTU
Distribucin basada en Debian, con lo que esto conlleva y centrada en el
usuario final y facilidad de uso. Muy popular y con mucho soporte en la
comunidad. El entorno de escritorio por defecto es GNOME.
KUBUNTU
Distribucin basada en Ubuntu, con lo que esto conlleva y centrada en el
usuario final y facilidad de uso. La gran diferencia con Ubuntu es que el entorno
de escritorio por defecto es KDE
GENTOO
Esta distribucin es una de las unicas que incorporaron un concepto totalmente
nuevo en Linux. Es una sistema inspirado en BSD-ports. Se puede compilar el
SO completamente desde cero. No es recomendable adentrarse en esta
distribucin sin una buena conexin a internet, un ordenador medianamente
potente y cierta experiencia en sistemas Unix.
REDHAT ENTERPRISE
Esta es una distribucin que tiene muy buena calidad, contenidos y soporte a
los usuarios por parte de la empresa que la distribuye. Es necesario el pago de
una licencia de soporte. Enfocada a empresas.
DEBIAN
Otra distribucin con muy buena calidad. El proceso de instalacin es quizs un poco
mas complicado, pero sin mayores problemas. Gran estabilidad antes que ltimos
avances.
MANDRIVA
Esta distribucin fue creada en 1998 con el objetivo de acercar el uso de Linux a todos
los usuarios, en un principio se llamo Mandrake Linux. Facilidad de uso para todos los
usuarios.
OpenSuSE
82
Informtica industrial
Sistemas operativos
Otra de las grandes. Fcil de instalar. Versin libre de la distribucin comercial SuSE.
Otra de las grandes : Muy buena calidad, contenidos y soporte a los usuarios por parte
de la empresa que la distribuye, Novell. Es necesario el pago de una licencia de
soporte. Enfocada a las empresas.
FEDORA
Esta es una distribucin patrocinada por RedHat y soportada por la comunidad. Fcil de
instalar y buena calidad.
SLACKWARE
Esta distribucin es de las primeras que existi. Tuvo un periodo en el cual no se
actualizo muy a menudo, pero eso es historia. Es raro encontrar usuarios de los que
empezaron en el mundo linux hace tiempo, que no hayan tenido esta distribucin
instalada en su ordenador en algn momento
Android
Informtica industrial
Sistemas operativos
administrada por Google, aunque existe la posibilidad de obtener software externamente. Los
programas estn escritos en el lenguaje de programacin Java. No obstante, no es un sistema
operativo libre de malware, aunque la mayora de ello es descargado de sitios de terceros.
El anuncio del sistema Android se realiz el 5 de noviembre de 2007 junto con la creacin de
la Open Handset Alliance, un consorcio de 78 compaas de hardware, software y
telecomunicaciones dedicadas al desarrollo de estndares abiertos para dispositivos mviles. Google
liber la mayora del cdigo de Android bajo la licencia Apache, una licencia libre y de cdigo abierto.
Actualmente Android posee aproximadamente el 32,9% de cuota de mercado a escala mundial de los
telfonos inteligentes, por delante de Simbian OS que posee una cuota aproximada del 30,6%. En
tercer lugar se sita jOS con una cuota de mercado del 16%.
La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en
un framework Java de aplicaciones orientadas a objetos sobre el ncleo de las bibliotecas de Java en
una mquina virtual Dalvik con compilacin en tiempo de ejecucin. Las bibliotecas escritas en
lenguaje C incluyen un administrador de interfaz grfica (surface manager), un framework OpenCore,
una base de datos relacional SQLite, una API grfica OpenGL ES 2.0 3D, un motor de renderizado
WebKit, un motor grfico SGL, SSL y una biblioteca estndard de C Bionic. El sistema operativo est
compuesto por 12 millones de lneas de cdigo, incluyendo 3 millones de lneas de XML, 2,8 millones
de lneas de lenguaje C, 2,1 millones de lneas de Java y 1,75 millones de lneas de C++.
Microsoft Windows
Es el nombre de una familia de sistemas operativos desarrollados por Microsoft desde 1981,
ao en que el proyecto se denominaba Interface Manager. Anunciado en 1983, Microsoft
comercializ por primera vez el entorno operativo denominado Windows en noviembre de 1985 como
complemento para MS-DOS, en respuesta al creciente inters del mercado en una interfaz grfica de
usuario (GUI). Microsoft Windows lleg a dominar el mercado de ordenadores personales del mundo,
superando a Mac OS, el cual haba sido introducido previamente a Windows. En octubre de 2009,
Windows tena aproximadamente el 91% de la cuota de mercado de sistemas operativos en equipos
cliente que acceden a Internet. Las versiones ms recientes de Windows son Windows 7 para
equipos de escritorio, Windows Server 2008 R2 para servidores y Windows Phone 7 para
dispositivos mviles.
Otros sistemas operativos multiusuario y multitarea son OS/2, desarrollado inicialmente por
Microsoft e IBM MS-DOSt.
El MS-DOS y sus derivados, fueron sistemas operativos populares entre los usuarios de
computadoras personales. Slo permiten un usuario y una tarea.
84
Informtica industrial
Sistemas operativos
Completa la siguiente tabla con los diferentes sistemas operativos y sus versiones
Diversos sistemas operativos
Fecha
Sistema operativo
lanzamiento
Descripcin
1980
MS-DOS
1992
Windows 3.1
85
Informtica industrial
Sistemas operativos
Gestor de procesador
Gestor de memoria
Gestor de Entrada/Salida
Gestor de ficheros
Interfaz de llamadas al sistema
86
Informtica industrial
Sistemas operativos
Varios usuarios ejecutan el mismo programa (ej: procesador de textos), aunque sea
le mismo programa el que se ejecuta, se asigna un proceso a cada usuario, de forma
que cada proceso es un hilo de control diferente (denominado tambin Thread todos
los recursos se gestionan por un proceso que engloba varios thread que tienen un
flujo de control separado. Permiten mayor velocidad de ejecucin, aunque reducen la
proteccin, ya que acceden a recursos compartidos como la memoria.
Estados de un proceso
Los estados por los que transita un proceso son:
Nuevo
Listo o preparado
En Ejecucin
Bloqueado o suspendido
Terminado
Finaliza su ejecucin
Finaliza el quantum de tiempo asignado de CPU, en un modelo de multiprogramacin que
utilice este criterio de abandono de CPU. Pasando al estado preparado.
Inicia una operacin de E/S, o bien ocurre un evento externo que lo suspenda, pasando a
estado bloqueado o suspendido.
Bloqueado o suspendido: El proceso est esperando a que se produzca un suceso. Cuando el
proceso est realizando una operacin de E/S, o est esperando algn evento que le permita
continuar su ejecucin (ejemplo: una seal de sincronizacin de otro proceso).
Abandona este estado cuando:
Finaliza su ejecucin
Finaliza la operacin de E/S.
Ocurre el evento que lo tena suspendido.
Si el proceso contina su ejecucin pasar al estado preparado.
Tambin puede considerarse el estado INACTIVO, cuando un proceso no est ejecutndose,
bien porque haya finalizado su ejecucin, o bien porque no ha comenzado.
87
Informtica industrial
Sistemas operativos
88
Informtica industrial
Sistemas operativos
HEBRAS (Hilos)
Los hilos son procesos ligeros que se componen de registros, un espacio de pila y un
contador de programa.
Los hilos comparten su cdigo ejecutable, su pila y los recursos que utiliza. Con el uso de
hilos deja de ser necesaria la costosa conmutacin de contexto de uno a otro proceso.Son especiales
para realizar procesamiento paralelo, pero esto incurre en algunos problemas como la consistencia
de datos, para lo que se usan distintos mecanismos para solucionarlos como secciones crticas y
cerraduras. Pueden estar a nivel del ncleo del sistema operativo o a nivel de usuario.
Qu es la planificacin de procesos ?
Un s.o. contiene mdulos de planificacin que controlan la ejecucin de los procesos. Su
objetivo es optimizar el rendimiento del sistema: Uso eficiente de los recursos del sistema (CPU y
dems dispositivos), aumentar la productividad (maximizar el nmero de tareas ejecutadas en unidad
de tiempo), disminuir el tiempo de respuesta de los procesos (tiempo que espera el usuario desde
que lanza la ejecucin de una tarea hasta recibe una respuesta), etc.
La planificacin de procesos tiene como objetivos obtener siempre la mayor productividad, o
la mayor cantidad de trabajos realizados en una unidad de tiempo, por Ejemplo: 77 procesos por
hora.
El concepto de planificacin podra llamarse al conjunto de polticas y mecanismos incorporados al
sistema operativo por el que se rige el orden en el que se completa el trabajo que hay que realizar.
89
Informtica industrial
Sistemas operativos
Planificadores
Para planificar los procesos, el sistema utiliza 3 tipos de planificadores que hacen uso de las
colas de PCB:
90
Informtica industrial
Sistemas operativos
Selecciona de entre los procesos listos, cual pasa a ser atendido por la CPU. Se ejecuta
cada vez que un proceso abandona la CPU. Provoca una operacin de conmutacin de proceso
(cambio de contexto) en la que se realizan las siguientes operaciones:
Px : En ejecucin
Py : En ejecucin
a)
b)
c)
d)
e)
Criterios de planificacin
Los algoritmos de planificacin deben tener en cuenta una serie de casos:
Utilizacin de la C.P.U., queremos que la C.P.U. se mantenga tan ocupada como sea
posible.
Rendimiento, una medida del trabajo es el nmero de procesos que se completa por unidad
de tiempo.
Tiempo de Retorno, sera la suma de los periodos transcurridos esperando entrar en la
memoria, esperando en la cola de procesos listos, ejecutndose en la C.P.U. y efectuando
operaciones de E/S.
Tiempo de espera, es el tiempo que el proceso espera en la cola de procesos listos.
El tiempo de respuesta, el tiempo transcurrido desde la presentacin de una solicitud hasta
que se produce la primera respuesta.
91
Informtica industrial
Sistemas operativos
La cola de procesos listos se gestionan como una lista FIFO: el primer elemento de la cola es
el primero en seleccionarse.
El planificador de CPU, favorece con este algoritmo a los procesos orientados a CPU (tienen
peraciones de CPU largas, y acaparan la CPU hasta finalizar su operacin). Los procesos orientados
a E/S dejan ociosos los dispositivos de E/S y estn siempre esperando en la cola de procesos listos.
Ventaja: Es muy fcil de implementar.
Inconveniente: El rendimiento suele ser bajo.
Algoritmo RR (Round Robin. Circuito cclico)
Es un algoritmo apropiativo que asigna un quantum de tiempo de atencin de CPU a los
procesos listos. La cola se gestiona como una lista FIFO. El proceso en ejecucin, puede abandonar
la CPU por 3 motivos:
Finaliza su ejecucin.
Necesita realizar una operacin de E/S, pasando a la cola del dispositivo correspondiente.
Finaliza su tiempo de CPU, pasando al final de la cola de procesos listos. El siguiente
proceso se apropia de la CPU.
92
Informtica industrial
Sistemas operativos
Crearlo, darle un nombre o identificador, meterlo en la lista de procesos listos, asignarle una
prioridad, crear el PCB y darle los recursos que necesite, etc..
Destruir un proceso, liberndose todos los recursos que tena asignado el proceso. La
prioridad del proceso sera la prioridad en el PCB.
Cambiarle la prioridad al proceso, modificar la prioridad en el PCB.
Bloquear un proceso, pasar de estado activo a bloqueado debido a que tiene que esperar a
que suceda un evento.
Activar un proceso, cuando termina un evento por el que est esperando un proceso y se
encontrase este bloqueado, entonces pasa este a listo.
Despachar un proceso, el procesador asigna el primer proceso que se encuentra en la lista
de listos, pasando ste de estado listo a activo.
93
Informtica industrial
Sistemas operativos
Compartir informacin
Acelerar los clculos
Modularidad.
Conveniencia.
Memoria Compartida
Paso de mensajes.
Sistemas de memoria compartida
La comunicacin interprocesos que emplea memoria compartida requiere que los procesos
que se estn comunicando establezcan una regin de memoria compartida. El SO evita que otro
proceso pueda ingresar a direcciones de memoria de otro proceso, por cual los procesos
cooperativos deben eliminar esta restriccin.
Sistemas de Paso de Mensajes
La comunicacin tiene lugar mediante el intercambio de mensajes entre los procesos
cooperativos.
Proporciona un mecanismo que permite a los procesos comunicarse y sincronizar sus
acciones sin compartir el mismo espacio de direcciones. Una facilidad de paso de mensajes
proporciona al menos dos operaciones: en vio de mensajes y recepcin de mensajes.
Existen mtodos para implementar lgicamente un enlace y las operaciones de envo y recepcin:
Comunicacin directa o indirecta.
Comunicacin sncrona o asncrona.
Almacenamiento en bfer explicito o automtico.
Nombrado
Comunicacin directa: se enva un mensaje de un proceso a otro cuyos parmetros son nombre de
proceso y mensaje. Su sintaxis es: enviar(procesoP,mensaje) y recibir(procesoQ,mensaje)
Comunicacin indirecta: el mensaje se enva a un buzn de mensajes. La sintaxis es:
enviar(buzn,mensaje) y recibir(buzn,mensaje). Cada proceso tiene un buzn propio y este se
puede implementar a travs de un buffer, que puede ser de capacidad cero, capacidad limitada, o
capacidad ilimitada.
En todos los casos el sistema operativo o el subsistema de comunicacin entre procesos (IPC) deben
asegurar la consistencia y la correctitud de los mensajes. Para esto se pueden implementar sumas
de verificacin (checksum) o similares.
94
Informtica industrial
Sistemas operativos
Informtica industrial
Sistemas operativos
Informtica industrial
Sistemas operativos
1. prevencin
Consiste en definir una serie de normas que aseguren que nunca se va a producir un
interbloqueo. Se utilizan las Estrategias de Havenger, que consisten en negar al menos una
condicin necesaria para darse el interbloqueo:
No usar recursos dedicados, aunque no siempre puede exigirse ya que existen dispositivos
que por su naturaleza no pueden ser compartidos. Ej: la impresora.
Negar retencin y espera: Siempre que un proceso espere por un recurso no puede retener a
otros recursos. Puede detener parcialmente su ejecucin, salvando el estado actual y
liberando sus recursos, y posteriormente continuar su ejecucin cuando pueda asignrsele el
recurso por el que espera.
Un proceso puede apropiarse de un recurso asignado a otro proceso. (Cuando un proceso
est esperando por otro recurso, pueden apropiarse de los recursos que tiene retenidos).
Slo puede aplicarse a determinados recursos (como CPU) pero no a otros como archivos
parcialmente actualizados.
Negar la espera circular: Los recursos slo pueden ser solicitados en un orden establecido.
Se dividen en clase Ci con i=1,....,n. Si un proceso retiene un recurso Ci, slo puede solicitar
recursos de clase superiores a i. De esta forma se elimina la espera circular ya que ningn proceso
Pj puede solicitar una clase de nivel inferior (no se cierra el ciclo).
2. evitacin
El sistema operativo estudia si con la asignacin de recursos actual, sin interbloqueos, y
cambiando de estado de forma que se satisfaga una nueva solicitud de recurso, se llegue a un nuevo
estado donde no se da interbloqueo, llamado estado seguro. En caso contrario, se suspende le
proceso hasta que su solicitud pueda ser atendida sin provocar interbloqueo.
3. deteccin
Con esta tcnica el sistema puede llegar a un estado de interbloqueo. Se trata de ejecutar
unos algoritmos que detecten si hay procesos interbloqueados, y si es as salir de esa situacin.
Para romper un interbloqueo se comienza por suspender un proceso en abrazo mortal, liberando
todos sus recursos, se comprueba si continua el interbloqueo, y si es as se selecciona otro proceso
para suspender, hasta que se alcanza un estado seguro.
Para aplicar est solucin, es necesario resolver dos cuestiones:
Hay que tener en cuenta que la ejecucin del algoritmo requiere tiempo y ralentiza el sistema
ejecutando muchas veces el algoritmo . Por otra parte, una comprobacin infrecuente puede
mantener interbloqueado durante mucho tiempo el sistema, degradndolo.
Ejemplo: Filsofos cenado
Indicar las condiciones para que no se produzca interbloqueo:
Recursos no dedicados: Compartir los palillos
No retencin y espera: Si no se puede conseguir el segundo palillo, no retener el primero
Apropiacin de recursos: Un filsofo puede apropiarse de un palillo de otro filsofo que
todava no
coma porque slo tena un palillo
No esperar circular: empezar siempre solicitando palillo derecho
97
Informtica industrial
Sistemas operativos
La Memoria principal se encuentra dividida en un nmero fijo de particiones, que pueden ser
de diferente tamao, creadas durante la generacin del sistema.
En cada particin puede almacenarse un proceso.
98
Informtica industrial
Sistemas operativos
Estructuras
El s.o. mantiene una TABLA DE DESCRIPCION DE PARTICIONES, en la que cada entrada
contiene la informacin de cada particin:
El PCB asociado a cada proceso permite conocer la particin asignada al proceso (direccin
base para localizarla en la tabla).
Cuando un proceso necesite ser cargado en memoria, el sistema consulta la tabla para
conocer si existe alguna particin con tamao suficiente para almacenar el proceso, si es as se
modifica su estado y se carga el proceso en memoria, creando un PCB asociado al proceso.
Cuando un proceso abandona la memoria principal, volver a modificarse el estado de la
particin que ocupaba.
Inconveniente
El inconveniente de esta tcnica es que hay un desperdicio de memoria, cuando el proceso
no ocupa toda la particin asignada, ya que una particin slo puede ser asignada a un proceso. Este
suceso se denomina FRAGMENTACIN INTERNA.
Particiones dinmicas
El s.o. carga un proceso en posiciones contiguas de memoria principal, no existiendo
particiones predefinidas y delimitando su tamao en el momento de la carga en memoria en
respuesta a las demandas del usuario.
Estructuras
El sistema gestiona:
a) Tabla de descripcin de particiones: contiene una entrada por cada particin asignada a un
proceso con la informacin:
Direccin base de comienzo de la particin
Tamao de la particin
b) Lista enlazada de huecos: cada particin vaca de memoria, almacena su tamao y un
puntero al siguiente hueco de memoria, ordenada segn la direccin base de cada hueco.
99
Informtica industrial
Sistemas operativos
100
Informtica industrial
Sistemas operativos
Traduccin de direcciones
En las dos tcnicas de particiones es necesario realizar la traduccin de direcciones, que
consiste en:
a) Localizar la entrada de la tabla de descripcin de particiones asociada al proceso, mediante
la informacin contenida en el PCB
b) Obtener la direccin base de comienzo de la particin de la tabla
c) Sumar a la direccin base, la posicin relativa de la instruccin dentro del programa
FIRST-FIT
Ejercicio
En un sistema con particiones dinmicas, asignar los procesos Px de 100 KB y Pj de 50 KB,
modificando las tablas al aplicar los 2 algoritmos.
3.11.4 Paginacin
La memoria principal se estructura en BLOQUES de longitud fija (mltiplo de 2), identificados
con un nmero correlativo, comenzando en 0.
Los programas se dividen en zonas consecutivas llamadas PAGINAS. El tamao del bloque
de memoria y de la pgina coinciden, de
forma que una pgina pueda ser
almacenada en un bloque de memoria.
Cada pgina se almacena en un
bloque de libre y no es necesario que las
pginas que componen un programa
ocupen bloques contiguos.
101
Informtica industrial
Sistemas operativos
Estructuras
El s.o. mantiene las siguientes estructuras:
Tabla de pginas
Hay una por cada programa almacenado en memoria. Cada entrada de la tabla se
corresponde con una pgina del programa a la que se asocia un bloque de memoria
mediante su direccin base. La longitud de la tabla vara segn el nmero de pginas
del programa.
Tabla de bloques de memoria
Contiene tantas entradas como bloques que hay en memoria. Para cada bloque se
indica el identificativo del programa que almacena o bien que est libre.
En el PCB asociado a cada proceso, se indica adems de su identificativo, tamao y
estado, la direccin de memoria donde se encuentra la tabla de pginas del proceso.
Inconvenientes
Este esquema de memoria presenta 2 inconvenientes:
Fragmentacin interna en la ltima pgina del programa, cuando esta no llena un bloque de
memoria. Puede reducirse el problema disminuyendo el tamao de la pgina, pero entonces
aumenta la tabla de pginas (tiene ms entradas) y la tabla de bloques (el tamao del bloque
se reduce, entonces aumentan el nmero de bloques).
Necesita espacio extra (no asignable a los procesos) para almacenar las tablas.
Traduccin de direcciones
Para la traduccin de direcciones, se parte de la direccin lgica generada por el procesador,
que se compone de dos campos:
nmero de pgina (identifica la pgina dentro del proceso)
desplazamiento (posicin relativa dentro de la pgina)
El nmero de pgina permite localizar la entrada en la tabla de pginas asociada al proceso,
para obtener la direccin base del bloque de memoria. La direccin fsica se obtiene
CONCATENANDO la direccin base con el desplazamiento dentro de la pgina.
Se realiza una operacin de concatenacin porque todas las pginas son del mismo tamao, y
equivale a una operacin de suma.
EJEMPLO:
LA CAPACIDAD DE MEMORIA ES DE 1MB. EL TAMAO DE CADA PGINA ES DE 256 BYTES.
1Mb = 1.024 x 1.024 / 256 = 4.096 bloques de memoria
Longitud de las direcciones fsica y lgica:
256 bytes = 2 8 8 bits para referenciar cada byte del bloque (2 hex)
4096 bloques = 2 12 12 bits para referenciar cada bloque (3 hex)
102
Informtica industrial
Sistemas operativos
3.11.5 Segmentacin
El s.o. considera un programa dividido en segmentos de tamao variable, que son asignados
a bloques de memoria, no necesariamente contiguos. Un segmento contiene entidades que estn
relacionadas lgicamente. Ejemplo: definicin de datos, procedimientos, programa principal, etc.
Estructuras
El sistema mantiene las estructuras siguientes:
Una tabla de segmentos para cada proceso, donde cada entrada indica la direccin base del
bloque de memoria que almacena el segmento y su tamao.
Lista enlazada de huecos libres de memoria, de forma que al comienzo de cada hueco se
indica su tamao y un puntero al siguiente hueco de memoria. La lista est ordenada por las
direcciones base de los huecos.
El PCB almacena para cada proceso la direccin donde se almacena su tabla de segmentos.
Inconvenientes
Los inconvenientes que presenta este esquema de memoria son:
103
Informtica industrial
Sistemas operativos
Con el primer campo se localiza la entrada del segmento en la tabla, para obtener la
direccin base de memoria donde se almacena el segmento. Se suma a la direccin base el
desplazamiento para obtener la direccin fsica.
104
Informtica industrial
Sistemas operativos
Ventajas
Inconvenientes
La CPU genera una direccin virtual para obtener una instruccin o dato.
Se localiza la entrada de la tabla de pginas correspondiente con el nmero de pgina
solicitado
en la direccin virtual.
Si el bit de la tabla est a 1 (la pgina se encuentra en memoria):
Se traduce la direccin virtual en una direccin fsica para localizar la informacin en
memoria.
Si el bit est a 0, se produce un fallo de pgina:
a) Es necesario traer la pgina desde el disco a memoria, mientras el procesador puede
atender a otro proceso.
b) Si no hubiese sitio en memoria para almacenar la pgina (todo el espacio asignable
al proceso est ocupado por sus pginas), entonces se realiza un swapping,
reemplazando una de las pginas de memoria por la que viene del disco.
105
Informtica industrial
Sistemas operativos
Cuando un proceso no dispone de ms espacio en memoria para cargar una pgina fallada,
se puede optar por dos soluciones:
Fallos de pgina: 9
Reemplazos : 6
LRU Least Recently Used (Usada menos recientemente)
Reemplaza la pgina que lleva ms tiempo sin ser usada. Para su implementacin se usa
una lista que se ordena en cada referencia, de forma que la ltima referencia est a la cola de la lista,
y la pgina que lleve ms tiempo sin ser referenciada se encuentre en la cabeza de la lista.
106
Informtica industrial
Sistemas operativos
Ejemplo:
Sistema con 3 bloques de memoria para el proceso. La CPU referencia: 7-0-1-2-0-3-0-4-2-3-03-2-1-2-0-1-7-0-1
Reemplazos: 8
NRU No Recently Used (No recientemente usada)
Clasifica a las pginas que se encuentran en memoria en 4 clases, segn al bit de referencia
y el bit de modificacin:
Bit de referencia:
0 - Pgina no referenciada
1 - Pgina referenciada en un pasado reciente
Bit de modificacin:
0 Pgina no modificada desde que se carg en memoria
1 Pgina modificada en su estancia en memoria
El algoritmo selecciona como pgina vctima, la de menor clase. (Puede seguirse un algoritmo
FIFO en caso de que haya varias pginas de la misma clase).
Con el tiempo las clases bajas van desapareciendo (las pginas se referencian y modifican),
entonces el algoritmo ajusta peridicamente el bit de referencia, ponindolo a 0, de esta forma, las
pginas ms frecuentemente referenciadas activarn pronto su bit de referencia aumentando su
clase.
107
Informtica industrial
Sistemas operativos
Introduccin
Un Archivo es un conjunto de elementos de informacin relacionados entre si y que fueron
definidos por su creador. Por lo general, los archivos representan datos y programas. Un archivo de
datos puede ser numrico, alfabtico o binario. Los archivos pueden ser de formato libre, como los
archivos de texto, o pueden estar rigurosamente formateados. En general, un archivo es una
secuencia de bits, bytes, lneas o registros cuyo significado es definido por el creador del archivo y
por el usuario.
Un archivo se puede manipular como una unidad mediante operaciones tales como abrir,
cerrar, crear, destruir, copiar, renombrar y listar. Los elementos de informacin individuales que
conforman un archivo se pueden manipular con acciones tales como leer, escribir, modificar y
eliminar.
De acuerdo a las caractersticas y tipo de trabajo que se realicen sobre los archivos, estos
pueden caracterizarse por su: Volatilidad, Actividad y Tamao.
Volatilidad
Se refiere a la frecuencia con la que se inserta o elimina informacin.
Actividad.
Se refiere al porcentaje de los elementos de informacin de un archivo al que se tuvo acceso
en un periodo de tiempo dado.
Tamao.
Se refiere a la cantidad de informacin que conforma el archivo.
Archivo fsico.
La informacin vista desde la perspectiva de hardware. Por ejemplo, el archivo 1 est
formado por los sectores 3, 10 y 15 del archivo. Otro ejemplo: el archivo X es la secuencia de bytes
localizados en la RAM en el bloque 0A703h:03000h al 0A703h:04200h.
Archivo lgico.
Son datos cuyo significado esta definido por el usuario. Ejemplo, el archivo Y es la
informacin de 1000 artculos, cada uno con su cdigo, descripcin y precio. Generalmente, un
archivo lgico se representa de manera tabular.
3.12.1 El sistema de archivos de un sistema operativo.
Lo conforman todas aquellas rutinas encargadas de administrar todos los aspectos
relacionados con el manejo de Archivos.
Componentes del sistema de archivos.
En general, un Sistema de Archivos est compuesto por: Mtodos De Acceso, Administracin De
Archivos, Administracin De Almacenamiento Secundario, Mecanismos De Integridad.
Mtodos De Acceso. Se ocupan de la manera en que se tendr acceso a la informacin
almacenada en el archivo. Ejemplo: Secuencial, Directo, indexado, etc.
108
Informtica industrial
Sistemas operativos
109
Informtica industrial
Sistemas operativos
Lista enlazada
Existe una cabecera en la que se tiene la direccin del primer sector vaco, ese sector a su
vez, tiene un apuntador al siguiente bloque, y as sucesivamente hasta que se encuentre una marca
indicando que ya no hay espacio libre.
Por agrupacin
Es similar a la lista ligada, solo que en este se tiene por cada sector, un grupo de
apuntadores a varios espacios vacios, al final de cada bloque se tiene un apuntador a otro grupo de
apuntadores.
Por contador
Con esta tcnica, por cada conjunto de bloques contiguos que estn vacos, se tiene por
cada apuntador, un nmero de inicio y el tamao del grupo de sectores vacos.
110
Informtica industrial
Sistemas operativos
Ventajas:
La cabeza de lectura no se mueve
demasiado en la lectura de un archivo.
Desventajas:
Produce fragmentacin externa
Asignacin enlazada
111
Informtica industrial
Sistemas operativos
En este mtodo, cada archivo es una lista ligada de bloques de disco. En el directorio hay un
apuntador al bloque de inicio y un apuntador al bloque final para cada archivo. En cada uno de los
bloques donde se encuentra un archivo hay un apuntador al siguiente bloque de la lista. Por ejemplo:
Ventajas:
No produce fragmentacin externa.
Desventajas:
Asignacin indexada
Como ya se vio, la asignacin ligada resuelve problemas de fragmentacin externa, sin
embargo, la asignacin ligada no soporta eficientemente el acceso directo a los archivos. La
asignacin indexada resuelve este problema poniendo todos los apuntadores en una sola localidad:
El bloque ndice.
Cada archivo tiene su bloque ndice, El cual es un arreglo de direcciones de bloques de disco.
La i-sima entrada en el bloque ndice apunta al i-simo bloque que conforma el archivo. En el
directorio se controla la direccin del bloque ndice de cada archivo, por ejemplo:
Ventajas:
No produce fragmentacin externa.
Eficiente para la implementacin de archivos
directos.
Desventajas:
112
Informtica industrial
Sistemas operativos
113
Informtica industrial
Sistemas operativos
Canales de e/s
El canal de E/S es una extensin del concepto de DMA. Un canal de E/S tiene la capacidad
de ejecutar instrucciones de E/S, lo que le da un control total sobre las operaciones de E/S. En un
sistema informtico que conste de tales dispositivos, las instrucciones de E/S se almacenan en la
memoria principal y sern ejecutadas por un procesador de propsito especfico en el mismo canal
de E/S. As, la CPU inicia una transferencia de E/S ordenando al canal que ejecute un programa en
la memoria. Los canales de E/S pueden realizar las transferencias de datos en serie o en paralelo.
Hay dos tipos comunes de canales de E/S:
Canal selector: controla varios dispositivos y transfiere datos de estos dispositivos, uno por
vez.
Canal multiplexor: puede manejar la E/S con varios dispositivos al mismo tiempo.
Almacenamiento intermedio de e/s
A veces es conveniente llevar a cabo las transferencias de entrada por adelantado a las
peticiones y realizar las transferencias de salida un tiempo despus de hacer la peticin. Esta
tcnica se conoce con el nombre de almacenamiento intermedio (buffering).
Las unidades de almacenamiento intermedio son denominadas buffers. Los Buffers
previenen varias ineficiencias entre los procesos y hasta deadlocks. Es una tcnica para realizar
transferencias de entrada por adelantado a algn pedido hecho o transferencias de salida luego de
que el pedido fuera hecho. Estn soportados por el SO para mejorar la performance del sistema.
Single Buffer: Es el tipo ms simple de soporte que puede proveer el SO. Cuando un proceso de
usuario hace un pedido de I/O, el SO asigna un buffer en una porcin del sistema de la memoria
principal para la operacin. Las transferencias de entrada se realizan al buffer del sistema. Cuando
se ha completado la transferencia, el proceso mueve el bloque al espacio del usuario y pide otro
bloque inmediatamente. Esta tcnica se conoce como lectura por adelantado o entrada anticipada.
Double Buffer: Es una mejora que consiste en asignar dos buffers del sistema a la operacin. El
proceso transmite datos al o desde un buffer mientras el SO llena (o vaca) el otro. A esta tcnica se
la llama double buffering o buffer swapping.
Circular Buffer: el buffer doble puede ser inapropiado si el proceso lleva a cabo rpidas rfagas de
E/S. En este caso, el problema puede mitigarse usando ms de dos buffers. Cuando se emplean ms
de dos, el conjunto de buffers se conoce como buffer circular. Este es, sencillamente, el modelo
productor/consumidor con buffer limitado, que ya ha sido estudiado
3.13.1 Planificacin de discos
Discos de cabezas mviles
Superficies magnticas + cabezas de L/E.
114
Informtica industrial
Sistemas operativos
Informtica industrial
Sistemas operativos
LOOK
variante de SCAN, sino hay peticiones pendientes en la direccin actual se cambia el sentido del
movimiento
C-LOOK
Variante de C-SCAN, sino hay peticiones pendientes en la direccin actual se comienza otra
vez la exploracin
Eleccin del mejor algoritmos
Con poca carga de E/S, todos los algoritmos tienen un rendimiento similar.
Ejercicio: Un disco que posee 200 pistas (numeradas de 0 al 199) tiene la siguiente cola de
peticiones de acceso:
81, 142, 86, 172, 89, 145, 97, 170, 125
Cul es la longitud media de bsqueda para satisfacer estas solicitudes con los siguientes
algoritmos de planificacin del disco?
a) Planificacin FCFS
b) Planificacin SSTF
c) Planificacin SCAN
d) Planificacin C-SCAN
e) Planificacin LOOK
e) Planificacin C-LOOK
Para llevar a cabo este ejercicio se va a suponer que inicialmente la cabeza se halla en la pista 100
a) Planificacin FCFS
En este algoritmo la primera peticin que llega es la primera que se sirve:
Pista a la que se accede:
116
Informtica industrial
Sistemas operativos
media =12.2
c) Planificacin SCAN:
En este algoritmo se van recorriendo todas las pistas en una direccin y satisfaciendo todas las
peticiones que se encuentran en el camino hasta alcanzar la ltima pista. En ese punto se invierte el
sentido del recorrido y la bsqueda prosigue de la misma forma:
Pista a la que se accede : 97 89 86 81 125 142 145 170 172
N de pistas que se atraviesan : 3 8 3 5 206 17 3 25 2
media = 30,22
d) Planificacin C-SCAN:
En este caso se restringe el rastreo en una nica direccin
Pista a la que se accede : 97 89 86 81 172 170 145 142 125
N de pistas que se atraviesan : 3 8 3 5 253 2 25 3 17
media=35,4
e) Planificacin LOOK:
En este algoritmo se van recorriendo todas las pistas en una direccin y satisfaciendo todas las
peticiones que se encuentran en el camino hasta alcanzar la ltima peticin. En ese punto se invierte
el sentido del recorrido y la bsqueda prosigue de la misma forma:
Pista a la que se accede : 97 89 86 81 125 142 145 170 172
N de pistas que se atraviesan : 3 8 3 5 44 17 3 25 2
media=12,22
f) Planificacin C-LOOK:
En este caso se restringe el rastreo en una nica direccin pero hasta la ltima peticin
Pista a la que se accede : 97 89 86 81 172 170 145 142 125
N de pistas que se atraviesan : 3 8 3 5 91 2 25 3 17
media=17,4
117