Vous êtes sur la page 1sur 28

Tema 1

a los
Introduccion
Sistemas Operativos
Un elemento esen ial en todo sistema de omputa in es el sistema
operativo. En este aptulo veremos ul es su fun in y objetivo
prin ipal: abstraer el hardware para ofre er un onjunto de servi ios
a los usuarios. Con el n de omprender mejor los distintos elementos
que omponen un sistema operativo ontemporneo y sus objetivos,
veremos omo a lo largo de la historia se han ido introdu iendo
innova iones para aumentar el rendimiento del sistema.

1.1. Qu es un sistema operativo?


Todo sistema de omputa in onsta de una parte software y otra hardware. El software del omputador puede dividirse de modo general en dos
lases:

a los Sistemas Operativos


Introduccion

los programas del sistema, que ontrolan el fun ionamiento del omputador.
los programas de apli a in, que resuelven los problemas de los
usuarios y son espe  os para un tipo de problema.
Respe to al hardware, un omputador es un sistema omplejo que onsta
de uno o ms pro esadores, memoria entral, relojes, terminales, dis os y
otros dispositivos de E/S (ver apndi e ??). Si los programadores tuvieran
que tener en uenta mo fun iona ada uno de estos elementos a la hora de
ha er un programa, la elabora in de uno de ellos sera una tarea bastante
dif il.
Para evitar que los programadores tengan que enfrentarse a la omplejidad del hardware, se introdu e una apa software por en ima del primero,
on objeto de manejar todas las partes del sistema y presentar al usuario una
interfaz que sea ms f il de entender y programar. Esta apa es el sistema
operativo (gura 1.1).
Programas de aplicacin

Compiladores

Editores

Intrpretes
de rdenes

Sistema operativo (Ncleo)

Programas
del sistema

Hardware

Figura 1.1: Estru tura de un sistema de omputa in


El sistema operativo es la parte ms importante de lo que hemos llamado
programas del sistema, ya que ontrola todos los re ursos del omputador y
ofre e la base sobre la ual pueden es ribirse los programas de apli a in.
Sobre la apa software que onstituye el sistema operativo des ansa el
resto del software del sistema. Aqu se en uentran el intrprete de rdenes,
los ompiladores, editores de texto, et . Estos programas se suelen distribuir junto on el sistema operativo para otorgarle una mayor fun ionalidad
y omodidad al entorno, por lo que los usuarios pueden reer que forman

es un sistema operativo?
1.1 Que

parte de l. Esto no es as, la diferen ia fundamental que existe entre ambos es que el sistema operativo se eje uta en modo n leo, mientras que
los ompiladores y editores fun ionan en modo usuario. El modo n leo
es un modo de eje u in privilegiado que le permite tener a eso a todo el
hardware, a la vez que lo protege de la manipula in indebida por parte del
usuario. Si a uno no le agrada un ompilador determinado tiene la libertad
de es ribir uno propio si as lo desea, pero no la tiene para es ribir su propio
manejador de interrup iones del dis o, porque es parte del sistema operativo
y est protegido por el hardware ontra intentos de modi a in por parte
del usuario.
Se denomina n leo del sistema operativo a la parte que se omuni a
dire tamente on el hardware, ste ser el verdadero orazn y motor del
sistema.
La pregunta qu es un sistema operativo? es dif il de ontestar; debido
prin ipalmente a que stos realizan dos fun iones que no estn rela ionadas
entre s. Para intentar responderla veamos qu es lo que ha e un sistema
operativo.
Los programas que se eje utan en el sistema ne esitan utilizar re ursos.
Desde el punto de vista del programa lo ideal sera disponer de todos los
re ursos del sistema, esto impli ara que no pudiese oexistir junto on otros.
Como se ver ms adelante en este aptulo, para mejorar el rendimiento del
sistema es onveniente que haya varios programas a tivos simultneamente.
Para onseguir esto es ne esario que se repartan los re ursos entre todos los
programas que ompiten por ellos. Esta fun in la realiza el sistema operativo. As, podemos de ir que ste se omporta omo administrador de
los re ursos del sistema, distribuyndolos entre los programas que se eje utan en l. Es de ir, el sistema operativo on ede o deniega las peti iones de
re ursos que ha en los programas en eje u in.
La gestin de los re ursos que realiza el sistema operativo onsigue que
los programas en eje u in tengan la ilusin de que estn solos en el sistema,
disponiendo de todos los re ursos de ste. En realidad, lo que existe es un
reparto transparente de los re ursos entre todos los programas que ompiten
por ellos.
Como podemos ver en la gura 1.1, el sistema operativo se sita entre
el hardware y el resto del software del sistema, para re ibir las peti iones
de los distintos programas y ontrolar de esta forma la asigna in de los
re ursos. Esto aade una fun ionalidad ms al sistema operativo, que es la
de propor ionar una apa de abstra in del hardware. La arquite tura de

a los Sistemas Operativos


Introduccion

mu hos omputadores en el nivel del lenguaje mquina es primitiva y dif il


de programar, espe ialmente lo referido a las opera iones de E/S, debido
a la gran variedad de dispositivos existentes. Sera muy ompli ado para
un programador introdu irse en los detalles reales de mo se realiza una
opera in de le tura o es ritura en un dis o, por ejemplo. Adems, el simple
he ho de ambiar de dispositivo impli ara modi ar el digo del programa.
El sistema operativo se en arga de abstraer estos detalles. En el aso de los
dis os, el sistema operativo presenta la abstra in de que stos ontienen
informa in alma enada omo un onjunto de  heros on un nombre. Para
poder a eder a la informa in slo se ne esita saber el nombre del  hero,
y no las opera iones reales que deben realizarse on el dis o.
De esta forma, la fun in del sistema operativo es la de presentar al usuario una mquina ampliada que sea ms f il de programar que el hardware
impl ito. Es de ir, a ta omo una interfaz para las distintas peti iones del
software.

1.2. Evolu in histri a de los sistemas operativos


Para llegar a entender mejor qu son y qu ha en los sistemas operativos
modernos, es onveniente onsiderar la evolu in que han sufrido a lo largo
de su historia. El estudio de esta evolu in nos va a ondu ir a travs de
los problemas que se planteaban y las solu iones presentadas, lo que nos
permitir entender mejor mo y por qu se han desarrollado de la forma
que lo han he ho.
Los sistemas operativos y la arquite tura de los omputadores se han
inuido mu ho mutuamente. Por un lado, los sistemas operativos se han desarrollado para fa ilitar el uso del hardware y, por otro, a medida que se iban
diseando nuevos sistemas operativos y se planteaban nuevos problemas, se
ha a evidente que iertos ambios en el diseo del hardware podan solu ionar los problemas existentes o bien ha er ms simple el sistema operativo.

