sistemas operativos inf - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8....

42
Sistemas Operativos Sistemas Operativos INF - 151 INF 151 MODULO IV. ENTRADA Y SALIDA 4 1 Algoritmos 4.1 Algoritmos Continuación……………………. Resumen preparado por Miguel Cotaña

Upload: others

Post on 13-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Sistemas OperativosSistemas OperativosINF - 151INF 151

MODULO IV. ENTRADA Y SALIDA4 1 Algoritmos4.1 AlgoritmosContinuación…………………….

Resumen preparado por Miguel Cotaña

Page 2: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Algoritmos para calendarizar el brazo del discoAlgoritmos para calendarizar el brazo del disco

Consideraremos el tiempo que toma leer

Algoritmos para calendarizar el brazo del discoAlgoritmos para calendarizar el brazo del disco

o escribir un bloque de disco. El tiemporequerido está determinado por 3q pfactores:

1 Tiempo de desplazamiento (seek time:1. Tiempo de desplazamiento (seek time:el tiempo que tarda el movimiento delbrazo hasta el cilindro correcto)brazo hasta el cilindro correcto)

2. Retrazo rotacional (el tiempo quetarda el sector correcto en girar hastacolocarse bajo la cabeza)

23. Tiempo real de transferencia de datos

Page 3: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Si el controlador de disco aceptasolicitudes una por una y las ejecuta enese orden es decir primera que llegaese orden, es decir, primera que llega,primera que se atiende (FCFS; first-

fi t d) dcome, first-served), poco puedehacerse para optimizar el tiempo dedesplazamiento. Sin embargo, si el discoestá sometido a una carga intensa,está sometido a una carga intensa,podría utilizase otra estrategia.

3

Page 4: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Es muy probable que mientras el brazose está desplazando para atender unasolicitud otros procesos generen otrassolicitud, otros procesos generen otrassolicitudes de disco.M h j d d di tiMuchos manejadores de disco mantienenuna tabla, indizada por número decilindro, con todas las solicitudespendientes para cada cilindro,pendientes para cada cilindro,encadenadas en una lista enlazada

b d l t d d l t bl4

encabezada por las entradas de la tabla.

Page 5: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Dado este tipo de estructura de datos,podemos mejorar el algoritmo dep j gcalendarización de primera que llega,primera que se atiendeprimera que se atiende.Considerar un disco imaginario con 40cilindros. Llega una solicitud para leer unbloque en el cilindro 11.qMientras el brazo se está desplazando alcilindro 11 llegan nuevas solicitudes paracilindro 11, llegan nuevas solicitudes paralos cilindros 1, 36, 16, 34 9 y 12, en ese

5orden

Page 6: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Estas solicitudes se colocan en la tabla desolicitudes pendientes, con una listaenlazada distinta para cada cilindroenlazada distinta para cada cilindro.Cuando termina la solicitud actual (quepidió el cilindro 11), el controlador dedisco puede escoger cuál solicitudp gatenderá a continuación.Si usa FCFS se dirigirá ahora al cilindroSi usa FCFS, se dirigirá ahora al cilindro1, luego al 36, y así sucesivamente.Requeriría movimientos del brazo de 10,35, 20, 18, 25 y 3, para un total de 111

6

, , , y , pcilindros

Page 7: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

DISCOS (Planificación del brazo: FCFS)¡ C l d ti i

• Ejemplo: Posición actual: cilindro 11Llegan peticiones: 1, 36, 16, 34, 9 ,12

¡ Colas de peticiones pendientes por

cilindro !

0 1 9 11 12 16 34 36X XX XX X

10

3535

201818

25

3

7¡ En total se atraviesan 111 cilindros !

Page 8: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Como alternativa, el controlador de,dispositivo podría atender siempre acontinuación la solicitud más cercanacontinuación la solicitud más cercana,para así minimizar el tiempo dedesplazamiento.Dadas las solicitudes del gráfico anterior,g ,la sucesión será 12, 9, 16, 1, 34 y 36,como indica el zigzagcomo indica el zigzag.

8

Page 9: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Con esta sucesión, los movimientos del,brazo son de 1, 3, 7, 15, 33 y 2, para untotal de 61 cilindrostotal de 61 cilindros.Este algoritmo, desplazamiento máscorto primero (SSF; Shortest SeekFirst), recorta el movimiento total del),brazo casi a la mitad, en comparacióncon FCFScon FCFS.

9

Page 10: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

DISCOS (Planificación del brazo: SSF “Shortest Seek First”)

• • • • •

0 1 9 11 12 16 34 36

X X X X X X

0 1 9 11 12 16 34 36

posición actual(1)

(3)

(7)

(15)

( )(33)(2)

¡ En total se atraviesan 61 cilindros !

