Você está na página 1de 29

SISTEMAS OPERATIVOS

PRACTICA 1 ADMINISTRACION DE RECURSOS POR PARTE DEL S.O.


INTRODUCCION
Con el desarrollo de la siguiente actividad se busca mediante la investigacin
terica y el desarrollo de varios ejemplos prcticos conocer la manera como
los ordenadores llevan a cabo diferentes tareas y la intervencin de los
sistemas operativo en la realizacin de ellas, administrando y otorgando los
recursos cuando estos se requieren para llevar a cabo un proceso y
manejando intervalos de tiempo que impiden un bloqueo entre ellos.
Dentro de los aspectos a tener en cuenta para el desarrollo de las prcticas
sobresalen: un conocimiento previo de lgica de programacin, manejo de
algoritmos y/o seudocdigo, adems del manejo de lenguajes de
programacin !orland C o C y "plicaciones de #ffice$ que permitan crear un
ambiente en donde se pueda llevar a cabo la representacin del
comportamiento de un sistema operativo cualquiera y la forma como este
otorga o deniega elementos para un proceso.
OBJETIVOS
Objetivo Gener!
Conocer la forma como un sistema operativo maneja recursos y tiempos de
ejecucin de procesos mediante la implementacin de distintos algoritmos,
buscando siempre optimizar las respuestas que necesita el usuario del
sistema.
Objetivo" E"#e$%&i$o"
Conocer la estructura de un sistema operativo.
%dentificar la forma como se llevan a cabo tareas y como se clasifican
por parte del sistema operativo dependiendo de su orden de llegada,
tiempo de ejecucin, etc.
&epresentar con ejemplos el comportamiento de memoria, procesador
y discos duros en la realizacin de una tarea.
'racticar como se dise(a y desarrolla un sistema operativo desde la
construccin y la operacin.
'racticar la )etodolog*a que se utiliza para la administracin de
recursos que administra el sistema operativo.
Conocer algunos de los algoritmos de planificacin de procesos y su
aplicacin en un sistema operativo.
MARCO TEORICO
Si"te' O#ertivo
1
+eneralmente se define como el intermediario para un usuario que ,ace uso
de los recursos y realiza una tarea en un sistema de cmputo. -iempre
cumple unas funciones bsicas que son:
"dministracin de recursos
"dministra recursos de ,ard.are de un sistema informtico como el
procesador, la memoria, el disco duro, unidades de entrada y salida.
"dministracin de arc,ivos
Controlan el acceso, creacin y borrado de arc,ivos de datos y de programas
manteniendo una direccin f*sica en un medio magn/tico de
almacenamiento.
"dministracin de tareas
"dministra la realizacin de las tareas informticas de los usuarios finales.
Control de reas que tienen acceso a la C'0 por un tiempo determinado,
dependiendo de la llegada, prioridad o peso del trabajo.
-oporte
Dentro de este *tem se encuentran varios servicios de los que se pueden
mencionar:
o "ctualizaciones automticas
o 'arc,es de seguridad.
o Controladores para ,ard.are nuevo.
o Correccin de errores de soft.are.
E"tr($t(r )e (n "i"te' o#ertivo
+estor de procesos
1s la parte del sistema operativo que se encarga de crear, gestionar,
interrumpir, sincronizar y destruir procesos, dependiendo de la importancia
que tengan los va realizando.
+estor de )emoria
-e encarga de conocer las partes de memoria utilizadas, organizar los
procesos y decidir cuales se van a cargar en memoria cuando e2ista un
espacio disponible que los crea y lo reclama cuando es necesario.
+estor de almacenamiento secundario
1s el encargado de planificar los discos, gestionar el espacio libre y asignar
el almacenamiento.
-istema de entradas y salidas
1s un sistema de almacenamiento temporal, una interfaz de controladores de
dispositivos y otra de los dispositivos. 1l sistema operativo debe gestionar el
almacenamiento temporal de 1/- y servir las interrupciones de los
dispositivos de 1/-.
-istema de arc,ivos
1n un sistema operativo es responsable de: construir y eliminar arc,ivos y
directorios, ofrecer funciones para manipular arc,ivos y directorios,
establecer la correspondencia entre arc,ivos y unidades de almacenamiento
y realizar copias de seguridad de arc,ivos.
-istemas de proteccin
)ecanismo que controla el acceso de los programas o los usuarios a los
recursos del sistema. 1l -# se encarga de:
o Distinguir entre uso autorizado y no autorizado.
o 1specificar los controles de seguridad a realizar.
o 3orzar el uso de estos mecanismos de proteccin.
-istema de comunicaciones
Controla env*o y recepcin de informacin entre ordenadores de una red,
permite crear cone2iones virtuales entre aplicaciones que se puedan manejar
en determinado momento.
+estor de recursos
"dministra la C'0, las unidades de entrada y salida, la memoria principal, los
discos duros u otras unidades de almacenamiento secundario y los
programas que se ejecuten.
4
Pro$e"o"
1s un programa en ejecucin, los procesos son gestionados por el sistema
operativo y estn formados por:
5as instrucciones de un programa destinadas a ser ejecutadas por el
microprocesador.
-u estado de ejecucin en un momento dado, esto es, los valores de
los registros de la C'0 para dic,o programa.
-u memoria de trabajo, es decir, la memoria que ,a reservado y sus
contenidos.
#tra informacin que permite al sistema operativo su planificacin.
1sta definicin var*a ligeramente en el caso de sistemas operativos multi,ilo,
donde un proceso consta de uno o ms ,ilos, la memoria de trabajo
compartida por todos los ,ilos$ y la informacin de planificacin. Cada ,ilo
consta de instrucciones y estado de ejecucin.
5os procesos son creados y destruidos por el sistema operativo, as* como
tambi/n este se debe ,acer cargo de la comunicacin entre procesos, pero
lo ,ace a peticin de otros procesos. 1l mecanismo por el cual un proceso
crea otro proceso se denomina bifurcacin for6$. 5os nuevos procesos
pueden ser independientes y no compartir el espacio de memoria con el
proceso que los ,a creado o ser creados en el mismo espacio de memoria.
1n los sistemas operativos multi,ilo es posible crear tanto ,ilos como
procesos. 5a diferencia estriba en que un proceso solamente puede crear
,ilos para s* mismo y en que dic,os ,ilos comparten toda la memoria
reservada para el proceso.
E"t)o"
7
" medida que un proceso se ejecuta cambia de estado. Cada estado esta
definido en parte por la actividad actual de ese proceso.
1
http://es.wikipedia.org/wiki/Sistema_operativo
2
http://www.dirinfo.unsl.edu.ar/~sortecarpro/teorias/Planificacion%2de%2Procesos.pdf
Cada proceso puede estar en uno de los siguientes estado:
1n 1jecucin: -e estn ejecutando instrucciones
1n 1spera: 15 proceso esta esperando que ocurra alg8n suceso
como la terminacin de una operacin de 1/- o la recepcin de una
se(al$.
5isto: 1l proceso esta esperando que se le asigne un procesador.
Trn"i$ione" )e E"t)o )e !o" Pro$e"o"
3
:
! De ejecucin !loqueado: al iniciar una operacin de 1/-, al realizar
una operacin 9"%: sobre un semforo a cero en el tema de
procesos concurrentes se estudiarn los semforos$.
! De ejecucin 5isto: por ejemplo, en un sistema de tiempo
compartido, cuando el proceso que ocupa la C'0 lleva demasiado
tiempo ejecutndose continuamente agota su cuanto$ el sistema
operativo decide que otro proceso ocupe la C'0, pasando el proceso
que ocupaba la C'0 a estado listo.
! De 5isto en ejecucin: cuando lo requiere el planificador de la C'0
veremos el planificador de la C'0 en el tema de planificacin de
procesos$.
! De !loqueado 5isto: se dispone del recurso por el que se ,ab*a
bloqueado el proceso. 'or ejemplo, termina la operacin de 1/-, o se
produce una operacin -%+;"5 sobre el semforo en que se bloque
el proceso, no ,abiendo otros procesos bloqueados en el semforo.
P!ni&i$$i*n )e #ro$e"o"
<
5a 'lanificacin consiste en un conjunto de pol*ticas y mecanismos
incorporados al sistema operativo y por los que se rige el orden en que se
completa el trabajo que se ,ay que realizar. -u objetivo principal es optimizar
el rendimiento del sistema.
5a planificacin del procesador es la asignacin de los procesadores f*sicos
a los procesos. 5a parte del sistema operativo encargada de tomar esta
decisin se denomina planificador y el algoritmo que se utiliza se llama
algoritmo de planificacin o disciplina.
"
http://wwwdi.u#aen.es/~lina/$emasS%/&'()*)+)%*,+%*$-%.&'P-%+'S%/1/20ueesunproces
o.'stado/$ransiciones.htm
1
es.geocities.com/wuilane/IUNAV/SO/InformeI/Procesos.pdf
1ntre los objetivos de la planificacin de procesos tenemos:
-er justo
)a2imizar la capacidad de ejecucin
)a2imizar el numero de usuarios interactivos recibiendo unos tiempos
de respuesta aceptables
1quilibrar el uso de recursos
5ograr un equilibrio entre respuesta y utilizacin
1vitar la postergacin indefinida
"segurar las prioridades
Dar preferencia a los procesos que mantienen recursos no
compartidos.
'5";%3%C"C%#; "'&#'%":%=" 3&1;:1 " ;# "'&#'%":%="
'5";%3%C"C%#; ;# "'&#'%":%=":
0na vez se le ,a asignado a la C'0
un proceso, ya no se puede retirar.
=entajas:
! 1s ms fcil predecir los
tiempos de respuesta.
%nconvenientes:
! 5os trabajos largos ,acen
esperar a los cortos
'5";%3%C"C%#; "'&#'%":%=":
-i se puede retirar un proceso de la
C'0 estando en ejecucin.
=entajas:
! >tiles en sistemas cuyos
procesos de alta prioridad
requieren atencin rpida?
! 'ermiten obtener tiempos de
respuesta aceptables.
%nconvenientes:
! Conllevan un coste debido al
intercambio de conte2to?
! &equieren sobrecarga debido
a la necesidad de mantener en
memoria principal programas
que no e estn ejecutando.
Co!" )e P!ni&i$$i*n:
Conforme los procesos ingresan en el sistema, se colocan en una
cola de trabajo. 1sta cola incluye todos los procesos del sistema.
5os procesos que estn en la memoria principal listos y esperando
para ejecutarse se mantienen en una lista de procesos listos.
P!ni&i$)ore"
'lanificadores a 5argo 'lazo:
1scoge procesos para ser cargados en memoria para que se ejecuten,
Controla el grado de multiprogramacin, es decir, el n8mero de procesos
que estn en memoria.
5os procesos pueden describirse como limitados por 1/- o limitados por
C'0.
5imitados por 1/-: 1s uno que dedica la mayor parte de su tiempo a
operacin de 1/- y menos a realizar clculos.
5imitador por C'0: +enera solicitudes de 1/- con poca frecuencia y
dedica ms de su tiempo a realizar clculos que un proceso limitado por
1/-.
1s importante que el planificador a largo plazo escoja una buena mezcla
de procesos limitados por 1/- y limitados por C'0
'lanificador a Corto 'lazo:
1scoge entre los procesos que estn listos para ejecutarse y asigna la
C'0 a uno de ellos.
'lanificador a )ediano 'lazo:
'uede ocurrir que todos los procesos en memoria est/n bloqueados,
desperdicindose as* la C'0. 'or 5o cual resulta necesario el intercambio
de procesos entre la memoria principal y la memoria secundaria
s.aping$
Con$e#to" I'#ortnte"
+
'orcentaje de utilizacin de la C'0 por procesos de usuario. 5a
C'0 es un recurso caro que necesita ser e2plotado, los valores
reales suelen estar entre un <@A y un B@A.
&endimiento t,roug,put$ C n8mero de rfagas por unidad de
tiempo. -e define una rfaga como el per*odo de tiempo en que un
proceso necesita la C'0? un proceso, durante su vida, alterna
rfagas con bloqueos. 'or e2tensin, tambi/n se define como el
n8mero de trabajos por unidad de tiempo.
2
http://wwwdi.u#aen.es/~lina/$emasS%/P.3*)()+3+)%*&'P-%+'S%S/43lgoritmosdePlanificacio
n).htm
:iempo de espera 1$ C tiempo que una rfaga ,a permanecido en
estado listo.
:iempo de finalizacin 3$ C tiempo transcurrido desde que una
rfaga comienza a e2istir ,asta que finaliza. 3 C 1 D t t C tiempo
de C'0 de la rfaga$.
'enalizacin '$ C 1 D t / t C 3 / t, es una medida adimensional que
se puede aplicar ,omog/neamente a las rfagas
independientemente de su longitud.