1.2.1.

Los primeros sistemas

Los primeros omputadores eran mquinas enormes, o upaban uartos


enteros y ontenan de enas de miles de tubos de va o, pero eran mu ho

historica

1.2 Evolucion
de los sistemas operativos

ms lentos que el ms barato de los omputadores domsti os que existe hoy.


En estos primeros das un grupo de personas diseaba, onstrua, programaba y mantena ada mquina. La programa in se realizaba en lenguaje
mquina, ya que no exista todava ningn lenguaje de programa in de alto
nivel. Cuando se quera eje utar un programa haba que argarlo manualmente en memoria; esto se ha a al prin ipio desde un panel on lavijas
y posteriormente mediante tarjetas o intas perforadas. Despus haba que
pulsar los botones ade uados para argar la dire in de omienzo y empezar
la eje u in del programa. A medida que el programa se eje utaba, el programador poda seguir su eje u in mediante las lu es que se en endan en la
onsola. Si se des ubra algn error, el programador poda parar la eje u in
del programa, examinar el ontenido de la memoria y de los registros del
pro esador, y depurar el programa dire tamente desde la onsola. La salida
del programa se imprima o se obtena en tarjetas o intas perforadas. En
este tipo de sistemas la memoria estaba o upada ni amente por el programa
que se estaba eje utando; eran sistemas monoprogramados.
Un aspe to a desta ar de esta forma de trabajo era su naturaleza intera tiva. El programador era tambin el operador del sistema. Cada programador
se reservaba el uso ex lusivo de la mquina durante un tiempo determinado;
se trataba de un sistema monousuario. Este tipo de a eso al omputador
puede provo ar iertos problemas. Supongamos que reservamos una hora de
uso del omputador para eje utar un programa que hemos desarrollado. Si
nos en ontramos on un error dif il de dete tar y no somos apa es de nalizar la eje u in durante di ho tiempo, omo probablemente alguien habr
reservado el uso de la mquina a ontinua in, tendremos que parar, re oger
toda la informa in que podamos y volver ms tarde para ontinuar. Por otra
parte, si las osas nos van bien y terminamos antes de lo previsto, durante el
resto del tiempo reservado la mquina permane er o iosa.

Con el tiempo se desarrollaron hardware y software adi ional. Apare ieron


dispositivos omo las le toras de tarjetas y las unidades de inta magnti a.
Se desarrollaron los ensambladores, argadores y enlazadores, para fa ilitar
las tareas de programa in, as omo las bibliote as de fun iones omunes,
que pueden ser utilizadas por ualquier programa sin tener que es ribirlas de
nuevo.
Las rutinas que realizan las opera iones de E/S son espe ialmente importantes. Cada dispositivo de E/S tiene sus propias ara tersti as, por lo
que hay que es ribir una rutina espe  a para l. Estas rutinas, llamadas
manejadores de dispositivos (devi e drivers ), se olo an en bibliote as de

a los Sistemas Operativos


Introduccion

uso omn para no tener que ser es ritas para ada programa.
Ms tarde apare ieron los ompiladores de Fortran, Cobol y otros lenguajes. Esto fa ilit mu ho la tarea del programador, sin embargo hizo ms
ompleja la tarea del omputador. Por ejemplo, para preparar un programa
es rito en Fortran para su eje u in, el programador tiene que argar primero el ompilador de Fortran en el omputador (normalmente el ompilador
estaba alma enado en inta magnti a). El programa puede ser ledo por una
le tora de tarjetas y pasado a inta magnti a. El ompilador de Fortran produ e una salida en lenguaje ensamblador que ne esita ser ensamblada on el
ensamblador, lo que requiere montar otra inta on el ensamblador. La salida
del ensamblador ne esita ser enlazada on las rutinas del sistema ade uadas.
Finalmente, la forma binaria del programa est lista para ser eje utada. Puede ser argada en memoria y depurada desde la onsola omo antes. A este
onjunto de labores que hay que realizar para eje utar un programa se le
ono e on el nombre de trabajo.

1.2.2.

Sistemas por lotes

El tiempo adi ional que se gastaba en la prepara in de los trabajos


onstitua un problema, ya que durante el tiempo en que se estn montando
las intas o el programador est operando en la onsola, la CPU permane e
o iosa. En estos primeros tiempos haba po os omputadores y eran muy
aros, por lo que su tiempo era muy valioso y sus propietarios queran que
fuesen usados al mximo.
La solu in dada a este problema fue doble. Por un lado, apare e el operador profesional y el programador ya no interviene en la opera in de la
mquina. As, tan pronto omo un trabajo naliza, el operador arran a el
siguiente; por tanto, no hay ya tiempo o ioso debido a que se reserve un ierto tiempo de uso del omputador. Al tener el operador ms experien ia en
el montaje de intas que el programador, el tiempo de prepara in tambin
se redu e. El usuario le propor ionar todas las tarjetas perforadas o intas
que se van a ne esitar, as omo una orta des rip in de mo debe ser
eje utado el trabajo. Por supuesto, el operador no se en arga de depurar un
programa in orre to, puesto que l no tiene por qu entender el programa.
Cuando un programa falla, obtiene un vol ado de la memoria que entrega al
programador. As, el operador podr ontinuar on el siguiente trabajo. Sin
embargo, al programador se le ha e ms dif il depurar su programa.
Tambin se onsigue un ahorro en el tiempo que se dedi a a la prepa-

historica

1.2 Evolucion
de los sistemas operativos

ra in de los trabajos reuniendo aquellos que tengan ne esidades similares


