Vous êtes sur la page 1sur 120

SISTEMAS

OPERATIVOS
APUNTE BIBLIOGRFICO
Y GUAS DE TRABAJO
SISTEMAS
OPERATIVOS
APUNTE BIBLIOGRFICO
Y GUAS DE TRABAJO
2014
PROFESORA PAIN PINTOS
Instituto Sup!io! T!"i#!io $Si%&n
Bo'i(#!)
UNIDAD INTRODUCTORIA:
REVISIN DE CONCEPTOS BSICOS SOBRE INFORMTICA:
Hardware: Definicin taxonoma comparacin CPU y perifricos respecto a su
funcin, su interaccin en el procesamiento de informacin.
uncionamiento !"sico de la Cpu Componentes #U.C. $%&'()$*( +,U-.
/uses 0emoria $am #usos. tipos. interaccin con la CPU-.
(oftware: definicin taxonoma usos. 'nteraccin con el 1ardware.
(istema *perati2o: definicin tentati2a, funcin, interaccin con otros elementos
del sistema inform"tico.
UNIDAD I:
HISTORIA DE LOS SISTEMAS OPERATIVOS Y TECNOLOGAS ASOCIADAS:
,nea de tiempo de la creacin e inno2acin de los (istemas *perati2os en relacin
a las diferentes 3eneraciones de componentes de las m"4uinas. %2olucin de las
caractersticas y funciones de los (istemas *perati2os en referencia a las
necesidades de procesamiento de informacin en el entorno la!oral5social de cada
3eneracin.
)ecnolo3a de procesamiento por lote. )ecnolo3a de disco 6 0onitor residente:
definiciones, funcionamiento. 'nteraccin con el (istema *perati2o y el
1ardware.(poolin3 y !ufferin3: definiciones, uncionamiento. 'nteraccin con el
(istema *perati2o y el 1ardware.
0ultipro3ramacin: definicin, funcionamiento. 'nteraccin con el (istema
*perati2o y el 1ardware. 0ultitareas: definicin, funcionamiento. 'nteraccin con
el (istema *perati2o y el 1ardware. 0ultiprocesadores: definicin,
funcionamiento. 'nteraccin con el (istema *perati2o y el 1ardware.
'nteraccin y e2olucin de las diferentes tecnolo3as uncin del (istema
*perati2o en cada una de ellas. +n"lisis y dise7o de e8emplos sencillos de las
mismas para resol2er re4uerimientos especficos.
UNIDAD II
ESTRUCTURA DEL SISTEMA INFORMTICO:
$e2isin de la estructura interna del sistema inform"tico. Din"mica del
funcionamiento de CPU, 0%0*$'+ $+0, P%$'9$'C*(, /U(%(, C*:)$*,+D*$%(,
(.*.
:ocin de trampas, interrupciones, llamadas al sistema.
%lementos del (.* para mane8ar las interrupciones: 2ector de interrupciones, ta!la
de dispositi2os.
+cceso Directo a 0emoria.
Procesamiento de entrada6salida asincrnico sincrnico.
UNIDAD III
ESTRUCTURA, FUNCIONAMIENTO Y SUBSISTEMAS DEL SISTEMA OPERATIVO
2
(istemati;acin de las funciones 3enerales de los (istemas *perati2os.
$econocimientos de su!sistemas y de pro!lem"ticas 3enerales 4ue de!en resol2er
dic1os su!sistemas. )areas 3enerales asociadas a cada su!sistema.
)ipos de %structuras de los (.*.: %structura simple, enfo4ue por capas. Definicin
y uso de 0"4uinas <irtuales #caso particular: =a2a-.
UNIDAD IV
GESTION DE PROCESOS
Procesos: concepto. estados 3enerales. planificacin de procesos #3eneral el
contexto de e8ecucin de un proceso-. operaciones !"sicas entre procesos 5
procesos cooperati2os Hilos %8emplo: >indows :) ,inux o Unix.
:ociones 3enerales so!re la planificacin de CPU. $e2isin 3eneral de criterios de
planificacin y al3unos al3oritmos +n"lisis de al3unos de los al3oritmos m"s
utili;ados en la planificacin.
:ociones 3enerales respecto a la sincroni;acin de procesos +l3oritmos
UNIDAD V
GESTIN DE ALMACENAMIENTO:
&estin de memoria: %spacio de direcciones l3ico y fsico 'ntercam!io
+si3nacin conti3ua Pa3inacin (e3mentacin.
0emoria <irtual: concepto utilidad 5 aplicacin de pa3inacin $eempla;o de
p"3inas.
'nterfa; con el sistema de arc1i2os #concepto de arc1i2o, atri!utos, operaciones,
tipos, mtodos de acceso a los arc1i2os, estructura de arc1i2os y directorios- 6
'mplementacin del sistema de arc1i2os #estructura, or3ani;acin, monta8e,
implementacin de directorios-.
UNIDAD VI
GESTIN DE E/S:
(istemas de e6s &eneralidades so!re sistema secundario y terciario de
almacenamiento $e2isin y comple8i;acin de procesos de tratamiento de
interrupciones y llamadas al sistema. Puertos.
3
0+)%$'+: ('()%0+( *P%$+)'<*(
P$*%(*$+: P+':9 P':)*(.
':()')U)* )%$C'+$'* ?('0@: /*,'<+$A
UNIDAD NRO. I
INTRODUCCIN A LOS SISTEMAS OPERATIVOS RESEA HISTRICA
DEFINICIN.
SNTESIS DE DICTADO DE CLASES.
OBJETIVOS:
%sta sntesis se reali;a a fines de:
o acilitar el acceso a la !i!lio3rafa especfica acercando nociones !"sicas del tema,
en un len3ua8e m"s colo4uial y adem"s inte3rando otras nociones 4ue fueron
sur3iendo en el transcurso del dictado de la unidad.
o +cercarles un es4uema 3eneral de contenidos a a4uellos estudiantes 4ue por una
ra;n u otra no pudieron estar presentes en las clases en 4ue este tema se
desarroll.
Se ha intentado desarrollar interrelaciones ms que conceptos. Por lo tanto,
para poder tener una idea ms clara de algunas nociones deern consultar el
material iliogr!ico.
Por otro lado, ser"a un error gra#e considerar que tras la lectura de esta
s"ntesis $a harn accedido a los contenidos de esta primera unidad. %es
aclaro: no es as". &c se lista un presentaci'n sica de los temas
desarrollados durante las clases. (o sustitu$e a la toma de nota o al material
iliogr!ico. Sir#e )nicamente para poder tener una estructura general pre#ia
a la lectura o ien para ordenar conceptos.
DE LOS COMPUESTOS GENERALES DE UN SISTEMA
INFORMTICO:
+ modo de repaso, 1a!amos dic1o
4ue un sistema inform"tico est"
compuesto por dos elementos 3enerales:
el *ard+are #todo compuesto fsico,
tan3i!le- y el So!t+are #compuestos
2irtuales, 4ue no tiene existencia fsica y
por lo tanto depende del 1ardware para
funcionar y para ?existirA-.
+ su 2e;, el software se clasifica en:
o so!t+are de sistemas #a4uel
software 4ue 1ace posi!le la
interaccin6intermediacin del
usuario y los pro3ramas de
4
aplicacin con el 1ardware. el principal soft de sistemas es el ('()%0+
*P%$+)'<*-,
o los so!t+are de aplicaci'n #a4uellos softwares desarrollados para dar respuesta
a re4uerimientos especficos del usuario-.
o %l software de pro3ramacin o len3ua8es de pro3ramacin, 4ue son a4uel tipo de
software 4ue permite al usuario crear63enerar software.
Haremos una aclaracin antes de a2an;ar: existe una diferencia entre pro3ramas
y datos #o dic1o de forma m"s tcnica: arc1i2os de pro3ramas y arc1i2os de datos-. (i
!ien am!as cosas suelen encontrarse almacenadas en perifricos de almacenamiento, el
pro3rama es un software 4ue se e8ecuta, 4ue permite utili;ar el 1ardware se3Bn un
o!8eti2o especfico. Para esto ?a!rirseA. +!rir un pro3rama si3nifica u!icar en la memoria
ram a4uellos arc1i2os del pro3rama necesarios para 4ue funcione. %s decir: un
pro3rama para funcionar necesita estar en la memoria ram. %n este sentido, el
pro3rama es netamente ?acti2oA: su tarea es, 2al3a la redundancia, 1acer tareas.
,os datos o la informacin, en cam!io suelen ser los ?insumosA o la ?materia
primaA so!re los 4ue se e8ecutan los pro3ramas, son netamente ?pasi2osA #es decir, 2an
a necesitar de pro3rama para poder ser modificados, eliminados o ampliados-. De esta
diferencia !"sica se deduce 4ue un sistema de informacin necesita tanto los pro3ramas
como los datos. (u funcin principal es la de procesar a tra2s de los pro3ramas5 datos
para poder o!tener informacin 4ue le permita al usuario satisfacer una determinada
necesidad.
%stas nociones se ir"n comple8i;ando a medida 4ue 2ayamos desarrollando las
si3uientes unidades.
<al3a esta primera
exposicin para poder
comprender lo 4ue 2iene.
%l Hardware, a su
2e;, se di2ide en todos
a4uellos elementos 4ue
permiten procesar
informacin
#1a!itualmente
?encerradosA en el
3a!inete de la m"4uina- y
a4uellos otros dispositi2os
4ue permiten el in3reso,
la salida y el
almacenamiento de la
informacin procesada o
los datos a procesar.
%n el primer caso,
estamos 1a!lando
especficamente de la
Unidad Central De Procesamiento #CPU- y todos a4uellos elementos 4ue la ?ayudanA a
procesar informacin #memoria ram, !uses, etc.-. %n el se3undo caso, estamos
1a!lando de los perifricos #stos Bltimos se clasificar"n dependiendo de la funcin 4ue
cumplen: salida, entrada, almacenamiento, comunicacin-.
,a CPU, a su 2e;, est" formada por C componentes !"sicos: la +,U #o unidad
aritmtico5l3ica-, la UC #unidad de control- y los $%&'()$*( D% ('()%0+.
5
,as definiciones y funciones de cada una se encuentran desarrolladas en la
presentacin 4ue se utili; en clases y 4ue ustedes tienen a disposicin en la carpeta de
la materia #en el ser2idor-. ,es recomiendo re2isarla y tomar nota de lo 4ue necesiten.
%n este sentido, cada parte de la CPU 2a
a contri!uir a diferentes tareas.
Hay 4ue tener presente 4ue la CPU puede
leer datos o 3uardar datos D%(D%6%: la
memoria $am #o en los re3istros de sistema
4ue 2ienen a ser un tipo de memoria ram de
acceso r"pido-. Por estar ra;n, tanto los datos
como el pro3rama 4ue se 4uiere e8ecutar
de!en estar en la memoria ram para 4ue la
CPU pueda inter2enir.
,a manera en 4ue la CPU 2a a interactuar
con pro3ramas y datos est"
re3ulada6planificada por la relacin 4ue se da
entre CPU y ('()%0+ *P%$+)'<*. D es el sistema operati2o el 4ue 2a a funcionar como
?intermediarioA entre lo 4ue el usuario desea usar u o!tener y el 1ardware #CPU D
P%$'9$'C*(- 4ue es necesario utili;ar para poder satisfacer el re4uerimiento entre
usuario.
%n este sentido, el sistema operati2o ser" un software 4ue cumplir" dos funciones
importantes:
BREVE RESEA HISTRICA DE LOS SISTEMAS INFORMTICOS,
SISTEMA OPERATIVO Y TCNICAS UE FUERON
DESARROLLNDOSE.
%s interesante 1acer una re2isin 1istrica de la e2olucin de los (istemas
*perati2os. %sto nos permite reconocer 4u elementos #ya sea de 1ardware o software-
as como tcnicas fueron desarroll"ndose para 4ue las computadoras pudieran ir
6
Componentes y su Componentes y su
interrelaci interrelaci n de la CPU n de la CPU
ALU
UNIDAD DE
CONTROL
CPU
REGISTROS
SISTEMA
GRABA CLCULOS A
REALIZAR.
RECUPERA
RESULTADOS
RECUPERA ACCIN A
SEGUIR + DATOS
VOLVER
COMO MUINA
E!TENDIDA:
*cultar" al usuario los
procesos comple8os 4ue
de!en reali;arse para
manipular al 1ardware
ofreciendo, en cam!io, una
forma sencilla y accesi!le
de utili;arlos.
COMO ADMINISTRADOR DE
RECURSOS:
+dministrar" todos los recursos del
sistema inform"tico #software y
1ardware- a fin de ordenar,
controlar y ?repartirA su uso entre
los diferentes pro3ramas o usuarios
4ue ?compitanA por dic1os
recursos.
El primer objetivo del sistema operativo es proveerle al usuario de un entorno
informtico cmodo y adecuado a su entendimiento.
El segundo objetivo ser hacer que el uso del sistema de computacin que haga el
usuario sea eficiente
satisfaciendo los re4uerimientos de los usuarios e irlo 1aciendo cada 2e; de manera m"s
efica; y eficiente. 0uc1as de las tcnicas actuales 4ue permiten optimi;ar el
funcionamiento de los e4uipos inform"ticos son esencialmente me8oras de tcnicas 4ue
se incorporaron a los sistemas inform"ticos 1ace muc1os a7os atr"s.
)res elementos se relacionan en este recorrido 1istrico: la e2olucin del 1ardware
#compuestos fsicos del e4uipo inform"tico-, la e2olucin de los sistemas operati2os
#intermediacin entre 1ardware y usuario- y la e2olucin de las tcnicas de
procesamiento de informacin. %n cada instancia 1istrica 2eremos como estos tres
elementos en realidad son aspectos particulares del fenmeno de la inform"tica y su
interrelacin es tal 4ue no podra existir uno sin los otros.
&,os -./..
%n estos a7os aparecen las primeras
3randes computadoras. 9stas ocupa!an
1a!itaciones enteras y esta!an formadas por
paneles de tu!os al 2aco.
%n estos a7os el procesamiento de
informacin de!a reali;arse a partir de la
manipulacin directa del 1ardware. %l
pro3ramador de!a reali;ar las conexiones de
ca!les en los paneles de forma tal de poder as
?comunicarA a la m"4uina el proceso a reali;ar.
*!2iamente no 1ay sistema operati2o, ya
4ue toda2a no se 1a!a desarrollado nin3Bn
tipo de intermediario y los usuarios de!an
?2rselasA directamente con la manipulacin del 1ardware. %l tiempo de preparacin de
los ?pro3ramasA y la car3a de datos insuma muc1o tiempo y conocimientos extensos no
slo en pro3ramacin sino tam!in en electrnica. %xista un rudimento de len3ua8e de
pro3ramacin: len3ua8e de m"4uina. 9ste es un tipo de len3ua8e de ?!a8o ni2elA ya 4ue
esta!a constitudo pr"cticamente por secuencias de cdi3os !inarios 4ue tena directa
correlacin con el 1ardware 4ue se utili;a!a
E
.
Con la aparicin de las tar8etas perforadas 2iene el primer a2ance: el pro3ramador
poda escri!ir tanto el pro3rama como los datos en tar8etas y utili;ando una lectora,
car3ar a la rudimentaria CPU a4uello 4ue de!a procesarse. ,ue3o, el resultado se
imprima tam!in en tar8etas, facilitando su lectura.
+parecen entonces los primeros
?perifricosA #en este caso, lectora e
impresora de tar8etas- 4ue permita me8orar
la comunicacin entre el usuario y la CPU.
Por otra parte, es en este momento
cuando la CPU empie;a a tener una memoria
ram. De esa manera, desde la lectora de
tar8etas se car3a!a tanto datos como
pro3ramas a este espacio de memoria para
4ue la CPU tu2iera todo lo necesario para
procesar la informacin.
1
El lenguaje mau!na" e#$e lenguaje %&'ena a la m(u!na la# %)e&a*!%ne# +un'amen$ale# )a&a #u +un*!%nam!en$%. C%n#!#$e en la
*%m,!na*!-n 'e ./# 0 1/# )a&a +%&ma& la# %&'ene# en$en'!,le# )%& el 2a&'3a&e 'e la mau!na.
E#$e lenguaje e# mu*2% m(# &()!'% ue l%# lenguaje# 'e al$% n!4el.
La 'e#4en$aja e# ue #%n ,a#$an$e# '!+5*!le# 'e maneja& 0 u#a&6 a'em(# 'e $ene& *-'!g%# +uen$e en%&me# '%n'e en*%n$&a& un +all% e#
*a#! !m)%#!,le.
7
A7OS 8. a 9.
:ARD;ARE
RESULTADOS
CABLEADOS
SIGUIE!E
"!E#I$#
CREACIN DE
TAR<ETAS PER=ORADAS
CPU
%E&!$#"
!"#'E!"S
I()#ES$#.
!"#'E!"S
SIGUIE!E
"!E#I$#
Con el tiempo, los usuarios ad2irtieron 4ue era muc1o me8or 8untar a4uellos
tra!a8os 4ue fueran parecidos #es decir, 4ue utili;aran la CPU de la misma manera- y
car3arlos todos 8untos, uno detr"s del otro, en un medio m"s r"pido y con mayor
cantidad de almacenamiento: la cinta.
De esa manera se da paso al
P$*C%(+0'%:)* P*$ ,*)%(. %n este
caso 1ay dos me8oras: la primera, es el
a7adido de cintas. ,a cinta es un medio
de almacenamiento 4ue en menor
espacio permite car3ar muc1a
informacin. ,a forma de lectura y
escritura en una cinta es secuencial #un
dato detr"s del otro-. Por lo tanto
aparece ac" la se3unda me8ora: un
operario reuna todos los tra!a8os
similares #cada uno 2ena en un con8unto
de tar8etas perforadas-, los lle2a!a a una
lectora de tar8etas 4ue a su 2e; se
comunica!a con una 3ra!adora de cinta. De esta forma el con8unto de tar8etas 4ueda!a
3ra!ado en una Bnica cinta 4ue se lle2a!a a una lectora de cinta. %sta lectora de cinta,
conectada a la CPU, permita 4ue un ('()%0+ *P%$+)'<* rudimentario y car3ado con
anterioridad en memoria ram5 leyera el primer tra!a8o, se lo en2iara a la CPU 4ue lo
procesa!a y de2ol2a resultados 4ue nue2amente el ('()%0+ *P%$+)'<* en2ia!a a
3uardarse en una cinta de salida, a tra2s de la 3ra!adora de cinta. ,ue3o, lea el
se3undo tra!a8o y se lo pasa!a a la CPU y as se repeta el proceso 1asta 4ue se
aca!a!a de leer toda la cinta de entrada.
De esta manera, se perda menos tiempo ?1umanoA de traslado de tar8etas
#tra!a8o por tra!a8o- 1acia y desde la CPU a los pro3ramadores.
+parece ac", como se 2i, un ('()%0+ *P%$+)'<* 4ue de!a encontrarse en la
0%0*$'+ $+0 #lo 4ue se llama ('()%0+ *P%$+)'<* $%('D%:)% o 0*:')*$
$%('D%:)%- y 4ue tena como tarea leer tra!a8o a tra!a8o y d"rselo a la CPU y lue3o
in3resar tra!a8o a tra!a8o procesado en la cinta de salida.
0ientras el (ist. *perati2o lea la cinta o 3ra!a!a en la cinta, la CPU espera a 4ue
le lle3uen datos o espera a 4ue los datos 4ueden asentados en la cinta. %sto implica!a
tiempo de CPU desperdiciado. Para solucionar esta situacin se crea un con8unto de
tcnicas: la primera es la )%C:*,*&F+ D% D'(C*. %sta consista en a3re3ar a la CPU un
espacio de almacenamiento masi2o #es decir !ien 3rande- en el 4ue podan car3arse los
8
MEM. RAM
PROCESAMIENTO POR
LOTES
CPU
%E&!$#"
!"#'E!"S
I()#ES$#.
!"#'E!"S
SISTEMA
OPERATIVO
GRAB.
CINTA
LECTORA
CINTA
L
E
C
T
O
R
A
G
R
A
B
A
D.
SIGUIE!E
"!E#I$#
MEM. RAM
PROC. LOTES +
TEC. DE DISCO
CPU
%E&!$#"
!"#'E!"S
I()#ES$#.
!"#'E!"S
SISTEMA
OPERATIVO
GRAB.
CINTA
LECTORA
CINTA
L
E
C
T
O
R
A
G
R
A
B
A
D.
*IS&$
SIGUIE!E
"!E#I$#
datos desde la cinta o desde la lectora de tar8eta. %l proceso era relati2amente el mismo
slo 4ue se car3a!a todos los tra!a8os de manera secuencial en el disco para lue3o ser
procesado por la CPU y tam!in se 3uarda!an las salidas para lue3o ser 3ra!adas en las
cintas. GPor4u esto result una me8oraH Por dos ra;ones: la primera es 4ue el tiempo
de acceso al disco de lectura o 3ra!acin de datos5 es muc1o m"s r"pido 4ue el de la
cinta, por lo tanto cuando el (.*. de!a reali;ar estas operaciones, se perda menos
tiempo. ,a se3unda ra;n es 4ue esta tecnolo3a de discos permiti implementar el
(P**,':& y las primeras tcnicas de /U%$':&.
%stas tcnicas, las del
(P**,':& y la incorporacin de
/U%$( permiti ?separarA la
car3a y la salida de datos o
informacin del procesamiento de
CPU. De esa manera, mientras se
esta!an car3ando informacin, la
CPU poda estar procesando un
tra!a8o, mientras, al mismo
tiempo esta!a imprimindose la
salida. ,os !uffers, al ser memorias intermedias, funcionan como espacios intermedios
donde los datos de entrada tra!a8os5 o los de salida informacin procesada5 1acen
?colaA para entrar o salir. De esta manera, la CPU no tena 4ue ?esperarA a 4ue entran o
salieran sino 4ue poda acceder directamente a disco o el !uffer y tra!a8ar
?independientementeA de los tiempos de car3a o salida.
%l (.*. se comple8i;a ya 4ue de!e a7adir a su tarea de car3ar el si3uiente tra!a8o
#ya sea para 4ue lo procese la CPU o lo imprima al3Bn perifrico de salida- de!a a su
2e; controlar los !uffers y mane8arlos.
Por otro lado, al tener los !uffers, poda utili;arse perifricos de entrada o salida
lentos sin 4ue stos 1icieran tan lento el tra!a8o de la CPU #tn3ase en claro, no
o!stante, 4ue siempre era me8or tra!a8ar con perifricos ?r"pidosA-.
&0OS ../1.
%n estos a7os cam!ia al principio de los IJ5 el tipo de componente de las
computadoras. (e sustituyen las 2ie8as 2"l2ulas al 2aco por transistores.
%sto permite 4ue el tama7o de las m"4uinas sea menores si !ien en comparacin
a las actuales si3uen siendo enormes5 y se a!arate su costo.
9
MEM. RAM
PROC. LOTES +
TEC. DE DISCO + SPOOLING
CPU
%E&!$#"
!"#'E!"S
I()#ES$#.
!"#'E!"S
SISTEMA
OPERATIVO
GRAB.
CINTA
LECTORA
CINTA L
E
C
T
O
R
A
G
R
A
B
A
D.
+U,,E#
+U,,E#
*IS&$
SIGUIE!E
"!E#I$#
MEM. RAM
PROC. LOTES +
TEC. DE DISCO + SPOOLING
CPU
%E&!$#"
!"#'E!"S
I()#ES$#.
!"#'E!"S
SISTEMA
OPERATIVO
+U,,E#
+U,,E#
*IS&$
SIGUIE!E
"!E#I$#
(e crean len3ua8es de alto ni2el #es decir, len3ua8es 4ue no dependan tanto del
1ardware sino 4ue usando llamadas al ('()%0+ *P%$+)'<* podan mane8ar aspectos
del 1ardware sin tener 4ue ?1a!larA su idioma
K
#se3Bn el tipo de len3ua8e se a7adir"n
pro3ramitas 4ue se encar3ar"n de traducir6interpretar el pro3rama escrito en el
len3ua8e de alto ni2el a otro, escrito en len3ua8e de !a8o ni2elL de a4u sur3en
interpretadores y compiladores, al3o 4ue se desarrollar" en otras clases-.
(e empie;a a difundir el uso de los 3randes computadores #mainframes- y por lo
tanto, aparecen nue2as tcnicas 4ue permiten optimi;ar su uso. +l3unas de ellas son:
multipro3ramacin, multitareas o sistemas de tiempo compartido5 y al3unos deri2ados
4ue se 2er"n m"s adelante y 4ue en realidad tienen su desarrollo a mediados de los MJ
y principios de los NJ: sistemas de multiprocesadores, sistemas paralelos, sistemas
distri!uidos, sistemas en tiempo real, etc.
Para el desarrollo de esta unidad, nos interesa aclarar !uncionamiento de
la multiprogramaci'n, la multitarea. %os dems sistemas deern re#isarlos en
el apunte de la materia $ luego sern ahondados $ e2plicados oportunamente
en clase.
%s necesario aclara, tam!in, 4ue a principios de los a7os MJ empie;a a difundirse
el uso del C'$CU')* ':)%&$+D*, como reempla;o del transistor. %sto lle2a a lo 4ue en
los a7os NJ #y finalmente en los a7os OJ- 2a a si3nificar un cam!io en los 1"!itos y la
interaccin de los usuarios y las m"4uinas: la PC o computadora personal.
%a multiprogramaci'n es una
tcnica 4ue permite resol2er
a4uellas situaciones en las 4ue el
proceso 4ue est" e8ecutando la CPU
de!e reali;ar una operacin de
entrada6salida para poder continuar
y por lo tanto, la CPU de!e esperar
a 4ue sta se realice para poder
terminar el procesamiento.
,a multipro3ramacin re4uiere
4ue las tareas a procesarse #no
necesariamente pro3ramas
diferentes- estn almacenadas en la
0%0*$'+ $+0. %sta es una
diferencia respecto a los procesos
anteriores donde los tra!a8os o
tareas eran ledos del !uffer disco
fi8o y por lo tanto, en la 0%0*$'+ $+0 1a!a solo una tarea: la 4ue la CPU esta!a
procesando en ese momento.
%ntonces, a1ora se car3a un con8unto de tareas en la 0%0*$'+ $+0. %sto 1ace
aBn muc1o m"s r"pido la lectura de informacin por parte de la CPU. (upon3amos 4ue
se empie;a a procesar un tra!a8o. %n la mitad del procesamiento, el tra!a8o re4uiere
4ue se 1a3a una impresin ?intermediaA para lue3o se3uir procesando el resto. 0ientras
se imprime lo 4ue se necesita, el (.*. accede al se3undo tra!a8o 4ue est" en 0%0*$'+
$+0 tam!in5 y 1ace 4ue la CPU lo comience a procesar. Cuando el primer tra!a8o
termina de 1acer la impresin, el (.*. frena el se3undo tra!a8o, 3uarda 1asta donde se
2
Se $&a$an 'e lenguaje# !n'e)en'!en$e# 'e la a&u!$e*$u&a 'el %&'ena'%&. P%& l% ue6 en )&!n*!)!%6 un )&%g&ama e#*&!$% en un lenguaje
'e al$% n!4el6 l% )ue'e# m!g&a& 'e una m(u!na a %$&a #!n n!ng>n $!)% 'e )&%,lema.
E#$%# lenguaje# )e&m!$en al )&%g&ama'%& %l4!'a&#e )%& *%m)le$% 'el +un*!%nam!en$% !n$e&n% 'e la mau!na?# )a&a la ue e#$(n
'!#e@an'% el )&%g&ama. Tan #%l% ne*e#!$an un $&a'u*$%& ue en$!en'an el *-'!g% +uen$e *%m% la# *a&a*$e&5#$!*a# 'e la mau!na.
10
lle3 a procesar y manda a la CPU a 4ue se encar3ue de terminar el primer tra!a8o.
,ue3o 1ace 4ue la CPU retome el se3undo tra!a8o en donde 4ued y lo termine de
procesar.
%n este caso, lo 4ue se a3re3a respecto a los procesos anteriores es la capacidad
del (.*. y por lo tanto de la CPU de ?saltarA a otro proceso cuando a4uel 4ue se esta!a
procesando tiene 4ue acceder a un perifrico de salida o de entrada. :* ('&:''C+ PU%
de8e de procesar el primero. De 1ec1o, cuando el primero termina la operacin de
entrada o salida, se retoma. Pero al menos, la CPU no tiene 4ue esperar a 4ue el
proceso termine la operacin intermedia para terminar de procesarlo.
Por otra parte, los tra!a8os se si3uen leyendo en forma secuencial y as tam!in se
procesan: uno detr"s del otro. ,a CPU no est" procesando al mismo tiempo m"s de un
tra!a8o. ,o 4ue se ?superponeA es la entrada5salida ':)%$0%D'+ #no final, como ocurre
con el spoolin3- al procesamiento de otro tra!a8o.
%sto tiene al3unas consecuencias:
el (.*. se de!e 2ol2er m"s inteli3ente ya 4ue a1ora tam!in de!e controlar en
4u punto 2an 4uedando los tra!a8os 4ue la CPU empie;a a procesar, controlar el
procesamiento 4ue la CPU est" 1aciendo y adem"s el estado del tra!a8o 4ue est"
reali;ando la operacin de entrada5salida.
Por otra parte, el (.*. de!e encar3arse a1ora de pasar del !uffer o del disco fi8o a
la memoria $am tra!a8os a medida 4ue los 4ue ya est"n all 3uardados se 2an
procesando.
(e ampla la memoria $am ya 4ue a1ora de!e alo8arse en ella, adem"s del (.*.,
los tra!a8os.
Una de las consecuencias directas de esta nue2a tcnica es la 0U,)')+$%+(. %n
los (istemas *perati2os modernos estas dos tcnicas se utili;an inte3radas: la
capacidad de multitareas no podra reali;arse sin la multipro3ramacin.
'ma3nense lo si3uiente: 1asta el momento los pro3ramadores no podan tener
acceso directo o un tiempo ?a solasA con la computadora. (i al3o sala mal, de!an
esperar a 4ue se procesaran todos los tra!a8os y le lle3aran los resultados. Por lo tanto,
no 1a!a ':)%$+C)'<'D+D entre computadora y pro3ramadores.
Con el o!8eti2o de 4ue
diferentes pro3ramadores o usuarios
pudieran utili;ar ?indi2idualmenteA
tiempo de m"4uina, se desarrolla
entonces a fines de los IJ, la
multitarea.
+ la CPU central se conectan
?terminalesA #pe4ue7as
computadoras con poca o nada
capacidad de procesamiento- en las
4ue pueden tra!a8ar cada
pro3ramador o usuario
indi2idualmente.
%n la memoria ram ?centralA
se almacenan tanto tra!a8os, datos
o pro3ramas correspondientes a
cada usuario indi2idual.
11
%l sistema operati2o 2a a encar3arse de darle a cada uno una porcin de tiempo
de CPU. GPu si3nifica estoH Pue ir" ?pasandoA la CPU de un proceso6pro3rama al otro,
procesando una parte, cclicamente #empie;a por el primero, lue3o 2a al se3undo y as
sucesi2amente 1asta cu!rir el listado de pro3ramas6tareas 4ue est"n en la memoria ram
y lue3o 2uel2e a comen;ar por el primero-, a 3ran 2elocidad. ,os usuarios indi2iduales
2an teniendo pe4ue7os lapsos de tiempo de CPU. Como la CPU se 2a encar3ando
sucesi2amente pero r"pidamente de )*D* lo 4ue cada usuario 2a necesitando, stos no
ad2ierten los pe4ue7os lapsus de espera y les da la impresin de 4ue est"n ellos solos
tra!a8ando con la CPU #di3amos, 4ue tienen la CPU para ellos solos-.
%n el disco fi8o, a1ora, pueden 3uardarse los datos de cada uno de los usuarios.
%n el !uffer de la impresora 1ar"n cola a4uellas salidas 4ue cada usuario necesit
y se ir" car3ando independientemente de lo 4ue otros usuarios 1a3an.
,a CPU :* %()Q P$*C%(+:D* ('0U,)Q:%+0%:)% )*D*( ,*( P$*C%(*(. ,os
procesa secuencialmente pero no espera a terminar de procesar uno para pasar al otro.
<a procesando de a po4uito cada uno.
&0OS 34 / 54
Con el cam!io de transistores por C'$CU')*( ':)%&$+D*( comien;a una carrera
de 0':'+)U$'R+C'@: de los dispositi2os internos de la m"4uina. Cada 2e; se inte3ran
m"s circuitos en la pastilla de cilicio y esto lle2a a 4ue se di2ersifi4ue los tipos de
computadora existentes y apare;can diferentes confi3uraciones de e4uipos para
diferentes re4uerimientos. +parece la computadora personal. +1ora la m"4uina es
pe4ue7a y suficientemente ?!arataA para 4ue la puedan ad4uirir instituciones,
empresas, ne3ocios. %n los OJ, en la +r3entina, empie;a a in3resar en los 1o3ares.
%sto conlle2a a un cam!io en los tipos de sistemas operati2os 4ue se desarrollan.
(i en un principio se intenta!a 4ue el sistema operati2o pudiera administrar lo me8or
posi!le el 1ardware y por lo tanto se atenda a la eficiencia y eficacia del sistema, a1ora
se 2a a intentar 4ue el (.*. se 2uel2a ?ami3a!leA: f"cil de utili;ar por usuarios 4ue no
necesariamente sepan de pro3ramacin.
+parecen entonces los primeros intentos de sistemas operati2os con interfa;
3r"fica. +s como, en el "m!ito de los softwares de aplicacin, empie;a a 1a!er 3ran
desarrollo de pro3ramas 4ue puedan resol2er di2ersos re4uerimientos.
Para 4ue el sistema operati2o pueda ser m"s ?ami3a!leA, se ?sacrificaA rapide; y
se da m"s comodidad en su uso.
%mpie;a a desarrollarse prototipos de redes 4ue lue3o se ir"n decantando 1asta
4ue se constituye a principio de los
OJ 'nternet.
Una de las tecnolo3as 4ue se
desarrolla es la de
multiprocesador.
%sta tecnolo3a 4ue en
realidad se empie;a a implementar
en e4uipos 3randes #o en los
sistemas distri!uidos, 4ue 2eremos
m"s adelante- a fines de los MJ, se
me8ora y se implementa en
e4uipos cada 2e; m"s c1icos, no
necesariamente inte3rados a una
red.
12
,a tcnica !"sicamente consiste a3re3ar m"s de una CPU a un sistema
inform"tico.
%n este caso, podra responderse a los diferentes re4uerimientos de los usuarios
con m"s de una CPU de forma tal 4ue los puedan procesar %: P+$+,%,*. %n este caso,
se le suma al sistema operati2o la acti2idad de coordinar las diferentes CPU para 4ue no
?coalicionenA al 4uerer acceder a perifricos de entrada o salida. (o!re este tema
2ol2eremos en otros unidades. Por a1ora, sta explicacin es la 4ue necesitamos para
comprender cmo el sistema operati2o 2a teniendo a medida 4ue 2a pasando el tiempo
diferentes tareas y por lo tanto, se 2a constituyendo en un software imprescindi!le para
el mane8o del 1ardware y muy comple8o en su funcionamiento.
&0OS 54 a la &6T7&%I8&8:
%xiste una 3ran di2ersificacin de desarrollos.
(e termina de consolidar la interfa; 3r"fica como la eleccin m"s 1a!itual de
sistema operati2o por el usuario ?comBnA. +parecen las primeras 2ersiones de >indows,
se consolida el sistema operati2o de 0acintos1, y empie;a a desarrollarse ,':US #4ue,
tomando como !ase el desarrollo reali;ado para U:'S- como representante m"s
conocido del *P%: C*D% #o cdi3o a!ierto-.
%n la actualidad se consolida >':D*>( como el sistema operati2o comercial m"s
utili;ado. Crece, no o!stante, el
uso de ,':US como una
alternati2a al sistema operati2o
?pa3adoA.
+parecen 2ariados perifricos
4ue !uscan facilitar al usuario
in3reso y salida de informacin.
(e desarrolla la >.>.>. y se
3enerali;a el uso de
na2e3adores, !uscadores y
ser2icios >e!.
(i3ue la miniaturi;acin y se
desarrolla la tecnolo3a m2il.
Esta re#"sima s"ntesis no usca
ser e2hausti#a.
S'lo introducirlos en temas que luego deern ser deidamente pro!undi9ados $ enriquecidos
a partir de las pr'2imas unidades pero tami:n su propia curiosidad: no de;en de uscar
in!ormaci'n, compartirla con sus compa,eros $ pro!esor. Por esto, si ien aqu" termina la
s"ntesis, comien9a su propio proceso de )squeda $ de re!le2i'n respecto a la e#oluci'n de la
in!ormtica $ en particular el nacimiento, el proceso de comple;i9aci'n $ la e#oluci'n de los
Sistemas Operati#os.
13
GUA DE LECTURA BIBLIOGRFICA.
Realizar esta gua en grupos de a 2 personas, utilizando una mquina del gabinete. Ir pasando las respuestas
en un documento de Open Office. Al termino de la clase, enviar el documento a la profesora (mail
paipintos!gmail.com". #os cuadros pueden copiarlos de esta consigna $ pegarlos en su documento.
a) Abrir la presentacin llamada Introduccin a los istemas In!orm"ticos#$%
&'ecutar la presentacin ()5)%
b) A partir de la pantalla inicial (se muestra al costado * +a, -ue ir +aciendo clic$ en
las palabras principales. /stas permiten abrir pantallas con el desarrollo de cada
concepto)0 re1istrar en el documento la 2&)I3I4I53 de
a% 6A728A7&%
b% 9):8A7&%
c) 6aciendo en los di!erentes conceptos de la pantalla inicial (as; como de las
pantallas secundarias)0 ir le,endo el desarrollo conceptual , pasar0 completar el
si1uiente cuadro sinptico0 a1re1ando para los elementos -ue se indican la
de!inicin correspondiente , e'emplos<
14
I:&=A
I3)97=>:I49
6A728A7&
9):8A7&
4?@<
2e!inicin<
?&7I)A7I49
2e!inicin<
@4<
2e!inicin<
AB@<
2e!inicin<
7&CI:79<
2e!inicin<
2& &3:7A2A<
2e!inicin<
e'emplos
2& ABI2A<
2e!inicin<
&'emplos<
AB=A4&3A=I&3:9<
2e!inicin<
&'emplos<
2& 49=@3I4A4I53<
2e!inicin<
&'emplos<
2& A?BI4A4I93<
2e!inicin<
e'emplos
B&3C@AD&<
2e!inicin<
&'emplos<
2& I:&=A (istema
9peratiEo)
2e!inicin<
&'emplos<
COMPONENTES B COMPONENTES B SICOS SICOS
SISTEMA INFOM SISTEMA INFOM TICO TICO
:ARD;ARE
SISTEMA
OPERATIVO
LENGUA<ES DE
PROGRAMACION
PROGRAMAS DE
APLICACIN
S
O
=
T
;
A
R
E
SIGUIENTE
SALIR
TAREA
=INAL
d) &Fplicar con sus propias palabras LA RELACIN -ue eFiste entre<
a% @4GAB@ H 7&CI:79%
b% 4?@G?&7I)A7I49 2& &3:7A2A * ?&7I)A7I49 2& ABI2AG ?&7I)A7I49 2& AB=A4&3A=I&3:9%
e) )inalmente0 en la pantalla inicial (nro% 2)0 +acer clic sobre :A7&A )I3AB$% e muestra un cuadro de
I3:&77&BA4I93&% &ste cuadro (modi!icado para -ue se muestre me'or) se a1re1a deba'o<
Bo -ue deben +acer es completar los recuadros Eac;os con la relacin -ue corresponde% ?or e'emplo0 el
recuadro a) tiene -ue contener la relacin -ue +a, entre 4?@ , =&=97IA 7A=. el recuadro b) tiene -ue
contener la relacin -ue +a, entre =&=97IA 7A= , I:&=A 9?&7A:II9 , as; sucesiEamente%
7e!leFionen lo -ue +an estado le,endo , retomen lo Eisto el aJo pasado%
AC7&CA7 39=K7& H A?&BBI29 A BA 69DA%
C@A72A7 493 &B 39=K7& 2& B9 I3:&C7A3:& 2& C7@?9%
&3IIA7 A BA 4AIBBA 2& =AIB 2& BA 294&3:&%
15
PRIMER PRCTICO PARTE ".
Tema: Introduccin Sistema Operativo Historia de los Sistemas Operativos.
A partir de la lnea de tiempo vista en clase y el apunte (pginas a !"#$ %O&'()TA* la
siguiente +ic,a -,istrica. de los Sistemas Operativos$ desarrollando en ,o/a ad/unta las
descripciones y0o respuestas de cada opcin. (S)*1 A&'(IA&)2T) A3*A4)%I4O 'O* S5
'*O6)SO*A A75)( 75) '5)4A 'ASA* )2 %O&'5TA4O*A (AS *)S'5)STAS 8 )2T*)3A*
*)S'5)STA )2 A*%HI9O O I&'*)SO#
"-$S ./
aA TIPO DE COMPUTADORA"
,A TIPO DE SISTEMA OPERATIVO"
*A BREVE EBPLICACIN DE SECUENCIA DE PROCESAMIENTO DE IN=ORMACIN"
"-$S 0/12/
d- )'P* D% C*0PU)+D*$+(:
e- U:C'@: D C+$+C)%$F()'C+( D%, (.*.:
f- %SP,'C+$ P$*C%(+0'%:)* D% ,*)%( %: %, ('&U'%:)% %(PU%0+ #a3re3ar lo 4ue crea
con2eniente-
3- ':C*$P*$+C'@: D% P$*C%(+0'%:)* D% ,*)%( #4u me8ora del proceso anterior-
1- ':C*$P*$+C'@: D% )%C:*,*&F+ D% D'(C* #4u me8ora del proceso anterior-:
i- %SP,'C+$ (P*,,':& %: %, ('&U'%:)% %(PU%0+ #completar lo 4ue sea necesario-
8- ':C*$P*$+C'@: D%, (P*,,':& #4u me8ora del proceso anterior-
"-$S 3/ y 4/
T- )'P* D% C*0PU)+D*$+(:
l- U:C'@: D C+$+C)%$F()'C+( (.*.:
16
DISCO
SISTEMA
OPERATIVO
CPU
IMPRESORA
DE TAR<ETA
BU==ER
IMPRESORA
CPU
SISTEMA
OPERATIVO
BU==ER
Im)&.
BU==ER
M%n!$%&
Impresora
M%n!$%&
DISCO
DURO
LECTORA
TAR<ETAS
T&a,. P&a*$.II
T&a,. S.O.
m- %SP,'C+$ 0U,)'P$*&$+0+C'@: %: %, ('&U'%:)% %(PU%0+ #completar lo 4ue se crea
con2eniente-.
n- ':C*$P*$+C'@: D% ,+ 0U,)'P$*&$+0+C'@: #4u me8ora del proceso anterior, para 4u
sir2e-
o- %SP,'C+$ 0U,)')+$%+ %: %, ('&U'%:)% %(PU%0+ #completar lo 4ue crea con2eniente-
p- ':C*$P*$+C'@: D% ,+ 0U,)')+$%+ #4u me8ora del proceso anterior-
4- %SP,'C+$ PU9 %( D P+$+ PU9 ('$<%: ,*( ('()%0+( D% )'%0P* $%+,.
r- %SP,'C+$ 0U,)'P$*C%(+D*$ %: %, ('&U'%:)% %(PU%0+ #completar lo 4ue crea
con2eniente
"-$S 4/ y 5/
#A TIPOS DE COMPUTADORAS.
$A TIPOS C CARACTERDSTICAS DE LOS S.O.
uA OTRAS CARACTERDSTICAS
17
CPU
SISTEMA
OPERATIVO
<uga& al
juegu!$%
DOOM
U#a&
)&%g&ama
'e e'!*!-n
'e #%n!'%
Eau'!$!%nF
U#a& E;&!$eF
)a&a 2a*e&
)&(*$!*% 'e
S.O.
CPU
SISTEMA
OPERATIVO
<uga& al
juegu!$%
DOOM
U#a&
)&%g&ama
'e e'!*!-n
'e #%n!'%
Eau'!$!%nF
U#a& E;&!$eF
)a&a 2a*e&
)&(*$!*% 'e
S.O.
CPU
CPU
0+)%$'+: ('()%0+( *P%$+)'<*(
P$*%(*$+: P+':9 P':)*(.
':()')U)* )%$C'+$'* ?('0@: /*,'<+$A
UNIDAD NRO. II
ESTRUCTURA DE LOS SISTEMAS INFORMTICOS.
SNTESIS DE DICTADO DE CLASES.
OBJETIVOS:
%sta sntesis se reali;a a fines de:
o acilitar el acceso a la !i!lio3rafa especfica acercando nociones !"sicas del tema,
en un len3ua8e m"s colo4uial y adem"s inte3rando otras nociones 4ue fueron
sur3iendo en el transcurso del dictado de la unidad.
o +cercarles un es4uema 3eneral de contenidos a a4uellos estudiantes 4ue por una
ra;n u otra no pudieron estar presentes en las clases en 4ue este tema se
desarroll.
Se ha intentado desarrollar interrelaciones ms que conceptos. Por lo tanto,
para poder tener una idea ms clara de algunas nociones deern consultar el
material iliogr!ico.
Por otro lado, ser"a un error gra#e considerar que tras la lectura de esta
s"ntesis $a harn accedido a los contenidos de esta primera unidad. %es
aclaro: no es as". &c se lista un presentaci'n sica de los temas
desarrollados durante las clases. (o sustitu$e a la toma de nota o al material
iliogr!ico. Sir#e )nicamente para poder tener una estructura general pre#ia
a la lectura o ien para ordenar conceptos.
(i !ien en la unidad anterior se
1a!l de la estructura 3eneral del
sistema inform"tico, 2amos a retomar
a4u el tema para a3re3ar al3unos
componentes 4ue se relacionan
directamente con la funcin del mismo
y 4ue tienen rele2ancia a la 1ora de
re2isar cmo 2a a funcionar el
('()%0+ *P%$+)'<*.
%n este sentido, 2amos a re2isar la
estructura !"sica:
una CPU #encar3ada de
procesar-.
perifricos #encar3ados de comunicar al usuario con la CPU y 2ice2ersa-.
una 0%0*$'+ $+0 #4ue principalmente es utili;ada por la CPU para procesar-.
/U(%( #4ue permite la comunicacin entre los diferentes componentes del
sistema y
los C*:)$*,+D*$%( #encar3ados de reali;ar la comunicacin entre CPU y
perifricos-.
18
Para poder comprender como
estos elementos interactBan para
lo3rar 4ue el sistema inform"tico
cumpla su funcin es necesario
sa!er 4u es lo 4ue ocurre cuando
el e4uipo se enciende.
%n principio, al encenderse la
computadora, se 2a a e8ecutar el
pro3rama de arran4ue 4ue est"
almacenado en la 0%0*$'+ $*0.
%ste pro3rama est"
encar3ado de c1e4uear
!"sicamente el H+$D>+$% del
e4uipo, asi3nando 2alores iniciales
a los elementos esenciales del
sistema inform"tico: re3istros, controladores, memoria ram. ,ue3o car3ar" en la
0%0*$'+ $+0 al (istema operati2o 4ue 1a!itualmente se encuentra almacenado en un
perifrico de almacenamiento masi2o como por e8emplo el disco fi8o. +s el (.*. 4ueda
residente en memoria durante toda la sesin de tra!a8o con el e4uipo inform"tico.
Una 2e; e8ecutado el
sistema operati2o y controlado
todos los aspectos del sistema
inform"tico, el e4uipo 4ueda a la
espera de 4ue suceda al3o.
%stos sucesos pueden ocurrir
tanto por H+$D>+$% o por
(*)>+$%.
%n cual4uiera de los casos, el
(.*. 2a a:
E- Detener el proceso 4ue se
est" e8ecutando #si es 4ue
1ay al3uno- y 3uardar
todos a4uellos 2alores relacionados al mismo-.
K- %xamina de dnde est" pro2iniendo el e2ento y e8ecuta la rutina indicada para
mane8arlo.
C- ,ue3o car3a nue2amente el proceso ?interrumpidoA y reanuda su e8ecucin.
<amos a destacar dos cosas entonces:
el (.*. siempre 2a a ase3urarse de preser2ar el estado de la CPU es decir 3uardar
el punto del proceso 4ue se esta!a procesando cuando la CPU fue interrumpida
por el re4uerimiento del perifrico, 3uardar los datos intermedios, los resultados
3enerados, etc de forma tal 4ue pueda retomarse lue3o.
%l (.*. de!e detectar, reconocer, de dnde o a partir de 4u se a pro2ocado el
e2ento.
%l (.*. 2a a !uscar a4uella rutina 4ue le permita mane8arlo #esto es lo 4ue
permite lue3o 4ue mientras la rutina se e8ecuta el (.*. pueda encar3arse de otra
cosa-.
19
Como se di8o antes, 1ay dos
tipos de sucesos o e2entos 4ue
pueden ocurrir y 4ue re4uieran
de atencin de (.*.: los 4ue
pro2ienen a tra2s del
H+$D>+$% y los 4ue pro2ienen
desde el (*)>+$%.
<eamos este es4uema !"sico:
un perifrico cual4uiera pide
ser2icio a tra2s del !us a la
CPU.
%l (.*. es 4uin se 2a a
encar3ar de decidir cmo
mane8ar este pedido: 2a a
preser2ar el estado de la CPU y
lue3o 2a a actuar conforme al
pedido. %sta solicitud por parte del dispositi2o de %6( se llama ':)%$$UPC'@: y 1ace
referencia a un suceso 4ue se da por H+$D>+$%.
)am!in puede ocurrir 4ue un pro3rama de aplicacin 4ue se est" corriendo en el
momento necesite utili;ar
al3Bn perifrico. <a a
ad2ertir al (.*. de esto. D lo
1ace a tra2s de una
,,+0+D+ +, ('()%0+, es
decir, un procedimiento 4ue
desencadena el pro3rama
para alertar al (.*. 4ue est"
necesitando ?al3oA. %l (.*.
preser2a el estado de la CPU
y atiende tam!in a esta
llamada.
%n los primeros (.*. no
1a!a llamadas al sistema.
)en3an en cuenta 4ue
difcilmente 1u!iera m"s de un pro3rama e8ecut"ndose y por lo tanto no exista la
necesidad de ?prote3erA el acceso al perifrico de dos o m"s re4uerimientos de
software.
Con la e2olucin de los sistemas inform"ticos apareci la necesidad de ?re3ularA los
accesos a los diferentes perifricos por parte de los diferentes usuarios o de los
diferentes pro3ramas 4ue se estu2ieran e8ecutando en el momento.
Por esta ra;n se concentraron los re4uerimientos de entrada5salidad en el (.*. %l
(istema *perati2o ser" el encar3ado de c1e4uear el estado del perifrico #ten3an en
cuenta 4ue podra estar ocupado o apa3ado- y lue3o ?ordenarA el acceso al mismo,
implementando se3Bn corresponda colas de espera, o a2isos al usuario de forma tal 4ue
se e8ecute cada re4uerimiento sin 4ue esto afecte el funcionamiento del perifrico.
20
E# $%&'()*+,(-.& /(
0-* ,-.(%%0$',1-
#recuerden 4ue es por
H+$D>+$%- al estar
?mediadaA por el (.*. 2a a
prote3er a la CPU de
esperas innecesarias: si nos
detenemos en el es4uema
4ue se muestra a4u,
2emos 4ue la CPU se
encuentra e8ecutando un
proceso del usuario y el
dispositi2o de e6s est"
ocioso.
(e 3enera una solicitud
de %6(. ,a CPU si3ue
procesando mientras 4ue el disp. de %6( se ocupa de procesar esa solicitud #si !ien a4u
no se muestra 4uien 1a atendido a la solicitud 1a sido el (.*. 4uien a su 2e; 1a puesto a
funcionar la rutina 4ue de!e encar3arse de procesar dic1a solicitud-. Una 2e; 4ue se 1a
terminado de reali;ar la solicitud de %6(, se a2isa a la CPU 4uien de8a de procesar el
proc. Del usuario, procesa la solicitud #los datos se suponen 4ue 1an 4uedado en el
!uffer correspondiente y una 2e; 4ue termina, retoma el proceso 4ue esta!a
procesando.
%sto nos muestra dos aspectos importantes:
la CPU no pierde tiempo en esperar 4ue la car3a o la salida de datos se realice. De
esto se 2a a encar3ar el perifrico #4ue 1a sido atendido por el (.*. y el controlador
especfico-.
%l dispositi2o de %6( a2isa a la CPU #y al (.*.- de 4ue est" 2a a comen;ar a procesar
la solicitud y tam!in a2isa 4ue 1a terminado de procesarla. %sto lo 1ace a tra2s de
interrupciones.
<eamos en un
es4uema m"s 3eneral 4ue
otros elementos
interactBan cuando ocurre
una interrupcin.
Da 1a!amos re2isado
4ue cuando el dispositi2o
#por e8. +4u el E- solicita
al3o de!e 1acerlo a tra2s
del /U( y lle3a a la CPU.
,a CPU de8a
encar3ado al (.*. de
atender a esta solicitud
4uin se encar3ar" de
preser2ar el estado de
proceso 4ue est"
e8ecutando la CPU y
tam!in de !uscar la rutina m"s apropiada para responder a la solicitud. ,as rutinas 4ue
21
permiten procesar solicitudes de perifricos se encuentran en un VECTOR DE
INTERRUPCIONES.
0"s en detalle, la solicitud suele contener un nBmero 4ue permite identificar el
perifrico 4ue est" reali;"ndola y
el tipo de solicitud 4ue est"
reali;ando.
%ste <%C)*$ D%
':)%$$UPC'*:%(, 4ue se
almacena en la 0%0*$'+ $+0 y
4ue siempre est" residente,
contiene un primer 2alor 4ue
corresponde a los 2alores 4ue los
dispositi2os pueden en2iar.
Cuando el dispositi2o en2a la
solicitud, el (.*. !usca como si
fuera en una ?li!reta de
direccionesA #%, <%C)*$- y
encuentra !a8o ese ?nBmeroA 4u
1acer ante esa interrupcin. %n 3eneral lo 4ue de!e 1acer es e8ecutar un controlador
4ue se encar3a de mane8ar la solicitud. %n ese caso, el (.*. ?dele3aA en el controlador el
mane8o del perifrico 1asta 4ue ste necesite de la CPU.
Por e8emplo: supon3amos 4ue mo2emos el 0ouse 1acia un cono de la pantalla. %n
este caso, el 0ouse interrumpir" a la CPU indicando 4ue se est" mo2iendo #y 1acia
donde-. %l (.*. se encar3ar" de !uscar en el 2ector de interrupciones el cdi3o con el
4ue el 0ouse reali;a la ?interrupcinA y acti2ar el controlador del 0ouse 4ue permita
mane8ar el puntero del 0ouse. %l controlador traducir" los mo2imientos del 0ouse
#1ardware- en mo2imientos del puntero #software, di!u8ito- y de esa manera
responder" a la interrupcin. De ser necesario, se 1ar" inter2enir a la CPU en lo 4ue sea
?indispensa!leA #es decir, lo 4ue re4uiera procesamiento-. De esta manera se e2ita 4ue
la CPU espere o pierda el tiempo en resol2er situaciones 4ue no 1acen directamente al
procesamiento de informacin.
$etomando el es4uema 3eneral, 1emos cmo el (.*. utili;a
el 2ector de interrupciones y 4u es dic1o 2ector.
(a!emos 4ue a partir de la ?consultaA del 2ector, el (.*. 2a
a transferir la manipulacin de los perifricos a
C*:)$*,+D*$%( especficos. %stos controladores son
pro3ramas de sistema 4ue 2an a ?ayudarA al (.*. a manipular
los perifricos.
Por lo 3eneral, cada perifrico del sistema de informacin tiene su propio
controlador. + su 2e;, cuentan con su propio !uffer local.
%s importante a4u detenerse y 1acer una distincin: los perifricos tienen sus
u!!ers locales #en 3eneral se encuentran en el mismo perifrico-, es decir, memorias
especficas 4ue sir2en para re3ular el in3reso y la salida de la informacin, a y desde el
perifrico. %l controlador del perifrico tiene acceso a este !uffer y en 3eneral administra
su uso.
22
Pero, por otro lado, existen
registros de sistema #en
3eneral llamados de
dispositi2os- 4ue tam!in
pueden funcionar como
?!uffersA de los perifricos.
%stos re3istros especiales son
parte de la memoria ram y
permiten una me8or y m"s
r"pida comunicacin entre CPU
y controlador 6perifrico. %stos
re3istros se encuentran en la
placa5madre y est"n inte3rados
al funcionamiento de la CPU.
Por lo tanto 1ay 4ue tener
presente 4ue cuando se 1a!la
de los procesos de (P**,':& o /U%$':& se est" refiriendo no slo a !uffers del
perifrico sino tam!in al mane8o de ciertos re3istros de sistema.
%stos re3istros de dispositi2os tam!in permiten a la CPU y al (.*. poder conocer
r"pidamente el estado del dispositi2o y 3uardar o acceder r"pidamente a los datos 4ue
de!en transferirse al perifrico o 4ue pro2en3an del mismo #este proceso se 2er" en
detalle m"s adelante-
+1ora !ien, retomando el es4uema 3eneral, G4u ocurre
cuando lle3a un se3undo suceso para un perifricoH #por
e8emplo, cuando se en2a una se3unda impresin mientras el
perifrico est" terminando de procesar un tra!a8o-.
Para casos como estos 2amos a a3re3ar un nue2o
elemento al proceso: #* .*2#* /( /,)$&),.,3&) #o ta!la de
estados de perifricos-. %sta ?ta!laA tam!in se encuentra
alo8ada en la memoria ram. 'ndica cu"l es el estado de cada perifrico conectado al
sistema inform"tico en un momento dado y se 2a actuali;ando a medida 4ue se 2an
procesando tra!a8os en el sistema de informacin.
/"sicamente contiene una ?entradaA por cada dispositi2o en la 4ue se muestra el
tipo de dispositi2o, la
direccin de la rutina 4ue se
est" e8ecutando #o 4ue de!e
e8ecutarse- y el estado del
mismo #puede estar
ocupado, puede estar ocioso,
puede estar detenido, etc.-.
%sto 2a a permitir 4ue el
(.*., ante una interrupcin o
una llamada al sistema,
consulte 4u est" ocurriendo
con el perifrico en ese
momento. (i el perifrico
est" ocioso podr" llamar al
controlador y ?encar3arleA la
tarea a reali;ar. Pero si el
perifrico est" ocupado, se
23
&$!#$%"*$# *E
*IS)$SI!I6$S
*E,II&I7
P&%g. 'e #!#$ema ue )e&m!$e al S.O. *%n$&%la& l%#
)e&!+G&!*%#
&"#"&!E#8S!I&"S9
Ca'a )e&!+G&!*% $!ene #u )&%)!% *%n$&%la'%&.
Ca'a *%n$&%la'%& $!ene #u ,u++e& l%*al.
Ca'a *%n$&%la'%& $!ene &eg!#$&%# en l%# ue 4a
alma*enan'% 'a$%# a )&%*e#a&6 e#$a'% 'el '!#)%#!$!4%6
e$*.
VOLVER
encar3ar" de instrumentar una ?lista de esperaA para dic1o perifrico de forma tal 4ue
cuando el perifrico termine de 1acer lo 4ue esta!a 1aciendo, pueda continuar con el
si3uiente tra!a8o.
%n esta ?lista de esperaA no est"n almacenados los tra!a8os en s #por e8emplo, los
datos 4ue se desean imprimir- sino la direccin en la 4ue se encuentran dic1o datos #ya
sa!emos por lo 2isto anteriormente 4ue es en el !uffer donde se encuentra el tra!a8o
datos, informacin, etc5 propiamente dic1o-.
%sto si3nifica 4ue cuando el perifrico termina un tra!a8o y mediante una
interrupcin a2isa al (.*. 4ue ya 1a finali;ado, el (.*. 2a a c1e4uear la lista de espera y
si 1ay otros tra!a8os para procesar, le 2a a en2iar al controlador la direccin dnde
!uscar el si3uiente tra!a8o a procesar. %l controlador se encar3ar" ac" de acceder al
!uffer, en2iar al perifrico para 4ue inicie el nue2o tra!a8o.
+s entonces 1emos 2isto los diferentes componentes internos 4ue interactBan en el
mane8o de interrupciones y llamadas al sistema: controladores, 2ector de
interrupciones, ta!la de dispositi2os.
+ fines de completar el tema, 2amos a profundi;ar a continuacin al3unas
caractersticas de este proceso 4ue si !ien fueron es!o;adas anteriormente no se
explicaron en detalle.
<= OP6IO(ES 8E >&(EJO 8E I(TE??7P6IO(ES 8E E@S
Hemos 2isto 4ue la CPU puede estar procesando mientras el perifrico est"
?procesandoA la entrada o salida de informacin. (in em!ar3o, G4u ocurre con el
proceso 4ue re4uiri este acti2idad #de entrada o salida-H (upon3amos 4ue estamos
usando un procesador de texto. )erminamos de escri!ir al3o y deseamos imprimir. %n
este caso, 2amos a utili;ar la funcin del pro3rama 4ue permite esto. 'nternamente,
esta funcin 2a a detonar una ?llamada al sistemaA 4ue permitir" 4ue el (.*. mane8e el
pedido de impresin. %sto lo 2imos ya antes y en detalle. Pero G4u 2a a ocurrir con el
procesador de texto
mientras se est"
imprimiendoH G<a a
detenerse y el usuario
no 2a a poder se3uir
tra!a8ando5 1asta 4ue
termine la impresinH G2a
a continuar acti2o,
independientemente de la
impresinH. (a!emos por
experiencia 4ue 1ay al
menos dos maneras de
mane8ar esta situacin:
,a primera se llama
SI(6?A(I6&. %sta
opcin implica 4ue
mientras se procesa
la interrupcin solicitada, el proceso ?solicitanteA #4ue la pidi- 2a a 4uedar a la
espera de 4ue dic1a solicitud se termine de procesar.
,a se3unda se llama &SI(6?A(I6&. %sta opcin implica 4ue mientras se procesa
la interrupcin solicitada, el proceso ?solicitanteA 2a a se3uir acti2o, desarrollando
otras tareas.
24
+1ora !ien, la eleccin de una u otra opcin 2a a depender de 4ue tan importante
sea la solicitud pedida. (i, como en el e8emplo de m"s arri!a, la solicitud es la
impresin, posi!lemente se utilice una manera asincrnica de mane8o de la interrupcin:
no es necesario para 4ue el procesador si3a andando 4ue se termine de imprimir el
tra!a8o. (in em!ar3o, intenten usar el procesador de texto cuando tienen a!ierta la
2entana desde donde se confi3ura la impresora 4ue se utili;ar" para imprimir. %n este
caso, el proceso #el procesador de texto- 2a a detenerse 1asta 4ue el usuario no termine
de completar la confi3uracin: se 1ace un mane8o sincrnico de la interrupcin o la
llamada al sistema. se detiene el proceso 1asta 4ue no se completa el en2o de
informacin 1acia el perifrico o el (.*.
*tro e8emplo: +ca!an de in3resar la tar8eta de d!ito en un ca8ero autom"tico.
+parece la 2entana en la 4ue se pide la cla2e de acceso. GPu tipo de manipulacin de
la interrupcin de!era 1acerse a4uH 'ma3nense si fuera asincrnica, es decir, si el
proceso para sacar plata no se detu2iera y esperar a 4ue uno car3ue el cdi3o de
se3uridad.
Como 2er"n 1ay muc1os casos donde es necesario utili;ar un tipo de mane8o de la
interrupcin de manera sincrnica y otros en los 4ue se adecua me8or un mane8o
asincrnico. ,a planificacin y la ?eleccinA de estas opciones en 3eneral depender"n de
la situacin, del proceso y del perifrico 4ue se est" interpelando. %n este sentido es el
(.*. el 4ue 2a a re3ular cmo 2a a reaccionar el resto del sistema inform"tico ante una
interrupcin dada #o detenerse a esperar 4ue se resuel2a o continuar mientras se est"
resol2iendo-.
B= &66ESO 8I?E6TO & >E>O?I&:
Hasta a1ora 1emos 2isto
4ue la CPU si3ue procesando
mientras el perifrico de e6s est"
car3ando o descar3ando
informacin.
Cuando se llena el !uffer del
dispositi2o, ste en2iar" una
interrupcin a CPU 4ue se7ala
4ue tiene datos para ser
procesados. $ecin entonces la
CPU de8ar" el proceso 4ue est"
1aciendo, atender" la solicitud
#procesar" los datos del !uffer- y
lue3o retomar" el proceso 4ue
de8 pendiente.
Hay casos, sin em!ar3o, en
4ue la %6( es muy r"pida #perifricos de alta 2elocidad-. %sto implicara 4ue el !uffer del
perifrico se car3a r"pidamente y por lo tanto, las interrupciones le lle3aran a la CPU
con muc1a frecuencia, de forma tal 4ue la CPU en realidad estara procesando %6( sin
tiempo para se3uir procesando otros procesos.
%n estos casos, se 1a implementado una tcnica 4ue permite mane8ar la %6( de
otra manera, dilatando la inter2encin de la CPU. %sta tcnica es la de +CC%(*
D'$%C)* + 0%0*$'+ #o D0+-. %n este caso, se 1a!ilita la interaccin entre el !uffer del
controlador y la memoria ram. %l traslado de la informacin 4ue se 1a car3ado pasa
directamente de uno a otra sin necesidad de inter2encin de la CPU. $ecin cuando se
1a completado o !ien cuando se 1a car3ado una !uena cantidad de informacin en la
25
0%0*$'+ $+0, se interrumpe a la CPU para 4ue la procese. %n otras pala!ras se le saca
a la CPU la tarea de super2isar el traslado de la informacin del /U%$ a la 0%0*$'+
$+0 para lue3o procesar los datos de la memoria ram. ,a D0+ permite 4ue este
traslado se 1a3a autom"ticamente. Por otra parte permite tam!in 2aciar el !uffer y as
permitir 4ue el perifrico si3a cumpliendo su funcin sin necesidad de interrumpir a la
CPU.
C= >DTO8OS >ES 6O>7(ES P&?& E% T?&T&>IE(TO 8E %& E@S
Hasta a1ora 1emos 1a!lado de 4ue la manera en 4ue el sistema inform"tico
mane8a las %6(: supon3amos un perifrico de salida. ,a CPU #interactuando con el (.*.-
2a a u!icar en los re3istros
especiales del sistema el
con8unto de datos 4ue
de!er"n ?mostrarseA a tra2s
del perifrico de salida.
)am!in a2isa al controlador
4ue se 1a car3ado
informacin a mostrar. %l
dispositi2o toma el dato y lo
muestra. ,ue3o 2a a a2isar a
tra2s de una
interrupcin a la CPU 4ue
1a terminado de mostrar los
datos. De esta manera la
CPU y el (.*. toma nota del
estado del perifrico.
%sto tam!in funciona
cuando el perifrico es de entrada. %n este caso el proceso se detonar" a tra2s de una
interrupcin 4ue lle3a a la CPU, a2is"ndole 4ue 1ay datos para procesar en los re3istros
de ese dispositi2o #o en el !uffer-. ,a CPU interrumpir" lo 4ue est" 1aciendo para
atender a este re4uerimiento. + esta tcnica se le llama E/S CONTROLADA POR
INTERRUPCIONES.
%xisten otras tcnicas para manipular las interrupciones, tal 2e; menos utili;adas
en la actualidad, sin em!ar3o, interesantes a la 1ora de anali;ar como puede
implementarse un proceso para controlar el sistema inform"tico. De stas 2eremos solo
una, la llamada de E/S PROGRAMADA.
%n esta tcnica y tomando
como e8emplo un perifrico de
salida, la CPU car3ar" el re3istro
del dispositi2o con los datos 4ue
de!en mostrarse. ,ue3o ?acti2ar"A
un !it de estado #lo ?prender"A- de
forma tal 4ue a2ise al controlador
y al perifrico 4ue 1ay datos para
procesar. %l dispositi2o procesar"
los datos #en este caso lo
?mostrar"A de al3una manera- y
una 2e; 4ue 1aya terminado de
1acerlo, cam!iar" el !it de estado
a ?desacti2adoA o ?apa3adoA. ,a
26
CPU en esta tcnica c1e4uea frecuentemente todos los !its de estado de los dispositi2os
conectados al sistema inform"tico. Cuando encuentra un prendido, sa!e 4ue el
dispositi2o est" ocupado y tiene datos car3ados para procesar. Cuando encuentra un !it
?apa3adoA sa!e 4ue se 1a terminado con la operacin y 4ue el dispositi2o est"
disponi!le. %n este caso, la CPU tiene la car3a ?a3re3adaA de estar consultando los !its
de estado frecuentemente lo 4ue si3nifica una prdida de tiempo de procesamiento as
como tam!in prdida de tiempo del dispositi2o: 1asta 4ue la CPU no consulta si est" o
no li!re para se3uir procesando datos, el dispositi2o tiene 4ue ?esperarA, aBn cuando
1aya tra!a8os pendientes.
Esta re#"sima s"ntesis no usca ser e2hausti#a.
S'lo introducirlos en temas que luego deern ser deidamente pro!undi9ados $
enriquecidos a partir de las pr'2imas unidades pero tami:n a partir de su propia
curiosidad: no de;en de uscar in!ormaci'n, compartirla con sus compa,eros $
pro!esor. Por esto, si ien aqu" termina la s"ntesis, comien9a su propio proceso de
)squeda $ de re!le2i'n respecto c'mo interact)a el S.O. con el resto de los
componentes del equipo in!ormtico para desempe,ar las !unciones que se le
requieren.
27
F7G& BIB%IOF?EHI6&
SIST)&AS O')*ATI9OS.
T)&A: )structura del Sistema In+ormtico.
)l o:/etivo de esta gua :i:liogr+ica es reali;ar un primer acercamiento al material de estudio
dado por la ctedra.
Se aclara antes de comen;ar <ue el estudio de un material :i:liogr+ico re<uiere de varias
lecturas. 'or lo tanto$ las preguntas <ue a<u se plantean tienen dos niveles: el primero$ indicar
algunas nociones importantes para el desarrollo del tema (apunta ms <ue nada a -separar. del
material los conceptos#$ el segundo nivel se orienta a re+le=ionar so:re las interrelaciones entre
nociones y su aplicacin en conte=tos ms comple/os (en ese sentido$ no van a encontrar la
-respuesta. e=plcitamente en el apunte. 4e:ern pensar$ re+le=ionar y ela:orar ustedes una
respuesta$ integrando tam:i>n conocimientos previos#.
&uc,a suerte.
ACTIVIDADES:
E- $eali;ar una lectura exploratoria del captulo %()$UC)U$+( D% ,*( ('()%0+( D%
C*0PU)+C'@: #p"3. EN a KM- tomando nota en la carpeta o cuaderno so!re:
a. Proceso de arran4ue de una m"4uina #explicar proc.-.
!. ,lamada al sistema #definir-.
c. 0todos para procesar una interrupcin #explicar-.
d. <ector de interrupciones #definir y explicar estructura-.
e. (istemas operati2os controlados por interrupciones #definir-.
f. )rampa.
3. 0ane8o de %6( sincrnica y asincrnica.
1. )a!la de estado de dispositi2os.
K- %xplicar en 4u contexto ocasiones5 es indispensa!le el uso de ta!la de estados y
8ustificar por4u.
C- GCu"l es la relacin entre (.*., perifrico de %6(, controlador del perifrico y
2ector de interrupcionesH. %s4uemati;ar de ser necesario.
U- (upon3amos el si3uiente caso: un usuario 4uiere a!rir un pro3rama. GPu tipo de
e2ento esH #interrupcin o llamada al sistema- GCmo 2a a procesar el sistema
inform"tico este pedidoH #ayudita: detallar 4u 2a a 1acer la CPU, 4u 1ace el
(.*., dnde se !uscar el pro3rama, dnde se car3a, por dnde se muestra, etc.-.
V- (upon3amos este otro caso: la impresora se 1a 4uedado sin tinta. GPu tipo de
e2ento esH GCmo lle3a este e2ento al sistema inform"ticoH GCmo 2a a procesar
el sistema inform"tico este e2entoH. %s4uemati;ar la explicacin.
%as respuestas se re#isarn durante la clase de sistemas operati#os, el
pr'2imo martes. 6ada alumno dee registrar las respuestas en su carpeta o
cuaderno.
Esta gu"a iliogr!ica no es un prctico. (o se pondr nota, por lo tanto, no
teman a equi#ocarse: hagan su ma$or es!uer9o $ aquello que no entienden,
mrquenlo para poder comentarlo $ anali9arlo la pr'2ima clase.
28
REPASO INTRODUCTORIO INTERRELACIONES.
29
SIS!E("
$)E#"!I6$
CONTROLADORES
DE DIAPOSITIVOS
TABLA DE
DISPOSITIVOS
VECTOR DE
INTERRUPCIONES
PERI=HRICOS
E ? S
PROGRAMA
DEL USUARIO
LLAMADA AL
SISTEMA
INTERRUPCIONES
DMA MANE<O DE E?S
ASDNCRONO
MANE<O DE E?S
SDNCRONO
%n el recuadro de arri!a aparecen una serie de conceptos 4ue se relacionan directamente con el
('()%0+ *P%$+)'<*, permitindole reali;ar su funcin.
Con flec1as o 3lo!os o lneas, unir a4uellas nociones 4ue tienen directa relaci'n
A4%(4*% *#40-* %(5(%(-',* *# '&-60-.& 70( +*%'*).( y explicar en un texto cu"l es la
interrelacin 4ue encuentras entre lo 4ue 1as seleccionado.
(de:e armarse al menos con/untos. 'ueden repetirse conceptos en los con/untos.
Todos los conceptos de arri:a de:en encontrarse en alguna seleccin. Sistema Operativo dee
aparecer en todas las selecciones reali;adas#.
PRACTICO " 8 PARTE N9 :
TEMA: ESTRUCTURA SISTEMA INFORMTICO.
Horma de presentaci'n del prctico: de:e estar pasado a m<uina$ de ser posi:le impreso. 4e:e
enviarse arc,ivo a la cuenta de mail de la docente y tam:i>n guardar en la carpeta A*%HI9OS de SO en
el servidor.
Hecha de entrega:
+- + continuacin 2amos a presentar una serie de e2entos inform"ticos. Para cada uno se de!e:
E- Clasificar de 4u tipo de e2ento se trata #interrupcin o llamada al sistema-.
K- %xplicar cmo 2a a reaccionar el sistema inform"tico y mane8ar dic1o e2ento #incluyendo:
consulta al 2ector de interrupciones, consulta a la ta!la de dispositi2os, acti2acin o no de
controlador, etc-. Puede 1a!er m"s de un proceso relacionado 4ue se acti2a para responder al
e2ento.
3) %l e2ento se comporta de manera asincrnica o sincrnicaH. =ustificar por4u.
EVENTO TIPO DE EVENTO E!PLICACIN ASNCRONO / SNCRONO
,a impresora esta!a
imprimiendo y se 1a
4uedado sin papel.
Desde >ord, pido
3uardar un arc1i2o.
Conecto mi pendri2e
para copiar un arc1i2o
al disco fi8o
%8ecuto un pro3rama
en el 4ue le pido al
usuario dos 2alores, los
sumo y le muestro el
resultado
0ando a descar3ar una
pelcula desde 'nternet
/- (upon3amos 4ue tenemos dos perifricos. Uno es una lectora de tar8etas y la otra es una lectora de
CD. GCu"l de los dos perifricos creen ustedes de!er" tener D0+H GPor4u creen 4ue sea necesario
c- (e le presenta un caso pr"ctico en el 4ue de!e recomendar Ila pro!esora le indicar cul de los -
que se listan dea;o les corresponde desarrollar=: tipo de e4uipamiento para lo 4ue el cliente 4uiere
1acer, tecnolo3as 4ue de!en implementarse #uniendo tanto lo de la unidad anterior como las 2istas en
esta unidad-, explicando en un len3ua8e 4ue el cliente pueda entender por4u es necesario 1acerlo. Hacer
una ta!la en la 4ue identifi4uen al menos cuatro e2entos 4ue pueda darse en la situacin del cliente,
aplicando las clasificaciones 4ue se 1an reali;ado en el punto +-.
30
Caso E
%l (e7or ern"nde; tiene una empresa y 4uiere dotar de computadoras a la seccin
Cmputos. Puiere por otra parte in2ertir lo menos posi!le, por lo 4ue se de!e
apro2ec1ar al m"ximo cada recurso 4ue se recomiende. %n esta seccin 1ay EJ
empleados 4ue se dedican a pro3ramar diferentes softwares para las otras secciones de
la empresa. )odos de!en poder tra!a8ar en distintos pro3ramas al mismo tiempo e
imprimir en la Bnica impresora 4ue tiene la seccin. )odos adem"s necesitan poder
compartir la misma informacin.

Caso K.
%n la familia *rdo7e; los usos de la computadora 4ue desean comprar est"n !ien
definidos: la madre 4uiere poder escuc1ar la mBsica 4ue le 1an recomendado y
3ra!ado en formato mpC sus compa7eras de tra!a8o. ,a 1i8a desea poder c1atear con
sus ami3as de la facultad. %l 1i8o m"s c1ico, le 3ustara poder 8u3ar la nue2a 2ersin de
?+3e of %mpiresA y el padre, espor"dicamente, imprimir los diferentes informes en los
4ue 1a estado tra!a8ando en su propia note!ooT.
Caso C.
=uan, +l!erto y $amiro son C estudiantes 4ue comparten la misma casa ya 4ue son de
otro lu3ar y est"n empe;ando la uni2ersidad. Cada uno 1a trado su m"4uina desde su
casa pero a1ora est"n deseando comprar entre todos otra m"4uina para poder
centrali;ar la informacin los C son compa7eros de curso y de carrera5 y adem"s
apro2ec1ar la Bnica impresora 4ue tienen para poder imprimir cada uno sus propias
cosas y pa3ar una Bnica conexin a ':)%$:%) 4ue pueda compartirse desde esa
m"4uina a las dem"s.
Caso U
%n un me3a ne3ocio de 2ideo, 4ue cuenta con EJ empleados y dos m"4uinas, necesitan
poder modificar la planilla con el cat"lo3o de D<D para al4uilar de forma tal 4ue 2aya
4uedando constancia de 4u cliente al4uil 4u pelcula y adem"s de 4u pelculas se
fueron de2ol2iendo, a medida 4ue los clientes 2an siendo atendidos. +l final de mes
4uiere poder imprimir los morosos de forma tal de poder en2iar cartas de co!ro as
como tam!in planillas estadsticas de pelculas m"s al4uiladas, menos al4uiladas.
31
0+)%$'+: ('()%0+( *P%$+)'<*(
P$*%(*$+: P+':9 P':)*(.
':()')U)* )%$C'+$'* ?('0@: /*,'<+$A
UNIDAD NRO. III
ESTRUCTURA DEL SISTEMA OPERATIVO
(ntesis !asada en
G T*-(-2*0+, A-/%(; S. Sistemas Operativos &odernos Pearson %ducacin
0xico, KJJC.
G S,#2(%)'<*.=, A2%*<*+ > B*(%, P(.(% Sistemas Operativos +ddison >esley
,on3man de 0xico, (.+. de C.<. 0xico, EOOO.
& 6O(TI(7&6IA( SE >7EST?& %&S 8I&POSITIV&S 8E %& P?ESE(T&6IA( 7TI%IJ&8&
P&?& E% T?&T&>IE(TO 8E% TE>&.
E% 8ES&??O%%O TEA?I6O SE E(67E(T?& E( E% &(EKO 6O??ESPO(8IE(TE & EST&
7(I8&8.
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
&u a d e , e c t ur a :W K
)ema: Componentes y (er2icios del (istema *perati2o
0ateria: (istemas *perati2os.
Prof.: Pain Pintos
El sistema operati#o tiene distintos LcomponentesM, es decir, porciones peque,as del
sistema que se encargan de di!erentes !unciones.
En las pginas anteriores ICB a .B= , se encuentran descriptos estos componentes $
sus principales caracter"sticas. & partir de la lectura de las mismas, deers completar
),-.?.,'*+(-.( el siguiente cuadro:
C&+$&-(-.( T*%(*) 70( %(*#,=*
C*%*'.(%@).,'*) /()*%%&##& /(
'&-'($.&) %(#*',&-*/&)
&estin de
Procesos
(de+inicin de proceso? di+erencia entre
proceso y programa? relacin entre proceso$
programa y %'5#
&estin de
memoria
principal
(de+inicin espec+ica de memoria ram?
relacin memoria ram y %'5? relacin
memoria ram y programa? etc#.
&estin de
arc1i2os
(relacin arc,ivos y peri+>ricos de
almacenamiento? de+inicin de arc,ivo? tipos
de arc,ivos#.
&estin de
(istema de %6(
(componentes de la gestin del sistema e0s$
etc.#
&estin de
almacenamiento
secundario
(di+erencia entre almacenamiento primario y
secundario? etc.#
)ra!a8o con
redes
(de+inicin de sistema distri:uido? de+inicin
de red de comunicaciones$ utilidad de red$
etc.#
(istema de
proteccin
(de+inicin de proteccin de sistema? venta/as
de un sistema protegido$ etc.#
(istema de
interpretacin
de ordenes
(de+inicin de interprete de rdenes o s,ell?
tipos de s,ell$ etc.#
#se 1a anotado al3unas pautas 4ue de!e cumplir la columna de caractersticas Pasar en la carpeta, en
forma proli8a-.
53
0+)%$'+: ('()%0+( *P%$+)'<*(
P$*%(*$+: P+':9 P':)*(.
':()')U)* )%$C'+$'* ?('0@: /*,'<+$A
UNIDAD NRO. IV
LOS PROCESOS EN EL SISTEMA OPERATIVO
(ntesis !asada en
G T*-(-2*0+, A-/%(; S. Sistemas Operativos &odernos Pearson %ducacin
0xico, KJJC.
G S,#2(%)'<*.=, A2%*<*+ > B*(%, P(.(% Sistemas Operativos +ddison >esley
,on3man de 0xico, (.+. de C.<. 0xico, EOOO.
I!#$*U&&I79
%l concepto central de cual4uier sistema operati2o es el proceso: una a!straccin
de un pro3rama en e8ecucin.
%n un modelo de procesos, todo software e8ecuta!le de la computadora se
or3ani;a en 2arios $%&'()&) )('0(-',*#() o simplemente procesos.
Un proceso no es m"s 4ue un pro3rama en e8ecucin e incluye los 2alores 4ue
tienen el contador de pro3rama, los re3istros y las 2aria!les.
%n lo conceptual, cada proceso tiene su propia CPU 2irtual. %n realidad la
2erdadera CPU cam!ia en forma continua de un proceso a otro pero para entender el
sistema es muc1o m"s f"cil pensar 4ue 1ay un con8unto de procesos 4ue se e8ecutan en
#seudo- paralelo, 4ue tratar de comprender la manera en 4ue la CPU cam!ia de un
pro3rama a otro. %sta r"pida conmutacin se denomina multitarea.
Con la CPU conmutando entre los procesos, la rapide; con 4ue un proceso efectBa
sus operaciones no ser" uniforme y es pro!a!le 4ue ni si4uiera sea reproduci!le si los
mismos procesos se e8ecutan otra 2e;.
,a idea cla2e es 4ue un proceso es una acti2idad de al3Bn tipo: tiene un
pro3rama, entradas, salidas y un estado. <arios procesos pueden compartir un solo
procesador y se usa al3Bn al3oritmo de calendari;acin para determinar cu"ndo 1ay 4ue
de8ar de tra!a8ar en un proceso y atender a otro.
Un proceso es m"s 4ue el cdi3o del pro3rama #tam!in conocido como seccin de
texto-. tam!in incluye la acti2idad actual, representada por el 2alor del contador de
programa y el contenido de los re3istros del procesador. &eneralmente los procesos
tam!in incluye la pila #stacT- del proceso 4ue contiene datos temporales #como los
par"metros de su!rutinas, direcciones y 2aria!les temporales- y una seccin de datos
4ue contiene 2aria!les 3lo!ales.
+un4ue podra 1a!er dos procesos asociados al mismo pro3rama, de todas
maneras se consideran como dos secuencias de e8ecucin distintas. Por e8emplo, 2arios
usuarios podran estar e8ecutando copias del pro3rama de correo, o un mismo usuario
podra in2ocar muc1as copias del pro3rama editor. Cada una de stas es un proceso
aparte y, aun4ue las secciones de texto sean e4ui2alentes, las secciones de datos
2aran. )am!in es comBn tener un proceso 4ue en3endra muc1os procesos durante su
e8ecucin.
54
ES!"*$ *E U )#$&ES$
+ medida 4ue un proceso se e8ecuta, cam!ia de estado. %l estado de un proceso est"
definido en parte por la acti2idad actual de ese proceso. Cada proceso puede estar en
uno de los si3uientes estados:
N0(3& AN(;B: %l proceso se est" creando.
E- (6('0',1- AR0--,-4B: se est" e8ecutando instrucciones.
E- ()$(%* AC*,.,-4B: el proceso est" esperando 4ue ocurra al3Bn suceso #como
la terminacin de una operacin de %6( o la recepcin de una se7al-.
L,).& AR(*/>B: el proceso est" esperando 4ue se le asi3ne un procesador.
T(%+,-*/& AT(%+,-*.(/B: el proceso termin su e8ecucin.
A 8 D,*4%*+* /( E).*/&) /( #&) $%&'()&)
%stos nom!res son ar!itrarios y 2aran de un sistema operati2o a otro. sin em!ar3o, los
procesos 4ue representan se encuentran en todos los sistemas.
55
+%$:UE *E &$!#$% *E% )#$&ES$
Cada proceso se representa en el sistema operati2o con un :lo<ue de control de
proceso ('%@$ process control !locT-, tam!in llamado !lo4ue de control de tarea.
Estado del proceso: el estado puede ser: nue2o, listo, en e8ecucin, en espera,
detenido, etc.
6ontador del programa: indica la direccin de la si3uiente instruccin 4ue se
e8ecutar" para este proceso.
?egistros de 6P7: el nBmero y tipo de los re3istros 2ara dependiendo de la
ar4uitectura del computador. 'ncluyen acumuladores, ndices, punteros de pila, etc.
=unto con el contador de pro3rama, esta informacin de estado se de!e 3uardar
cuando ocurre una interrupcin, para 4ue le proceso pueda continuar correctamente
despus.
In!ormaci'n de plani!icaci'n de 6P7: esta informacin incluye una prioridad del
proceso, punteros a colas de planificacin, etc.
In!ormaci'n de gesti'n de memoria: esta informacin puede incluir datos tales
como el 2alor de los re3istros !ase y lmite #direcciones de memoria-, etc.
In!ormaci'n contale: esta informacin incluye la cantidad de tiempo de CPU y
tiempo real consumida, lmites de tiempo, nBmeros de cuenta, nBmero de tra!a8o o
proceso, etc.
In!ormaci'n de estado de E@S: la informacin incluye la lista de dispositi2os de
%6( asi3nadas a cada proceso, una lista de arc1i2os a!iertos, etc.
Si un proceso no se est e/ecutando$ se coloca en alguna cola de espera. Hay dos
clases principales de colas en un sistema operativo: colas de solicitud de )0S y la
cola de procesos listos. )sta Altima contiene todos los procesos <ue estn listos para
e/ecutarse y estn esperando a la %'5. %ada proceso se representa con un '%@$ y los
'%@ se pueden enla;ar para +ormar una cola de procesos listos.
56
Puntero
%stado
del
proceso
:Bmero del proceso
Contador de
pro3rama
$e3istros
,mites de memoria
,ista de arc1i2os
a!iertos
.
.
.
S$+#E &$%"S *E )%"I,I&"&I79
,as colas de planificacin se implementan en un contexto de multipro3ramacin. %l
o!8eti2o de mutipro3ramacin
es tener al3Bn proceso en
e8ecucin en todo momento,
de forma tal 4ue se maximice
el uso de la CPU. Para este fin,
2a a conmutarse la CPU entre
procesos con tal frecuencia
4ue los usuarios puedan
interactuar con cada pro3rama
durante su e8ecucin.
+ medida 4ue 2an in3resando
los procesos se u!ican en una
cola de traa;os. %sta cola
incluye todos los procesos del
sistema.
,os procesos 4ue est"n en la
memoria principal y est"n
listos y esperando para
e8ecutarse se mantienen en
una lista llamada cola de
procesos listo, 4ue
3eneralmente se almacena
como una lista enla;ada.
Hay otras colas en el sistema. %n el caso de una operacin de %6(, la solicitud 4ue un
proceso puede reali;ar para el uso de al3uno de los dispositi2os, podra 1acerse a un
dispositi2o compartido, por e8. Puesto 4ue 1ay muc1os procesos en el sistema, el disco
podra estar
ocupado con la
solicitud de %6( de
otro proceso y en tal
caso el proceso
tendra 4ue esperar
el disco. ,a lista de
procesos 4ue
esperan un
dispositi2o de %6(
en particular se
denomina cola de
dispositi#o.

57
B - Cola de proesos l!stos " d!#ersas olas de d!spos!t!#os de E$%
B - Representa!&n on d!a'ram de olas de la plan!(!a!&n de proesos
)%"I,I&"&I$ *E )#$&ES$S ; )%"I,I&"*$#ES9
Para fines de planificacin, el sistema operati2o de!e seleccionar procesos de las
diferentes colas 4ue tiene de al3una manera. %l planificador se encar3a de este proceso
de planificacin. %xisten dos tipos de planificaciones.
,a $#*-,5,'*',1- * #*%4& $#*=& #o planificador de tra!a8os- es la seleccin de los
procesos a los 4ue se les permitir" competir por la CPU. :ormalmente, la planificacin a
la3o pla;o depende en 3ran medida de las consideraciones de asi3nacin de recursos,
so!re todo la 3estin de memoria. 'mplica seleccionar de los procesos 4ue de!en
e8ecutarse y de!en car3arse a la memoria principal. %stos son los procesos 4ue se
encuentran en la cola de tra!a8os. ,a frencuencia con la 4ue se reali;a esta tarea es
muc1o mayor 4ue la de corto pla;o. Podra pasar minutos entre la creacin de procesos
nue2os en el sistema. %l planificador de lar3o pla;o controla el 3rado de
multipro3ramacin #el nBmero de procesos 4ue est"n en la memoria-.
,a $#*-,5,'*',1- * '&%.& $#*=& #o planificador de CPU- es la seleccin de un
proceso de la cola de procesos listos para 4ue la CPU los e8ecute. %ste planificador de!e
seleccionar un proceso nue2o para la CPU en forma relati2amente frecuente.
$)E#"&I7 E!#E )#$&ES$S9
,os procesos del sistema se pueden e8ecutar de forma concurrente
C
. Hay 2arias
ra;ones para permitir la e8ecucin concurrente: compartir informacin, aceleracin de
los c"lculos
U
, modularidad
V
y comodidad
I
. ,a e8ecucin concurrente re4uiere de un
mecanismo para '%(*% > (#,+,-*% $%&'()&).
CREACION DE PROCESOS:
Un proceso puede crear 2arios procesos nue2os, a tra2s de una llamada al
sistema de ?crear procesoA, durante el curso de su e8ecucin. %l proceso creador se
denomina proceso padre y los nue2os procesos son los hi;os de ese proceso. Cada uno
de estos procesos nue2os puede a su 2e; crear otros procesos, formando un r:ol de
procesos.
)eniendo en cuenta 4ue los procesos necesitan ciertos recursos #tiempo de CPU,
memoria, arc1i2os, dispositi2os, etc- para efectuar su tarea, la forma 4ue adopta la
asi3nacin de recursos a la 1ora de creacin de nue2os procesos puede 2ariar. %l
su!proceso 3enerado podra o!tener sus recursos directamente del sistema operati2o o
!ien podra estar restrin3ido a un su!con8unto de recursos del proceso padre.
+dem"s de los di2ersos recursos fsicos y l3icos 4ue un proceso o!tiene cuando
se crea, el proceso padre podra pasar a su 1i8o datos de iniciacin #entradas-.
Cuando un proceso crea un proceso nue2o, 1ay dos posi!ilidades en trminos de
e8ecucin:
a- el padre si3ue e8ecut"ndose de forma concurrente con sus 1i8os.
!- %l padre espera 1asta 4ue al3unos de sus 1i8os, o todos, 1an terminado.
,a llamada al sistema para crear nue2os procesos es *$X #!ifurcar-. ,os
procesos tam!in pueden ponerse en espera utili;ando la llamada al sistema >+')
#%(P%$+$-.
3
&sto si1ni!ica -ue son procesos -ue se est"n e'ecutando al mismo tiempo%
4
&sto implicar" diEidir una tarea en subtareas , -ue /stas puedan e'ecutarse en paralelo%
5
Ba modularidad implica diEidir las !unciones del sistema en proceso indiEiduales%
6
&sto permitir;a -ue el usuario pueda por e'emplo +acer m"s de una tarea a la EeL%
58
TERMINACIN DE PROCESOS:
Un proceso aca!a cuando termina de e8ecutar su Bltimo enunciado y le pide al
sistema operati2o 4ue lo elimine utili;ando la llamada al sistema (+,'$ #exit-. %n ese
momento el proceso podra de2ol2er datos #salidas- a su proceso padre. %l sistema
operati2o li!erar" todos los recursos del proceso, incluidos memoria fsica y 2irtual,
arc1i2os a!iertos y !uffers de %6(.
%xisten otras circunstancias en las 4ue ocurre la terminacin. Un proceso puede
causar la terminacin de otro con una llamada al sistema apropiada #por e8. a!ortar-.
:ormalmente slo el padre del proceso 4ue se termina puede emitir tal llamada. %l
padre podra terminar la e8ecucin de uno de sus 1i8os por di2ersas ra;ones, por e8.:
a- %l 1i8o se 1a excedido en la utili;acin de al3unos de los recursos asi3nados.
!- ,a tarea asi3nada al 1i8o ya no es necesaria.
c- %l padre 2a a salir y el sistema operati2o no permite 4ue un 1o8o continBe
cuando el padre termina.
)#$&ES$S &$$)E#"!I6$S $ I*E)E*IE!ES.
,os procesos 4ue se e8ecutan en el sistema operati2o pueden ser ,-/($(-/,(-.()
& '&&$(%*.,3&)
D
. ,os procesos cooperati2os de!en poder comunicarse entre s as como
tam!in sincroni;ar sus acciones. +m!os aspectos se 2er"n m"s adelante.
7n e;emplo t"pico de procesos cooperativos es el pro:lema de productores y
consumidores: un proceso productor produce in+ormacin <ue es consumida por un
proceso consumidor. 'or e/emplo$ un programa de aplicacin$ al imprimir$ produce
caracteres <ue son consumidos por el controlador (so+tBare# de la impresora (<ue
posteriormente pasa al peri+>rico#. 'ara <ue procesos productores y consumidores
puedan e/ecutarse de +orma concurrente$ es preciso contar con un :u++er de elementos
<ue el productor pueda llenar y el consumidor pueda vaciar. 5n productor puede producir
un elemento mientras el consumidor est consumiendo otro. )l productor y el
consumidor de:en estar sincroni;ados para <ue el consumidor no trate de consumir un
elemento <ue todava no se ,a producido. )n esta situacin$ el consumidor de:e esperar
,asta <ue se produce un elemento.
&$(UI&"&I7 E!#E )#$&ES$S9
%n 3eneral, 1ay /&) ()70(+*) /( '&+0-,'*',1- complementarios: memoria
compartida y sistemas de mensa8es.
%l mtodo de memoria compartida re4uiere 4ue los procesos en comunicacin
compartan ciertas 2aria!les #reser2a de !uffers-. (e espera 4ue los procesos
intercam!ien informacin empleando dic1as 2aria!les. %n un sistema de memoria
compartida, la o!li3acin de pro2eer la comunicacin corresponde a los pro3ramadores
de aplicaciones. el sistema operati2o slo tiene 4ue proporcionar la memoria
compartida.
%l mtodo de sistema de mensa;es permite a los procesos intercam!iar
mensa8es #'PC interprocess comunication#. %n este caso la o!li3acin de pro2eer la
comunicacin corresponde al sistema operati2o. %ste mtodo de!e pro2eer al menos dos
operaciones: (-3,*% #mensa8e- #)(-/- y %(',2,% #mensa8e- #%('(,3(-. ,os mensa8es
4ue un proceso en2a pueden ser de tama7o fi8o o 2aria!le.
7
@n proceso es independiente si no puede a!ectar o ser a!ectado por los dem"s procesos -ue se e'ecutan en el sistema% @n proceso es
cooperativo0 en cambio0 si puede a!ectar o ser a!ectado por los dem"s procesos -ue se e'ecutan en el sistema% 9bEiamente cual-uier
proceso -ue compartedatos con otros procesos es cooperatiEo%
59
%stos dos es4uemas no son mutuamente exclusi2os, y podran utili;arse
simult"neamente en un mismo sistema operati2o.
<I%$S =!<#E"*S>
$ecordemos 4ue un
proceso se define por los
recursos 4ue usa y por el
lu3ar donde se e8ecuta. Hay
muc1os casos en los 4ue
sera Btil compartir los
recursos y acceder a ellos
de forma concurrente. ,os
procesos cooperati2os 4ue comparten directamente un espacio de direcciones l3ico se
pueden implementar como $%&'()&) #,4(%&) & <,#&).
Un ,ilo (o (C'$ lig,tBeig,t process# es una unidad !"sica de utili;acin de CPU.
Consiste en un contador de pro3rama, un 8ue3o de re3istros y un espacio de pila. %l 1ilo
comparte con otros 1ilos pares su seccin de cdi3o, seccin de datos y recursos del
sistema operati2o, 4ue colecti2amente reci!en el nom!re de tarea. Un proceso
tradicional o pesado es i3ual a una tarea con un solo 1ilo. Una tarea no 1ace nada si no
contiene 1ilos, y un 1ilo de!e estar en una y slo una tarea. %l alto 3rado de
compartimiento 1ace 4ue la conmutacin de la CPU entre 1ilos pares y la creacin de
1ilos, ten3an un costo !a8o en comparacin con la '&-+0.*',1- /( '&-.(E.&
F
entre
procesos pesados. +un4ue una conmutacin de contexto de 1ilos tam!in re4uiere un
cam!io de con8unto de re3istros, no 1ay 4ue reali;ar operaciones relacionadas con la
3estin de memoria.

'odemos captar la +uncionalidad de los ,ilos si
comparamos el control de mAltiples ,ilos con el
control de mAltiples procesos. )n el caso de los
procesos$ cada uno opera independientemente de
los otros? cada proceso tiene su propio contador de
programa$ registro de pila y espacio de
direcciones. )ste tipo de organi;acin es Atil
cuando los tra:a/os <ue los procesos e+ectAan no
tienen relacin unos con otros. Otra posi:ilidad es
<ue mAltiples procesos realicen la misma tarea.
'or e/emplo varios procesos podran suministrar
datos a m<uinas remotas en una implementacin
de sistema de arc,ivos de red. Sin em:argo$ es
ms e+iciente ,acer <ue un proceso con mAltiples
,ilos se encargue de ello. )n la implementacin
con mAltiples procesos cada uno e/ecuta el mismo
cdigo pero tiene su propia memoria y recursos de
arc,ivos. 5n proceso multi,ilado emplea menos
recursos <ue varios procesos redundantes$ incluida
memoria$ arc,ivos a:iertos y plani+icacin de %'5.
,os 1ilos operan, en muc1os sentidos, de la misma forma 4ue los procesos. ,os
1ilos pueden estar en uno de 2arios estados: listo, !lo4ueado, en e8ecucin o
terminando. +l i3ual 4ue los procesos, los 1ilos comparten la CPU y slo 1ay un 1ilo
acti2o #en e8ecucin- en un instante dado. Un 1ilo dentro de un proceso se e8ecuta
secuencialmente, y cada 1ilo tiene su propio contador de pro3rama. Pueden crear 1ilos
8
CON)UTACIN DE CONTE*TO+ se denomina as; a la tarea de cambiar la 4?@ a otro proceso% &sto re-uerir" 1uardar el estado
del proceso anterior , car1ar el estado 1uardado del nueEo proceso% &l tiempo de conmutacin de conteFto es eFclusiEamente 1asto
eFtra por-ue el sistema no realiLa traba'o Mtil durante la conmutacin%
60
E - ),lt!ples -!los dentro de .na tarea
D - /a0 Tres proesos ada .no on .n -!lo1 /20 .n proeso on tres -!los
1i8os y se pueden !lo4uear en espera a 4ue termine la e8ecucin de llamadas al sistema.
si un 1ilo se !lo4uea, otro puede e8ecutarse.
Por otra parte, a diferencia de los proceso, los 1ilos no son independientes entre
s. Dado 4ue todos los 1ilos pueden acceder a todas las direcciones de la tarea, un 1ilo
puede leer la pila de cual4uier otro 1ilo, o escri!ir so!re ella. %sta estructura no ofrece
proteccin entre 1ilos. (in em!ar3o, tal proteccin no de!er" ser necesaria. 0ientras
4ue los procesos pueden ori3inarse en diferentes usuarios, y podran ser 1ostiles unos
respecto a otros, el due7o de una tarea con mBltiples 1ilos tiene 4ue ser un Bnico
usuario. ,os 1ilos, en este caso, pro!a!lemente estaran dise7ados para ayudarse
mutuamente, y por lo tanto no re4uerir"n proteccin mutua.
GUA DE LECTURA:
1A Dar un e8emplo detallado en el 4ue se muestre procesos en sus di2ersos estados.
IA +nali;ando los diferentes componentes del proceso, indicar cu"les de ellos se
relacionan con los su!sistemas de +rc1i2os, 0emoria, %6( y explicar por4u lo creen
as.
JA GPu diferencias y 4u seme8an;as encuentran entre las colas de tra!a8os, colas de
procesos listos y colas de %6(, en cuanto a: su funcin y su relacin con los procesosH.
8A Definir las diferencias y seme8an;as entre los procesos de planificacin a lar3o pla;o y
a corto pla;o.
9A GPu caractersticas tienen las operaciones de C$%+C'@: D% P$*C%(*( y de
)%$0':+C'@: D% P$*C%(*(. (inteti;ar y encontrar elementos 4ue se relacionen
entre am!as operaciones.
KA %la!orar dos e8emplos de procesos: uno 4ue e8emplifi4ue dos procesos cooperati2os y
otro en el 4ue se muestre dos procesos independientes.
LA %xpli4ue a tra2s de un es4uema 3r"fico los dos tipos de comunicacin entre procesos
#puede ser un es4uema para cada tipo o un es4uema 4ue inte3re am!os tipos-. :o
2ale a3re3ar 3randes !lo4ues de texto en los es4uemas.
MA Hacer un cuadro comparati2o entre 1ilos y procesos, definiendo: uso de CPU. uso de
$%CU$(*(, uso de 0%0*$'+.
NA GPu relacin 1ay entre 1ilos, procesos y tareasH %xplicar y si desea, e8emplificar.
1.A GCu"l es la relacin entre la conmutacin de contexto, procesos e 1ilosH
61
F7G& BIB%IOF?EHI6&
SIST)&AS O')*ATI9OS. T)&A: '*O%)SOS.
)l o:/etivo de esta gua :i:liogr+ica es reali;ar un primer acercamiento al material de estudio dado por la ctedra. Se
aclara antes de comen;ar <ue el estudio de un material :i:liogr+ico re<uiere de varias lecturas. 'or lo tanto$ las
preguntas <ue a<u se plantean tienen dos niveles: el primero$ indicar algunas nociones importantes para el
desarrollo del tema (apunta ms <ue nada a -separar. del material los conceptos#$ el segundo nivel se orienta a
re+le=ionar so:re las interrelaciones entre nociones y su aplicacin en conte=tos ms comple/os (en ese sentido$ no
van a encontrar la -respuesta. e=plcitamente en el apunte. 4e:ern pensar$ re+le=ionar y ela:orar ustedes una
respuesta$ integrando tam:i>n conocimientos previos#.
&uc,a suerte.
ACTIVIDADES:
E- + partir de la lectura del apartado ?E# +&/(#& /( $%&'()&)A expli4ue 4u es un proceso
y 4u caractersticas tiene.
K- %xpli4ue la si3uiente secuencia de 3r"ficos y comente su relacin con el concepto de
proceso y am!iente de multipro3ramacin:
C- + partir de la lectura del apartado de ?=erar4uaLA, expli4ue 4u implica la 8erar4ua en los
procesos. D al menos K e8emplos de 8erar4ua.
U- + partir de la lectura del apartado ?%stados de los procesosA y de lo 2isto en clase terica,
expli4ue el si3uiente es4uema de interrelacin de estados, detallando '1+& > $&%70? (#
$%&'()& 3* $*)*-/& /( 0- ().*/& *# &.%& #preste atencin al sentido de las flec1asL-:
V- %l sistema operati2o cuenta con C colas de planificacin: de tra!a8os, de procesos listos y
de dispositi2os. + partir de lo 2isto en el terico y lo 4ue pueda encontrar en la
!i!lio3rafa, expli4ue !re2emente las C y e8emplifi4ue.
I- %xpli4ue !re2emente la planificacin a corto pla;o y a lar3o pla;o. GCu"l es la mayor
diferencia entre am!asH
62
LIST
O
EN
E<ECUCI
N
NUEV
O
EN
ESPER
A
TERMINADO
)%"I,I&"&I7 *E &)U9
,a planificacin de CPU es la tarea de esco3er un proceso 4ue espera en la cola de
procesos listos y asi3narle la CPU. %l despac1ador se encar3a de asi3nar la CPU al
proceso seleccionado.
ALGUNOS CONCEPTOS BSICOS:
%I%(O 4) *16A3AS 4) %'5 8 4) )0S
%l xito de la planificacin de la CPU
depende de la si3uiente propiedad de los
procesos: la e8ecucin de un proceso
consiste en un ciclo de e8ecucin en la CPU y
espera por %6(. ,os procesos alternan entre
estos dos estados. ,a e8ecucin de un
procesos inicia con una r+aga de cpu,
se3uida de una r+aga de )0S, se3uida de
otra r"fa3a de CPU, lue3o otra r"fa3a de %6(
y as sucesi2amente. )arde o temprano, la
Bltima r"fa3a de CPU termina con una
solicitud al sistema para terminar la
e8ecucin, no con otra r"fa3a de %6(.
'(A2I6I%A4O* 4) %'5
(iempre 4ue la CPU est" ociosa, el sistema
operati2o de!e esco3er uno de los procesos
4ue est"n en la cola de procesos listos para
e8ecutarlo. %l proceso de seleccin corre por cuenta del planificador de corto pla;o
#o planificador de CPU- el cual esco3e uno de los procesos 4ue est"n en la
memoria y listos para e8ecutarse, y le asi3na la CPU. %l /()$*'<*/&% se encar3a
de asi3nar la CPU al proceso seleccionado. %l despac1ador es un mdulo 4ue cede
el control de la CPU al proceso seleccionado por el planificador a corto pla;o. (us
funciones son:
cam!iar el contexto.
Cam!iar a modo de usuario.
(altar al punto apropiado del pro3rama del usuario para reasumir la e8ecucin
del pro3rama.
%l despac1ador de!e ser lo m"s r"pido posi!le, por4ue se in2oca en cada
conmutacin de proceso.
'(A2I6I%A%ID2 )E'*O'IATI9A
,as decisiones de planificacin de la CPU se toman en las cuatro situaciones
si3uientes:
a- Un proceso pasa del estado en e8ecucin al estado en espera
O
.
!- Un proceso pasa del estado en e8ecucin al estado listo
EJ
.
c- Un proceso pasa del estado en espera al estado listo
EE
.
9
?or e'%< solicitud de &N o inEocacin de una espera +asta -ue termine uno de los procesos +i'os%
10
?or e'%< cuando ocurre una interrupcin%
11
?or e'%< terminacin de &N%
63
F - %e.en!a alternante de r3(a'as de C4U " de
E$%
d- Un proceso termina.
%n las circunstancias a y d no 1ay opciones en trminos de planificacin. (e
de!er" esco3er un proceso nue2o #si 1ay al3uno en la cola de procesos listos-
para e8ecutarse. %n las situaciones ! y c s 1ay opciones.
(i la planificacin tiene lu3ar slo en las circunstancias a y d decimos 4ue el
es4uema de planificacin es no e2propiati#o. en los dem"s casos, es
e2propiati#o. Con planificacin no expropiati2a, una 2e; 4ue la CPU se 1a
asi3nado a un proceso, ste la conser2a 1asta 4ue la cede ya sea por4ue termin
o por4ue pas al estado en espera. ,os sistemas operati2os 0icrosoft >indows C.E
y +pple 0acintos1 usan este mtodo de planificacin.
Desafortunadamente la planificacin expropiati2a implica un costo
EK
y afecta
adem"s el dise7o del nBcleo del sistema operati2o.
12
4onsideremos el caso de dos procesos -ue comparten datos% @no podr;a estar a la mitad de una operacin de actualiLacin de los
datos en el momento en -ue se le desalo'a , se e'ecuta el se1undo proceso% Aste podr;a intentar leer los datos0 -ue por el momento
est"n en un estado inconsistente% ?or tanto se re-uieren nueEos mecanismos para coordinar el acceso a datos compartidos%
64
ALGORITMOS DE PLANIFICACIN:
Hay muc1os al3oritmos de planificacin de la CPU distintos. Descri!iremos en forma
3eneral 2arios de ellos:
)%"I,I&"&I7 *E ?SE#6I&I$ )$# $#*E *E %%EG"*"@ =,&,S>9 Con este
es4uema, el proceso 4ue primero solicita la CPU la reci!e primero. (u
implementacin es f"cil con una cola '* #irst in, first out-. Cuando un
proceso in3resa en la cola de procesos listos, su PC/ se enla;a al final de la
cola. Cuando la CPU est" li!re, se asi3na al proceso 4ue est" a la ca!e;a de la
cola. +cto se3uido, el proceso en e8ecucin se saca de la cola. ,a planificacin
de ser2icio por orden de lle3ada #C(- es el al3oritmo de planificacin m"s
sencillo, pero puede 1acer 4ue procesos cortos esperen a 4ue terminen
procesos muy lar3os. %ste al3oritmo es no expropiati2o: una 2e; 4ue la CPU se
1a asi3nado a un proceso, ste la conser2a 1asta 4ue la cede, sea por4ue
termin o por4ue solicit %6(. %s pro!lem"tico so!re todo en los sistemas de
tiempo compartido, donde es importante 4ue cada usuario reci!a una porcin
de tiempo de CPU a inter2alos re3ulares.
E6(+$#&: si el orden de lle3ada es pE, pK y pC, el promedio de tiempo de
espera ser" EM milise3undos.
(i el orden fuera pK, pC y pE, el promedio de espera sera de C milise3undos.
)%"I,I&"&I$ *E ?)#I(E#$
E% !#"+"'$ (AS &$#!$@
=S',>9 %ste al3oritmo es diferente
al anterior ya 4ue asocia a cada
proceso la lon3itud de la si3uiente r"fa3a de CPU de ese proceso. Cuando la
CPU 4ueda disponi!le, se asi3na al proceso cuya si3uiente r"fa3a de CPU sea
m"s corta. (i 1ay dos procesos cuyas si3uientes r"fa3as de CPU tiene la misma
duracin, se emplea planificacin C( para ?desempatarA. (e puede demostrar
4ue la planificacin de primero el tra!a8o m"s !re2e #(=- es ptima y da pie al
tiempo de espera promedio m"s corto. :o se puede implementar en el ni2el de
la planificacin a corto pla;o. :o 1ay forma de conocer la duracin de la
si3uiente r"fa3a de CPU. Una estrate3ia suele ser intentar aproximar la
planificacin (=. ,a implementacin de la planificacin (= no es f"cil por la
dificultad de predecir la duracin de la si3uiente %G5*4* /( CPU .
%ste al3oritmo puede ser expropiati2o o no expropiati2o. ,a decisin sur3e
cuando un proceso nue2o lle3a a la cola de procesos listos mientras se est"
e8ecutando un proceso anterior.
E6(+$#&:
65
)%"I,I&"&I7 )$# )#I$#I*"*9 %l al3oritmo (= es un caso especial del
al3oritmo 3eneral de planificacin por prioridad. %n este al3oritmo se asociar"
una prioridad a cada proceso y la CPU se asi3na al proceso 4ue tiene la
prioridad m"s alta. ,os procesos con la misma prioridad se planifican en orden
C(.
,as prioridades se pueden definir interna o externamente. %n el primer caso,
se utili;a una o m"s cantidades medi!les para calcular la prioridad de un
proceso. ,as prioridades externas se fi8an empleando criterios externos al
sistema operati2o, como la importancia del proceso, tipo y cantidad de costo
4ue 3enera el uso del computador, etc.
,a planificacin por prioridad puede ser expropiati2a o no expropiati2a,
dependiendo de la prioridad 4ue trae el proceso 4ue lle3a a la cola de procesos
listos.
Un pro!lema importante de los al3oritmos de prioridad es el :lo<ueo
inde+inido o inanicin. Un al3oritmo de planificacin por prioridad podra de8ar a
al3unos procesos de !a8a prioridad esperando indefinidamente la CPU. %n un
sistema de computador muy car3ado, un flu8o continuo de procesos de mayor
prioridad puede impedir 4ue un proceso de !a8a prioridad reci!a al3una 2e; la
CPU. %n 3eneral suceder" una de estas dos cosas: el proceso se e8ecutar"
finalmente cuando el sistema por fin ten3a poca car3a o el sistema de
computacin ?se caer"A en al3Bn momento y perder" todos los procesos de
!a8a prioridad inconclusos.
Una solucin para este pro!lema es el enve/ecimiento. %sta tcnica consiste
en aumentar 3radualmente la prioridad de los procesos 4ue esperan muc1o
tiempo en el sistema. )arde o temprano, incluso el proceso con una prioridad
inicial m"s !a8a, lle3ara a tener la prioridad m"s alta y se e8ecutara.
E6(+$#&:
)%"I,I&"&I7 )$# !U#$ &I#&U%"# =##> es m"s apropiada para un
sistema de tiempo compartido #interacti2o-. %s similar a la planificacin C(
pero con la adicin de expropiacin para conmutar entre procesos. %sta tcnica
asi3na la CPU al primer proceso de la cola de procesos listos durante <
unidades de tiempo, donde < es el cuanto de tiempo #3eneralmente de EJ a
EJJ milise3undos-. Despus de < unidades de tiempo, si el proceso no 1a
cedido la CPU, se le desalo8a y coloca al final de la cola de procesos listos. ,os
procesos nue2os se a7aden al final de la cola. %l planificador de CPU esco3e el
primer proceso de la cola, a8usta un tempori;ador de modo 4ue interrumpa
despus de un cuanto de tiempo y despac1a el proceso. ,ue3o puede suceder
dos cosas: el proceso tiene una r"fa3a m"s corta de CPU 4ue el cuanto
asi3nado. %n este caso, el proceso mismo li!erar" la CPU 2oluntariamente. %l
66
Cada cola tiene prioridad absoluta sobre
las colas de ms baja prioridad. Por
ejemplo, ningn proceso de la cola de
procesos por lotes se podr ejecutar si no
estn vacas las colas de los procesos del
sistema, procesos interactivos y procesos
de edicin interactiva. Si un proceso de
edicin interactiva ingresa en la cola de
procesos listos mientras se est
ejecutando un proceso por lotes, ste
ser desalojado.
planificador la asi3nar" entonces al si3uiente proceso de la cola. %n caso
contrario, si la r"fa3a de CPU del proceso 4ue se est" e8ecutando dura m"s de
un cuanto de tiempo, el tempori;ador terminar" y 3enerar" una interrupcin
para el sistema operati2o. (e efectuar" una conmutacin de contexto, y el
proceso se colocar" al final de la cola de procesos listos. %l planificador
esco3er" entonces el si3uiente proceso de la cola.
%l principal pro!lema es la seleccin del cuanto de tiempo. (i el cuanto es
demasiado 3rande, la planificacin $$ de3enera al r3imen C(. si es
demasiado pe4ue7o, el 3asto extra de planificacin, en forma de tiempo de
conmutacin de contexto, se 2uel2e excesi2o.
%n el al3oritmo de planificacin $$, nin3Bn proceso reci!e la CPU durante
m"s de un cuanto de tiempo se3uido. (i la r"fa3a de CPU de un proceso excede
un cuanto, el proceso ser" desalo/ado y 2ol2er" a la cola de procesos listos. %l
al3oritmo de planificacin $$ es expropiati2o.
E6(+$#&:
)%"I,I&"&I7 &$ &$%"S *E (B%!I)%ES I6E%ES9 (e 1a creado otra
clase de al3oritmos de planificacin en las 4ue es f"cil clasificar los procesos en
diferentes 3rupos. Por e8emplo, suele 1acerse una di2isin entre los procesos
4ue se e8ecutan en primer plano (interactivos# y los 4ue lo 1acen en segundo
plano (por lotes-. %stos dos tipos de procesos tienen diferentes necesidades en
cuanto al tiempo de respuesta, as se podran tener diferentes necesidades de
planificacin. +dem"s los procesos de primer plano podran tener mayor
prioridad #definida externamente- 4ue los de se3undo plano. Cada cola tiene su
propio al3oritmo de planificacin. ,o m"s comBn es tener una cola de procesos
interacti2os en primer plano, 4ue usa planificacin $$, y una cola de procesos
por lote en se3undo plano, 4ue usa planificacin C(. +dem"s de!e 1a!er
planificacin entre las colas, lo cual por lo re3ular se implementa como una
planificacin expropiati2a de prioridades fi8as. Por e8emplo, la cola de primer
plano podra tener prioridad a!soluta so!re la cola de se3undo plano.
%8emplo:
67
*uan$%" 8
m!l!#egun'%
#
*tra posi!ilidad es di2idir el tiempo entre las colas. Cada cola o!tiene cierta
porcin del tiempo de la CPU, 4ue entonces puede repartir entre los di2ersos
procesos de su cola
EC
.
)%"I,I&"&I$ )$# &$%"S *E (B%!I)%ES I6E%ES ; #E"%I(E!"&I79
%n un al3oritmo de colas mBltiples ni2eles lo normal es 4ue los procesos se
asi3nen permanentemente a una cola al in3resar en el sistema. ,os procesos
no se mue2en de una cola a otra. ,a plani+icacin con colas de mAltiples niveles
y realimentacin, en cam!io, permite a un proceso pasar de una cola a otra. ,a
idea es separar procesos con diferentes caractersticas en cuanto a sus r"fa3as
de CPU. (i un proceso 3asta demasiado tiempo de CPU, se le pasar" a una cola
con menor prioridad. %ste es4uema de8a los procesos limitados por %6( y los
procesos interacti2os en las colas de m"s alta prioridad. +s mismo si un
proceso espera demasiado tiempo en una cola de !a8a prioridad podra pasarse
a una de mayor prioridad. %sta forma de en2e8ecimiento e2ita la inanicin.
,a amplia 2ariedad de al3oritmos de planificacin disponi!les exi3e tener mtodos
para seleccionar el m"s apropiado. ,os mtodos analticos utili;an an"lisis matem"tico
para determinar el desempe7o de un al3oritmo. ,os mtodos de simulacin determinan
el desempe7o imitando el al3oritmo de planificacin, aplic"ndolo a una muestra
?representati2aA de procesos, y calculando el desempe7o resultante.
GUA DE LECTURA:
E- GCmo se relacionan el planificador de la CPU y el despac1adorH
K- GPu diferencia 1ay entre la r"fa3a de la CPU y la de %6(H Dar un e8emplo
inte3rador del funcionamiento de am!as
C- GCu"ndo una planificacin 2a a ser no expropiati2a y cuando ser" expropiati2aH
Definir caractersticas 4ue las diferencian.
U- Definir y completar el si3uiente cuadro comparati2o de los distintos al3oritmos
de planificacin
"lgoritmo
&#I!E#I$ )"#"
)%"I,I&"#
EC)#$)I"!I6$ D
$ EC)#$).
6E!"'"S *ES6E!"'"S
C(
(=
P,+:''C+C'@: P*$
P$'*$'D+D
$$
C*,+( D% 0Y,)'P,%(
:'<%,%(
C*,+( D% 0Y,)'P,%(
:'<%,%( D
$%+,'0%:)+C'@:
13
?or e'emplo< en el caso de dos colas0 una de primer plano , la otra de se1undo plano0 se podr;a dar a la cola de primer plano el 80O
del tiempo de 4?@ para repartirlo por plani!icacin 77 entre sus procesos0 mientras -ue la cola de se1undo plano recibir;a un 20O
del tiempo de 4?@ para repartirlo entre sus procesos si1uiendo una pol;tica )4)%
68
V- %xplicar la relacin entre el fenmeno de inanicin y la tcnica de
en2e8ecimiento. Gen 4u al3oritmo se da este casoH
69
SI&#$IE"&I7 *E )#$&ES$S9
Cuando un con8unto de procesos secuenciales cooperati2os se e8ecutan pueden
ocurrir situaciones en la 4ue 2arios procesos acceden a, y manipulan, los mismos datos
de forma concurrente, y el resultado de la e8ecucin depende del orden en 4ue 1aya
ocurrido el acceso. %ste fenmeno se llama condicin de competencia (race condition#.
Para e2itar esto es necesario ase3urarnos de 4ue slo un proceso a la 2e; pueda estar
manipulando el espacio de datos 4ue est" modificando. %sto re4uiere al3una forma de
),-'%&-,=*',1- /( #&) $%&'()&). ,as situaciones de este tipo ocurren con frecuencia
en los sistemas operati2os cuando diferentes partes del sistema manipulan recursos y
4ueremos 4ue los cam!ios no se interfieran. De esto trata el pro!lema de sincroni;acin
y coordinacin de los procesos.
LA SECCIN CRTICA:
Cada proceso tiene un se3mento de cdi3o, llamado secci'n cr"tica, en la 4ue el
proceso podra estar modificando 2aria!les comunes, actuali;ando una ta!la, escri!iendo
un arc1i2o y cosas as. ,a caracterstica importante del sistema es 4ue, cuando un
proceso se est" e8ecutando en su seccin crtica, nin3Bn otro proceso puede e8ecutarse
en su seccin crtica. +s, la e8ecucin de secciones crticas de los procesos es
mutuamente e=clusiva en el tiempo. %l pro!lema de la seccin crtica consiste en
dise7ar un protocolo 4ue los procesos puedan usar para cooperar. Cada proceso de!e
solicitar permiso para in3resar en su seccin crtica. %xisten 2arios al3oritmos #4ue no
2eremos a4u- 4ue permite sincroni;ar la e8ecucin de secciones crticas de procesos
cooperati2os, tanto para pares de procesos como para mBltiples procesos.
,a des2enta8a principal de estas soluciones codificadas por el usuario es 4ue todas
re4uieren espera acti2a de al3unos de los procesos mientras uno est" procesando su
seccin crtica.
USO DE SEMFOROS
,os sem"foros superan esta dificultad y permiten aplicarse a pro!lemas m"s
comple8os de sincroni;acin y 1ay formas de implementarlos eficientemente. %l
sem"foro es una 2aria!le entera a la 4ue, una 2e; 4ue se le 1a asi3nado un 2alor inicial,
slo puede accederse a tra2s de dos &$(%*',&-() *.1+,'*)
"H
est"ndar: espera #wait-
y se7al #si3nal-. 0ientras el sem"foro manten3a un 2alor determinado, se desarrollar"
atmicamente la seccin crtica de un proceso. ,as modificaciones del 2alor entero del
sem"foro se de!en e8ecutar de forma indi2isi!le. %s decir, mientras un proceso modifica
el 2alor del sem"foro, nin3Bn otro proceso puede modificar simult"neamente el 2alor de
ese mismo sem"foro.
Por e8.: supon3amos 4ue - procesos comparten un mismo sem"foro #se suelen
llamar mutex, por +0.ual (Eclusin- 4ue reci!e un 2alor inicial E. 0ientras el proceso +
entra en seccin crtica, modifica el sem"foro a un 2alor J #usando operacin atmica
espera-. ,os dem"s procesos, permanecer"n en un ciclo #4ue los mantiene ?en esperaA
o m"s !ien ?1aciendo nadaA- mientras el sem"foro sea menor o i3ual a J. Cuando el
proceso + termina de e8ecutar su seccin crtica, cam!ia el 2alor del sem"foro a E
14
Bas operaciones atmicas son instrucciones de +ardPare especiales -ue nos permiten determinar , modi!icar el contenido de una
palabra o bien intercambiar el contenido de dos palabras0 atmicamente% ?odemos utiliLar estas instrucciones especiales para resolEer
el problema de la seccin cr;tica de !orma relatiEamente sencilla% &'emplos de /stas son la instruccin %valuar&$&Asignar cu,a
caracter;stica importante es -ue se e'ecuta como una unidad ininterrumpible
70
#usando funcin se7al- para indicar 4ue ya 1a terminado. D as otro proceso puede salir
del ciclo de espera y comen;ar nue2amente con el cam!io de sem"foro.
Cuando un proceso #o su!proceso- necesita o!tener acceso a una seccin crtica,
in2oca al sem"foro #mutex-. (i ste est" des!lo4ueado #o sea 2ale J- implica 4ue el
in3reso a la seccin crtica est" disponi!le. De esta manera el proceso 4ue in2oc puede
in3resar en su seccin critica. %n cam!io si el mutex ya esta!a !lo4ueado, el proceso
esperar" #o en al3unas implementaciones se !lo4uea- 1asta 4ue el proceso 4ue en ese
instante est" en la seccin crtica termine y des!lo4uee #modifi4ue- el mutex. (i 1ay
2arios procesos !lo4ueados o en espera del mutex, se esco3e uno de ellos al a;ar y se le
permite ?ad4uirirA el !lo4ueo #modificar el mutex y acceder a su seccin crtica-.
%8emplo de cdi3o de las definiciones cl"sicas de las operaciones de espera y se7al
#( es el nom!re del sem"foro-:
%spera#(-: w1ile (Z[J do nada.
([(5E.
(e7al#(-: ([(\E.
'mplementacin de la mutua exclusin con sem"foros:
,a $%,-',$*# /()3(-.*6* de estas soluciones de mutua exclusin es 4ue todas
re4uieren espera acti2a. 0ientas un proceso est" en su seccin crtica, cual4uier proceso
4ue trate de in3resar en su seccin crtica de!er" dar 2ueltas continuamente en su
cdi3o de in3reso. ,a espera acti2a desperdicia ciclos de CPU 4ue al3Bn otro proceso tal
2e; podra utili;ar producti2amente.
71
72
PROBLEMAS CLSICOS DE SINCRONIZACIN:
Di2ersos $%&2#(+*) /( ),-'%&-,=*',1- #como el del !uffer limitado, el de los
lectores y escritores y el de los filsofos comensales- son importantes principalmente
por4ue son e8emplos de una clase amplia de pro!lemas de control de concurrencia.
%stos pro!lemas se utili;an para pro!ar casi todos los es4uemas de sincroni;acin
nue2os 4ue se proponen. (e presenta a continuacin una mnima descripcin de cada
uno de estos pro!lemas.
)#$+%E(" *E% +U,,E# %I(I!"*$9
'
SOLUCIN POSIBLE:
'mplementando un cdi3o 4ue manipula C sem"foros, mutex 4ue ase3ura la
mutua exclusin de los accesos a la reser2a de !uffers y 3*'@&) 4ue cuentan el nBmero
de !uffers 2acos y ##(-&) 4ue cuenta la cantidad de !uffers llenos. + tra2s de un
cdi3o sencillo, se lo3rar":
4ue espere al proceso productor mientras el !uffer est" lleno de forma tal 4ue
no se pierdan datos necesarios mientras el proceso consumidor ?2acaA el
!uffer.
Pue espere el proceso consumidor cuando el !uffer est" 2aco.
73
)#$+%E(" *E %$S %E&!$#ES ; ES&#I!$#ES9
Un o!8eto de datos #como un arc1i2o o un re3istro- se 2a a compartir entre 2arios
procesos concurrentes. +l3unos de esos procesos 4ui;" slo deseen leer el contenido del
o!8eto compartido, pero otros podran 4uerer actuali;arlo #leer y escri!ir-. (e llaman
lectores a los 4ue solo est"n interesados en leer y escritores a los dem"s. *!2iamente si
dos lectores acceden al o!8eto de datos compartido simult"neamente no pasar" nada
malo. (in em!ar3o, si un escritor y al3Bn otro proceso #sea lector o escritor- acceden al
o!8eto compartido simult"neamente, el resultado puede resultar un caos. Para ase3urar
4ue no ocurran estas situaciones, se exi3e 4ue los escritores ten3an acceso exclusi2o al
o!8eto compartido.
74
75
E% )#$+%E(" *E %$S ,I%7S$,$S &$(ES"%ES9
'ma3inemos cinco filsofos 4ue se pasan la 2ida pensando y comiendo. ,os
filsofos comparten una sola mesa circular rodeada por cinco sillas, cada una de las
cuales pertenece a un filsofo. %n el centro de la mesa 1ay un platn de arro;, y la
mesa est" puesta con cinco palillos c1inos indi2iduales. Cuando un filsofo piensa, no
interactBa con sus cole3as. De 2e; en cuando un filsofo siente 1am!re y trata de tomar
los dos palillos c1inos 4ue le 4uedan mas cerca. Un filsofo slo puede co3er un palillo a
la 2e; y o!2iamente no puede tomar un palillo 4ue ya est" en la mano de uno de sus
2ecinos. Cuando el filsofo 1am!riento tiene sus dos palillos al mismo tiempo come sin
soltar sus palillos. cuando termina de comer, de8a so!re la mesa am!os palillos y
comien;a a pensar otra 2e;.
%l pro!lema de los filsofos comensales se considera
un pro!lema de sincroni;acin cl"sico por4ue es un
e8emplo de una clase amplia de pro!lemas de control de
concurrencia. (e trata de una representacin sencilla de
la necesidad de asi3nar 2arios recursos entre 2arios
procesos sin 4ue 1aya !lo4ueos mutuos ni inanicin.
76
($I!$#ES9
Una construccin de sincroni;acin
de alto ni2el es el tipo monitor. Un
monitor se caracteri;a por un con8unto
de operadores definidos por el
pro3ramador. ,a representacin de un
tipo monitor consiste en declaraciones de
2aria!les cuyos 2alores definen el estado
de un e8emplar del tipo. ,os di2ersos
procesos no pueden usar directamente la
representacin de un tipo monitor. +s
pues, un procedimiento definido dentro
del monitor slo puede acceder a las
2aria!les declaradas localmente dentro
del monitor y a los par"metros formales.
,a construccin de monitor
3aranti;a 4ue slo podr" estar acti2o un
proceso a la 2e; dentro del monitor. %n
consecuencia, el pro3ramador no
necesita codificar esta restriccin de
sincroni;acin explcitamente.
!#"S"&&I$ES "!7(I&"S9
,a mutua exclusin de las secciones crticas ase3ura 4ue stas se e8ecutar"n
atmicamente. %s decir, si dos secciones crticas se e8ecutan de manera concurrente, el
resultado es e4ui2alente a su e8ecucin secuencial en al3Bn orden desconocido.
Una transaccin es una unidad de pro3rama 4ue se de!e e8ecutar de forma
atmica. es decir, o !ien se e8ecutan 1asta el final todas las operaciones asociadas a la
transaccin, o nin3una de ellas se e8ecuta
EV
.
Una transaccin es una unidad de pro3rama 4ue accede a, y 4ui;" actuali;a,
di2ersos elementos de datos 4ue podran residir en el disco dentro de arc1i2os. Desde el
punto de 2ista del pro3rama, una transaccin no es m"s 4ue una secuencia de
operaciones #((% A%(*/B y ()'%,2,% A;%,.(B, 4ue termina con una operacin '&-5,%+*%
A'&++,.B o !ien con un *2&%.*% A*2&%.B. Una operacin de confirmar indica 4ue la
transaccin termin su e8ecucin con xito, mientras 4ue una de a!ortar implica 4ue la
transaccin tu2o 4ue interrumpir su e8ecucin normal a causa de al3Bn error l3ico. Una
transaccin terminada 4ue finali; con xito su e8ecucin est" con+irmada. en caso
contrario, est" a:ortada. + fin de ase3urar la propiedad de atomicidad, una transaccin
a!ortada no de!e tener efecto al3uno so!re el estado de los datos 4ue ya modific. +s,
el estado de los datos accedidos por una transaccin a!ortada se de!e restaurar al 4ue
pre2aleca 8usto antes de 4ue la transaccin comen;ara a e8ecutarse. Decimos 4ue tal
transaccin se revirti. Una de las o!li3aciones del sistema es 3aranti;ar esta propiedad.

15
&n al1unos casos esto es necesario ,a -ue inEolucra procesos en la Eida real en los -ue la accin no puede -uedar a la mitad$% 9 se
desarrolla completa o se anula% &s el caso0 por e'emplo0 de las trans!erencias de !ondo0 en las -ue se +ace un car1o a una cuenta (un
depsito) -ue proEiene de una eFtraccin a otra% Queda claro -ue es indispensable0 para mantener la consistencia de los datos (, en la
realidad para -ue la trans!erencia de !ondos entre cuentas se realice correctamente) -ue ocurra tanto el depsito como la eFtraccin%
i al1una de las dos no pudiera +acerse0 es pre!erible -ue no se +a1a nin1una%
77
C - Representa!&n es5.em3t!a de .n mon!tor
Para ase3urar la atomicidad a pesar de los fallos del sistema en el caso de
necesitar re2ertir modificaciones 1ec1as por transacciones a los diferentes datos a los
4ue accedi, podemos usar una :itcora de escritura adelantada. )odas las
actuali;aciones se asientan en la !it"cora, 4ue se mantiene en almacenamiento esta!le.
(i el sistema se cae, la informacin de la !it"cora sir2e para restaurar el estado de los
datos actuali;ados, lo 4ue se lo3ra con la ayuda de operaciones /()<*'(% > %(<*'(%.
Cuando ocurre un fallo del sistema, de!emos se3Bn esta tcnica, consultar la
!it"cora para determinar cu"les transacciones necesitan re1acerse y cu"les necesitan
des1acerse. %n principio 1a!r" 4ue examinar toda la !it"cora para 1acer estas
determinaciones. %sto tiene dos des2enta8as importantes:
a- %l proceso de !Bs4ueda consume muc1o tiempo.
!- ,a mayor parte de las transacciones 4ue, se3Bn nuestro al3oritmo, de!en
re1acerse, ya actuali;aron relametne los datos 4ue, se3Bn la !it"cora, 1ay 4ue
modificar. +un4ue re1acer las modificaciones a los datos no causa da7os, s
1ace 4ue la recuperacin tarde m"s.
(i 4ueremos reducir el 3asto extra 4ue implica el examen de la !it"cora despus
de un fallo de sistema, podemos usar un es4uema de puntos de veri+icacin
(c,ecFpoints#. Durante la e8ecucin, el sistema mantiene la !it"cora de escritura
adelantada. +dem"s, el sistema reali;a peridicamente puntos de 2erificacin, 4ue
re4uieren la secuencia de acciones si3uientes:
a- &ra!ar en almacenamiento esta!le todos los re3istros de !it"cora 4ue
actualmente residen en almacenamiento 2ol"til #por lo re3ular la memoria
principal-.
!- &ra!ar en almacenamiento esta!le todos los datos modificados 4ue
residen en almacenamiento 2ol"til.
c- &ra!ar un re3istro en !it"cora I$0-.&8/(83(%,5,'*',1-J en
almacenamiento esta!le.
,a presencia de un re3istro I$0-.&8/(83(%,5,'*',1-J en la !it"cora permite al
sistema a3ili;ar su procedimiento de recuperacin. Consideremos una transaccin
Ti 4ue confirm #es decir, indic 4ue la transaccin 1a!a terminado exitosamente-
antes del punto de 2erificacin. %l re3istro ZTi '&-5,%+*]aparecer" en la !it"cora
antes del re3istro Z$0-.&8/(83(%,5,'*',1-]. Cuales4uiera modificaciones 4ue Ti
1aya 1ec1o tienen 4ue 1a!erse escrito en almacenamiento esta!le ya sea antes
del punto de 2erificacin o como parte del punto de 2erificacin mismo. +s pues,
en el momento de la recuperacin, no 1ay necesidad de reali;ar una operacin de
re1acer con Ti.
78
GUA DE LECTURA:
a- GPor 4u se necesita la sincroni;acin de procesos y en 4u casosH
!- GPu es la seccin crtica de un pro3rama y por 4u es importante para sincroni;ar
procesos detectarlaH
c- GPu es un sem"foro y para 4u se aplica en la sincroni;acin de procesosH
d- GPor 4u es tan importante las operaciones atmicas en la implementacin de
sem"forosH. $elea lo terico, reflexione y expli4ue.
e- Complete la si3uiente ta!la acerca de los pro!lemas cl"sicos de sicroni;acin:
PROBLEMAS
BREVE
DESCRIPCIN
DEL PROBLEMA
KU TIPO DE
PROBLEMAS
ELEMPLIFICAM
ELEMPLO
CONCRETO DE
ESTE PROBLEMA
@566)*
(I&ITA4O
)S%*ITO*)SG
()%TO*)S
'*O@. 4) (OS
6I(DSO6OS
%O&)2HA()S
f- GPu es un monitor y para 4u se aplica en relacin a la sincroni;acinH
3- GPu diferencia #o diferencias- encuentran entre sem"foros y monitoresH
1- GPu es una transaccin y por 4u se llaman ?atmicasAH
i- G%n 4u casos de!er" aplicarse transaccionesH Dar al menos dos e8emplos.
8- G%n 4u consiste el mtodo de !it"coras y para 4u se utili;aH
T- GPor 4u es importante la inclusin de puntos de c1e4ueo en las !it"corasH %xplicar.
79
+%$:UE$S (U!U$S9
INTRODUCCIN:
%n un entorno de multipro3ramacin, 2arios procesos podran competir por un
nBmero finito de recursos. Un proceso solicita recursos. si stos no est"n disponi!les, el
proceso pasa a un estado de espera. Puede suceder 4ue los procesos en espera nunca
2uel2an a cam!iar de estado, por4ue los recursos 4ue solicitaron est"n en manos de
otros procesos 4ue tam!in est"n esperando. %sta situacin se llama loque mutuo
<N

#deadlocF-.
*curre un estado de !lo4ueo mutuo cuando dos o m"s procesos est"n esperando
indefinidamente un suceso
EM
4ue slo uno de los procesos 4ue esperan puede causar.
%n el modo de funcionamiento normal, un proceso slo puede utili;ar un recurso
si3uiendo esta secuencia:
a) S&#,',.0/: si la solicitud no puede atenderse de inmediato #por e8., si otro
proceso est" usando el recurso-, el proceso solicitante de!er" esperar
1asta 4ue pueda ad4uirir el recurso.
b) U)&: el proceso puede operar con el recurso #por e8., si el recurso es una
impresora, el proceso puede imprimir en la impresora-.
c) L,2(%*',1-: el proceso li!era el recurso.
,a solicitud y li!eracin del recurso son llamadas al sistema. %8emplos de tales
llamados son las de )&#,',.*% > #,2(%*% /,)$&),.,3&, *2%,% y '(%%*% *%'<,3&, y *),4-*%
y #,2(%*% +(+&%,*. Para cada uso, el sistema operati2o 2erifica 4ue el proceso usuario
1aya solicitado el recurso y se le 1aya asi3nado. Una ta!la del sistema #la de
dispositi2os- re3istra si cada recurso est" li!re o asi3nado y, si un recurso est"
asi3nado, a cu"l proceso se asi3n. (i un proceso solicita un recurso 4ue actualmente
est" asi3nado a otro proceso, se le puede colocar en una cola de procesos 4ue esperan
ese recurso.
Puede ocurrir una situacin de !lo4ueo mutuo si y slo si se cumplen
simult"neamente cuatro condiciones necesarias en el sistema: +0.0* (E'#0),1- #al
menos un recurso de!e ad4uirirse de modo 4ue no pueda compartirse-, %(.(-(% >
()$(%*% #de!e existir un proceso 4ue 1aya ad4uirido al menos un recurso y est
esperando para ad4uirir recursos adicionales 4ue ya 1ayan sido asi3nados a otros
procesos-, -& (E$%&$,*',1- #los recursos no se pueden arre!atar. es decir la li!eracin
de un recurso siempre es 2oluntaria- y ()$(%* ',%'0#*% #de!e existir un con8unto #PE,
PK, PCLP:- de procesos en espera tal 4ue PE est" esperando un recurso 4ue fue
ad4uirido por PK, y PK est" esperando un recurso 4ue fue ad4uirido por PC y as
sucesi2amente 1asta P: 4ue se encuentra esperando un recurso ad4uirido por PE-. Para
pre2enir los !lo4ueos mutuos nos ase3uramos de 4ue al menos una de las condiciones
necesarias nunca se cumplir".
16
)or ejemplo9 #u)%ngam%# un #!#$ema ue $!ene $&e# un!'a'e# 'e *!n$a. Su)%ngam%# ue 2a0 $&e# )&%*e#%#6 *a'a un%
'e l%# *uale# 2a a'u!&!'% una 'e e#$a# un!'a'e# 'e *!n$a. S! a2%&a *a'a )&%*e#% #%l!*!$a %$&a un!'a' 'e *!n$a6 l%# $&e#
)&%*e#%# e#$a&(n en un e#$a'% 'e ,l%ue% mu$u%O *a'a un% e#$( e#)e&an'% el #u*e#% E#e l!,e&a un!'a' 'e *!n$aF6 ue
#-l% un% 'e l%# %$&%# )&%*e#%# ue e#)e&an )ue'e *au#a&. Tam,!Gn )ue'en e#$a& !m)l!*a'%# '!+e&en$e# $!)%# 'e
&e*u&#%#" *%n#!'e&em%# un #!#$ema ue $!ene una !m)&e#%&a 0 una un!'a' 'e *!n$a. Su)%ngam%# ue el )&%*e#% A
a'u!&!- la un!'a' 'e *!n$a 0 el )&%*e#% B la !m)&e#%&a. S! el )&%*e#% A #%l!*!$a la !m)&e#%&a 0 el )&%*e#% B #%l!*!$a la
un!'a' 'e *!n$a6 2a,&( un ,l%ue% mu$u%.
17
Pue'e #e& #!m)lemen$e un &e*u&#% *%m% e#)a*!% 'e mem%&!a6 *!*l%# 'e CPU6 l%# a&*2!4%# 0 l%# '!#)%#!$!4%# 'e E?S.
Pue'e $am,!Gn e#$a& e#)e&an'% la E#al!'aF ue 'e,a )&%'u*!& %$&% )&%*e#% Pen el *a#% 'e ue #ean6 )%& ej.6 2!j%Q)a'&eA.
L%# &e*u&#%# )ue'en #e& +5#!*%# P)%& ej. !m)&e#%&a#6 un!'a'e# 'e *!n$a6 e$*.A % l-g!*%# P)%& ej. a&*2!4%#6 #em(+%&%#6
m%n!$%&e#A.
80
MTODOS PARA MANEJAR BLOQUEOS MUTUOS:
Hay tres mtodos principales para mane8ar los !lo4ueos mutuos:
a= 7sar alg)n protocolo que garantice que el sistema nunca entrar en un
estado de loqueo mutuo. A)#$!$&$%$S *E% SIS!E(">
Para ase3urarse 4ue nunca ocurran !lo4ueos mutuos, el sistema puede usar un
es4uema de pre2encin de !lo4ueos mutuos o !ien uno de e2itacin de !lo4ueos
mutuos. ,a prevencin de :lo<ueos mutuos es una serie de mtodos 4ue 3aranti;an
4ue al menos una de las condiciones necesarias #nom!radas anteriormente- no podr"
cumplirse. %stos mtodos pre2ienen los !lo4ueos mutuos restrin3iendo la forma de
1acer solicitudes de recursos.
R()$('.& * M0.0* (E'#0),1-: (e de!e cumplir la condicin de mutua exclusin
para los recursos no compati!les. Por e8emplo, dos o m"s procesos no pueden
compartir una impresora. ,os recursos comparti!les, en cam!io, no re4uieren acceso
mutuamente exclusi2o por tanto no pueden inter2enir en un !lo4ueo mutuo. ,os
arc1i2os slo de lectura son un !uen e8emplo de recurso comparti!le. (i 2arios
procesos intentan a!rir un arc1i2o slo de lectura al mismo tiempo, se les podr"
conceder acceso simult"neo al arc1i2o. Un proceso nunca necesita esperar un recurso
comparti!le.
R()$('.& * R(.(-(% > ()$(%*%: para ase3urar 4ue la condicin de retener y
esperar nunca ocurra en el sistema, de!emos 3aranti;ar 4ue, siempre 4ue un
proceso solicite un recurso, no reten3a nin3Bn otro recurso. Un protocolo 4ue puede
usarse o!li3a a cada proceso a solicitar y reci!ir todos sus recursos antes de iniciar
su e8ecucin. Podemos implementar esta medida exi3iendo 4ue las llamadas al
sistema 4ue solicitan recursos para un proceso precedan a todas las dem"s llamadas
al sistema.
Un protocolo alternati2o permite a un proceso solicitar recursos slo cuando no
tiene nin3uno. Un proceso puede solicitar recursos y utili;arlos, pero antes de 4ue
pueda solicitar recursos adicionales tendr" 4ue li!erar todos los 4ue actualmente
tiene asi3nados.
%stos protocolos tiene dos des2enta8as. %n primer lu3ar la utili;acin de los
recursos podra ser !a8a ya 4ue muc1os de los recursos podran estar asi3nados pero
sin usarse durante periodos lar3os. %n se3undo lu3ar, podra 1a!er inanicin. Un
proceso 4ue necesite 2arios recursos muy solicitados podr" tener 4ue esperar
indefinidamente por4ue al menos uno de los recursos 4ue necesita siempre est"
asi3nado a al3Bn otro proceso.
R()$('.& * #* -& (E$%&$,*',1-: Para ase3urar 4ue esta condicin no se cumpla,
podemos usar el protocolo si3uiente. (i un proceso 4ue tiene al3unos recursos
solicita otro 4ue no se le puede asi3nar de inmediato #es decir, si el proceso de!e
esperar-, entonces todos los recursos 4ue actualmente tiene se li!erar"n
implcitamente. ,os recursos expropiados se a7adir"n a la lista de recursos 4ue el
proceso est" esperando, y este Bltimo slo se reiniciar" cuando pueda recuperar sus
anti3uos recursos y los nue2os 4ue est" solicitando.
Como alternati2a, si un proceso solicita al3unos recursos, primero se comprue!a
4ue estn disponi!les. (i as es, los recursos se asi3nan. si no, se determina si est"n
asi3nados a al3Bn otro proceso 4ue est" esperando recursos adicionales. (i se es el
caso, se le 4uitan los recursos deseado al proceso 4ue est" esperando y se le asi3nan
81
al 4ue los solicit. (i los recursos no est"n disponi!les ni est"n siendo retenidos por
un proceso 4ue espera, el proceso solicitante de!er" esperar.
%ste protocolo se aplica a menudo a recursos cuyo estado se puede 3uardar
f"cilmente y despus restaurarse, como re3istros de CPU y espacio de memoria.
3eneralmente no puede aplicarse a recursos tales como impresora y unidades de
cinta.
R()$('.& * #* ()$(%* ',%'0#*%: Una forma de ase3urarse 4ue la condicin de
espera circular nunca se cumpla es imponer un ordenamiento total de todos los tipos
de recursos, y exi3ir 4ue cada proceso solicite recursos en orden creciente de
enumeracin. (e asi3na al con8unto de recursos un entero Bnico 4ue nos permite
comparar dos recursos y determinar si uno precede al otro en nuestro ordenamiento.
+1ora podemos considerar el si3uiente protocolo para pre2enir !lo4ueos mutuos: un
proceso slo puede solicitar recursos en orden de enumeracin creciente y cual4uier
cantidad de e8emplares de un mismo tipo de recurso #supon3amos 4ue el sistema
tiene V impresoras, impresora sera el recurso del 4ue cuenta V ?e8emplaresA-. De
esta forma si un proceso desea usar dos recursos, no podr" pedirlos al mismo tiempo
sino uno detr"s del otro.
Como alternati2a podemos exi3ir 4ue, siempre 4ue un proceso solicite un e8emplar
de un tipo de recurso, 1aya li!erado cual4uier recurso 4ue ten3a 4ue sea de menor
?nBmeroA de orden 4ue el 4ue est" solicitando.
,os al3oritmos de pre2encin de !lo4ueos mutuos 1asta a4u 2istos se !asan en
restrin3ir la forma de 1acer solicitudes. ,as restricciones ase3uran 4ue al menos una de
las condiciones necesarias para el !lo4ueo mutuo no podr" ocurrir, y por ende no podr"
1a!er !lo4ueos mutuos. (in em!ar3o, los posi!les efectos secundarios de la pre2encin
de !lo4ueos mutuos empleando estos mtodos son un !a8o apro2ec1amiento de los
recursos y una reduccin del rendimiento del sistema.
%xisten alternati2as para e2itar los !lo4ueos mutuos 4ue consisten en pedir
informacin adicional acerca de la forma en 4ue se solicitar"n los recursos. Con este
conocimiento de la secuencia completa de solicitudes y li!eraciones para cada proceso,
podemos decidir, para cada solicitud, si el proceso de!e esperar o no. Cada solicitud
o!li3a al sistema a considerar los recursos 4ue est"n disponi!les en ese momento, los
4ue ya se asi3naron a cada proceso y las solicitudes y li!eraciones futuras de cada
proceso, para decidir si la solicitud en curso se puede satisfacer o de!e esperar con el fin
de e2itar un posi!le !lo4ueo mutuo futuro.
,os distintos al3oritmos difieren en la cantidad y el tipo de informacin re4uerida. %l
modelo m"s Btil y sencillo o!li3a a cada proceso a declarar el nAmero m=imo de
recursos de cada tipo 4ue podra necesitar. (i tenemos informacin a priori acerca del
nBmero m"ximo de recursos de cada tipo 4ue cada proceso podra solicitar, podremos
construir un al3oritmo 4ue ase3ure 4ue el sistema nunca estar" en un estado de
!lo4ueo mutuo. %ste al3oritmo define la estrate3ia de evitacin de :lo<ueos mutuos. Un
al3oritmo de e2itacin de !lo4ueos mutuos examina din"micamente el estado de
asi3nacin de recursos para ase3urar 4ue nunca pueda 1a!er una condicin de espera
circular. %l estado de asi3nacin de recursos est" definido por el nBmero de recursos
disponi!les y asi3nados, y las demandas m"ximas de los procesos.
= Permitir que el sistema entre en un estado de loqueo mutuo $ luego se
recupere. =*E!E&&I7 ; #E&U)E#"&I7>
82
*tra alternati2a para el tratamiento de los !lo4ueos mutuos es la deteccin del
estado de !lo4ueo mutuo y la recuperacin.
%n un entorno as, el sistema de!e ofrecer:
un al3oritmo 4ue examine el estado del sistema y determine si 1a ocurrido un
!lo4ueo mutuo.
Un al3oritmo para recuperarse del !lo4ueo mutuo.
Un es4uema de deteccin y recuperacin re4uiere un 3asto extra 4ue incluye no
slo los costos en tiempo de e8ecucin de mantener la informacin necesaria y
e8ecutar el al3oritmo de deteccin, sino tam!in las prdidas potenciales in1erentes a
la recuperacin despus del !lo4ueo mutuo.
,os al3oritmos de deteccin de !lo4ueos mutuos utili;an una 2ariante del 3rafo de
asi3nacin de recursos, llamado gra+o de espera. *!tenemos este 3rafo a partir del
3rafo de asi3nacin de
recursos eliminando los
nodos de tipo de recursos
y uniendo las aristas
apropiadas
GCu"ndo de!emos
in2ocar el al3oritmo de
deteccinH ,a respuesta
depende de dos factores:
Gcon 4u frecuencia es
pro!a!le 4ue ocurran
!lo4ueos mutuosH G a
cu"ntos procesos afectar"
un !lo4ueo mutuo si
ocurreH. (i los !lo4ueos
mutuos son frecuentes, el al3oritmo de deteccin de!er" in2ocarse muy se3uido.
Cuando un al3oritmo de deteccin determina 4ue existe un !lo4ueo mutuo, se
dispone de 2arias alternati2as. Una posi!ilidad es informar al operador 4ue 1a
ocurrido un !lo4ueo mutuo y de8ar 4ue l lo mane8e manualmente. ,a otra es de8ar
4ue el sistema se recupere del !lo4ueo mutuo autom"ticamente. Hay dos opciones
para romper un !lo4ueo mutuo. Una solucin es simplemente a!ortar uno o m"s
procesos para romper la espera circular. ,a se3unda opcin es expropiar recursos de
uno o m"s de los procesos !lo4ueados.
c= 8esentenderse del prolema, $ hacer como si nunca ocurrieran loqueos
mutuos en el sistema. Esta soluci'n es la que ha adoptado la ma$or parte
de los sistemas operati#os, incluido 7(IK.
+l3unos in2esti3adores ar3umentan 4ue nin3uno de estos enfo4ues !"sicos por s
solo es apropiado para toda la 3ama de pro!lemas de asi3nacin de recursos 4ue
enfrentan los sistemas operati2os. %s posi!le com!inar las estrate3ias !"sicas y
seleccionar indi2idualmente la me8or para cada clase de recursos de un sistema.

GUA DE LECTURA
83
6 - /a0 Gra(o de as!n'na!&n de re.ros 7
/20 Gra(o de espera orrespond!ente
a- GPu es un !lo4ueo mutuo y cu"les son las condiciones 4ue de!en cumplirse para 4ue
1aya ocurrido unoH Definir. %xplicar 2%(3(+(-.( cada condicin, a3re3ando para cada
una de ellas, un e8emplo.
!- Completar el si3uiente cuadro respecto a los mtodos de tratamiento de los !lo4ueos
mutuos:
)'P* D% 09)*D* /$%<% %SP,'C+C'@: %=%0P,*(
E3,.*%
2#&70(&)
+0.0&)
A$%&.&'&#&)B
0utua
%xclusin
$etener y
%sperar
:o
expropiacin
%spera
circular
*tros
D(.('.*% >
R('0$(%*%
Detectar
$ecuperar
84
0+)%$'+: ('()%0+( *P%$+)'<*(
P$*%(*$+: P+':9 P':)*(.
':()')U)* )%$C'+$'* ?('0@: /*,'<+$A
UNIDAD NRO. V
GESTIN DE MEMORIA
(ntesis !asada en
G T*-(-2*0+, A-/%(; S. Sistemas Operativos &odernos Pearson %ducacin
0xico, KJJC.
G S,#2(%)'<*.=, A2%*<*+ > B*(%, P(.(% Sistemas Operativos +ddison >esley
,on3man de 0xico, (.+. de C.<. 0xico, EOOO.
GESTIN DE MEMORIA:
,os al3oritmos de 3estin de memoria para sistemas operati2os multipro3ramados
2aran desde el sencillo enfo4ue de sistema monousuario 1asta la se3mentacin
pa3inada. %l principal factor 4ue determina el mtodo 4ue se usar" en un sistema en
particular es el 1ardware con el 4ue se cuenta.
Cada direccin de memoria 3enerada por la CPU se de!e 2erificar en cuanto a su
2alide; y posi!lemente transformar en una direccin fsica. ,a 2erificacin no se puede
implementar #de forma eficiente- en software. por tanto, la limitante es el 1ardware del
4ue se dispone.
I!#$*U&&I79
,a memoria es 2ital para el funcionamiento de un sistema de computador
moderno. ,a memoria es una 3ran matri; de pala!ras o !ytes, cada uno con su
direccin. ,a CPU o!tiene instrucciones de la memoria se3Bn el 2alor del contador del
pro3rama. %stas instrucciones pueden 1acer 4ue se car3uen 2alores de direcciones de
memoria especficas o 4ue se 3uarden en ellas.
Un ciclo de e8ecucin de instruccin representati2o primero o!tiene una instruccin
de la memoria. +cto se3uido, la instruccin se decodifica y podra causar la o!tencin de
operandos de la memoria. Una 2e; 4ue se 1a e8ecutado la instruccin con los operandos,
podran almacenarse resultados en la memoria.
,a unidad de memoria slo 2e una ?corriente de direcciones de memoriaA #un flu8o
de direcciones-. no sa!e cmo se 3eneran ni para 4u son #instrucciones o datos-. Por
lo tanto, en el contexto de la 3estin de memoria, slo nos interesa la secuencia de
direcciones de memoria 3enerada por el pro3rama en e8ecucin.
VINCULACION DE DIRECCIONES:
:ormalmente un pro3rama reside en un disco como arc1i2o !inario e8ecuta!le. %s
preciso traer el pro3rama a la memoria y colocarlo dentro de un proceso para 4ue se
e8ecute. Dependiendo de la 3estin de la memoria empleada, el proceso podra
transferirse entre el disco y la memoria durante su e8ecucin. ,a coleccin de procesos
#o pro3ramas- 4ue est"n en el disco esperando 4ue se les transfiera a la memoria para
e8ecutarse forma la cola de entrada #o cola de tra!a8os, como se 2io antes-.
85
%l procedimiento normal
es seleccionar uno de los
procesos de la cola de entrada
y car3arlo en la memoria. +
medida 4ue el proceso se
e8ecuta, accede a instrucciones
y datos de la memoria. )arde o
temprano, el proceso termina,
y su espacio de memoria se
marca como disponi!le.
,a mayor parte de los sistemas
permiten a un proceso de usuario residir en
cual4uier parte de la memoria fsica. Por lo
tanto, aun4ue el espacio de direcciones de
memoria de la computadora sea JJJJJ, la
primera direccin del proceso de usuario no
tiene 4ue ser necesariamente JJJJJ. %sto
afecta las direcciones 4ue el pro3rama de
usuario puede utili;ar. %n la mayora de los
casos, un pro3rama de usuario pasar" por
2arias etapas antes de e8ecutarse.
,as direcciones de memoria podran
representarse de diferentes maneras en cada
una de estas etapas.
Por e8emplo, las direcciones del
pro3rama fuente son 3eneralmente
?sim!licasA #por e8. el espacio de la 2aria!le
CU%:)+-. Un compilador 2a a 2incular tales
direcciones sim!licas con direcciones
?reu!ica!lesA #por e8. ?EU !ytes a partir del
principio de este mduloA-. %l car3ador a su
2e; 2a a 2incular estas direcciones
reu!ica!les con direcciones reales #como por
e8. MUJEU, direccin real dentro de la
memoria ram-. Cada 2inculacin es una
transformacin de un espacio de direcciones
a otro.
CARGA DINMICA:
Hasta a4u 1emos supuesto 4ue todo el
pro3rama y todos los datos de un proceso
de!en estar en la memoria fsica para 4ue el
proceso se e8ecute. %l tama7o de un proceso
est" limitado al tama7o de la memoria fsica.
Podemos usar car3a din"mica para lo3rar un me8or apro2ec1amiento del espacio
de memoria. Con esta tcnica, las rutinas no se car3an sino 1asta 4ue se in2ocan. )odas
las rutinas se mantienen en disco en un formato de ?car3a reu!ica!le
18
A. %l pro3rama
principal se car3a en la memoria y se e8ecuta. Cuando una rutina necesita llamar a otra,
lo primero 4ue 1ace es 2er si la otra rutina ya se car3. (i no es as, se in2oca el
18
E#$% #!gn!+!*a ue #e #a,&( la '!&e**!-n &eal ue %*u)a&( la &u$!na una 4eR ue #e *a&gue el )&%g&ama.
86
B - 4asos de .n pro'rama de .s.ar!o
A - 8!n.la!&n de d!re!ones l&'!as " (9s!as
car3ador de enlace reu!ica!le para 4ue car3ue la rutina deseada en la memoria y
actualice la ta!las de direcciones de pro3rama de modo 4ue refle8en este cam!io
19
.
,ue3o se transfiere el control a la rutina 4ue se aca!a de car3ar.
,a 2enta8a de la car3a din"mica es 4ue una rutina 4ue no se utili;a nunca se
car3a.
,a car3a din"mica no re4uiere soporte especial por parte del sistema operati2o. es
responsa!ilidad de los usuarios dise7ar sus pro3ramas de modo 4ue apro2ec1en
seme8ante es4uema.
ENLACE DINMICO.
*!ser2ando la fi3ura /, podemos 2er 4ue 1ay !i!liotecas
20
enla;adas
din"micamente. ,a mayor parte de los sistemas operati2os slo mane8an enlace
est"tico, en el 4ue las !i!liotecas del len3ua8e del sistema se tratan como cual4uier otro
mdulo o!8eto 4ue el car3ador com!ina dentro de la ima3en de pro3rama !inaria. %l
concepto de enlace din"mico es similar al de car3a din"mica. %n lu3ar de posponer la
car3a 1asta el momento de la e8ecucin, lo 4ue se pospone es el enlace. %sta
caracterstica suele usarse con las !i!liotecas del sistema, como las !i!liotecas de
su!rutinas de un len3ua8e. (i no se cuenta con este recurso, todos los pro3ramas de un
sistema re4uerir"n la inclusin de una copia de su !i!lioteca de len3ua8e #o al menos de
las rutinas a las 4ue el pro3rama 1ace referencia- en su ima3en e8ecuta!le. %sto
desperdicia tanto espacio en disco como memoria principal. Con enlace din"mico, se
incluye un fra3mento en la ima3en por cada referencia a una rutina de !i!lioteca. %ste
fra3mento es una seccin pe4ue7a de cdi3o 4ue indica cmo locali;ar la rutina de
!i!lioteca apropiada, 4ue reside en la memoria, o cmo car3ar la !i!lioteca si la rutina
no est" ya presente.
Cuando este fra3mento se e8ecuta, 2erifica si la rutina 4ue necesita ya est" en la
memoria. (i no es as, el pro3rama la car3a en la memoria. De cual4uier manera, el
fra3mento se sustituye a s mismo por la direccin de la rutina y e8ecuta la rutina. +s, la
prxima 2e; 4ue se lle3a al se3mento de cdi3o la rutina de !i!lioteca se e8ecuta
directamente, sin incurrir en el costo del enlace din"mico.
%sta tcnica tiene 2arias 2enta8as:
G todos los procesos 4ue utili;an una !i!lioteca de len3ua8e e8ecutan una sola copia
del cdi3o de la !i!lioteca.
G +l actuali;arse !i!liotecas, los pro3ramas 4ue 1a3an referencia a las mismas,
autom"ticamente utili;ar"n las nue2as #sin necesidad de modificar su cdi3o-.
+ diferencia de la car3a din"mica, el enlace din"mico 3eneralmente re4uiere al3o de
ayuda del sistema operati2o ya 4ue ste se encar3a de prote3er a los procesos unos de
otros. Por lo tanto ser" el Bnico 4ue podr" compro!ar si la rutina 4ue se necesita est"
en el espacio de memoria de otro proceso y puede permitir 4ue mBltiples procesos
accedan a la misma direccin de memoria.
SUPERPOSICIONES (ov!"#$%&.
Para 4ue un proceso pueda ser mayor 4ue la cantidad de memoria 4ue se le 1a
asi3nado, a 2eces se emplea una tcnica llamada de superposiciones. ,o 4ue se !usca
19
Tenga en *uen$a ue *a'a )&%g&ama 'e,e #a,e& en uG e#)a*!% 'e mem%&!a e#$(n alma*ena'%# l%# 'a$%# ue 'e,e&( )&%*e#a& a#5
*%m% $am,!Gn #a,e& en uG '!&e**!%ne# #e en*uen$&an la# '!+e&en$e# 4a&!a,le# ue 'e,e&( u$!l!Ra& 0 en uG '!&e**!%ne# 'e,e&(
gua&'a&#e l%# &e#ul$a'%# %,$en!'%#. E#$a !n+%&ma*!-n #e gua&'a en la# tablas de direcciones de memoria 'el )&%g&ama. E#
!n'!#)en#a,le6 )%& l% $an$%6 man$ene& e#$a $a,la a*$ual!Ra'a )a&a ue el )&%g&ama )ue'a eje*u$a&#e. Al *a&ga&#e una nue4a &u$!na6
e#$a $a,la 'e,e alma*ena& la# '!&e**!%ne# 'e mem%&!a ue e# a+e*$a'a )%& la m!#ma.
20
La# ,!,l!%$e*a# #%n *%le**!%ne# 'e %,je$%# n%&malmen$e &ela*!%na'%# en$&e #5. En )&%g&ama*!-n6 la# ,!,l!%$e*a# #uelen alma*ena&
+un*!%ne# % e#$&u*$u&a# 'e 'a$%# ue el )&%g&ama'%& )ue'e &eu$!l!Ra& en el 'e#a&&%ll% 'e #u m-'ul% )a&$!*ula&.
87
es mantener en la memoria slo las instrucciones y datos 4ue se necesitan en cual4uier
momento dado. (i se re4uieren otras instrucciones, se car3an en un espacio 4ue antes
esta!a ocupado por instrucciones 4ue ya no se necesitan.
+l i3ual 4ue la car3a din"mica, las superposiciones no re4uieren soporte especial
por parte del sistema operati2o. el usuario las puede implementar en su totalidad
empleando estructuras de arc1i2o simples y transfiriendo cdi3o de los arc1i2os a la
memoria para lue3o saltar a esa memoria y e8ecutar las instrucciones ledas. ,o Bnico
4ue el sistema operati2o nota es 4ue 1ay m"s %6( 4ue la acostum!rada #se esta
car3ando el proceso en ?dos partesA, la se3unda de ellas ocupar" el espacio de memoria
de la primera-. %l pro3ramador, en cam!io, de!e dise7ar y pro3ramar la estructura de
las superposiciones correctamente.
ES)"&I$ *E *I#E&&I7 %7GI&$ ; ,8SI&$9
Una direccin 3enerada por la CPU se denomina direccin l3ica, en tanto 4ue la
perci!ida por la unidad de memoria #esto es, la 4ue se car3a en el re3istro de direccin
de memoria de la memoria- se conoce como direccin fsica.
,os es4uemas de 2inculacin de direcciones durante la compilacin y durante la
car3a dan pie a un entorno en el 4ue las direcciones l3icas y fsicas son las mismas. %n
cam!io, la e8ecucin del es4uema de 2inculacin durante la e8ecucin produce un
entorno en el 4ue las direcciones l3icas y fsicas difieren
21
. %n este caso, solemos
llamar a la direccin l3ica, direccin 2irtual. %l con8unto de todas las direcciones l3icas
3eneradas por un pro3rama es su espacio de direcciones l3ico. el con8unto de todas las
direcciones fsicas 4ue corresponden a esas direcciones l3icas es su espacio de
direcciones fsico. +s pues, en el es4uema de 2inculacin de direcciones en el momento
de e8ecucin, los espacios de direcciones l3icas y fsicas difieren.
,a transformacin de direcciones 2irtuales a fsicas en el momento de la e8ecucin
corre por cuenta de la unidad de 3estin de memoria #00U, memory5mana3ement5
unit-, 4ue es un dispositi2o de 1ardware
22
.
Como se puede o!ser2ar en la fi3ura C, el re3istro !ase pasa a llamarse re3istro
de reu!icacin. %l 2alor 4ue contiene
se suma a todas las direcciones
3eneradas por un proceso de
usuario en el momento en 4ue se
en2an a las memoria. Por e8. si la
!ase est" en EUJJJ y el usuario
intenta direccionar la posicin J, la
00U reu!icar" din"micamente a la
21
:en1an en cuenta0 por e'emplo0 -ue en el pro1rama la direccin de memoria por e'% se re!iere a traE/s de un nombre de Eariable (por
e'% A)% &ste nombre$ no es la direccin real% &s un sobrenombre$ m"s cmodo para el usuario pero no +ace re!erencia a una
direccin real de la memoria (por e'emplo 132123)% 7eci/n cuando el pro1rama Ea a e'ecutarse0 se debe +acer la trans!ormacin de
direcciones de !orma tal -ue la Eariable A se trans!orma$ en una direccin real de la memoria%
22
&l proceso b"sico para trans!ormar direcciones l1icas a !;sicas implica prote1er el espacio de memoria de cada pro1rama (de !orma
tal -ue no se superpon1an , no se corra el ries1o -ue un pro1rama borre o modi!i-ue direcciones de memoria de otro pro1rama)% ?or
esta raLn se +ace necesario determinar el interEalo de direcciones a las -ue el pro1rama puede acceder , prote1er la memoria -ue no
est" dentro de ese espacio% &n 1eneral esto se implementa a traE/s de dos re1istros0 base , lmite% &l re1istro base contiene la direccin
de memoria !;sica Ealida m"s pe-ueJa (menor nMmero de direccin) , el re1istro l;mite contiene el tamaJo de interEalo% ?or e'% si el
re1istro base tiene 300040 , el re1istro l;mite es 1209000 el pro1rama tendr" permiso a acceder a todas las direcciones desde la
300040 +asta la 4209400 inclusiEe (se suma a la direccin base$ el tamaJo de interEalo contenido en el re1istro l;mite)% Ba proteccin
consiste en -ue el +ardPare de la 4?@ compara con estos re1istros todas las direcciones 1eneradas en modo usuario% i cual-uier
pro1rama -ue se e'ecuta en modo usuario intenta acceder a la memoria del %9% o de otros usuarios0 se 1enera un error% lo el %9%
puede car1ar Ealores en los re1istros base , l;mite%
88
C - Re.2!a!&n d!n3m!a empleando .n re'!stro de re.2!a!&n
posicin EUJJJJ. un acceso a la direccin CUI se transforma en la direccin EUCUI.
#esto se retomar" lue3o al 2er al3uno de los al3oritmos de administracin de memoria-.
Ca!e se7alar 4ue el pro3rama del usuario nunca 2e las direcciones fsicas reales.
%l pro3rama puede crear un puntero a la posicin CUI, almacenarlo en la memoria,
manipularlo, compararlo con otras direcciones, etc. todo como el nBmero CUI. (lo
cuando este nBmero se usa como direccin de memoria se le reu!ica relati2o al re3istro
!ase. %l pro3rama mane8a direcciones l3icas. %l 1ardware de transformacin de
memoria #00U- con2ierte direcciones l3icas en fsicas.
I!E#&"(+I$.
Un proceso tiene 4ue estar en la memoria para e8ecutarse, pero podra
intercam!iarse temporalmente de
la memoria a un almacenamiento
auxiliar y lue3o traerse otra 2e; a
la memoria para continuar su
e8ecucin.
Por e8. supon3amos un
entorno de multipro3ramacin.
Cuando la CPU de8a de e8ecutar
un proceso, el administrador de
memoria puede pasar este
proceso a almacenamiento
auxiliar 1asta 4ue le to4ue
nue2amente el turno e
intercam!ia a la memoria otro
proceso, coloc"ndolo en el espacio
4ue se aca!a de desocupar.
0ientras tanto el planificador de
la CPU asi3na una porcin de
tiempo a al3Bn otro proceso 4ue est" en la memoria. 'dealmente, el administrador de
memoria puede intercam!iar procesos con la suficiente rapide; como para 4ue siempre
1aya procesos en la memoria, listo para e8ecutarse, cuando el planificador de CPU desea
asi3nar la CPU.
%l intercam!io re4uiere un almacenamiento auxiliar, 4ue comBnmente es un disco
r"pido. %ste almacenamiento de!e tener el tama7o suficiente para dar ca!ida a copias
de todas las im"3enes de memoria de todos los usuarios, y de !e proporcionar acceso
directo a dic1as im"3enes. %l sistema mantiene una cola de procesos listos #como se 2io
ya en la Unidad de procesos- 4ue consiste en todos los procesos cuyas im"3enes de
memoria est"n en el almacenamiento auxiliar o en la memoria y 4ue est"n listos para
e8ecutarse.
%ste sistema de intercam!io tiene al3unas restricciones:
se a7adir" al tiempo de cam!io de contexto #el cam!io de un proceso a otro- el
tiempo de transferencia de y 1acia el almacenamiento auxiliar.
(i se 4uiere intercam!iar un proceso, de!e estar totalmente inacti2o. ,o m"s
importante es 4ue no ten3a %6( pendiente.
+ctualmente el intercam!io est"ndar se emplea en pocos sistemas, pues re4uiere
demasiado tiempo de intercam!io y ofrece muy poco tiempo de e8ecucin como para ser
una solucin de 3estin de memoria ra;ona!le.
89
D - Interam2!o de dos proesos empleando d!so omo alma. a.:!l!ar
"%G$#I!($S *E GES!I7 *E (E($#I"9
+ continuacin se
2er"n al3unos al3oritmos
3enerales 4ue permiten
3estionar el espacio de
memoria.
,a memoria principal
de!e dar ca!ida tanto al
sistema operati2o como a los
di2ersos procesos de
usuario. &eneralmente, la
memoria se di2ide en dos
particiones, una para el
sistema operati2o residente y
otra para los procesos de usuario. %s posi!le colocar el sistema operati2o en memoria
!a8a o alta
23
. Puesto 4ue el 2ector de interrupciones suele estar en la memoria !a8a, es
m"s comBn colocar el sistema operati2o en esa misma "rea. Por lo tanto se anali;ar"n
situaciones en las 4ue el sist. *perati2o resida en memoria !a8a. %l tratamiento de la
otra situacin es similar.
ASIGNACIN CONTIGUA CON UNA PARTICIN
(i el sistema operati2o reside en memoria !a8a y los procesos del usuario se
e8ecutan en memoria alta, necesitamos prote3er el cdi3o y los datos del sistema
operati2o para 4ue los procesos del usuario no los modifi4uen. )am!in necesitamos
prote3er los procesos del usuario unos de otros. Podemos ofrecer tal proteccin
utili;ando un re3istro de reu!icacin #como se explic m"s arri!a- 8unto con un re3istro
lmite.
%l re3istro de reu!icacin
contiene el 2alor de la direccin
fsica m"s pe4ue7a. el re3istro
lmite contiene el inter2alo de
direcciones l3icas #por e8.:
reu!icacin [ EJJJJUJ y lmite
[ MUIJJ-. (i se usan re3istros
de reu!icacin y lmite, toda
direccin l3ica de!e ser menor
4ue el re3istro lmite. la 00U
transforma la direccin l3ica
din"micamente sum"ndole el
2alor 4ue est" en el re3istro de reu!icacin. %sta direccin transformada se en2a a la
memoria.
Cuando el planificador de CPU selecciona un proceso para e8ecutarlo, el
despac1ador car3a los re3istros de reu!icacin y lmite con los 2alores correctos como
parte de la conmutacin de contexto. Dado 4ue cada direccin 3enerada por la CPU se
cote8a con estos re3istros, podemos prote3er tanto el sistema operati2o como los
23
Rsto tiene -ue Eer con las direcciones ba'as$ de memoria (menor nMmero) o las direcciones altas$ (ma,or nMmero%
90
E - /a0; /20; /0+ tres maneras d!(erentes de or'an!<ar el %.O. "
los proesos en la memor!a
pro3ramas y datos de otros usuarios contra una modificacin por parte del proceso 4ue
est" en e8ecucin.
ASIGNACIN CON M'LTIPLES PARTICIONES.
%s desea!le 4ue 2arios procesos de usuario residan en la memoria al mismo
tiempo. Para esto es necesario considerar el pro!lema de cmo repartir la memoria
disponi!le entre los di2ersos procesos 4ue est"n en la cola de entrada esperando ser
transferidos a la memoria. Uno de los
es4uemas de asi3nacin de
memoria m"s sencillos consiste en
di2idir la memoria en 2arias
particiones de tama7o fi8o. Cada
particin puede contener
exactamente un proceso, y el 3rado
de multipro3ramacin est"
limitado por el nBmero de
particiones. (i una particin est"
desocupada, se esco3e un
proceso de la cola de entrada #cola
de procesos listos- y se car3a en
esa particin. Cuando el proceso
termina, la particin 4ueda
disponi!le para otro proceso.
%l
sistema operati2o mantiene
una ta!la 4ue indica cu"les
partes de la memoria est"n
disponi!les y cu"les est"n
ocupadas. 'nicialmente, toda
la memoria est" disponi!le
para los procesos de usuario,
y se considera como un
!lo4ue 3rande de memoria
disponi!le, o 1ueco. Cuando
un proceso lle3a y necesita
memoria, !uscamos un
1ueco con el tama7o
suficiente para ese proceso.
si lo 1allamos, asi3namos
slo la memoria 4ue se necesita, y el resto se de8a disponi!le para satisfacer solicitudes
futuras.
+ medida 4ue los procesos
in3resan en el sistema, se
colocan en una cola de entrada.
%l sistema operati2o considera
las necesidades de memoria
de cada proceso y la cantidad
de memoria disponi!le, para
determinar cu"les procesos
se les asi3nar" memoria. Una 2e;
91
6 - /a0 %!st. de part!!&n de memor!a on olas !nd!#!d.ales 7
20 %!st. de part!!&n on .na sola ola
F - E=emplo de plan!(!a!&n de C4U " as!'na!&n de espa!os de
memor!a
G - As!'na!&n de memor!a " plan!(!a!&n a lar'o pla<o
4ue se asi3na espacio a un proceso, se car3a en la memoria y puede competir por la
CPU. Cuando un proceso termina, li!era su memoria, 4ue el sistema operati2o puede
entonces llenar con otro proceso de la cola de entrada.
%n 3eneral, en un instante dado 1ay un con8unto de 1uecos, de di2ersos tama7os
dispersos en la memoria. Cuando un proceso lle3a y necesita memoria, !uscamos en
este con8unto un 1ueco con el tama7o suficiente para ese proceso. (i el 1ueco es
demasiado 3rande, se di2ide en dos: una parte se asi3na al proceso y la otra se
de2uel2e al con8unto de 1uecos. Cuando un proceso termina, li!era su !lo4ue de
memoria, 4ue se coloca en el con8unto de 1uecos. (i este nue2o 1ueco est" adyacente a
otros, se fusionan los 1uecos adyacentes formando un 1ueco mayor.
%ste procedimiento es un caso particular del pro!lema 3eneral de asi3nacin
din"mica de almacenamiento. cmo satisfacer una solicitud de tama7o n a partir de una
lista de 1uecos li!res. %l pro!lema tiene muc1as soluciones:
* P%,+(% *60).(: +si3nar el primer 1ueco 4ue ten3a el tama7o suficiente.
* M(6&% *60).(: asi3nar el 1ueco m"s pe4ue7o 4ue ten3a el tama7o suficiente. %s
preciso examinar toda la lista, a menos 4ue sta se manten3a ordenada por
tama7o.
* P(&% *60).(: asi3nar el 1ueco m"s 3rande. Una 2e; m"s, 1ay 4ue examinar toda
la lista, a menos 4ue est ordenada por tama7o.
,#"G(E!"&I7 EC!E#" E I!E#"9
Hay fra3mentacin externa cuando se cuenta con suficiente espacio de memoria
total para satisfacer una solicitud, pero el espacio no es conti3uo. la memoria est"
fra3mentada en un 3ran nBmero de 1uecos pe4ue7os. ,os al3oritmos descriptos antes
adolecen de fra3mentacin externa. + medida 4ue se car3an procesos en la memoria y
salen de ella, el espacio de memoria li!re se di2ide en tro;os pe4ue7os.
%l pro!lema de fra3mentacin puede ser 3ra2e. %n el peor de los casos, podramos
tener un !lo4ue de memoria li!re #desperdiciada- entre cada dos procesos. (i toda esta
memoria estu2iera en un solo !lo4ue li!re, tal 2e; podramos e8ecutar 2arios procesos
m"s.
*tro pro!lema 4ue sur3e cuando se usa el es4uema de asi3nacin de mBltiples
particiones. (upon3amos 4ue un proceso solicita ENUIK y 1ay un 1ueco de ENUIU. (i
asi3namos exactamente el !lo4ue solicitado, nos 4uedar" un 1ueco de K !ytes. %l 3asto
extra 4ue implica se3uir la pista a este 1ueco ser" muc1o mayor 4ue el 1ueco mismo.
,a estrate3ia es asi3nar los 1uecos muy
pe4ue7os como parte de la solicitud. +s la
memoria asi3nada podra ser un poco mayor 4ue
la solicitada. ,a diferencia entre estos dos
nBmeros es la fra3mentacin interna: memoria
4ue est" dentro de una particin, pero no se usa.
Una solucin al pro!lema de la
fra3mentacin externa es la compactacin. %l
o!8eti2o es despla;ar el contenido de la memoria
1asta tener toda la memoria li!re 8unta en un
solo !lo4ue 3rande.
%n la fi3ura ' se muestra el resultado de un
proceso de compactacin en el 4ue los tres
1uecos de EJJT, CJJT y KIJT podran
compactarse para tener un 1ueco de IIJX.
92
I - Compata!&n
:o siempre es posi!le la compactacin. Para 4ue los procesos puedan e8ecutarse
en sus nue2as direcciones es preciso reu!icar todas las direcciones internas. %sto slo
ser" posi!le si la reu!icacin es din"mica y se efectBa en el momento de la e8ecucin. (i
las direcciones se reu!ican din"micamente, esto slo re4uiere cam!iar de lu3ar el
pro3rama y los datos y lue3o modificar el re3istro !ase para 4ue refle8e la nue2a
direccin !ase.
(i la compactacin es posi!le, 1ay 4ue determinar su costo. %l al3oritmo de
compactacin m"s sencillo consiste en despla;ar todos los procesos 1acia un extremo de
la memoria. todos los 1uecos se despla;ar"n en la otra direccin y producir"n un 1ueco
3rande de memoria disponi!le. %ste es4uema puede ser muy costoso.
PAGINACION
*tra posi!le solucin al pro!lema de la fra3mentacin externa es permitir 4ue el
espacio de direcciones l3ico de un proceso sea no conti3uo. +s, se puede asi3nar
memoria fsica a un proceso siempre 4ue 1aya al3una disponi!le. Una forma de
implementar esta solucin es adoptar un es4uema de pa3inacin. ,a pa3inacin e2ita el
difcil pro!lema de a8ustar los tro;os de memoria de tama7o 2aria!le en el
almacenamiento auxiliar, pro!lema del 4ue adolecen casi todos los es4uemas de 3estin
de memoria anteriores. Cuando se 1ace necesario intercam!iar al almacenamiento
auxiliar fra3mentos de cdi3o o datos 4ue residen en la memoria principal, es preciso
encontrar espacio para ellos en el almacenamiento. ,os pro!lemas de fra3mentacin 4ue
descri!imos en relacin a la memoria principal tam!in se presentan en el
almacenamiento auxiliar, excepto 4ue el acceso es muc1o m"s lento, por lo 4ue es
imposi!le compactar. ,as 2enta8as de la pa3inacin so!re los mtodos anteriores 1acen
4ue este es4uema, en sus di2ersas formas, se emplee en muc1os sistemas operati2os.
(F!$*$ +ASI&$9
,a memoria fsica se di2ide en !lo4ues de tama7o fi8o llamados marcos #frames-.
,a memoria l3ica tam!in se di2ide en !lo4ues del mismo tama7o llamados p"3inas.
Cuando se 2a a e8ecutar un proceso, sus p"3inas se car3an desde el almacenamiento
auxiliar, en cuales4uier marcos de memoria 4ue estn disponi!les. %l almacenamiento
auxiliar se di2ide en !lo4ues de
tama7o fi8o 4ue tienen el mismo
tama7o 4ue los marcos de memoria.
%l soporte de 1ardware para la
pa3inacin se ilustra en =. Cada
direccin 3enerada por la CPU se
di2ide en dos partes: un nBmero de
p"3ina #p- y un despla;amiento de
p"3ina #d-. %l nBmero de p"3ina se
utili;a como ndice en una ta!la de
p"3inas, la cual contiene la direccin
!ase de cada p"3ina en la memoria
fsica. %sta direccin se com!ina con
el despla;amiento en la p"3ina para
definir la direccin de memoria fsica
4ue se en2a a la unidad de
memoria.
93
> - 6ard?are para pa'!na!&n
%l tama7o de la p"3ina #al i3ual 4ue el de marco- est" definido por el 1ardware y
suele ser una potencia de dos 4ue 2ara entre VEK y EI me3a!ytes por p"3ina.
Ca!e se7alar 4ue la pa3inacin es realmente una forma de reu!icacin din"mica.
%l 1ardware de pa3inacin 2incula cada direccin l3ica con una direccin fsica. ,a
pa3inacin es similar a usar una ta!la de re3istros !ase #de reu!icacin-, uno para cada
marco de memoria.
(i se usa un es4uema de pa3inacin, no 1ay fra3mentacin externa. Cual4uier
marco li!re se puede asi3nar a un proceso 4ue lo necesite. ,o 4ue s puede 1a!er es
cierta fra3mentacin interna. +d2irtase 4ue los marcos se asi3nan como unidades. (i
las unidades de memoria de un proceso no coinciden con fronteras de p"3ina, el Bltimo
marco asi3nado tal 2e; no 4uede totalmente lleno
24
.
(i el tama7o de los procesos es independiente del tama7o de p"3ina, ca!e esperar
una fra3mentacin interna promedio de media p"3ina por proceso. %sta consideracin
su3iere 4ue es desea!le usar p"3inas pe4ue7as. (in em!ar3o cada entrada de la ta!la
de p"3inas implica un 3asto extra considera!le, el cual se reduce al aumentar el tama7o
de las p"3inas. +dem"s la %6( de disco es m"s eficiente cuando la cantidad de datos
transferidos es mayor. %n 3eneral, los tama7os de p"3ina 1an tendido a aumentar a
medida 4ue los procesos, los con8untos de datos y la memoria principal se 1an 2uelto
m"s 3randes. Hoy da, las p"3inas
suelen ser de dos o cuatro
Tilo!ytes.
Cuando un proceso in3resa
en el sistema para e8ecutarse, se
examina su tama7o, expresado en
p"3inas. Cada p"3ina del proceso
re4uiere un marco, as 4ue si un
proceso tiene n p"3inas, de!er"
1a!er al menos n marcos
disponi!les en la memoria. (i lo
1ay, se asi3nan al proceso
entrante. ,a primera p"3ina del
proceso se asi3na a uno de los
marcos asi3nados, y el nBmero de
marco se asienta en la ta!la de
p"3inas para este proceso. ,a
si3uiente p"3ina se car3a en otro marco, su nBmero de marco se coloca en la ta!la de
p"3inas y as sucesi2amente.
Un aspecto importante de la pa3inacin es la marcada separacin entre la 2isin
4ue el usuario tiene de la memoria y la memoria fsica real. %l pro3rama de usuario 2e la
memoria como un solo espacio conti3uo, 4ue slo tiene este pro3rama. %n realidad, el
pro3rama de usuario est" disperso por toda la memoria fsica, 4ue tam!in contiene
otros pro3ramas. %l 1ardware de traduccin de direcciones concilia la diferencia entre la
2isin del usuario y la memoria fsica real. ,as direcciones l3icas se traducen en
direcciones fsicas. %l usuario no 2e esta transformacin, 4ue est" !a8o el control del
sistema operati2o.
24
?or e'emplo0 si las p"1inas son de 2048 b,tes0 un proceso de 72766 b,tes necesitar;a 35 p"1inas m"s 1086 b,tes0 de modo -ue se le
asi1nar;an 36 marcos0 con una !ra1mentacin interna de 2048G1086S962 b,tes% &n el peor caso0 un proceso necesitar;a n pa1inas m"s
un b,te. se le asi1nar;an n @ A marcos , la !ra1mentacin interna ser" de casi un marco entero%
94
B - )odelo de pa'!na!&n para la memor!a l&'!a " (9s!a.
Puesto 4ue el
sistema operati2o
administra la memoria
fsica, de!e tener
conciencia de los
detalles de su
asi3nacin: cu"les
marcos est"n
asi3nados, cu"les
est"n li!res, cu"ntos
marcos 1ay en total,
etc. %sta informacin
3eneralmente se
3uarda en una
estructura de datos
llamada ta!la de
marcos, la cual tiene,
por cada marco de
p"3ina fsico, una
entrada en la 4ue se
indica si el marco est"
li!re o asi3nado y, si est" asi3nado, a 4u p"3ina de 4u proceso se asi3n.
+dem"s el sistema operati2o de!e tener conciencia de 4ue los procesos de usuario
operan en el espacio de usuarios, as 4ue todas las direcciones l3icas de!en
transformarse para producir direcciones fsicas
25
.
ES!#U&!U#" *E %" !"+%" *E )AGI"S.
Cada sistema operati2o tiene sus propios mtodos para almacenar ta!las de
p"3inas. Casi todos asi3nan una ta!la de p"3inas para cada proceso. Un puntero a la
ta!la se 3uarda 8unto con los 2alores de los dem"s re3istros #como el contador de
instrucciones- en el !lo4ue de control del proceso. Cuando se le indica al despac1ador
4ue inicie un proceso, el despac1ador de!er" car3ar los re3istros del usuario y definir
los 2alores correctos de la ta!al de p"3inas en 1ardware a partir de la ta!la de p"3inas
del usuario almacenada.
)"GI"&I7 (U%!II6E%9
,a mayora de los sistemas de computador modernos mane8a un espacio de
direcciones l3ico muy 3rande #KCK a KIU-. %n un entorno as, la ta!la de p"3inas crece
demasiado
26
. Una solucin sencilla es di2idir la ta!la en fra3mentos m"s pe4ue7os. Hay
2arias formas de efectuar esto.
Una de ellas es adoptar un es4uema de pa3inacin de dos ni2eles, en el 4ue la
ta!la de p"3inas misma tam!in se pa3ina.
25
?or e'emplo0 si un usuario emite una llamada al sistema (para e!ectuar una &N0 di1amos) , proporciona una direccin como
par"metro (un buffer0 por e'emplo)0 esa direccin deber" trans!ormarse para producir la direccin !;sica correcta% &l sistema operatiEo0
por lo tanto0 mantiene una copia de la tabla de p"1inas de cada proceso0 as; como mantiene una copia del contador de instrucciones ,
del contenido de los re1istros% &sta copia sirEe para traducir direcciones l1icas en !;sicas cada EeL -ue el sistema operatiEo necesita
+acer tal trans!ormacin manualmente%
26
?or e'emplo0 consideremos un sistema con un espacio de direcciones l1ico de 32 bits% i el tamaJo de p"1ina es seme'ante sistema
es de 4Tb,tes (2
12
)0 una tabla de p"1inas podr;a tener +asta un milln de entradas (2
32
N 2
12
)% 2ado -ue cada entrada consta de cuatro
b,tes0 cada proceso podr;a re-uerir +asta cuatro me1ab,tes de espacio de direcciones !;sico nada m"s para la tabla de p"1inas%
95
L - /a0 Antes de la as!'na!&n " /20 desp.Cs de la as!'na!&n.
E - Trad.!&n de d!re!ones en .na ar5.!tet.ra de DE 2!ts on pa'!na!&n de dos n!#eles
+ medida 4ue aumenta la cantidad de memoria, puede ocurrir 4ue la ta!la de
p"3ina exterior sea tam!in 3rande. %n este caso 1a!ra 4ue di2idir esta ta!la en
fra3mentos m"s pe4ue7os. %sto dara un es4uema de pa3inacin de tres ni2eles. (i otra
2e; la ta!la de p"3ina exterior 4ueda 3rande, podra pasarse a un es4uema de
pa3inacin de U o m"s ni2eles.
GPu efecto tiene la pa3inacin multini2el so!re el rendimiento del sistemaH (i
cada ni2el se almacena como ta!la independiente en la memoria, la con2ersin de una
direccin l3ica en una fsica podra re4uerir cuatro accesos a la memoria. (e 1a
4uintuplicado el tiempo re4uerido para un acceso a la memoria. +4u el uso de cac1s es
pro2ec1oso y el desempe7o se mantiene en ni2eles ra;ona!les.
)"GI"S &$()"#!I*"S.
*tra 2enta8a de la pa3inacin es la
posi!ilidad de compartir cdi3o comBn.
%sta consideracin es importante so!re
todo en un entorno de tiempo
compartido. Consideremos un sistema
4ue da ser2icio a UJ usuarios, cada uno
de los cuales e8ecuta un editor de textos.
(i el editor consisten en EVJX de cdi3o
y VJX de espacio de datos,
necesitaramos NJJJX para atender a los
UJ usuarios. %n cam!io, si el cdi3o es
reentrante, se puede compartir.
%n la fi3ura se 2e un editor de tres
p"3inas #cada una de VJX- 4ue tres
procesos comparten. Cada proceso tiene
su propia p"3ina de datos.
%l cdi3o reentrante #tam!in
llamado cdi3o puro- es cdi3o 4ue no
puede modificarse a s mismo. (i el
cdi3o es reentrante, nunca cam!ia
durante su e8ecucin. +s, dos o m"s procesos pueden e8ecutar el mismo cdi3o al
mismo tiempo. Cada proceso tiene su propia copia de los re3istros y el almacenamiento
96
N - Compart!m!ento de &d!'o en .n entorno de pa'!na!&n.
de datos 4ue contienen la informacin para la e8ecucin del proceso. Desde lue3o, los
datos de dos procesos distintos son diferentes.
(lo 1ay 4ue mantener una copia del editor en la memoria fsica. ,a ta!la de
p"3inas de cada usuario esta!lece una correspondencia con la misma copia fsica del
editor, pero las p"3inas de datos corresponden a marcos distintos. %ntonces, para
atender a UJ usuarios slo necesitaremos una copia del editor #EVJX- m"s UJ copias del
espacio de datos de VJX de un usuario. %l espacio total re4uerido es a1ora de KEVJX en
lu3ar de NJJJX.
SEGMENTACION
Un aspecto importante de la 3estin de memoria 4ue se 1i;o ine2ita!le al sur3ir la
pa3inacin es la separacin entre la 2isin 4ue el usuario tiene de la memoria y la
memoria fsica real. ,a 2isin del usuario no es i3ual a la memoria fsica real.. slo tiene
una correspondencia con ella. ,a correspondencia permite diferenciar entre la memoria
l3ica y la fsica.
(E!$*$ +ASI&$.
%n 3eneral se considera 4ue el usuario o pro3ramador de un sistema no 2e la
memoria como una formacin lineal de !ytes. m"s !ien, la 2e como una coleccin de
se3mentos de tama7o 2aria!le, sin al3Bn ordenamiento necesario entre los se3mentos.
Pensemos en cmo 2isuali;amos un pro3rama cuando lo estamos escri!iendo: lo
2emos como un pro3rama principal con una serie
de su!rutinas, procedimientos, funciones o
mdulos. )am!in podra 1a!er di2ersas
estructuras de datos: ta!las, arre3los, pilas,
2aria!les, etc. Hacemos referencia a cada uno de
estos mdulos o elementos de datos por su
nom!re. Ha!lamos de la ?ta!la de sm!olosA, la
?funcin (4rtA, ?el pro3rama principalA sin 4ue
nos importe 4u posicin en la memoria ocupan
tales elementos. Cada uno de estos ?se3mentosA
tiene lon3itud 2aria!le. la lon3itud est" definida
intrnsecamente por el propsito del se3mento en
el pro3rama.
,a se3mentacin es un es4uema de 3estin
de memoria 4ue apoya esta 2isin 4ue el usuario
tiene de la memoria. Un espacio de direcciones
l3ico es una coleccin de se3mentos, cada uno
de los cuales tiene un nom!re y una lon3itud. ,as direcciones especifican tanto el
nom!re del se3mento como la distancia dentro del se3mento. +s, el usuario especifica
cada direccin con dos cantidades: un nom!re de se3mente y un despla;amiento
27
.
Para simplificar la implementacin los se3mentos se numeran y se 1ace referencia
a ellos por un nBmero de se3mento, no por su nom!re. +s una direccin l3ica consiste
en la com!inacin de Znum5se3mento, despla;amiento].
:ormalmente el pro3rama de usuario se compila y el compilador construye
autom"ticamente se3mentos 4ue refle8an el pro3rama 4ue se le aliment. %l car3ador
tomara todos estos se3mentos y los numerara.
27
4ontr"stese este es-uema con el de pa1inacin donde el usuario especi!icaba una sola direccin0 -ue el +ardPare diEid;a en un
nMmero de p"1ina , un desplaLamiento0 todo ello inEisible para el pro1ramador%
97
O - C&mo el .s.ar!o #e .n pro'rama.
<"#*G"#E9
+un4ue el usuario a1ora puede referirse a los o!8etos del pro3rama con una
direccin !idimensional, en la memoria fsica real si3ue siendo una secuencia
unidimensional de !ytes. Por ello, es preciso definir una implementacin 4ue transforme
las direcciones !idimensionales definidas por el usuario en direcciones fsicas
unidimensionales. %sta transformacin se efectBa con una ta!la de se3mentos.
Cada entrada de la
ta!la tiene una !ase de
se3mento y un lmite de
se3mento. ,a !ase
contiene la direccin fsica
inicial donde el se3mento
reside en la memoria,
mientras 4ue el lmite
especifica la lon3itud del
se3mento.
98
4 - 6ard?are de se'menta!&n
F - E=emplo de se'menta!&n
Una direccin l3ica consta de dos partes: un nBmero de se3mento s, y un
despla;amiento dentro de ese se3mento, d. %l nBmero de se3mento sir2e como ndice
para consultar la ta!la de se3mentos. %l despla;amiento d de la direccin l3ica de!e
estar entre J y el lmite del se3mento. si no, transferimos el control al sistema operati2o
por una trampa #intento de direccionamiento l3ico m"s all" del final del se3mento-. (i
el despla;amiento es 2"lido, se suma a la !ase del se3mento para producir la direccin
del !yte deseado en la memoria fsica. ,a ta!la de se3mentos no es entonces m"s 4ue
una serie depares de re3istros !ase y lmite.
&"#"&!E#8S!I&"S *E %" SEG(E!"&I79
,a se3mentacin est" ntimamente relacionada con los modelos de 3estin de memoria
por particin 4ue presentamos antes. la diferencia principal es 4ue un pro3rama puede consistir
en 2arios se3mentos. ,a se3mentacin es un concepto m"s comple8o y es por ello 4ue la
estamos descri!iendo despus de estudiar la pa3inacin. +l i3ual 4ue la ta!la de pa3inacin, la
ta!la de se3mentos se puede colocar en re3istros r"pidos o !ien en la memoria. Una ta!la de
se3mentos 4ue se mantiene en re3istros se puede consultar r"pidamente. la suma a la !ase y la
comparacin con el lmite se pueden efectuar simult"neamente para a1orrar tiempo.
Una 2enta8a especfica de la se3mentacin es 4ue podemos asociar la proteccin con los
se3mentos. Dado 4ue los se3mentos representan porciones sem"nticamente definidas de un
pro3rama
28
, es pro!a!le 4ue todas las entradas del se3mento se usen del mismo modo. +s,
tendremos al3unos se3mentos 4ue contienen instrucciones, mientras 4ue otros contienen datos.
%n una ar4uitectura moderna, las instrucciones no se pueden modificar a s mismas, as 4ue los
se3mentos de instrucciones se pueden definir como slo lectura o slo para e8ecucin.
*tra 2enta8a de la se3mentacin tiene 4ue 2er con el compartimiento de cdi3o o datos.
Cada proceso tiene asociada una ta!la de se3mentos, 4ue el despac1ador usa para definir la
ta!la de se3mentos en 1ardware cuando se asi3na la CPU a ese proceso. ,os se3mentos se
comparten cuando entradas de las ta!las de se3mentos de dos procesos distintos apuntan a las
mismas posiciones fsicas.
,#"G(E!"&I7
%l planificador a lar3o pla;o de!e encontrar y asi3nar memoria para todos los se3mentos
de un pro3rama de usuario. %sta situacin es similar a la pa3inacin excepto 4ue los se3mentos
tienen lon3itud 2aria!le. las p"3inas tienen todas el mismo tama7o. +s, al i3ual 4ue con el
es4uema de particiones de tama7o 2aria!le, la asi3nacin de memoria es un pro!lema din"mico,
4ue casi siempre se resuel2e con un al3oritmo de me8or a8uste o de primer a8uste.
SI!ESIS ,I"%9
,os al3oritmos de 3estin de memoria tratados #asi3nacin conti3ua, pa3inacin,
se3mentacin- difieren en muc1os aspectos. ,a lista si3uiente indica al3unas
consideraciones importantes 4ue de!en 1acerse al comparar las diferentes estrate3ias
de 3estin de memoria:
S&$&%.( /(# <*%/;*%(: un re3istro !ase simple o un par de re3istros !ase y lmite es suficiente para
los es4uemas de una y 2arias particiones mientras 4ue la pa3inacin y la se3mentacin re4uieren
ta!las de transformacin para definir el mapa de direccionamiento.
D()(+$(N&: a medida 4ue el al3oritmo de 3estin de memoria se 2uel2e m"s comple8o, el tiempo
re4uerido para transformar una direccin l3ica en una fsica aumenta. %n los sistemas sencillos slo
1ay 4ue comparar la direccin l3ica o sumarle un 2alor, operaciones 4ue son r"pidas. ,a pa3inacin y
la se3mentacin pueden ser r"pidas si las ta!las se implementa en re3istros r"pidos, pero si la ta!la
28
&s decir0 -ue corresponden a porciones del pro1rama -ue tienen de!inidas su propia l1ica , si1ni!icado%
99
est" en la memoria, los accesos de los usuarios a la memoria pueden des3radar sustancialmente el
desempe7o.
F%*4+(-.*',1-: un sistema multipro3ramado 3eneralmente tendr" un desempe7o m"s eficiente si el
ni2el de multipro3ramacin es m"s alto. Para un con8unto dado de procesos, slo podemos aumentar
el ni2el de multipro3ramacin colocando m"s procesos en la memoria. ,os sistemas 4ue tienen
unidades de asi3nacin de tama7o fi8o, como el es4uema de particin Bnica y el de pa3inacin,
adolecen de fra3mentacin interna. ,os sistemas con unidades de asi3nacin de tama7o 2aria!le,
como el es4uema de mBltiples particiones y el de se3mentacin, adolecen de fra3mentacin externa.
R(02,'*',1-: una solucin al pro!lema de fra3mentacin externa es la compactacin, 4ue implica
despla;ar un pro3rama en la memoria sin 4ue se d cuenta del cam!io. %sta consideracin re4uiere
reu!icar din"micamente las direcciones l3icas en el momento de la e8ecucin. (i las direcciones slo
se reu!ican en el momento de la car3a, no es posi!le compactar la memoria.
I-.(%'*+2,&: podemos a3re3ar intercam!io a cual4uier al3oritmo. + inter2alos determinados por el
sistema operati2o, casi siempre con !ase en las polticas de planificacin de la CPU, los procesos se
copian de la memoria principal a un almacenamiento auxiliar, y despus se copian de 2uelta en la
memoria principal. %ste es4uema permite e8ecutar m"s procesos de los 4ue pueden ca!er en la
memoria a la 2e;.
C&+$*%.,+,(-.&: otra forma de aumentar el ni2el de multipro3ramacin es 1acer 4ue diferentes
usuarios compartan cdi3o y datos. %l compartimiento 3eneralmente re4uiere usar pa3inacin o !ien
se3mentacin, a fin de contar con pa4uetes de informacin pe4ue7os #p"3inas o se3mentos- 4ue
puedan compartirse. %l compartimiento permite e8ecutar muc1os procesos con una cantidad limitada
de memoria, pero es preciso dise7ar con muc1o cuidado los pro3ramas y datos 4ue se comparten.
P%&.('',1-: (i se usa pa3inacin o se3mentacin se pueden declarar diferentes secciones de un
pro3rama como slo para e8ecucin, slo para lectura o de lectura y escritura. %sta restriccin es
necesaria cuando se comparten cdi3o o datos, y en cual4uier caso es de utilidad 3eneral para
efectuar sencillas 2erificaciones en tiempo de e8ecucin 4ue detectan errores de pro3ramacin
comunes.
GUA DE LECTURA:
E- GCu"l es la relacin #diferencias y seme8an;as- entre direcciones l3icas y
direcciones fsicasH
K- GCu"l es la relacin entre espacio de direcciones l3icos y el espacio de direcciones
fsicoH
C- GPara 4u se usa la car3a din"micaH
U- G%n 4u consiste el enlace din"micoH GHay al3una relacin con la car3a din"micaH
V- GPu son las superposiciones y para 4u se utili;anH
I- GPu es el intercam!io y para 4u se utili;aH
M- GPu diferencia 1ay entre la fra3mentacin interna y la fra3mentacin externaH
Gen 4u casos se aplican cada unaH
N- Completar la si3uiente ta!la acerca de los al3oritmos para la 3estin de memoria:
A#4&%,.+&) D(5,-,',1- C*%*'.(%@).,'*) V(-.*6*) >
/()3(-.*6*).
+si3nacin con una
particin
+si3nacin con
mBltiples particiones
Pa3inacin
Pa3inacin mBltiple
ni2eles
P"3inas compartidas
(e3mentacin
100
E X A M E N E S S I S T E M A S O P E R AT I V O S
PREGUNTAS ORIENTADORAS
U NI D A D I I n t r o d . S i s t . I n f o r m t i c o s :
*+ ,-u. s ' S/O/0 1%23uin# 4tn5i5# 6 #5%inist!#5o! 5 !"u!sos+/
7+ ,-u. s '# %u'tit#!#0 ,P#!# 3u. si!(0 ,-u. intnt# !so'(!0
8+ ,-u. s '# %u'tip!o9!#%#"i&n0 ,P#!# 3u. si!(0 ,-u. intnt# !so'(!0
:+ ,-u. s spoo'in90 ,P#!# 3u. si!(0 ,-u. (in # !so'(!0
;+ ,C&%o s !'#"ion# ' spoo'in9 "on '# t"no'o9<# 5 5is"o0
=+ ,-u. s ' p!o"s#%into po! 'ot0 ,P#!# 3u. si!(0 ,-u. (in # !so'(!0
>+ Co%p#!#! p!o"s#%into po! 'ot ? spoo'in9/
@+ Co%p#!#! p!o"s#%into po! 'ot ? %u'tit#!#/
A+ ,-u. si9niB"# 3u ' S/O/ st. $!si5nt) n %%o!i#0 ,Po! 3u. sto s
n"s#!io0
U NI D A D I I E s t r u c t u r a d ! S i s t ma I n f o r m t i c o :
*C+ ,Po! "u2's '%ntos D2si"os st2 Eo!%#5o un sist%# inEo!%2ti"o0
**+ ,-u. p#sos tin ' p!o"so 5 #!!#n3u 5 un sist%# inEo!%2ti"o0
*7+ ,-u. 5D "onsi5!#!s #' o"u!!i! un (nto0
*8+ ,-u. s un# int!!up"i&n0 ,Cu2n5o o"u!!0 ,P#!# 3u. si!(0 ,C&%o 5D
t!#t#!s0
*:+ ,-u. s un# ''#%#5# #' sist%#0 ,Cu2n5o o"u!!0 ,P#!# 3u. si!(0
,T!#t#%into0/
*;+ ,-u. 5iE!n"i# F#? nt! un# ''#%#5# ? un# int!!up"i&n0 ,-u. s%G#nH#s0
*=+ Ci!"uito p#!# !spon5! # un# ''#%#5# #' sist%#/
*>+ Ci!"uito p#!# !spon5! # un# int!!up"i&n/
*@+ ,-u. s '# t#D'# 5 5ispositi(osI "&%o s su st!u"tu!# ? p#!# 3u. si!(0
*A+ ,-u. s ' ("to! 5 int!!up"ionsI "&%o s su st!u"tu!# ? p#!# 3u. si!(0
7C+ ,-u. s ' "ont!o'#5o! 5 5ispositi(os0 ,Cu2n5o ? p#!# 3u. s #"ti(#0
7*+ ,-u. !'#"i&n F#? nt! ("to! 5 int!!up"ionsI "ont!o'#5o! ? sist%#
op!#ti(o0
101
77+ P#!# ' %#nGo 5 EJS pu5 #p'i"#!s 5os %o5osK #s<n"!ono ? s<n"!ono/
E4p'i"#! "#5# uno/ EG%p'iB"#!/
78+ ,-u. s ' DMA 1#""so 5i!"to # %%o!i#+0 ,P#!# 3u. s us#0 ,BnB"ios0
U NI D A D I I I E s t r u c t u r a " s i c a d ! S . O.
7:+ ,Cu2's son 'os suDsist%#s p!in"ip#'s 5' S/O/0 ,C&%o s !'#"ion#n0
7;+ E4p'i"#! !'#"i&n nt! G/ 5 P!o"sos ? G/ 5 M%o!i# P!in"ip#'/
7=+ E4p'i"#! !'#"i&n nt! suDsist%#s p#!# %#nipu'#! #!"Fi(os/
7>+ E4p'i"#! !'#"i&n nt! suDsist%#s p#!# t!#D#G#! "on '# CPU/
7@+ E4p'i"#! !'#"i&n nt! suDsist%#s p#!# %Go!#! !n5i%into 5 EJS/
7A+ E4p'i"#! !'#"i&n nt! suDsist%#s p#!# #s9u!#! '# "onB#Di'i5#5 5' sist/
InEo!%2ti"o/
8C+ E4p'i"#! !'#"i&n nt! suDsist%#s p#!# D!in5#! un# Dun# int!E#" #' usu#!io/
8*+ E4p'i"#! !'#"i&n nt! suDsist%#s p#!# D!in5#! %u'tit#!# 6 !5/
87+ ,Po! 3u. s i%po!t#nt i%p'%nt#! %"#nis%os 5 $p!ot""i&n) p#!# '
Eun"ion#%into 5' S/O/0
88+ DiE!n"i#s nt! ' Gsto! 5 A!"Fi(os ? ' Gsto! 5 A'%#"n#%into
S"un5#!io/
8:+ R'#"i&n nt! ' 9sto! 5 EJS ? '# t#D'# 5 5ispositi(os/
8;+ No%D!#! #' %nos 8 s!(i"ios 3u D!in5# ' S/O/ ? 4p'i"#! */
8=+ No%D!#! 'os tipos 5 st!u"tu!# D2si"os 5 'os S/O/ 6 Ds#!!o''#! st!u"tu!#
si%p' ? po! "#p#s/
102
#ESTOR DE PRO$ESOS
U NI D A D I V I n t r o d u c c i % n a P r o c s o s .
8>+ ,-u. s un p!o"so0 DiE!n"i#s ? s%G#nH#s nt! p!o9!#%#s ? p!o"sos/
8@+ Est#5os 5 un p!o"so 6 R'#"i&n "on '#s 5iE!nts "o'#s/
8A+ ,P#!# 3u. ? n 3u. situ#"i&n s i%p'%nt#n "o'#s 5 p'#niB"#"i&n0
:C+ No%D!#! '#s "o'#s 5 5 p'#niB"#"i&n ? 5Bni! p#!# 3u. si!(n/
:*+ E' D'o3u 5 "ont!o' 5 p!o"so tin !'#"i&n "on "i!tos suDsist%#s L
,Cu2's0 ,Po! 3u.0/
:7+ ,-u. s ' "ont#5o! 5' p!o9!#%#0 ,Po! 3u. s t#n i%po!t#nt0
:8+ ,-u. 5iE!n"i# F#? nt! "ont#5o! E<si"o 5 p!o9!#%# ? "ont#5o!s (i!tu#'s0
::+ ,-u. son '# P'#niB"#"i&n # '#!9o p'#Ho ? '# p'#niB"#"i&n # "o!to p'#Ho0
R'#"ion#! "on '#s "o'#s/
:;+ ,-u. s 'o 3u 9n!# $G!#!3u<#) nt! p!o"sos0 ,C&%o s st# G!#!3u<#0/
:=+ ,-u. son 'os p!o"sos "oop!#ti(os0 ,Cu2' s '# 5iE!n"i# "on 'os p!o"sos
in5pn5ints0
:>+ L# "o%uni"#"i&n nt! p!o"sos s pu5 i%p'%nt#! 5 7 %#n!#sK po!
%%o!i# "o%p#!ti5# o %ns#Gs 6 Ds"!iDi! un# 5 ''#s/
:@+ Co%p#!#! '# "o%uni"#"i&n nt! p!o"sos # t!#(.s 5 %%o!i# "o%p#!ti5# ?
%ns#Gs/
:A+ ,-u. son 'os Fi'os0 ,P#!# 3u. s us#n0 ,-u. "#!#"t!<sti"#s tinn0
;C+ Co%p#!#! Fi'os ? p!o"sos/
U NI D A D V P ! a n i & c a c i % n d ! a $ P U .
;*+ ,-u. s '# p'#niB"#"i&n 5 '# CPU0 ,P#!# 3u. s uti'iH#0
;7+ ,-u. Eun"ions "u%p'n ' P'#niB"#5o! ? ' Dsp#"F#5o! n ' p!o"so 5
p'#niB"#"i&n0 DBni! "#5# uno/
;8+ ,C&%o s !'#"ion# '# p'#niB"#"i&n 5 '# CPU "on '#s "o'#s0
;:+ ,-u. si9niB"# ' $"#%Dio 5 "ont4to)0 ,-ui.n 'o F#"0 ,-u. Eun"ions 5Dn
!#'iH#!s p#!# 3u s 5. un "#%Dio 5 "ont4to0
;;+ ,-u. son 'os "i"'os 5 !2E#9#s 5 CPU ? 5 EJS0 ,En 3u. s (n !MG#5os0
;=+ ,Cu2's son 'os 5os tipos 5 p'#niB"#"i&n0 DiE!n"i#s 14p!opi#ti(# 6 no
4p!opi#ti(#+/
;>+ ,-u. son 'os #'9o!it%os 5 p'#niB"#"i&n0 ,P#!# 3u. si!(n0 D#! G%p'os/
103
;@+ DiE!n"i#s nt! un #'9o!it%o 5 p'#niB"#"i&n 4p!opi#ti(o ? uno no
4p!opi#ti(o/
;A+ An2'isis 5 G%p'os 5 #'9o!it%os 1po! G/ p!io!i5#5I SPJI Tu!no Ci!"u'#!I t"/+/
=C+ En un# !5I ,3u. #'9o!it%o #p'i"#!<#s0 ,Po! 3u.0
=*+ En un spoo'in9 5 i%p!si&nI ,3u. #'9o!it%o #p'i"#!<#s0 ,Po! 3u.0
=7+ E'9i! un #'9o!it%o 5 p'#niB"#"i&n ? 4p'i"#!/
=8+ ,-u. s ' En&%no 5 INANICINN0 ,Cu2n5o o"u!!0 ,C&%o s !su'(0
EG%p'iB"#!/
U NI D A D V I S i n c r o n i ' a c i % n .
=:+ ,-u. s '# sin"!oniH#"i&n0 ,En 3u. situ#"ions s #p'i"#0
=;+ E4p'i"#! 3u. si9niB"# '# $"on5i"i&n 5 "o%ptn"i#) n un "ont4to 5
sin"!oniH#"i&n/
==+ ,-u. s '# s""i&n "!<ti"# 5 un p!o"so0 ,Po! 3u. s n"s#!io !"ono"!'#
p#!# po5! E"tu#! '# sin"!oniH#"i&n0
=>+ ,-u. s un s%2Eo!o0 ,P#!# 3u. si!(0 ,-u. "#!#"t!<sti"#s "u%p'0
=@+ E4p'i"#! su i%p'%nt#"i&n/
=A+ L#s Eun"ions ESPERA ? SEOAL son op!#"ions #t&%i"#s/ ,-u. si9niB"# sto0
,Po! 3u. s n"s#!io 3u #%D#s Eun"ions s#n #t&%i"#s/
>C+ E4p'i"#! "u#n5o 'os p!o"sos "oop!#ti(os (#n # uti'iH#! '#s Eun"ions ESPERA ?
SEOAL/ JustiB"#! su uso/ EG%p'iB"#!/
>*+ ,Cu2's son 'os p!oD'%#s %2s "o%uns 5 sin"!oniH#"i&n0 E4p'i"#! #' %nos
*/
>7+ ,-u. "on5i"ions 5D !9u'#! ' #'9o!it%o 5 sin"!oniH#"i&n p#!# !so'(! '
p!oD'%# 5' DuP! 'i%it#5o0
>8+ ,-u. "on5i"ions 5D !9u'#! ' #'9o!it%o 5 sin"!oniH#"i&n p#!# !so'(! '
p!oD'%# 5 '"to!sL s"!ito!s/
>:+ ,-u. "on5i"ions 5D !9u'#! ' #'9o!it%o 5 sin"!oniH#"i&n p#!# !so'(! '
p!oD'%# 5 'os ; B'&soEos "o%ns#'s0
>;+ ,-u. s un %onito!0 ,-u. 5iE!n"i# F#? "on ' s%2Eo!o0
>=+ ,-u. s un# t!#ns#""i&n0 ,En 3u. situ#"ions s #p'i"#0 ,Cu2's son sus
"#!#"t!<sti"#s0 ,-u. sin"!oniH#0/
>>+ ,P#!# 3u. si!( '# Dit2"o!# n '#s t!#ns#""ions0 ,Y 'os "F"Qpoints0
U NI D A D V I I " ! o ( u o s Mu t u o s .
104
>@+ ,-u. son 'os D'o3uos %utuos0 ,Cu2n5o o"u!!n0
>A+ ,-u. "on5i"ions 5Dn o"u!!i! p#!# 3u F#?# un D'o3uo %utuo0 1!"o!5#!
3u son :+/
@C+ R#? 8 $B'osoE<#s) p#!# t!#t#! 'os D'o3uos %utuos 6 E4p'i"#! #' %nos 7/
@*+ D#! G%p'os 5 D'o3uos %utuos/
105
#ESTOR DE MEMORIA:
U NI D A D V I I I I n t r o d u c c i % n a ! # s t o r d M mo r i a .
@7+ ,-u. Eun"ions D2si"#s 5s#!!o''# ' Gsto! 5 M%o!i#0
@8+ Cu2's son 'os ni('s 5 9sti&n 5 %%o!i#
@:+ -u. s un# 5i!""i&n '&9i"#I !uDi"#D'sI E<si"#s ? "u2n5o s uti'iH#n/
@;+ Cu2' s '# !'#"i&n nt! stos t!s tipos 5 5i!""ions/
@=+ -u. s '# uni5#5 5 9sti&n 5 %%o!i#/ P#!# 3u. si!(/ C&%o Eun"ion#/
@>+ ,C&%o s !'#"ion# ' Gsto! 5 M%o!i# "on ' Gsto! 5 P!o"sos0
@@+ -u. s '# "#!9# 5in2%i"# 6 3u. s '# "#!9# st2ti"#/ En 3u. "#sos s #p'i"#n
"#5# un#/
@A+ -u. s ' n'#" 5in2%i"o 6 3u. s ' n'#" st2ti"o/ En 3u. "#sos s #p'i"#n
"#5# uno/
AC+ -u. s '# sup!posi"i&n/ C&%o Eun"ion#/ En 3u. t."ni"# 5 #si9n#"i&n 5
%%o!i# s uti'iH#/
A*+ -u. s ' int!"#%Dio/ C&%o Eun"ion#/ En 3u. t."ni"# 5 #si9n#"i&n 5
%%o!i# s uti'iH#/
A7+ DiE!n"i#s ? s%G#nH#s nt! Di!""i&n 'o9i"# J 5i!""i&n E<si"#/
A8+ DiE!n"i#s ? s%G#nH#s nt! '# C#!9# 5in2%i"# J "#!9# st2ti"#/
A:+ DiE!n"i#s ? s%G#nH#s nt! n'#" 5in2%i"o J n'#" st2ti"o/
U NI D A D I X E s ( u ma s d A s i ) n a c i % n d M mo r i a
$ o n t i ) u o s .
A;+ Cu2's son '#s "#!#"t!<sti"#s 5 '# 9sti&n 5 %%o!i# "onti9u#/
A=+ C&%o Eun"ion#n 'os p!o"sos 5K
o P#!ti"i&n #Dso'ut# Sni"# J P#!ti"i&n !uDi"#D' Sni"#
o MS'tip's p#!ti"ions BG#s J MS'tip's p#!ti"ions (#!i#D's
A>+ -u. son 'os R9ist!os D#s J !9ist!o 5 !uDi'i"#"i&n 1'<%it+/ En 3u. o"#sions
s uti'iH# ? p#!# 3u./
A@+ -u. s '# E!#9%nt#"i&n int!n# ? "u2n5o o"u!!/
AA+ -u. s '# E!#9%nt#"i&n 4t!n# ? "u2n5o o"u!!/
*CC+ -u. %.to5os 5 #si9n#"i&n 5 p!o"sos F#? ? "u2's son sus "#!#"t!<sti"#s/
*C*+ Co%p#!#"i&n nt! P#!ti"i&n #Dso'ut# Sni"# J !uDi"#D'
*C7+ Co%p#!#"i&n nt! MS'tip's p#!ti"ions BG#s J (#!i#D's
106
*C8+ Co%p#!#"i&n nt! F!#9%nt#"i&n int!n# J 4t!n#
*C:+ Co%p#!#"i&n nt! !9ist!o D#s ? !9ist!o '<%it/
UNIDAD X Es(umas d Asi)naci%n d Mmoria no conti)uos Pa)inaci%n *
S)mntaci%n.
*C;+ Po! 3u. s i%p'%nt#n 9stions 5 %%o!i# no "onti9u#s/
*C=+ -u. s '# p#9in#"i&n/ -u. "#!#"t!<sti"#s tin/
*C>+ C&%o s !#'iH# '# t!#5u""i&n 5 5i!""ions n '# p#9in#"i&n/ Fo!%#"i&n 5 '#
5i!""i&n (i!tu#' ? 5 '# 5i!""i&n E<si"# 6 Uso 5 '# t#D'# 5 p29in#s ? '# t#D'#
5 D'o3us/
*C@+ -u. s '# t#D'# 5 p29in#s ? "&%o s i%p'%nt#
*CA+ -u. s '# t#D'# 5 D'o3us ? "&%o s i%p'%nt#/
**C+ P#!# 3u. si!( ' DuP! 5 !"ono"i%into 5 t!#5u""ions/
***+ P#!# 3u. si!( ' Dit 5 p!sn"i#
**7+ -u. s '# p#9in#"i&n %u'tini('s ? p#!# 3u. s uti'iH#/
**8+ -u. i%p'i"# '#s p29in#s "o%p#!ti5#s/ P#!# 3u. s uti'iH#/
**:+ -u. s '# s9%nt#"i&n/ Cu2's son sus "#!#"t!<sti"#s/
**;+ C&%o s i%p'%nt# '# s9%nt#"i&n/ C#!#"t!<sti"#s 5 '# 5i!""i&n (i!tu#' 6
E<si"# n '# s9%nt#"i&n/
**=+ Co%p#!#"i&n nt! P#9in#"i&n J S9%nt#"i&n
**>+ Co%p#!#"i&n nt! T#D'# 5 p29in#s J t#D'#s 5 D'o3us/
U NI D A D X I I n t r o d u c c i % n a ! a M mo r i a Vi r t u a ! .
**@+ Po! 3u. s 5s#!!o''# '# %%o!i# (i!tu#' 6 -u. "#!#"t!<sti"#s tin/ BnB"ios/
**A+ -u. "#!#"t!<sti"#s tin '# p#9in#"i&n po! 5%#n5#/
*7C+ -u. s '# sustitu"i&n 5 p29in#s ? "u2n5o o"u!!/
*7*+ -u. s '# E#'t# 5 p29in#s ? "u2n5o o"u!!/ M.to5o p#!# !so'(!'#/
*77+ Co%p#!#"i&n nt! p#9in#"i&n ? p#9in#"i&n po! 5%#n5#/
107
COMPONENTES
&. D% P$*C%(*(.
&. D% 0%0*$'+ P$':C'P+,
&. D% +$CH'<*(
&. D% +,0+C%:+0'%:)*
(%CU:D+$'*
&. D% %:)$+D+( 6 (+,'D+(
&. D% $%D
&. D% P$*)%CC'@:.
(H%,,
,os componentes
tienen asociadas
tareas o acti2idades.
Pares fuertemente
interrelacionados:
Procesos memoria
principal.
+rc1i2os almac.
(ecundario.
Procesos
entradas6salidas.
Proteccin procesos.
(1ell procesos.
<an a interactuar para
!rindar SERVICIOS al
usuario.
,os ser2icios a3rupan
y ?1acenA interactuar
a los su!sistemas.
,os tipos de
estructuras implican
comple8idad del (.*. y
confi3uraciones
especficas de
componentes y
ser2icios
SERVICIOS
)/ecucin de programas
&anipulacin de arc,ivos.
Operaciones de )0S
Asignacin de recursos.
%omunicaciones.
'roteccin
4eteccin de errores.
%onta:ili;acin.
TIPOS DE
ESTRUCTURA
('0P,%.
%:*PU% P*$ C+P+(
0+PU':+( <'$)U+,%(
109
CONCEPTOS
BSICOS
P$*C%(*( C*0P+$+C'@: C*: P$*&$+0+(.
%()+D*( D%, P$*C%(*
C*0P*:%:)%( D%, P$*C%(* #/lo4ue de control del proceso-
C*,+( D% P,+:''C+C'@:: tra!a8o, procesos listos, dispositi2os
)'P*( D% P,+:''C+C'@:: a corto y a lar3o pla;o.
=%$+$PUF+ %:)$% P$*C%(*( #Padres e 1i8os-
*P%$+C'*:%( D% P$*C%(*( #crear y terminar-
C*0U:'C+C'@: %:)$% P$*C%(*(: 0emoria compartida 5 mensa8es
PLANIFICACIN
DE CPU
%O2%)'TOS @1SI%OS 4) '(A2I6I%A%ID2: 'lani+icacin? )l plani+icador de
%'5? el despac,ador? *+agas de %'5 y de )0S. -7uantum..
TI'OS 4) '(A2I6I%A%ID2: no apropiativa$ apropiativa (e=propiativa#
A(3O*IT&OS 4) '(A2I6I%A%ID2:
'or orden de llegada?
'rimero el proceso ms corto (apropiativo no apropiativo#?
'lani+icacin por prioridad (apropiativo no apropiativo#?
Turno circular?
%olas de mAltiples niveles?
%olas de mAltiples niveles y retroalimentacin.
SINCRONIOACIN
C*:C%P)*( /Q('C*( D% (':C$*:'R+C'@:: (incroni;ar. seccin
crtica. condicin de competencia. operaciones atmicas
(%0Q*$*(: definicin. utilidad. llamadas espera y se7al.
0*:')*$%(. Definicin. utilidad. componentes.
H',*(
)$+:(+CC'*:%(: definicin, utilidad. /it"cora de escritura
adelantada. ?c1ecTpointsA #puntos de control-.
P$*/,%0+( C,Q('C*( D% (':C$*:'R+C'@:: !uffer limitado.
escritores lectores. filsofos comensales.
BLOUEOS
MUTUOS
D%':'C'@:. C*:D'C'*:%(.
09)*D*(: protocolos. detectar y recuperar. no 1acer nada.
110
INTRODUCCIN
:'<%,%( D% &%()'@: D% 0%0*$'+
D'$%CC'*:+0'%:)* D% 0%0*$'+: P$*C%(* /Q('C*
)'P*( D% D'$%CC'*:%( D% 0%0*$'+
U:'D+D D% &%()'@: D% 0%0*$'+ #00U-
,'&+DU$+( D':Q0'C+(.
5 C+$&+ D':Q0'C+
5 %:,+C% D':Q0'C*
ESUEMAS DE
ASIGNACIN DE
MEMORIA
CONTIGUOS
'articin a:soluta Anica
'articin reu:ica:le Anica
&Altiples particiones +i/as
6ragmentacin interna
&Altiples particiones varia:les
6ragmentacin e=terna.
%ompactacin
ESUEMAS DE
ASIGNACIN DE
MEMORIA NO
CONTIGUOS
)9C:'C+( C*0U:%(.
5 (UP%$P*('C'*:%(
5 ':)%$C+0/'*
&>todos de Asignacin de &emoria
G 'rimer a/uste
G &e/or a/uste
G 'eor a/uste
&>todos de asignacin de procesos
MEMORIA
VIRTUAL
C+$+C)%$F()'C+(
P+&':+C'@: P*$ D%0+:D+
5 09)*D* /Q('C* 6 %(PU%0+ &%:%$+, D% U:C'*:+0'%:)*
5 +,)+ D% PQ&':+
5 (U()')UC'@: D% PQ&':+
P+&':+C'@:. #mtodo !"sico 6 traduccin de direcciones 6 implementacin de
ta!la de p"3ina 6 ta!la de !lo4ues 6 P"3inas multini2el 6 (ustitucin de p"3inas
(%&0%:)+C'@: #caractersticas 6mtodo !"sico 6 implementacin-
G E S T O R D E P R O C E S O S G E S T O R D E M E M O R I A
111
S po5!2 p5i! "on"ptos sn"i#'s p#!# ' 9sto! 5 p!o"sos "o%o po! G%p'oK
L Est#5o 5 'os p!o"sos
L Tipos 5 p'#niB"#"i&n
L Tipos 5 p!o"sos 1in5pn5ints 6 "oop!#ti(os+
L S""i&n "!<ti"#
L Con5i"i&n 5 "o%pntn"i#
L Op!#"ions #t&%i"#s
L P'#niB"#5o! 13u. s ? p#!# 3u. si!(+ 6 Dsp#"F#5o! 13u. s ? p#!# 3u. si!(+
L -u. son 'os s%2Eo!os ? p#!# 3u. si!(n/
L -u. son '#s Eun"ions SEOAL ? ESPERA ? n 9n!#' "o%o Eun"ion#n/
L -u. son 'os %onito!s ? "&%o Eun"ion#n/
L -u. son '#s t!#ns#""ionsI n 3u. "#so s #p'i"#n/
L Cu2' s '# i%po!t#n"i# 5 '# Dit2"o!# n '# t!#ns#""i&n/
L C&%o %Go!#n 'os "F"Qpoints '# t."ni"# 5 t!#ns#""i&n/
L -u. p!oD'%# 4p!s# DuP! 'i%it#5o ? 3u. "on5i"ions 5D!2n "ont!o'#! ' o 'os
s%2Eo!os p#!# so'u"ion#!'o/
L/ -u. p!oD'%# 4p!s# s"!ito!s 6 '"to!s ? 3u. "on5i"ions 5D!2n "ont!o'#!
'os s%2Eo!os p#!# so'u"ion#!'o/
L -u. p!oD'%# 4p!s# B'&soEos "o%ns#'s ? 3u. "on5i"ions 5D!2n "ont!o'#!
'os s%2Eo!os p#!# so'u"ion#!'o/
L -u. s un D'o3us %utuo/ En 3u. "#sos s 5#/
L Con5i"ions p#!# 3u un D'o3uo %utuo o"u!!#/
L M.to5os p#!# t!#t#! 'os D'o3uos %utuos/
S tn5!2 n "unt# n GENERAL no s&'o ' %#nGo "on"ptu#' sino t#%Di.n '#
"#p#"i5#5 5 "o%p#!#! "on"ptos ? p!o"5i%intos
Po! G%p'oI s po5!2 p5i! 3u s "o%p#! 1in5i"#n5o s%G#nH#s ? 5iE!n"i#s+
L '#s "#!#"t!<sti"#s 5 p!o"sos Fi'osT
L '#s "#!#"t!<sti"#s 5' p!o"so 5 "o%uni"#"i&n 5 %%o!i# "o%p#!ti5# ? 5
%ns#GsT
L '#s "#!#"t!<sti"#s 5 'os 5iE!nts #'9o!it%os p#!# po5! PLANIFICAR '# "o'# 5
p!o"sos 'istos+/
L Los tipos 5 p'#niB"#"i&n 1#p!opi#ti(# J no #p!opi#ti(#+
L L#s 5iE!nts "o'#s 5 p'#niB"#"i&n 15 t!#D#GosI 5 p!o"sos 'istosI 5 EJS+/
L L#s 5iE!nts t."ni"#s p#!# sin"!oniH#! 1s%2Eo!os 6 %onito!s 6 t!#ns#""ions+
L Los 5iE!nts %.to5os p#!# t!#t#! 'os D'o3uos %utuos/
En "u#nto # '# #p'i"#"i&n p!2"ti"#K
L S po5!2 5#! #'9unos G%p'os !sp"to # %.to5os p#!# p'#niB"#! 1"on t#D'# 5
p!o"sos 5 '# "o'# 5 'istosI ti%pos 5 !2E#9# o p!io!i5#5s ? ti%po 5 ''9#5# #
'# "o'#+/
L S po5!2 5#! #'9unos G%p'os !sp"to # situ#"ions 5 sin"!oniH#"i&n p#!# 3u
s !"onoH"# n 3u. p!oD'%# 5 sin"!oniH#"i&n s n"u#5!# ? po! 3u./
S po5!2 p5i! 5s#!!o''o 5 "on"ptos sn"i#'s p#!# ' 9sto! 5 %%o!i# "o%o
p/G/K
L Cu2's son 'os ni('s 5 9sti&n 5 %%o!i#
L -u. s un# 5i!""i&n '&9i"#I !uDi"#D'sI E<si"#s ? "u2n5o s uti'iH#n/
L Cu2' s '# !'#"i&n nt! stos t!s tipos 5 5i!""ions/
L -u. s '# uni5#5 5 9sti&n 5 %%o!i#/ P#!# 3u. si!(/ C&%o Eun"ion#/
L -u. s '# "#!9# 5in2%i"# 6 3u. s '# "#!9# st2ti"#/ En 3u. "#sos s #p'i"#n "#5#
un#/
L -u. s ' n'#" 5in2%i"o 6 3u. s ' n'#" st2ti"o/ En 3u. "#sos s #p'i"#n "#5#
uno/
L -u. s '# sup!posi"i&n/ C&%o Eun"ion#/ En 3u. t."ni"# 5 #si9n#"i&n 5 %%o!i#
s uti'iH#/
L -u. s ' int!"#%Dio/ C&%o Eun"ion#/ En 3u. t."ni"# 5 #si9n#"i&n 5 %%o!i#
s uti'iH#/
L Cu2's son '#s "#!#"t!<sti"#s 5 '# 9sti&n 5 %%o!i# "onti9u#/
L C&%o Eun"ion#n 'os p!o"sos 5K
U P#!ti"i&n #Dso'ut# Sni"# J P#!ti"i&n !uDi"#D' Sni"#
U MS'tip's p#!ti"ions BG#s J MS'tip's p#!ti"ions (#!i#D's
L -u. son 'os R9ist!os D#s J !9ist!o 5 !uDi'i"#"i&n 1'<%it+/ En 3u. o"#sions s
uti'iH# ? p#!# 3u./
L -u. s '# E!#9%nt#"i&n int!n# ? "u2n5o o"u!!/
L -u. s '# E!#9%nt#"i&n 4t!n# ? "u2n5o o"u!!/
L -u. %.to5os 5 #si9n#"i&n 5 p!o"sos F#? ? "u2's son sus "#!#"t!<sti"#s/
L Po! 3u. s i%p'%nt#n 9stions 5 %%o!i# no "onti9u#s/
L -u. s '# p#9in#"i&n/ -u. "#!#"t!<sti"#s tin/
L C&%o s !#'iH# '# t!#5u""i&n 5 5i!""ions n '# p#9in#"i&n/ Fo!%#"i&n 5 '#
5i!""i&n (i!tu#' ? 5 '# 5i!""i&n E<si"# 6 Uso 5 '# t#D'# 5 p29in#s ? '# t#D'# 5
D'o3us/
L -u. s '# t#D'# 5 p29in#s ? "&%o s i%p'%nt#
L -u. s '# t#D'# 5 D'o3us ? "&%o s i%p'%nt#/
L P#!# 3u. si!( ' DuP! 5 !"ono"i%into 5 t!#5u""ions/
L P#!# 3u. si!( ' Dit 5 p!sn"i#
L -u. s '# p#9in#"i&n %u'tini('s ? p#!# 3u. s uti'iH#/
L -u. i%p'i"# '#s p29in#s "o%p#!ti5#s/ P#!# 3u. s uti'iH#/
L -u. s '# s9%nt#"i&n/ Cu2's son sus "#!#"t!<sti"#s/
L C&%o s i%p'%nt# '# s9%nt#"i&n/ C#!#"t!<sti"#s 5 '# 5i!""i&n (i!tu#' 6
E<si"# n '# s9%nt#"i&n/
L Po! 3u. s 5s#!!o''# '# %%o!i# (i!tu#' 6 -u. "#!#"t!<sti"#s tin/
L -u. "#!#"t!<sti"#s tin '# p#9in#"i&n po! 5%#n5#/
L -u. s '# sustitu"i&n 5 p29in#s ? "u2n5o o"u!!/
L -u. s '# E#'t# 5 p29in#s ? "u2n5o o"u!!/ M.to5o p#!# !so'(!'#/
S tn5!2 n "unt# '# "#p#"i5#5 5 "o%p#!#! "on"ptos ? p!o"5i%intos po! G/K
L Di!""i&n 'o9i"# J 5i!""i&n E<si"#/
L C#!9# 5in2%i"# J "#!9# st2ti"#/JL En'#" 5in2%i"o J n'#" st2ti"o/
L Gsti&n 5 %%o!i# "onti9u# J 9sti&n 5 %%o!i# no "onti9u#/
L P#!ti"i&n #Dso'ut# Sni"# J !uDi"#D'
L MS'tip's p#!ti"ions BG#s J (#!i#D's
112
L F!#9%nt#"i&n int!n# J 4t!n# L R9ist!o D#s J !9ist!o '<%it
L P#9in#"i&n J S9%nt#"i&nL T#D'# 5 p29in#s J t#D'#s 5 D'o3us/
113
+:%S*
/'/,'*&$Q'C*
':C,UD%:
I-.%&/0'',1- * #&) ),).(+*) &$(%*.,3&) H,).&%,* P%&4%(),1-
#+ndrew )anen!aum, ('()%0+( *P%$+)'<*( 0*D%$:*( 5 Captulo E pa3. E a
EM-
E).%0'.0%* /( #&) S,).(+*) I-5&%+*.,'&) #+ndrew )anen!aum 5
('()%0+( *P%$+)'<*( 0*D%$:*( 5 Captulo E 5 pa3 KE CV-
E).%0'.0%* /( #&) S,).(+*) O$(%*.,3&) #(il!ersc1at; &al2in, ('()%0+(
*P%$+)'<*(5 Captulo C pa3 UO5MM-
I-.%&/0'',1- * #&) P%&'()&) #(il!ersc1at; &al2in, ('()%0+(
*P%$+)'<*(5Captulo V p"3. EKC5EUJ-
G().&% /( M(+&%,* #(il!ersc1at; &al2in 5 ('()%0+( *P%$+)'<*(5
Captulo N 5 pa3. KCO KMN-
115
':)$*DUCC'@: +
,*( ('()%0+(
*P%$+)'<*(
H'()*$'+
P$*&$%('@:
116
%()$UC)U$+( D%
,*( ('()%0+(
':*$0+)'C*(
117
%()$UC)U$+
('()%0+ *P%$+)'<*.
118
':)$*DUCC'@: +
,*( P$*C%(*(
119
&%()*$ D% 0%0*$'+
120

Vous aimerez peut-être aussi