10INJUSTICIA + INANICIÓN

Page 11: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Lamentablemente SSF tiene unbl S i d iproblema. Suponiendo que siguen

llegando más solicitudes mientras seestán procesando las solicitudes. Porejemplo, si después de desplazarse alejemplo, si después de desplazarse alcilindro 16 hay una nueva solicitud parael cilind o 8 esta solicit d tend áel cilindro 8, esta solicitud tendráprioridad respecto al cilindro 1. Si luegollega una solicitud para el cilindro 13, elbrazo se dirigirá al 13, no al 1.

11

brazo se dirigirá al 13, no al 1.

Page 12: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Si el disco está sometido a una cargad l b t d ápesada, el brazo tenderá a permanecer

en la parte media del disco casi todo eltiempo, y las solicitudes para ambosextremos tendrán que esperar hasta queextremos tendrán que esperar hasta queuna fluctuación estadística en la cargaocasione q e no ha a ning na solicit docasione que no haya ninguna solicitudcerca de la parte media.Las solicitudes alejadas de la parte mediapodrían recibir mal servicio.

12

podrían recibir mal servicio.

Page 13: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Se debe reducir al mínimo el tiempo derespuesta y de ser equitativos.El problema de calendarizar un elevadorEl problema de calendarizar un elevadorde un edificio es similar al de calendarizar

l b d diel brazo de un disco.Contínuamente llegan solitudes quellaman al elevador a los pisos (cilindros)al azar El ordenador que controla elal azar. El ordenador que controla elelevador podría llevar fácilmente un

i t d l d l li tregistro del orden en que los clientesoprimieron el botón de llamada y

13atenderlos FCFS, también SSF.

Page 14: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Pero, los elevadores utilizan un algoritmodi i ili ldistinto para conciliar las metas opuestasde eficiencia y equitatividad.El elevador continúa avanzando en lamisma dirección hasta que no hayamisma dirección hasta que no hayasolicitudes pendientes en esa dirección.E t bi d di ióEn ese momento, cambia de dirección.Este algoritmo es conocido como elalgoritmo del elevador.

14

Page 15: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Este algoritmo, requiere que el softwaremantenga un bit: el bit de direcciónmantenga un bit: el bit de direcciónactual, SUBE o BAJA.C d t i d t dCuando termina de atenderse unasolicitud, el controlador del disco o delelevador lee el bit. Si es SUBE, el brazo ola cabina se desplaza hasta la siguientela cabina se desplaza hasta la siguientesolicitud pendiente más alta.Si h li it d di tSi no hay solicitudes pendientes enposiciones más altas, se invierte el bit de

15dirección

Page 16: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Empleando las mismas 7 solicitudes delprimer gráfico suponiendo que en unprimer gráfico, suponiendo que en unprincipio que el bit de dirección era SUBE.El d ti d l ili dEl orden en que se atienden los cilindroses 12, 16, 34, 36, 9 y 1, lo cual implicamovimientos del brazo de 1, 4, 18, 2, 27y 8 para un total de 60 cilindrosy 8, para un total de 60 cilindros.En este caso el algoritmo del elevador es

j SSFun poco mejor que SSF.

16

Page 17: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

DISCOS (Planificación del brazo: Elevador )( )

• Idea de sentido: (Sube – Baja) *

• • • • •X X X X X X

0 1 9 11 12 16 34 36

posición actualp

(1) (4)

(18)

(2)(2)

(27)

(8)

Total cilindros atravesados 60

( )

17

Total cilindros atravesados = 60

Page 18: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Una ligera modificación de este algoritmoque tiene menor varianza en los tiemposque tiene menor varianza en los tiemposde respuesta consiste en siempre

l l i di ió Uexplorar en la misma dirección. Una vezque se ha atendido el cilindro de númeromás alto que tenia una solicitudpendiente el brazo se dirige al cilindro dependiente, el brazo se dirige al cilindro denúmero más bajo que tenga una solicitud

di t l ti ú ié dpendiente y luego continúa moviéndosehacia arriba.

18

Page 19: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

DISCOS (Planificación del brazo: Elevador mejorado CSCAN )

• • • • •

0 1 9 11 12 16 34 36

X X X X X X

posición actual

(1) (4)(1) (4)

(18)

(2)( )

(35)

(8)

19Total cilindros atravesados = 68

Page 20: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Manejo de erroresManejo de errores

ó

jj

Los defectos de fabricación introducen sectoresdefectuosos, es decir, sectores que nodevuelven de manera correcta el valor que seacaba de escribir en ellos. Si el defecto es muyypequeño, digamos en unos cuantos bits, esposible usar el sector defectuoso y tan sóloposible usar el sector defectuoso y tan sólodejar que el ECC corrija los errores en cada uso.Si el defecto es mayor no podrá disfrazarse elSi el defecto es mayor, no podrá disfrazarse elerror.