en un lote y pro esndolos omo un grupo. Esto es lo que se ono e omo
pro esamiento por lotes (bat h ). Por ejemplo, supongamos que el operador re ibe un trabajo en Fortran, un trabajo en Cobol y otro en Fortran. Si
los eje uta en ese orden tendr que preparar el omputador para eje utar el
trabajo en Fortran, luego para el trabajo en Cobol y despus otra vez para el
otro trabajo en Fortran. Sin embargo, si eje uta los dos trabajos en Fortran
omo un lote slo tendra que preparar el omputador una vez para los dos,
on lo ual se ahorra tiempo.
Los ambios introdu idos, ha iendo que la persona que opera on la mquina sea distinta del usuario y el pro esamiento por lotes de trabajos similares, modi an la forma de omuni a in entre el programador y la mquina
perdiendo su naturaleza intera tiva. Estos ambios mejoraron un po o la utiliza in de los omputadores, pero todava segua habiendo problemas. Por
ejemplo, uando un trabajo se para, el operador tiene que darse uenta observando la onsola, determinar por qu se ha parado (si es normal o no), ha er
un vol ado de la memoria si es ne esario, y preparar el le tor de tarjetas o de
intas on el trabajo siguiente, volviendo a arran ar el omputador. Durante
esta transi in de un trabajo a otro la CPU permane e sin ha er nada.
Para suprimir este tiempo o ioso, se introdujo un se uen iador automti o de trabajos, y on l, se re el primer sistema operativo. Lo que se quera
era un pro edimiento para transferir automti amente el ontrol de un trabajo al prximo. Con este propsito se rea un pequeo programa llamado
monitor residente, que siempre est (residente) en memoria. Como puede
verse en la gura 1.2, ahora la memoria ontiene al monitor residente y al
programa que el usuario manda a eje utar.
El monitor residente tiene el ontrol del omputador uando ste se en iende, y este ontrol puede transferirse a un programa uando sea ne esario.
Cuando termine su eje u in devuelve el ontrol al monitor residente. Por
tanto, ste se en arga de transferir el ontrol de un programa a otro dentro
del mismo trabajo, y de un trabajo a otro.
Pero mo sabe el monitor residente qu programa eje utar? Previamente, el operador le dar al monitor residente una breve des rip in de qu
programas se van a eje utar y on qu datos, para ello introdu e unas tarjetas de ontrol. La idea es simple, adems de las tarjetas que ontienen el
programa y las de los datos, se introdu en unas tarjetas espe iales que ontienen instru iones para el monitor residente indi ndole qu programa va a
eje utar. Para distinguir estas tarjetas de ontrol de las de datos o programa,

a los Sistemas Operativos


Introduccion

Cargador
Intrprete de
tarjetas de control
Monitor
Manejador de
interrupciones
Manejadores de
dispositivos

Memoria disponible
para el usuario

Figura 1.2: Estru tura de la memoria on monitor residente


se las identi a on un ar ter espe ial, tal omo $, //, et . En la gura 1.3
se muestra el onjunto de tarjetas ne esarias para eje utar un trabajo.
En un monitor residente se pueden distinguir varios omponentes (gura 1.2). Uno es el intrprete de tarjetas de ontrol que es el en argado de
tradu ir ada orden en una eje utable en digo mquina. ste llamar ada
ierto tiempo al argador para argar los programas en memoria. Tanto el
intrprete de tarjetas de ontrol omo el argador ne esitarn realizar opera iones de E/S, por tanto el monitor residente tiene un onjunto de manejadores de dispositivos para trabajar on los dispositivos de E/S del sistema.
Tambin se ne esita un mdulo para el tratamiento de las interrup iones
produ idas por los dispositivos de E/S, el manejador de interrup iones.
El monitor residente propor ionaba una se uen ia in automti a de los
trabajos mediante las indi a iones de las tarjetas de ontrol. Cuando una
tarjeta de ontrol indi a que se debe eje utar un programa, el monitor lo
arga en memoria y le transere el ontrol. Cuando el programa termina,
devuelve el ontrol al monitor, que lee la prxima tarjeta de ontrol, arga
el programa apropiado y sigue. Esto se repite hasta que todas las tarjetas de
ontrol de ese trabajo han sido interpretadas. Enton es el monitor ontina
automti amente on el prximo trabajo.

historica

1.2 Evolucion
de los sistemas operativos

$END
datos para el programa
$RUN
$LOAD
programa a compilar
$FTN
$JOB

Figura 1.3: Conjunto de tarjetas de un trabajo


Un sistema operativo por lotes normalmente lee un ujo de trabajos
(de una le tora de tarjetas, por ejemplo), ada uno on sus propias tarjetas
de ontrol que predenen lo que ha e el trabajo. Cuando el trabajo termina,
normalmente su salida se imprime. La ara tersti a prin ipal de un sistema
por lotes es la falta de intera in entre el usuario y el trabajo mientras ste
se est eje utando. El trabajo se prepara y se enva; algn tiempo despus
(minutos, horas o das), apare e la salida. La demora entre el momento de
envo del trabajo y su termina in, que se ono e omo tiempo de retorno,
es debida a la antidad de omputa in que ste ne esita y al tiempo que se
tarda en empezar a pro esarlo.
La introdu in del monitor residente ha e ne esaria la introdu in de
diversos me anismos hardware de prote in, para evitar que un programa
de usuario a eda a la zona de memoria del monitor, o que monopoli e el uso
del pro esador, por ejemplo. En el apartado 1.7.1 se tratarn los me anismos
ne esarios.
El ambio a sistemas por lotes on se uen ia in automti a de trabajos
se hizo para mejorar el rendimiento de la CPU. Pero an as hay momentos
en que sta permane e o iosa. El problema es debido a que la velo idad de
los dispositivos me ni os de E/S es intrnse amente ms lenta que la de los
dispositivos ele trni os. Una CPU lenta puede eje utar millones de instru -

a los Sistemas Operativos


Introduccion

10

iones por segundo, mientras que una le tora de tarjetas rpida puede leer
unas 1200 tarjetas por minuto. Con el tiempo, los progresos de la te nologa
produ en dispositivos de E/S ms rpidos. Pero las velo idades de la CPU
tambin aumentan, in luso de forma ms rpida; por tanto, el problema no
slo no queda resuelto sino que in luso empeora.

1.2.2.1. Pro esamiento fuera de lnea


Una solu in a este problema fue reemplazar las le toras de tarjetas (dispositivos de entrada) y las impresoras de lnea (dispositivos de salida) por
unidades de inta magnti a. Ahora, en vez de leer dire tamente las tarjetas,
stas se opian primero en inta magnti a. Cuando un programa ne esita
tomar su entrada de una tarjeta, el registro equivalente se lee de la inta.
De forma similar, la salida de los programas se es ribe en inta magnti a
y el ontenido de sta se imprime ms tarde. Las le toras de tarjetas y las
impresoras operaban fuera de lnea, es de ir, sin utilizar el omputador
prin ipal (gura 1.4).
CPU
Impresora

Lectora
de tarjetas
(a) Operacin en lnea

Impresora

Lectora
de tarjetas
CPU
Unidades
de cinta

Unidades
de cinta

(b) Operacin fuera de lnea

Figura 1.4: Modos de opera in


La ventaja prin ipal de la opera in fuera de lnea es que permite utilizar

historica

1.2 Evolucion
de los sistemas operativos

11

mltiples sistemas le tora-a- inta y inta-a-impresora para una CPU. De esta


forma, si la CPU puede pro esar la entrada dos ve es ms rpido que una
le tora de tarjetas, enton es dos le toras trabajando simultneamente pueden
produ ir bastantes intas para mantener a la CPU o upada. Por tanto, el
omputador prin ipal ya no est oartado por la velo idad de las le toras de
tarjetas e impresoras de lnea, sino por la velo idad de las unidades de inta
magnti a, que son mu ho ms rpidas. Sin embargo, ahora hay una demora
an mayor a la hora de eje utar un trabajo parti ular. Primero debe ser
pasado a inta y hay que esperar que haya bastantes trabajos hasta llenarla.
Una vez llena tiene que ser rebobinada, desmontada, llevada a la CPU y
montada en una unidad de inta libre.