1n general, ,ay que ma2imizar los dos primeros parmetros y minimizar los
tres 8ltimos. -in embargo, estos objetivos son contradictorios, el dedicar ms
tiempo de C'0 a los usuarios se ,ace a costa de llamar menos al algoritmo
de planificacin menos cambios de proceso$, y de simplificarlo. 1sto provoca
que la C'0 se reparta menos equitativamente entre los procesos, en
detrimento de los 8ltimos tres parmetros.
"s* pues, dependiendo de los objetivos se elegir cierto algoritmo. 1n los
sistemas por lotes suele primar el rendimiento del sistema, mientras que en
los sistemas interactivos es preferible minimizar, por ejemplo, el tiempo de
espera.
A!,orit'o" )e #!ni&i$$i*n

6
3irstECome, 3irst -erved 3C3-$
5a pol*tica ms simple de planificacin es la FCFS. " medida que un proceso
pasa al estado listo, este es agregado a la cola de listos. Cuando el proceso
que actualmente est ejecutando cesa su ejecucin entonces el proceso ms
viejo en la cola es seleccionado para correr. 5a implementacin de esta
pol*tica es a trav/s de colas FIFO First!In" First!Out$. Cuando el C'0 est
libre, /ste es asignado al proceso que est en la cabeza de la cola.
FCFS es un algoritmo nonpreempti#e, pues una vez que el C'0 es asignado
a un proceso, este lo mantiene ,asta que espontneamente lo suelta, ya sea
porque el proceso finaliz o por alg8n requerimiento de 1/-.
1l tiempo de espera bajo esta pol*tica tiende a ser alto. "dems, tiende a
favorecer aquellos procesos que requieren ms tiempo de C'0 C$U!
%ound$. Consideren el caso donde tenemos una coleccin de procesos. 0no
4
http://www.ldc.us5.ve/~spd/&ocencia/ci!"621/$ema1/node6.html
de ellos utiliza ms C'0 que los otros, y el resto de los procesos requieren
ms trabajo de 1/- I/O!%ound$. Cuando el proceso C$U!%ound ejecuta, los
otros procesos esperan. "lgunos de estos estarn en las colas de los
dispositivos de 1/- pero eventualmente en alg8n instante pasarn a la cola
de procesos listos. 1n este momento, muc,os de los dispositivos de 1/-
estarn ociosos. Cuando el proceso en ejecucin deje el estado &unning, los
procesos I/O!%ound pasarn a ejecutar y rpidamente volvern a bloquearse
en espera de 1/-. -i el proceso C$U!%ound se encuentra bloqueado,
entonces el procesador estar ocioso. 'or lo tanto, FCFS puede ocasionar
un uso indeficiente tanto del procesador como de los dispositivos de 1/-.
'roceso :iempo
de
llegada
:iempo
de
-ervicio
:iempo
de
Comienzo
:iempo de
3inalizacin
:urnaround :iempo
de
1spera
" @ 4 @ 4 4 @
! 4 4@@ 4 4@4 4@@ @
C 7 4 4@4 4@7 4@@ 4@4E
7CBB
D F 4@@ 4@7 7@7 4BB 4@7E
FCBB
'romedio 4@@ <B.G@
'roceso :iempo
de
llegada
:iempo
de
-ervicio
:iempo
de
Comienzo
:iempo de
3inalizacin
:urnaround :iempo
de
1spera
! @ 4@@ @ 4@@ 4@@ @
D 4 4@@ 4@@ 7@@ 4BB 4@@E
4CBB
" 7 4 7@@ 7@4 7@4E7C4BB 7@@E
7C4BH
C F 4 7@4 7@7 7@7EFC4BB 7@4E
FC4BH
'romedio 7F7 47F.G@
1l tiempo promedio de espera bajo una pol*tica 3C3- generalmente no es
m*nimo y puede variar sustancialmente si ,ay muc,a diferencia entre las
duraciones de ciclo de los procesos.
1n el segundo ejemplo, se presenta un efecto con#o' donde los procesos
esperan a que un proceso grande deje el C'0
-,ortestE-earc,E3irst --3$
1ste algoritmo selecciona al proceso con el pr2imo tiempo de ejecucin ms
corto. 0n proceso corto saltar a la cabeza de la cola. 5a ejecucin de un
proceso consiste en ciclos de ejecucin de C'0 y ciclos de espera por 1/-.
1l algoritmo selecciona aquel proceso cuyo pr2imo ciclo de ejecucin de
C'0 sea menor. 1l problema est en conocer dic,os valores, pero podemos
predecirlos usando la informacin de los ciclos anteriores ejecutados.
--3
'roceso :iempo
de
llegada
:iempo
de
-ervicio
:iempo
de
Comienzo
:iempo de
3inalizacin
:urnaround :iempo
de
1spera
" @ H @ H H @
! 4 < H 47 47E4C44 HE4CI
C 7 B 4I 7J 7JE7C7< 4IE7C4G
D F G 47 4I 4IEFC4< 47EFCB
'romedio 4<.7G 4@.FF
3C3-
'roceso :iempo
de
llegada
:iempo
de
-ervicio
:iempo
de
Comienzo
:iempo de
3inalizacin
:urnaround :iempo
de
1spera
" @ H @ H H @
! 4 < H 47 47E4C44 HE4CI
C 7 B 47 74 74E7C4B 47E7C4@
D F G 74 7J 7JEFC7F 74EFC4H
'romedio 7@.FF 44.JJ
1l --3 es probablemente mas optimo pues da el m*nimo tiempo promedio de
espera. 1l problema est en conocer la duracin del pr2imo requerimiento
de C'0 para cada proceso. 1sta duracin puede predecirse suponiendo que
el pr2imo ciclo puede ser similar a los anteriores.
1ste algoritmo puede ser preemptive o no. Cuando un nuevo proceso llega a
la cola de procesos listos mientras otro se est ejecutando, el nuevo proceso
puede tener el ciclo de duracin de C'0 ms corto que lo que falta por
ejecutar del proceso actual. 1n el caso de un esquema preemptive, el C'0
ser asignado al proceso que acaba de llegar a la cola. 1ste algoritmo se
conoce Como S(ortest &emaining )ime First *S&)F+.
-&:3 -,ort &emaining time first$
%gual al anterior, e2cepto por que si un nuevo proceso pasa a listo y es ms
cort que lo que queda por ejecutar del proceso en ejecucin, el proceso en
ejecucin pasa a listo y el nuevo a ejecucin.
'rioridad
1n muc,os sistemas, los procesos tienen prioridades asignadas, y el
planificador escoger aquel proceso con mayor prioridad.
Cuando un proceso debe ser seleccionado, el planificador por prioridades
seleccionar aquel proceso que tenga mayor prioridad. -i ,ay ms de un
proceso entonces se deber seguir alguna pol*tica de seleccin.
0n problema que presenta un esquema de planificacin por prioridades puro
es que los procesos con la prioridad ms baja pueden sufrir de inanici,n o
bloqueo indefinido. 0n proceso que est listo para correr pero espera porque
siempre ,ay procesos con prioridad ms alta.
'ara evitar este problema, se puede ir incrementando gradualmente la
prioridad de los procesos en#e-ecimiento+.
-K3 es un caso especial de planificacin por 'rioridad, donde la prioridad es
el inverso del valor estimado del pr2imo ciclo de C'0 a menor ciclo, mayor
prioridad$.
'roces
o
:iem
po de
llega
da
'riorid
ad
:iempo
de
-ervici
o
:iempo
de
Comienz
o
:iempo
de
3inalizaci
n
:urnaro
und
:iempo
de
1spera
" @ 7 H @ H H @
! 4 4 < 77 7J 7JE4C7G 77E4C74
C 7 < B H 4I 4IE7C4G HE7C J
D F 7 G 4I 77 77EFC4B 4IEFC4<
'romedi
o
4J.IG 4@.7G
1ste algoritmo puede ser preemptive y nonpreemptive. 1n el caso de
preemptive, cuando un proceso llega a la cola de procesos listos, su
prioridad es comparada con la prioridad del proceso que est corriendo. -i la
prioridad del nuevo proceso es mayor, entonces se atiende al nuevo proceso.
&ound &obin
0na manera rpida de reducir la penalizacin que los procesos cortos sufren
con FCFS es usar e2propiacin basada en un reloj. 0na interrupcin de reloj
es generada a intervalos peridicos. Cuando ocurre la interrupcin, el
proceso en ejecucin es colocado en la cola de procesos listos y el pr2imo
trabajo es seleccionado basado en el esquema FCFS. " cada proceso se le
da un tro.o de tiempo.
5a principal decisin de dise(o que surge con &ound &o%in es el tama(o del
trozo o /uantum. -i el /uantum es muy corto, entonces los procesos se
movern a trav/s del sistema rpidamente. 'or otro lado, ,ay un cierto
o#er(ead o desperdicio de tiempo envuelto con el manejo de la interrupcin
de reloj y las funciones de planificacin y despac,o. 'or lo tanto /uanta muy
peque(os deber*an evitarse. 0na alternativa es usar un /uantum de tiempo
que sea un poco ms grande que el tiempo promedio requerido para una
interaccin t*pica.
&ound &o%in es particularmente efectivo para sistemas generales de tiempo
compartido. -e implementa con una cola FIFO de procesos. ;uevos
procesos son agregados al final de la cola, y toma el proceso que se
encuentra en la cabeza de la cola. "ctualiza el timer para que interrumpa
despu/s del quantum de tiempo.
1l desempe(o de este algoritmo depender del tama(o del quantum. -i el
quantum es infinito entonces degenera en 3C3-. -i el quantum es muy
peque(o entonces &ound &obin es llamado comparticin de C'0 y en teor*a
pareciera que cada proceso tiene su propio procesador corriendo a 4/n la
velocidad del procesador real.
!ajo este esquema es importante considerar el efecto del cambio de
conte2to.
&ound &obin && qCF$
'roceso :iempo
de
llegada
:iempo
de
-ervicio
:iempo
de
Comienzo
:iempo de
3inalizacin
:urnaround :iempo
de
1spera
" @ H @, 47, 74 F, 4G, 7F 7F 4G
! 4 < F, 4G J, 4J 4JE4C4G 44
C 7 B J, 4J, 7F B, 4B, 7J 7JE7C7< 4G
D F G B, 4B 47,74 74EFC4H 44
'romedio 7@ 4F
DESARROLLO DE LA PR-CTICA
De"$ri#$i*n
" partir de dos ejemplos presentados en la gu*a se solicita realizar el cdigo
fuente para aplicar el algoritmo de planificacin de proceso de camino de
menor tiempo -&:;? tambi/n se solicita que se compare los algoritmos de
planificacin 3C3-, --3 y del elevador en un situacin planteada para
encontrar cual es el ms optimo.
Eje'#!o 1:
Consideremos un sistema operativo que le llegan dos trabajos, 94 imprimir
un documento y 97 leer un CD, cada uno tiene un tiempo de ejecucin total
de 4@ y 7 unidades de tiempo respectivamente, si llegan seguido uno del otro
en el orden 94 y 97, los tiempos de retornos son 4@ y 47 unidades de
tiempo respectivamente, 97 debe esperar a que 94 termine de ejecutarse,
obteni/ndose as* un tiempo promedio de 44 unidades de tiempo? los tiempos
de espera correspondiente son @ y 4@ unidades, resultando un promedio de G
unidades de tiempo, sin embargo si los dos mismos trabajos llegan en el
orden opuesto 97 y 94, el tiempo de retorno medio cae a J unidades y el
tiempo de espera es de solo 4 unidad de tiempo.
//"5+#&%:)# D1 '5";%3%C"C%#; 3C3-
L includeMstdio.,N
L includeMconio.,N
L define :") G@
float 9O:")P, :O:")P, :rO:")P, :eO:")P, sumr, sume, 2, y, n?
float promr, prome?
void main void$
Q
clrscr$?
printf R Cuantos trabajos desea procesarS R$?
scanf RAfR,Tn$?
clrscr$?
for 2C4?2MCn?2DD$
Q
9O2PC2?
printf RDigite el tiempo de ejecucin del trabajo A.f R,2$?
scanfRAfR,T:O2P$?
U
clrscr$?
//:%1)'# D1 &1:#&;#
:rO4PC:O4P?
for 2C7?2MCn?2DD$
Q
:rO2PC:rO2E4PD:O2P?
U
//:%1)'# D1 1-'1&"
:eO4PC@?
for 2C7?2MCn?2DD$
Q
:eO2PC:rO2E4P?
U
for 2C4?2MCn?2DD$
Q
sumrCsumrD:rO2P?
sumeCsumeD:eO2P?
U
promrCsumr/n?
promeCsume/n?
printf RVt :&"!"K#- Vt :%1)'# Vt : &1:#&;# Vt : 1-'1&" VnR$?
for 2C4?2MCn?2DD$
Q
printf RVt A.f VtVt A.f VtVt A.f VtVt A.fVnR,9O2P,:O2P,:rO2P,:eO2P$?
U
printf R1l 'romedio de :iempo de &etorno es: A.4fVn1l 'romedio de :iempo
de 1spera es: A.4fR,promr,prome$?
getc,$?
U
C*)i,o )e! A!,orit'o SRTN
Ldefine co coutMM
Ldefine go goto2y
Ldefine g getc,$
Ldefine t7 go<@,<G$?coutMMR#'&%)" O1;:1&PR?g?go7,7@$?coutMMR
R
int aO4GP,bO4GP,nC4G?
int i,col, j, 6,au2,posWmenor,menor$?
int opcion, marcaC@?
void leervoid$?
void seleccionvoid$?
void insercionvoid$?
void ord%nsercionvoid$?
void burbujavoid$?
void visualizarovoid$?
void visualizarnvoid$?
void mpvoid$?
void m7void$?
void quic6sort int aOP, int inf, int sup$?
void main$
Q
clrscr$?
go7@,7F$? coutMMR%;%C%";D# '&#+&")" #'&%)" 0;" :1C5"R$?
getc,$?t7?
mp$?
U
//menu principal
void mpvoid$
Q
te2tcolor4G$?
te2tbac6ground4$?
clrscr$?
do
Q
clrscr$?
printfRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXV
nVnVnR$?
printfRXXXXXXXXXXXXXXXXXXXXXXXXXXXXX "5+#&%:)# -:&;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVnVnVnR$?
printfR O4P D%+%:1 '&#C1-#- " #&D1;"&VnVnR$?
printfR O7P =%-0"5%Y"& 5#- '&#C1-#- #&%+%;"51-VnVnR$?
printfR OFP =%-0"5%Y"& 5#- '&#C1-#- #&D1;"D#- VnVnR$?
printfR O<P #&D1;"& 5#- '&#C1-#- -1+0; 15
"5+#&%:)# -:&;VnVnR$?
printfR OGP -"5%& D15 '&#+&")"VnVnVnR$?
printfR -151CC%#;1 5" #'C%#; D1-1"D".....R$?
scanfRAdR,Topcion$?
s.itc,opcion$Q
case 4: leer$?
brea6?
case 7: ifmarcaCC@$Q
clrscr$?
goto2y4@,47$? printfR'&%)1&# C"':0&1 5#- '&#C1-#- "
#&D1;"&Z VnR$?
t7?
U
else
visualizaro$?
brea6?
case F: ifmarcaCC4$Q
visualizarn$?
brea6?
U
else
clrscr$?
goto2y4@,47$? printfR'&%)1&# D%+%:1 5" #'C%#; < D15 )1;0
'&%;C%'"5Z R$?
t7?
brea6?
case <: ifmarcaCC@$Q
clrscr$?
goto2y4@,47$? printfR'&%)1&# 5#- '&#C1-#- " #&D1;"&Z
VnR$?
t7?
brea6?
U
else
m7$?
brea6?
case G: clrscr$?
goto2y4@,47$? printfR1; '&#C1-# D1 -"5%D"..........R$?
getc,$?
e2it4$?
U
U
.,ileopcionZCG$?
U
//captura elementos de la lista
void leer$
Q
clrscr$?
marcaC7?
go4@,J$?coRC0";:#- '&#C1-#- [0%1&1 R$?cinNNn?
ifnM4 \\ nN4G$
Q
go4@,4@$?coR-#5# D%+%:1 D1 4 " 4G 151)1;:#-R?
t7?
leer$?
U
else
Q
forcolC4@,iC@? iMn? iDD,colDCJ$
Q
go4@,J$?coR%;:&#D0C1 5#- :%1)'#- D1 5#- '&#C1-#- R$?
gocol,4@$?cinNNaOiP?
bOiPC aOiP?
U
U
t7?
U
//visualiza lista capturada
void visualizaro$
Q
clrscr$?
printfRVnVnVnVn'&#C1-#- " #&D1;"& VnVnR$?
for6C@? 6Mn? 6DD$Q
printfROAdP R, bO6P$?
U
getc,$?
U
//visualiza lista ordenada
void visualizarn$Q
clrscr$?
printfRVnVnVnVn'&#C1-#- #&D1;"D#- VnVnR$?
for6C@? 6Mn? 6DD$Q
printfROAdP R, aO6P$?
U
getc,$?
U
//menu de ordenamientos
void m7$Q
te2tcolor4G$?
te2tbac6ground4$?
clrscr$?
do
Q
clrscr$?
printfR O4P )1:#D# !0&!0K"VnVnR$?
printfR O7P )1:#D# '#& -151CC%#;VnVnR$?
printfR OFP )1:#D# '#& %;-1&C%#;VnVnR$?
printfR O<P )1:#D# [0%C]-#&:VnVnR$?
printfR OGP )1;0 '&%;C%'"5VnVnVnR$?
printfR -151CC%#;1 5" #'C%#; D1-1"D".....R$?
scanfRAdR,Topcion$?
s.itc,opcion$Q
case 4: burbuja$?clrscr$?
goto2y4@,47$? printfR'&#C1-#- #&D1;"D#-Z R$?
t7?
mp$?
brea6?
case 7: seleccion$?clrscr$?
goto2y4@,47$? printfR'&#C1-#- #&D1;"D#-Z R$?
t7?
mp$?
brea6?
case F: ord%nsercion$?clrscr$?
goto2y4@,47$? printfR'&#C1-#- #&D1;"D#-Z R$?
t7?
mp$?
brea6?
case <: quic6sorta,@,G$?clrscr$?
goto2y4@,47$? printfR'&#C1-#- #&D1;"D#-Z R$?
t7?
mp$?
brea6?
case G: mp$?
brea6?
U
U
.,ileopcionZCG$?
U
//ordenamiento
void burbuja$
Q
foriC@? iMn? iDD$
Q
forjC@? jMnE4? jDD$
Q
ifaOjPNaOjD4P$
Q
au2C aOjP?
aOjPC aOjD4P?
aOjD4PC au2?
U
U
U
marcaC4?
U
//ordenamiento
void seleccion$
Q
foriC@? iMn? iDD$
Q
posWmenorCmenor$?
au2C aOiP?
aOiPC aOposWmenorP?
aOposWmenorPCau2?
U
marcaC4?
U
int menor$
Q
int menor,i,desde?
menorCdesdeDD?
foriCdesde?iMn?iDD$
ifaOiPMaOmenorP$
menorCi?
return menor?
U
//ordenamiento
void insercion$
Q
foriC4? iMn? iDD$
Q
au2C aOiP?
forjCiE4?jNC@$TTau2MaOjP$?jEE$
aOjD4PCaOjP?
aOjD4PCau2?
U
marcaC4?
U
//ordenamiento
void ord%nsercion $
Q // int i, j, au2?
for i C 4? i M n? iDD$ /X 1l *ndice j e2plora sublista aOiE4P..aO@P buscando
posicin correcta del elemento destino, para asignarlo en aOjP X/
Q j C i?
au2 C aOiP? /X se localiza el punto de insercin e2plorando ,acia
abajo X/
.,ile j N @ TT au2 M aOjE4P$ /X desplazar elementos ,acia arriba
para ,acer espacio X/
Q aOjP C aOjE4P?
jEE?
U
aOjP C au2?
UmarcaC4?
U
void quic6sortint aOP,int inf,int sup$
Q
int conC4,iCinfE4,jCsup?
int elemWdivCaOsupP,au2?
ifinfNCsup$
return?
.,ilecon$
Q
.,ileaODDiPMelemWdiv$?
.,ileaOEEjPNelemWdiv$?
//printfRAdR,$
ifi M j$
Q
au2CaOiP?
aOiPCaOjP?
aOjPCau2?
U
else
conC@?
U
au2CelemWdiv?
elemWdivCaOiP?
aOiPCau2?
aOsupPCelemWdiv?
/Xau2CaOsupP?
aOsupPCaOiP?
aOiPCau2? X/
quic6sorta,inf,iE4$?
quic6sorta,iD4,sup$?
marcaC4?
U
'arte 7
#tro de los recursos importantes es el disco duro, en el cual se almacena la
informacin en pista a las que se tiene acceso mediante el movimiento del
brazo, en el ejemplo siguiente se ilustra como se realiza el movimiento del
brazo del disco mediante el algoritmo de planificacin 3C3-, luego se ilustra
una situacin similar a la que se le deber plantear la situacin.
Eje'#!o .:
-e tiene un disco duro con <@ cilindros y las siguientes solicitudes. 5ectura
del cilindro 44, mientras se busca en el cilindro 44, llegan nuevas solicitudes,
lectura de los cilindros 4,7<,4H,F<,B,4< en ese orden? estos valores entran en
la tabla de solicitudes pendientes, como una lista ligada aparte para cada
cilindro, como se observa en la figura 4, cuando termina la solicitud el
manejador del disco tiene la opcin de elegir la siguiente solicitud a la cual
dar paso, con el algoritmo de primero en llegar, primero en despac,ar o
3C3-, podr*a pasar al cilindro 4, despu/s a l7<, al 4H y as* sucesivamente.
1ste algoritmo mover el brazo de 4@, 7F, J, 4J, 7G y G respectivamente,
para un total de HG cilindros recorridos, este proceso se observa en la figura
4.
-olicitud
cilindros
44 4 7< 4H F< B 4< :otal
)ovimiento
brazo disco
4@ 7F J 4J 7G G HG
cilindros
Pro$e)i'iento
-ituacin a -olucionar:
-e tiene un disco de H@ cilindros y llegan las siguientes solicitudes, lectura de
cilindro 4H, mientras se busca el llegan otras solicitudes lectura de los
cilindros 7, F7, 4J, FH, J<, 7H, 4<, 77, y J, ilustrar para cada uno de los
algoritmos de manejo del brazo del disco, 'rimero en llegar primero en
despac,ar 3C3-, primero la b8squeda mas corta --3? algoritmo de
planificacin del levador, la solucin de este planteamiento, deduciendo cual
de los tres algoritmos es el mas optimo para este caso.
E!e'ento" (ti!i/)o"
#rdenador con sistema operativo 9indo.s y C %nstalado.
Re"(!t)o" obteni)o"
"lgoritmo 3C3-:
'roceso #rden de
llegada
:iempo de
-ervicio
:iempo de
&etorno
:iempo de
1spera
" @ 4@ 4@ @
! 4 7 47 4@
'romedio 44 G
'roceso #rden de
llegada
:iempo de
-ervicio
:iempo de
&etorno
:iempo de
1spera
! @ 7 7 @
" 4 4@ 47 7
'romedio I 4
"lgoritmo -&:;
1l algoritmo primero ,ace la b8squeda u ordenamiento de los tiempos ,asta
encontrar el menor, que para el ejemplo quedar*a de la siguiente manera:
! "
7 4@
#bteniendo los resultados de la siguiente tabla, este algoritmo es mas eficaz
que el 3C3-, dando tiempos de retorno y espera mas cortos.
'roceso #rden de
llegada
:iempo de
-ervicio
:iempo de
&etorno
:iempo de
1spera
" @ 4@ 47 7
! 4 7 7 @
'romedio J I 4
'arte 7
"lgoritmo 3C3-:
-olicitud
Cilindros
4H 7 F7 4J FH J< 7H 4< 77 J :otal
)ovimiento
brazo disco
4J 4J @ FH 7J 7 47 4@ < 47<
cilindros
"lgoritmo --3
-olicitud
Cilindros
4H 7 F7 4J FH J< 7H 4< 77 J :otal
#rden
ejecucin
4H 4J 4< J 7 77 7H F7 FH J<
)ovimiento
brazo disco
7 7 H < 4H J < J 7J IJ
cilindros
1l algoritmo SSF tiene el siguiente pro%lema:
1l ingreso de nuevas solicitudes puede demorar la atencin de las
ms antiguas.
Con un disco muy cargado, el brazo tender a permanecer a la mitad
del disco la mayor*a del tiempo, como consecuencia de ello las
solicitudes lejanas a la mitad del disco tendrn un mal servicio.
1ntran en conflicto los objetivos de:
:iempo m*nimo de respuesta.
Kusticia en la atencin.
"lgoritmo del 1levador
-olicitud
Cilindros
4H 7 F7 4J FH J< 7H 4< 77 J :otal
#rden
ejecucin
4H 77 7H F7 FH J< 4J 4< J 7
)ovimiento
brazo disco
< J < J 7J <H 7 H < 4@H
cilindros
1l algoritmo del ele#ador:
#casionalmente es mejor que el algoritmo --3.
+eneralmente es peor que --3.
Dada cualquier lista de solicitudes, la cuota m2ima del total de
movimientos est fija, siendo el doble del n8mero de cilindros.
0na variante consiste en rastrear siempre en la misma direcci,n:
5uego de servir al cilindro con el n8mero mayor:
1l brazo pasa al cilindro de n8mero menor con una solicitud pendiente.
Contin8a su movimiento ,acia arriba.
CONCLUSIONES
12isten varias maneras de como ejecutar peticiones procesos$, esos
se realizar por medio de algoritmos.
1n el algoritmo 3C3- dependiendo del orden de llegada y el tiempo de
ejecucin de cada proceso dependern los tiempos de espera y de
respuesta de la ejecucin general.
1l algoritmo 3C3- trabaja implementando una cola de peticiones.
^ay algoritmos ms eficientes que otros, por ejemplo, el ms corto
primero --3$ es el ms ptimo de los vistos en esta prctica.
5os algoritmos de planificacin de peticiones de lectura y escritura a
discos se encargan de registrar dic,as peticiones y de responderlas
en un tiempo razonable.
5a planificacin de peticiones es importante en sistemas operativos
porque de ella depende en gran parte la eficiencia y el control del
mismo.
BIBLIOGRA0IA
%da ). 3lynn, "nn )c%ver )c^oes. -istemas #perativos, Cengage
5earning _ 7@@4.
:";1;!"0), -. "ndre., 9##D^055, "lbert -. 4BBI$. Sistemas
Operati#os. 0ise1o e implementaci,n. )/2ico: 'rentice ^all.
CA&&2)2&O $2&23" 4es5s" 6A&CIA CA7A882I&A" F9li:"
ANASA6AS)I" $edro de ;iguel" $2&23 COS)O<A" Fernando
*=>>?+. Sistemas Operati#os. ;adrid: ;c 6raw @ill.
$Aginas Be%
....monografias.com
.....i6ipedia.com

Você também pode gostar