20

Page 21: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Existe dos enfoques para manejar losbloques defectuosos:q

Ocuparse de ellos en lacontroladora ócontroladora, óHacerlo en el SO.

Con el primer enfoque, antes de que eldisco salga de la fábrica se le prueba y sedisco salga de la fábrica se le prueba y seescribe en el disco una lista de sectoresdefectuosos. Cada uno de ellos sesustituye por un sector de repuesto.

21

y p p

Page 22: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

También pueden surgir errores durante elfuncionamiento normal después de quefuncionamiento normal después de quese ha instalado la unidad de disco. La

i lí d d f l tprimera línea de defensa al presentarseun error que el ECC no pueda manejar essimplemente reintentar la operación.Algunos errores de lectura sonAlgunos errores de lectura sontransitorios, es decir, son causados por

tí l d l b j l bpartículas de polvo bajo la cabeza ydesaparcen en el nuevo intento.

22

Page 23: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Si la controladora nota que estáSi la controladora nota que estáobteniendo errores repetidos en cierto

ásector, podrá cambiar a un sector derepuesto antes de que el sector quedep q qinutilizado por completo.Por lo regular es necesario utilizar elPor lo regular es necesario utilizar elmétodo de sustitución del sectord f ddefectuoso por uno de repuesto.

23

Page 24: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

En un segundo enfoque, si lacontroladora no puede ajustar de formacontroladora no puede ajustar de formatransparente la correspondencia entre

t fí i ú d tsectores físicos y números de sectorcomo hemos visto, el SO deberá hacerloen software.Esto implica que primero deberáEsto implica que primero deberáconseguir una lista de sectoresd f t l é d l d l didefectuosos, sea leyéndola del disco otan solo probando él mismo todo el disco.

24

Page 25: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Si el SO se está encargando del ajuste decorrespondencia deberá asegurarse decorrespondencia deberá asegurarse deque no haya sectores defectuosos en los

hi t l li t darchivos y tampoco en la lista o mapa debits de sectores libres. Una forma dehacerlo es crear un archivo secretointegrado por todos los sectoresintegrado por todos los sectoresdefectuosos. Si este archivo no sei l i t d hi lincorpora al sistema de archivos, losusuarios no podrán leerlo

25accidentalmente

Page 26: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Sin embargo, todavía queda unproblema: los respaldos.Si un disco se respalda archivo porp parchivo, es importante que el programade respaldo no trate de copiar el archivode respaldo no trate de copiar el archivode bloques defectuosos. Para evitarlo, elSO tiene que ocultar dicho archivo, paraque ni siquiera un programa de respaldoq q p g ppueda hallarlo.

26

Page 27: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Los sectores defectuosos no son la únicafuente de errores. También puedenpresentarse errores de: desplazamientop pdel brazo causados por problemasmecánicos La controladora se mantienemecánicos. La controladora se mantieneal tanto de la posición del brazo.Para realizar un deplazamiento, lacontroladora envía una serie de pulsos alpmotor del brazo, un pulso por cilindro, afin de trasladar el brazo al nuevo cilindro

27fin de trasladar el brazo al nuevo cilindro

Page 28: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Una vez que el brazo llega a su destino,la controladora lee el número de cilindroreal en el preámbulo del siguiente sector.p gSi el brazo no está en el lugar correcto,se habrá presentado un error dese habrá presentado un error dedesplazamiento.Casi todas las controladoras de discoduro corrigen errores de desplazamientog pen forma automática

28

Page 29: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Por lo que la controladora es unaPor lo que, la controladora es unapequeña computadora especializada,

úcompleta con software, variables, búferesy, de vez en cuando, bugs (errores)y, , g ( )La recalibración de un disco produce unruido raro pero por lo demás no causaruido raro pero por lo demás no causaproblemas en condiciones normales.

29

Page 30: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Almacenamiento estableAlmacenamiento estable

Utiliza un par de disco idénticos en el que losbloques correspondientes colaboran para formarun bloque sin errores. En ausencia de errores,un bloque sin errores. En ausencia de errores,los bloques correspondientes en ambasunidades son iguales Es posible leer cualquieraunidades son iguales. Es posible leer cualquierade ellos y obtener el mismo resultado. Paral l t d fi 3 ilograr la meta, se define 3 operaciones:

Escrituras establesLecturas establesRecuparación después de caidas.

30

Page 31: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

RelojesRelojesRelojesRelojes