1.2.2.2. Buering
El pro esamiento fuera de lnea permite un solapamiento de las opera iones de la CPU y de E/S mediante la eje u in de estas a iones en dos
mquinas independientes. Si nos jamos en la eje u in de un trabajo observaremos que onsiste en el uso alterno del pro esador y la espera de opera iones de E/S; se suele de ir que se alternan rfagas de CPU y de E/S. El
buering es un mtodo que permite simultanear las opera iones de la CPU
y de E/S para un mismo trabajo en una misma mquina.
Consiste en dotar a los dispositivos de E/S de buers donde alma enar
la informa in temporalmente. De esta forma, mientras la CPU est pro esando un dato que se a aba de leer, el dispositivo puede estar realizando otra
opera in de entrada, situando el nuevo dato en el buer. Anlogamente,
uando se trata de una opera in de salida, la CPU puede estar introdu iendo los datos en el buer, mientras el dispositivo realiza una opera in de
salida. En la gura 1.5 podemos ver un diagrama temporal donde se ompara un sistema sin buer y otro on un buer. Se puede apre iar mo el
sistema que posee el buer puede solapar las opera iones de l ulo on el
primer dato mientras realiza la entrada del segundo. Esto permite aumentar
el rendimiento del sistema, ya que el sistema sin buer slo puede empezar
a leer el segundo dato uando termina de pro esar el primero.
Los buers permiten redu ir las diferen ias entre la velo idad a la que se
pro esan los datos y a la que se realizan las opera iones de E/S, onsiguiendo
aumentar el rendimiento del sistema al mantener menos tiempo o iosa a la
CPU. Pero los buers no son realmente efe tivos si los trabajos no presentan
un inter alamiento de opera iones de E/S y de l ulo. As, los trabajos
limitados por la CPU que ne esitan rfagas largas de CPU y realizan po as

a los Sistemas Operativos


Introduccion

12

Dato1

Sin buffer

Dato 2

111111111111111111
000000000000000000
Tiempo

Dato 1

Con buffer

Dato 2

Tiempo necesario para realizar la entrada de un dato


Tiempo que dura el procesamiento de un dato

Figura 1.5: Buering


opera iones de E/S mantendrn los buers de entrada siempre llenos y los
de salida va os. Por otro lado, los limitados por la E/S, que realizan mu has
opera iones de E/S y ne esitan rfagas de CPU ortas, mantienen va os los
buers de entrada y llenos los de salida, por lo que la CPU se ve limitada
por la velo idad de los dispositivos.

1.2.2.3. Spooling
La apari in de los dis os introdu e una nueva forma de pro esamiento
denominada spooling 1 que permite solapar las opera iones de E/S y de la
CPU utilizando una sola mquina. La diferen ia fundamental entre los dis os
y las intas (dispositivos de alma enamiento utilizado hasta el momento) es
su modo de a eso. Los dis os son dispositivos de a eso aleatorio, por lo que
se puede pasar rpidamente de una zona a otra, mientras que las intas slo
permiten un a eso se uen ial.
En un sistema de spooling (gura 1.6), las tarjetas son ledas dire tamente del le tor de tarjetas al dis o. Cuando se eje uta un trabajo, el sistema
operativo satisfa e sus peti iones de entrada del le tor de tarjetas leyendo
del dis o. De forma similar, uando el trabajo ha e una peti in para es ribir
en la impresora una lnea, la informa in se opia en un buer del sistema
situado en el dis o. Cuando el trabajo se ompleta, la salida se enva a la
impresora.
1 El nombre es un a rnimo de simultaneous peripheral operation on-line.

historica

1.2 Evolucion
de los sistemas operativos

13

El spooling, en esen ia, usa el dis o omo un gran buer, para adelantar
la le tura tanto omo sea posible en dispositivos de entrada y para alma enar
la informa in de salida hasta que los dispositivos sean apa es de a eptarla.

Disco

CPU
Impresora

Lectora de tarjetas

Figura 1.6: Spooling


El spooling solapa la E/S de un trabajo on la omputa in de otros.
In luso en un sistema simple el spooler puede estar leyendo la entrada de un
trabajo mientras est imprimiendo la salida de otro diferente.
Esta t ni a tiene un bene io dire to sobre el rendimiento del sistema.
Por el osto de algo de espa io en dis o, la CPU puede solapar la omputa in
de un trabajo on la E/S de otros. As, el spooling puede mantener trabajando
tanto a la CPU omo a los dispositivos de E/S a velo idades mu ho ms altas.
El spooling permite disponer de un pool de trabajos, es de ir, un onjunto de trabajos en dis o dispuestos para eje utarse. Esto va a permitir al
sistema operativo sele ionar el prximo trabajo a eje utar uando el que est
eje utando a tualmente tiene que realizar una opera in de E/S. Cuando los
trabajos estn en tarjetas o inta magnti a, no es posible saltar y eje utarlos
en un orden diferente, sino que tienen que ser eje utados se uen ialmente. Sin
embargo, uando varios trabajos estn en un dispositivo de a eso dire to,
tal omo un dis o, es posible ha er una plani a in de stos.
1.2.3.

Sistemas por lotes multiprogramados

La opera in fuera de lnea, el buering y el spooling tienen sus limita iones para solapar la E/S. Un solo trabajo no puede, en general, mantener

14

a los Sistemas Operativos


Introduccion

monitor

trabajo 1

trabajo 2

trabajo 3

trabajo 4

Figura 1.7: Estado de la memoria en un sistema de multiprograma in

o upados todo el tiempo la CPU y los dispositivos de E/S. Una forma de


onseguirlo es que el sistema operativo mantenga varios trabajos en memoria a un tiempo omo se muestra en la gura 1.7, esto es lo que se ono e
omo multiprograma in. Este onjunto de trabajos ser normalmente un
sub onjunto de los que se mantienen en el dis o (ya que la apa idad de la
memoria es usualmente mu ho menor que la del dis o). El sistema operativo
es oge uno de los trabajos que est en memoria y empieza a eje utarlo. Si en
algn momento el trabajo tiene que esperar algo, omo por ejemplo que se
monte una inta, que se d una orden, o que se omplete una opera in de
E/S, el sistema operativo podr elegir otro trabajo para eje utarlo. En un
sistema donde no existe la multiprograma in, la CPU estara o iosa durante este tiempo. Con la multiprograma in aumenta la utiliza in de la CPU
organizando los trabajos de forma que sta siempre tenga algo que eje utar.
Esto es lo que se representa en la gura 1.8.
Un on epto bsi o en estos sistemas es el grado de multiprograma in, que se dene omo el nmero de trabajos argados simultneamente
en memoria.

historica

1.2 Evolucion
de los sistemas operativos

15

Trabajo 1
Trabajo 2
Trabajo 3
Trabajo 4
Multiprogramado

T1

T2

Ciclo de ejecucin

T3

T4

T1

T2

T3

T4
Tiempo

Ciclo de espera (CPU ociosa)

Figura 1.8: Eje u in de trabajos en un sistema multiprogramado


Los sistemas operativos por lotes multiprogramados son laramente ms sosti ados que los anteriores, pues son los primeros que toman de isiones por los usuarios. Todos los trabajos que entran en el sistema se
mantienen en el pool de trabajos a la espera de obtener espa io en la memoria prin ipal para omenzar su eje u in. Si varios trabajos estn listos para
ser llevados a memoria, y no hay su iente sitio para todos ellos, enton es
el sistema debe elegir. Esta de isin es lo que se ono e omo plani a in
de trabajos. Cuando el sistema operativo sele iona un trabajo del pool, lo
arga en memoria para su eje u in. Cuando tenemos varios trabajos en memoria dispuestos para eje utarse, tambin el sistema debe elegir entre ellos
para de idir ul es el que se eje utar primero; esto es lo que se ono e omo
plani a in de la CPU. Todos estos aspe tos sern estudiados on mayor
amplitud en el aptulo ??.
El tener varios trabajos argados en memoria al mismo tiempo requiere
un manejo de la memoria ms omplejo que en los sistemas anteriores, al
tener que de idir en qu zonas van a ubi arse los distintos trabajos. En el
aptulo ?? se analizar este problema on mayor amplitud. Por otro lado,
la existen ia de varios trabajos a tivos simultneamente ha e impres indible
proteger los distintos re ursos a los que pueden a eder, tales omo la memoria, dispositivos de E/S y la CPU, on objeto de evitar interferen ias entre
ellos. Los me anismos de prote in ne esarios se tratarn en ms profundidad en el apartado 1.7.1.

16
1.2.4.

a los Sistemas Operativos


Introduccion
Sistemas de tiempo ompartido

Los sistemas por lotes on multiprograma in propor ionan un entorno


en el que los diferentes re ursos del sistema (CPU, memoria, dispositivos de
E/S) se utilizan de una forma ms efe tiva. Sin embargo, desde el punto
de vista del programador o del usuario, estos sistemas presentan algunas
di ultades. stas son debidas a la falta de intera in entre los usuarios y
el sistema, por ejemplo, los programas deben ser depurados estti amente,
a partir de los vol ados de memoria. El programador no puede modi ar un
programa a medida que se eje uta para estudiar su omportamiento.
Los sistemas de tiempo ompartido son una extensin lgi a de los
sistemas de multiprograma in. En ellos, mltiples trabajos son eje utados
por la CPU inter ambindose entre ellos, adems los ambios o urren tan fre uentemente que los usuarios pueden intera ionar on ada programa mientras se est eje utando. Un sistema de tiempo ompartido es un sistema de
multiprograma in intera tivo; esto permite que el usuario d instru iones
al sistema operativo o a un programa en eje u in dire tamente, y re iba una
respuesta inmediata. De esta forma el usuario puede experimentar f ilmente
y ver los resultados inmediatamente.
En estos sistemas, el usuario enva rdenes y espera los resultados, por
tanto, el tiempo de respuesta debera ser lo ms pequeo posible. Esta
es una de las ondi iones prin ipales que se le debe imponer a un sistema
intera tivo.
Los primeros omputadores eran sistemas intera tivos, ya que el sistema
ompleto estaba a disposi in del usuario. Esto permita al programador gran
exibilidad y libertad en la prueba y desarrollo de programas. Pero daba lugar
a que la CPU estuviera o iosa durante perodos largos de tiempo. Debido al
alto oste de estos primeros omputadores, el tiempo de CPU o ioso no era
deseable, por lo que se desarrollaron los sistemas por lotes. stos mejoraron
la utiliza in del sistema para los propietarios de los omputadores.
Los sistemas de tiempo ompartido son el resultado de intentar propor ionar un uso intera tivo del omputador a un osto razonable. Un sistema
operativo de tiempo ompartido utiliza la plani a in de la CPU y la multiprograma in para propor ionar a ada usuario una pequea por in de
un omputador de tiempo ompartido. Cuando un programa se eje uta, normalmente lo ha e durante perodos ortos de tiempo, teniendo que liberar la
CPU ada vez que trans urre el tiempo mximo permitido o bien uando ne esita realizar una opera in de E/S. Siempre que se dan estas ir unstan ias

historica

1.2 Evolucion
de los sistemas operativos

17

el sistema pasa a eje utar otro programa diferente.


Un sistema operativo de tiempo ompartido permite a mu hos usuarios
utilizar simultneamente el omputador; se trata, por tanto, de un sistema
multiusuario, al ontrario que los sistemas anteriores que eran todos monousuario. Esto se onsigue dando a ada usuario el uso de la CPU durante
un intervalo orto de tiempo. Es de ir, la CPU va atendiendo a los distintos
usuarios del sistema durante perodos ortos de tiempo, dndoles a estos la
impresin de que el omputador est a su entera disposi in.
La tabla 1.1 muestra las diferen ias entre un sistema de multiprograma in por lote y uno de tiempo ompartido, donde se pone de maniesto la
diferen ia bsi a entre ambos sistemas: el primero intenta maximizar el rendimiento del sistema, mientras que el segundo ofre e un entorno intera tivo
a los usuarios, on un tiempo de respuesta razonable.

Objetivo prin ipal


Origen de las
instru iones al
sistema operativo

Multiprograma in
por lotes
Maximizar el uso del
pro esador
Se propor ionan las
instru iones en un
lenguaje de ontrol de
trabajos junto al trabajo

Tiempo ompartido
Minimizar el tiempo
de respuesta
rdenes introdu idas
desde una terminal

Cuadro 1.1: Comparativa entre un sistema multiprogramado y un sistema


de tiempo ompartido

La idea del tiempo ompartido fue demostrada al prin ipio de los aos 60,
pero omo estos sistemas eran ms dif iles y aros de onstruir, no llegaron
a ser omunes hasta prin ipios de los aos 70.
El tiempo ompartido plantea nuevos problemas para el sistema operativo. La presen ia de varios usuarios intera tivos introdu e la ne esidad de
proteger los  heros para que slo los usuarios autorizados puedan tener a eso a stos.

18

a los Sistemas Operativos


Introduccion

1.3. Sistemas para omputadores personales