Los relojes (temporizadores) sonindispensables para el funcionamiento deindispensables para el funcionamiento decualquier sistema multiprogramado(mantienen la hora del día y evitan queun proceso monopolice la CPU).un proceso monopolice la CPU).El estudio de los relojes se basa en elhardware y en el softwarehardware y en el software.

31

Page 32: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Hardware de relojHardware de reloj

Se construye con 3 componentes:

jj

Un cristal osciladorUn contadorUn contadorUn registro de retención

Cuando un cristal de cuarzo se corta de maneraadecuada y se monta sometido a tensión, puedehacerse que genere una señal periódica de granprecisión, por lo regular del orden de variosp , p gcientos de megahertz, dependiendo del cristalescogido

32

escogido

Page 33: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Utilizando circuitos electrónicos estaUtilizando circuitos electrónicos, estaseñal base puede multiplicarse por unentero pequeño para obtener frecuenciasde hasta 1000 MHz. Todo ordenadorcontiene al menos un circuito de estetipo el cual alimenta una señaltipo, el cual alimenta una señalsincronizadora a los demás circuitos de la

ámáquina

33

Page 34: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Los relojes programables suelen tenerLos relojes programables suelen tenervarios modos de operación:

úModo de disparo únicoModo de onda cuadrada

Cuando el contador llega a cero y causala interrupción entonces estala interrupción, entonces estainterrupciones periódicas se llaman ticsde reloj

34

Page 35: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Software de relojSoftware de reloj

Lo único que hace el hardware de reloj es

jj

generar interrupciones a intervalosconocidos. Todo lo demás relacionado con elconocidos. Todo lo demás relacionado con eltiempo debe efectuarse en software. Lastareas son:tareas son:

1. Mantener la hora al día2 E it j t l2. Evitar que se ejecuten los procesos

durante más tiempo del debido3. Contabilizar el consumo de CPU4. Procesar la llamada al sistema alarm

35emitida por procesos de usuario

Page 36: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

5. Proporcionar temporizadores devigilancia a ciertas partes delg psistema

6 Realizar perfiles supervisión y6. Realizar perfiles, supervisión yrecolección de datos estadísiticos

36

Page 37: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

La primera función del reloj mantener laLa primera función del reloj, mantener lahora del día (tiempo real). Sólo requiereincrementar un contador en cada tic delreloj. Lo único que hay que cuidar es elj q y qnúmero de bits en el contador de la horadel día Con una tasa de reloj de 60 Hzdel día. Con una tasa de reloj de 60 Hz,un contador de 32 bits se desbordará en

á ñpoco más de 2 años.

37

Page 38: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Para resolver este problema puedeadaptarse 3 enfoques:p q

Utilizar un contador de 64 bitsMantener la hora del día enMantener la hora del día ensegundos, no en tics.Contar en tics, pero hacerlo conrelación al momento en que se pusoq pen marcha el sistema

38

Page 39: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Temporizadores de SoftwareTemporizadores de Software

Casi todas las computadoras tienen un segundo

pp

reloj programable que puede ajustarse demodo que cause interrupciones con lamodo que cause interrupciones con lafrecuencia que las necesite un programa. Estetemporizador es adicional al temporizadortemporizador es adicional al temporizadorprincipal del sistema.Mi t l f i d l i t iMientras la frecuencia de las interrupciones seabaja, no habrá problema si este segundotemporizador se utiliza con fines específicospara una aplicación dada.

39

Page 40: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

El problema surge cuando la frecuenciadel temporizador específico para laaplicación es muy altaaplicación es muy alta.Los temporizadores de software evitani t i C d l k linterrupciones. Cada vez que el kernel seejecuta por algún otro motivo, justoantes de volver al modo de usuarioexamina el reloj de tiempo real para verexamina el reloj de tiempo real para versi ha expirado un temporizador de

ft40

software

Page 41: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

Si es así, se ejecuta el sucesocalendarizado sin necesidad de cambiaral modo del kernel porque el sistema yaal modo del kernel porque el sistema yaestá allí. Una vez efectuado el trabajo, elt i d d ft t bltemporizador de software se restablecepara que vuelva a dispararse. Lo únicoque hay que hacer es copiar el valoractual del reloj en el temporizador yactual del reloj en el temporizador ysumarle el intervalo de tiempo fuera.

41

Page 42: Sistemas Operativos INF - 151cotana.informatica.edu.bo/downloads/algortimos-discos.pdf · 2018. 8. 27. · Si el controlador de disco acepta solicitudes una por una y las ejecuta

El funcionamiento de los temporizadoresde software depende de la frecuencia conque se ingrese al kernel por otrosque se ingrese al kernel por otrosmotivos, que pueden ser:

Ll d l i tLlamadas al sistemaFallos de TLBFallos de páginaInterrupciones de E/SInterrupciones de E/SLa CPU se queda sin trabajo

42