Con el tiempo los ostos del hardware han disminuido mu ho, ha iendo
posible de nuevo tener un omputador dedi ado a un solo usuario. stos se
ono en omnmente omo omputadores personales.
Hasta ha e po o, los pro esadores de estos omputadores haban perdido
las ara tersti as que se ne esitaban para proteger al sistema operativo de
los programas de los usuarios. Los sistemas operativos que se es riban para
ellos eran monousuarios y monoprogramados. Las metas de estos sistemas
operativos tambin son diferentes, en vez de intentar maximizar la utiliza in
de la CPU y de los perifri os, optan por la omodidad del usuario.
A medida que los omputadores personales se han ido ha iendo ms potentes, sus sistemas operativos han adoptado algunas de las ara tersti as
de los sistemas estudiados anteriormente.

1.4. Sistemas de tiempo real


Los sistemas operativos de tiempo real son sistemas de propsito
espe ial onstruidos para resolver problemas on retos. Se utilizan uando
existen requisitos estri tos de tiempo en la opera in del pro esador o en el
ujo de datos. En estos sistemas la orre in de su opera in depende no
slo de los resultados lgi os de la omputa in, sino tambin del tiempo que
tarda en produ irse estos resultados. Algunos ejemplos de uso de sistemas de
tiempo real son el ontrol de pro esos de produ in en la manufa tura in de
produ tos, los sistemas de inye in de gasolina de algunos automviles, et .
En todos los asos, unos sensores suministran informa in sobre el entorno
y el sistema tiene que responder de forma ade uada a los ambios que se
produz an. Esta respuesta tiene unos lmites bien denidos de tiempo, y si
no se produ e dentro de stos el sistema fallar.
Se pueden distinguir dos tipos de sistemas de tiempo real: los duros y los
suaves. Para los sistemas de tiempo real duros es absolutamente impres indible que las respuestas se produz an dentro de los lmites de tiempo espe i ados. Los sistemas de tiempo real suaves son menos restri tivos, sigue siendo
importante que los tiempos de respuesta estn dentro de los lmites, pero si
alguna vez no lo estn, el sistema seguir fun ionando. Estos sistemas tienen
una utilidad ms limitada que los duros, ya que no pueden ser utilizados para
ontrol industrial y robti a. Sin embargo, hay varias reas donde son tiles,

de un procesador
1.5 Sistemas con mas

19

por ejemplo, multimedia, realidad virtual, et . Estos sistemas disponen de


ara tersti as de los sistemas operativos avanzados que no estn disponibles
en los sistemas de tiempo real duros.

1.5. Sistemas on ms de un pro esador


Todos los sistemas onsiderados hasta ahora se eje utan en omputadores
on un solo pro esador. Posteriormente, ha empezado a onstruirse sistemas
on ms de un pro esador, por lo que el sistema operativo se ha tenido
que adaptar a esta ir unstan ia. Estos sistemas propor ionan un ahorro
de dinero on respe to a los sistemas de un solo pro esador, debido a la
omparti in entre todos ellos de los mismos perifri os, et . Existen distintos
tipos de sistemas on mltiples pro esadores: los sistemas paralelos, en red y
distribuidos.

1.5.1.

Sistemas paralelos

Estos sistemas tienen varios pro esadores que omparten el bus del sistema, el reloj, la memoria, et . Hay varias razones que justi an la onstru in
de este tipo de sistemas. Una ventaja es el aumento de rendimiento. Es de
esperar que al aumentar el nmero de pro esadores que trabajan juntos, aumente la antidad de trabajo que se realiza por unidad de tiempo. Esto es
lo que suele o urrir, aunque el aumento de rendimiento no es exa tamente propor ional al nmero de pro esadores, sino algo menor, ya que suele
haber ierta sobre arga en este tipo de sistemas para ha er que todos los
pro esadores trabajen de forma oordinada.
Otra razn para la onstru in de este tipo de sistemas es el aumento de
abilidad. En ellos, el fallo de un pro esador no paraliza el sistema ompleto,
slo se ha e ms lento.
La mayor parte de estos sistemas usan hoy da el multipro esamiento simtri o, en el ual ada pro esador eje uta una opia idnti a del
sistema operativo. Algunos sistemas usan lo que se ono e omo multipro esamiento asimtri o, en el ual a ada pro esador se le asigna una tarea
espe  a. Un pro esador maestro ontrola el sistema; los dems pro esadores pueden esperar a re ibir instru iones del pro esador maestro o tienen
tareas predenidas.

a los Sistemas Operativos


Introduccion

20
1.5.2.

Sistemas en red y distribuidos

A mediados de la d ada de los 80 se empezaron a onstruir redes de


ordenadores personales que eje utaban sistemas operativos en red y distribuidos.
En los dos asos tenemos un onjunto de ordenadores one tados mediante una red de omuni a in que estable e la ne esidad de un proto olo de
omuni a iones entre los distintos equipos. Una diferen ia entre ambos es el
tipo de sistema operativo que eje utan. En el aso de los sistemas en red ada
mquina tiene su propio sistema operativo, no teniendo que ser iguales los de
todas las mquinas; sobre ste se eje uta un software de red que sirve para
omuni ar las mquinas. Los sistemas distribuidos se ara terizan porque el
sistema operativo que se eje uta en todas las mquinas es idnti o.2
Existe otra diferen ia fundamental entre ambos tipos de sistemas, en el
aso de un sistema operativo en red los usuarios son ons ientes de la existen ia de mltiples omputadores, pueden a eder a mquinas remotas o opiar
 heros de una mquina a otra, pero saben que estn a ediendo a un re urso
remoto. Los sistemas operativos en red no son fundamentalmente diferentes
de los sistema operativos para equipos on un solo pro esador. Tienen ara tersti as adi ionales para permitir la omuni a in, pero stas no modi an
la estru tura esen ial del sistema operativo.
Sin embargo, los sistemas distribuidos apare en ante los usuarios omo
si se tratara de un sistema unipro esador tradi ional. La distribu in de los
re ursos es transparente a los usuarios, ya que no son ons ientes de qu
pro esador eje uta su programa, dnde estn lo alizados los  heros, et ;
todo esto es manejado de forma automti a por el sistema operativo. Una de
las formas de onseguir esta transparen ia es a travs del modelo lienteservidor, que permite des ribir la intera in de los programas en un sistema
distribuido. De a uerdo a este modelo, ualquier programa que se eje ute en
el sistema puede proveer servi ios para otros, o pedirlos. Los programas de
usuario que soli itan servi ios son los denominados lientes, y aquellos que
proveen los servi ios se denominan servidores.

2 A tualmente se onstruyen sistemas distribuidos en los que ada mquina puede eje utar un sistema operativo diferente. En stos existe una apa de software denominada

middleware que es la que propor iona las ara tersti as distribuidas del sistema.

de los sistemas operativos


1.6 Clasificacion

21

1.6. Clasi a in de los sistemas operativos


En los apartados anteriores hemos visto mo han evolu ionado los sistemas operativos on el objetivo de onseguir siempre un mayor rendimiento
del sistema. Esto ha permitido adaptar el sistema operativo a nuestras ne esidades. As, los sistemas operativos se pueden lasi ar en base a distintos
riterios, omo muestra la gura 1.9. Esta lasi a in no es ex lusiva, es
de ir, un sistema operativo monousuario puede ser intera tivo y multiprogramado.

Monousuario

Nmero
de
usuarios

Multiusuario

Monoprogramado

Nmero de programas Multiprogramado

Tiempo Compartido

Lotes

Tipo de intera in

Intera tivo

Clasi a in de los
sistemas operativos

Monopro esador

Paralelo

N
de
pro esadores

Red

Distribuido

Lotes

Importan ia
Intera tivo

Tiempo de respuesta
Tiempo real blando

Tiempo real duro

Figura 1.9: Clasi a in de los sistemas operativos

a los Sistemas Operativos


Introduccion

22

1.7. Aspe tos hardware


1.7.1.

Me anismos hardware de prote in

Al ir aumentando la omplejidad de los sistemas operativos tambin lo


ha e la ne esidad de prote in de re ursos tales omo la memoria, la CPU
y los dispositivos de E/S. Por ejemplo, uando tenemos en memoria varios
pro esos junto on el sistema operativo debemos evitar que un pro eso a eda
a la zona de memoria donde est argado el sistema operativo u otro pro eso.
Una forma de onseguir la prote in de todos estos re ursos onsiste
en distinguir dos tipos de instru iones hardware, aquellas que no presentan
ningn tipo de problema de prote in y las que s son oni tivas desde
el punto de vista de la prote in de los re ursos. Para poder ha er esta
distin in es ne esario disponer de dos modos de eje u in diferentes, un
modo privilegiado que permite a eder a ualquier instru in hardware y un
modo normal que slo permite a eder al sub onjunto de instru iones que
no son oni tivas (modo de opera in dual). Pero para poder diferen iar
entre dos modos de eje u in diferentes es ne esario disponer de un bit de
modo, que dependiendo de su valor estable er un modo de eje u in u otro.
Por tanto, aquellas arquite turas que uentan on el bit de modo permiten
estable er un modo de eje u in privilegiado que se suele denominar modo
supervisor o modo n leo que permite eje utar ualquier instru in, y un
modo normal o modo usuario que slo permite a eder a las instru iones
no privilegiadas. Si se intenta eje utar una instru in privilegiada en modo
usuario, el hardware la tratar omo una instru in no vlida produ iendo
una ex ep in3 y, por tanto, pasar el ontrol al sistema operativo.
A ontinua in se des ribe la forma en que se protegen los diferentes
re ursos del sistema.
Las instru iones de E/S son instru iones protegidas, por lo que un pro eso que se eje ute en modo usuario no puede realizar su propia E/S, sino
que es el sistema operativo el que la tendr que realizar en su nombre. Esta
es la forma en la que se protegen los dispositivos de E/S.
La prote in de la CPU pretende evitar que un pro eso tome el ontrol
de la CPU y no lo devuelva. Para ello se suele utilizar un temporizador que
provo a interrup iones ada ierto tiempo, permitiendo que el sistema operativo tome el ontrol. En este aso, las instru iones que permiten modi ar
3 Una ex ep in o trampa es una interrup in produ ida por el software.

1.7 Aspectos hardware

23

los parmetros del temporizador deberan ser privilegiadas.


En el aso de la memoria, el espa io de dire iones que o upa ada pro eso se suele proteger mediante el uso de dos registros que estable en las
dire iones base y lmite de este espa io de dire iones. Cada vez que un pro eso ha e una referen ia a memoria, se ompara la dire in a la que quiere
a eder on los valores de estos registros, para omprobar si la dire in es o
no vlida. En este aso, las instru iones que permiten modi ar los valores
de estos registros se denen omo privilegiadas.
1.7.2.

T ni as para la realiza in de opera iones de


E/S

Una opera in de E/S onsiste en la transferen ia de informa in desde la


memoria a un dispositivo (opera in de salida), o bien desde un dispositivo
a la memoria (opera in de entrada).
Las opera iones de E/S se pueden llevar a abo de distintas formas, dependiendo de las ara tersti as del dispositivo del que se disponga. La t ni a
que se utili e para realizar estas opera iones va a tener un efe to importante sobre el rendimiento del sistema de omputa in. Estas t ni as son las
siguientes:
E/S ontrolada por programa
E/S ontrolada por interrup iones
A eso dire to a memoria (DMA)

1.7.2.1. E/S ontrolada por programa


Cuando el pro esador est eje utando un programa y en uentra una instru in de E/S, eje uta esta instru in enviando una orden al ontrolador
del dispositivo impli ado. Cuando se emplea E/S programada, tambin denominada es ruta in, la CPU se en arga de ontrolar si la opera in ha
terminado o no omprobando peridi amente el estado del ontrolador (de
ah el nombre de es ruta in). En este aso el ontrolador no realiza ningn
tipo de a in para avisar al pro esador de que la opera in de E/S ha nalizado, o de que ha o urrido un error, et .; sino que es el propio pro esador
el que tiene que omprobarlo ada ierto tiempo.

24

a los Sistemas Operativos


Introduccion

Con esta t ni a, el pro esador es el responsable de extraer los datos de la


memoria prin ipal uando va a realizarse una opera in de salida o alma enar
los datos en la memoria prin ipal uando se realiza una entrada. El software
de E/S se es ribe de manera que el pro esador eje ute unas instru iones
que le otorguen el ontrol dire to sobre la opera in de E/S, in luyendo la
omproba in del estado de los dispositivos, el envo de rdenes de le tura o
es ritura y la transferen ia de los datos.
La gura muestra un ejemplo de utiliza in de la E/S programada para
leer datos desde un dispositivo externo (por ejemplo, un registro de una inta)
ha ia la memoria. Los datos se leen en unidades de una palabra (por ejemplo,
16 bits) ada vez. Por ada palabra que se lea, el pro esador debe permane er
en un bu le de omproba in del estado hasta que determine que la palabra
est disponible y puede ser es rita en memoria.

1.7.2.2. E/S ontrolada por interrup iones


Cuando el pro esador est eje utando un programa y en uentra una instru in de E/S, eje uta esta instru in enviando una orden al ontrolador
del dispositivo impli ado. Cuando se emplea E/S ontrolada por interrup iones, la CPU se desentiende de la opera in de E/S mientras esta se realiza,
pudiendo dedi arse mientras la opera in est en urso a eje utar otro programa diferente.
Cuando se utiliza esta t ni a, el ontrolador avisa al pro esador mediante
una interrup in uando tiene los datos disponibles para su transferen ia.
El pro esador abandonar la tarea que estaba realizando para atender la
interrup in y se en argar de la transferen ia de los datos y podr ontinuar
on lo que estaba ha iendo.
Vamos a expli ar mo fun iona esta t ni a desde el punto de vista del
dispositivo de E/S. En un opera in de entrada, el ontrolador del dispositivo
re ibe la orden LEER desde el pro esador. El ontrolador pro ede a realizar
la le tura de los datos desde el perifri o aso iado. Cuando los datos estn en
el registro de datos del ontrolador, ste enva una seal de interrup in al
pro esador a travs de una lnea de ontrol. El ontrolador se queda esperando
a que los datos le sean soli itados por el pro esador. Cuando llegue esta
soli itud, el ontrolador situar los datos en el bus de datos y estar listo
para otra opera in de E/S.
Desde el punto de vista del pro esador, las a iones a realizar para una
opera in de entrada son las siguientes: el pro esador enva una orden LEER,

1.7 Aspectos hardware

25

guarda el ontexto del programa en urso y se dedi a a ha er otra osa (por


ejemplo, a eje utar otro programa). Al nalizar ada i lo de instru in, el
pro esador omprueba si hubo una interrup in. Cuando se produ e una, el
pro esador guarda el ontexto del programa que se est eje utando en ese
momento y atiende la interrup in. En este aso, el pro esador lee la palabra
de datos del ontrolador de E/S y la alma ena en la memoria. A ontinua in restaura el ontexto del programa que interrumpi anteriormente para
atender la interrup in, u otro diferente, para seguir on su eje u in.

1.7.2.3. A eso dire to a memoria


Cuando se tienen que mover grandes volmenes de datos entre los dispositivos de E/S y la memoria, se ne esita una t ni a e iente que lo haga
de forma rpida. Esta t ni a para realizar opera iones de E/S se denomina
a eso dire to a memoria.
Esta t ni a fun iona de la siguiente forma: uando el pro esador desea
leer o es ribir un bloque de datos, emite una orden ha ia la ontroladora
DMA, envindole la siguiente informa in:
Tipo de opera in que desea realizar: le tura o es ritura.
La dire in del dispositivo de E/S involu rado.
La dire in ini ial de memoria desde la que se va a leer o en la que se
va a es ribir.
Nmero de palabras a leer o es ribir.
A partir de este momento, el pro esador puede ontinuar on otro trabajo, ya que ha delegado la opera in de E/S en el ontrolador DMA. ste se
en arga de transferir el bloque ompleto, palabra a palabra, ha ia la memoria
o desde ella, sin la interven in del pro esador. Cuando se ompleta la transferen ia, el ontrolador DMA enva una seal de interrup in al pro esador.
Por tanto, el pro esador slo se o upa de la opera in de E/S al prin ipio y
al nal de sta.

a los Sistemas Operativos


Introduccion

26

1.8. Resumen
Dentro de un sistema de omputa in, uno de los elementos ms importantes es el sistema operativo. El objetivo de ste es abstraer los aspe tos
omplejos del sistema ofre iendo una mquina virtual, donde el usuario puede
trabajar en un entorno ms modo, sin ne esidad de ono er el fun ionamiento del hardware.
Los sistemas operativos a tuales han heredado ara tersti as de todos
los que han surgido a lo largo de la historia: por lotes, multiprogramados, de
tiempo ompartido, et . Esto se puede ver en la gura 1.10.
Primeros

Sistemas por

sistemas

lotes simples
Buffering

Manejadores de dispositivos
Compiladores

Sistemas por lotes


multiprogramados

Spooling
Ficheros
Dispositivos

Sistemas de

Planificacin

Sistemas

Gestin de memoria
Proteccin
Planificacin

Operativos

tiempo real

actuales

Gestin de memoria
Planificacin
Proteccin

Protocolos

Sistemas de
tiempo compartido

Modelo cliente-servidor

Sistemas en red
y distribuidos

Interfaz computador-usuario
Sistemas para
comp. personales

Figura 1.10: Evolu in de los sistemas operativos


Uno de los primeros aspe tos que in orporaron los sistemas operativos
fueron los manejadores de dispositivos. Con ellos se onsigue uno de los objetivos, abstraer la apa hardware on el n de ha er el sistema de omputa in
ms f il de manejar.
Los sistemas por lotes simples in orporan dos t ni as, el buering y el

1.8 Resumen

27

spooling, uyo objetivo es solapar las opera iones de la CPU on las de E/S,

on el n de aumentar el rendimiento del sistema y mantener a la CPU ina tiva el menor tiempo posible. Adems, on la apari in de los dis os surgen
los  heros y los denominados dispositivos lgi os, que permiten abstraer an
ms el hardware.
Sin embargo, el gran avan e se va a produ ir en los sistemas por lotes
multiprogramados, que onsiguen mantener en memoria varios trabajos a
la vez, on la posibilidad de inter alar sus eje u iones uando tengan que
esperar. Esto introdu e una serie de ambios en el sistema operativo, debido
a la ne esidad de administrar la memoria para alojar los distintos trabajos,
plani ar los distintos re ursos del sistema (in luida la CPU) entre todos los
programas que se estn eje utando.
Con la apari in de los sistemas operativos de tiempo ompartido y las
terminales apare en los primeros sistemas multiusuario, en los que varios
usuarios pueden trabajar intera tivamente on una mquina.
El des enso en el pre io del hardware permiti la onstru in de ordenadores personales. Los sistemas operativos para estos ordenadores han
aprove hado las ara tersti as de los sistemas onstruidos para los grandes
omputadores.
Los sistemas de tiempo real se pueden lasi ar en dos tipos: duros y
suaves. Los primeros se utilizan omo dispositivos de ontrol en apli a iones
dedi adas, y tienen unos requisitos de tiempo bien denidos, que deben umplirse ya que de otro modo el sistema fallar. Los sistemas de tiempo real
suaves son menos restri tivos en uanto a estas limita iones de tiempo.
Los sistemas paralelos tienen ms de un pro esador que omparten el bus,
la memoria y diversos dispositivos. Estos sistemas propor ionan un aumento
del rendimiento y una mayor abilidad.
Los sistemas operativos en red permiten omuni ar diversas mquinas
pudiendo los usuarios de stas utilizarlas de forma remota, a eder a sus
re ursos, et . Los sistemas operativos distribuidos permiten ha er esto mismo
pero de una forma transparente a los usuarios. Una forma de onseguirlo es
mediante lo que se denomina el modelo liente-servidor.

Vous aimerez peut-être aussi