suo

Exercicios de Sistemas Operativos
(Repaso previo ó exame – Parte 2)
2. Calcula a dirección físcia asociada as seguintes direccións lóxicas supoñendo que estamos a
usar paxinación coa seguinte táboa de páxinas:
PROCESO A
Nº de páxina Marco de páxina
0 0 1 1 0
0 1 1 0 0
1 0 0 0 1
PROCESO B
Nº de páxina Marco de páxina
0 0 1 0 1
0 1 0 1 0
1 0 0 1 1
Dir. Lóxica emitida Dirección física
polo proceso A: de Memoria
0 0 1 0.......................................................................1 1 0 1 0
0 0 1 1.......................................................................1 1 0 1 1
1 0 0 0.......................................................................0 0 1 0 0
1 1 0 1.......................................................................Error
Dir. Lóxica emitida Dirección física
polo proceso B: de Memoria
0 0 1 0.......................................................................1 0 1 1 0
0 0 1 1.......................................................................1 0 1 1 1
1 0 0 0.......................................................................0 1 1 0 0
1 1 0 1.......................................................................Error
3. Calcula a dirección físcia asociada as seguintes direccións lóxicas supoñendo que estamos a
usar segmentación coa seguinte táboa de segmentos:
Nº de Segmento Desplaz. máximo Pos. Inicial
0 0 1 1 0 1 1 0 0 1
0 1 0 1 1 1 0 0 1 0
1 0 1 0 1 0 0 1 0 1
Dir. Lóxica emitida Dirección física
polo proceso: de Memoria
0 1 0 1 0....................................................................1 0 1 0 0
0 0 1 0 1....................................................................1 1 1 1 0
1 0 0 1 0....................................................................0 0 1 1 1
1 0 1 0 1....................................................................0 1 0 1 0
4. Dibuxa como quedaría a memoria nos exercicios 2 e 3 despois da carga dos procesos.
PAXINACIÓN (Ex. 2)
Dir. Física Marco de Páxina Nº de
Marco
00000
'000'
00001
00010
00011
00100
A 10 '001'
00101
00110
00111
01000
B 01 '010'
01001
01010
01011
01100
B 10 '011'
01101
01110
01111
10000
A 01 '100'
10001
10010
10011
10100
B 00 '101'
10101
10110
10111
11000
A 00 '110'
11001
11010
11011
11100
'111'
11101
11110
11111
SEGMENTACIÓN (Ex. 3)
Dir. Física
00000
00001
00010
00011
00100
00101
Seg. 10
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011 Seg. 01
10100
10101
10110
10111
11000
11001
Seg. 00
11010
11011
11100
11101
11110
11111
5. No caso do exercicio 2, si un proceso está a acceder ás seguintes direccións físicas, ¿que
proceso é? ¿a que páxina está accedendo?
Dirección Física Proceso Nº de páxina
0 1 1 0 1............................... B ...................................... 1 0
0 0 1 1 1............................... A ...................................... 1 0
1 0 0 1 1............................... A ...................................... 0 1
1 1 0 0 0............................... A ...................................... 0 0
1 0 1 0 1............................... B ....................................... 0 0
6. Indica os pasos que sigue o sistema operativo cando se realiza unha operación de E/S e
estamos a usar Acceso directo a memoria (DMA)
A CPU envíalle ó periférico os datos da operación. Si a operación se fai mediante
DMA é porque no bus existe un controlador DMA. O que fai a CPU é darlle toda a información
necesaria ó controlador DMA para que este xestione a operación de E/S e, mentres, a CPU pódese
adicar a outras operacións. A información que lle envía a CPU ó controlador de DMA inclúe:
• Tipo de operación de E/S (lectura ou escritura)
• A dirección do periférico
• A posición de comenzo en memoria onde hai que ler ou escribir os datos (según o tipo de
operación)
• O número de palabras que se teñen que ler ou escribir
O controlador de DMA realiza toda a operación: espera polo dato e gárdao en
memoria (ou leo de memoria e gárdao no periférico si é unha operación de escritura). Para
conseguir iso o que fai é solicitar o uso do bus para transferiri datos entre o periférico e a memoria,
de xeito que sexa o propio periférico o que lee ou escribe na memoria. Unha vez rematado todo o
proceso avísase á CPU de que xa rematou. A CPU entón pode volver a poder usar o bus e pon o
proceso na cola de preparados para seguir a executalo cando proceda.
[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le lundi 23 novembre 2009 11:02

ob

Exercicios de Sistemas Operativos
(Repaso previo ó exame – Parte 1)
1. Debuxa o diagrama de tempos e completa a seguinte táboa de procesos
Proceso ti t tf E T I
A 0 6
B 2 3
C 5 7
D 9 4
a) FCFS
D
C
B
A
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
b) SJF
D
C
B
A
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
c) SRT
D
C
B
A
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
d) RR (q=3)
D
C
B
A
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
2. Calcula a dirección físcia asociada as seguintes direccións lóxicas supoñendo que estamos a
usar paxinación coa seguinte táboa de páxinas:
Nº de páxina Marco de páxina
0 0 1 0 1
0 1 0 1 0
1 0 0 0 0
Dir. Lóxica emitida Dirección física
polo proceso: de Memoria
0 0 1 0.......................................................................1 0 1 1 0
0 0 1 1.......................................................................1 0 1 1 1
1 0 0 0.......................................................................0 0 0 0 0
1 1 0 1.......................................................................Error
3. Calcula a dirección físcia asociada as seguintes direccións lóxicas supoñendo que estamos a
usar segmentación coa seguinte táboa de segmentos:
Nº de Segmento Tamaño Pos. Inicial
0 0 1 0 1 1 1 0 0 1
0 1 0 1 0 1 0 0 1 0
1 0 1 0 0 0 0 1 0 1
Dir. Lóxica emitida Dirección física
polo proceso: de Memoria
0 1 0 1 0....................................................................1 0 1 0 0
0 0 1 0 1....................................................................1 1 1 1 0
1 0 0 1 0....................................................................0 0 1 1 1
1 0 1 0 1....................................................................Error
4. Indica os pasos que segue o sistema operativo cando se realiza unha operación de E/S e
estamos a usar E/S Programada (PIO)
En E/S Programada (PIO) a CPU solicítalle a operación de E/S ó periférico e entra nun
bucle de espera no que o único que fai é inspeccionar o rexistro de estado do periférico para
comprobar si xa rematou a operación. Unha vez que o periférico está listo (ten o dato no caso dunha
operación de lectura ou está na posición correcta para unha operación de escritura) a CPU colle o
dato e almacénao nun rexistro interno para despois levalo á memoria ou ó periférico segundo o tipo
de operación (lectura ou escritura). O principal problema deste sistema de E/S é que a CPU o único
que fai mentres dure a operación do periférico é ler o seu rexistro de estado para saber cando está
listo. Como o periférico é moi lento en relación á CPU ese tempo estamos a desperdiciar CPU, xa
que na maior parte estará sen facer nada.
5. Supón que temos un disco con bloques de datos de 4 KB e usamos bloques índice para
acceder ós ficheiros. Cada índice é de 32 bits. Resposta as seguintes preguntas:
a) ¿Cal é o número máximo de índices que podemos ter?
Cada índice ocupa 4 bytes (32 bits) e o tamaño de bloque é de 4096 bytes (4 KB).
Podemos ter entón 1024 índices (4096 / 4).
b) ¿Cal será o tamaño máximo do ficheiro?
Si temos 1024 índices no bloque índice significa que podemos apuntar a 1024
bloques de datos. Como cada bloque ten 4 KB o tamaño máximo do ficheiro será de 4096 KB, é
dicir, 4 MB (1024 índices * 4 KB de tamaño de bloque)
c) ¿Como podemos solucionar o problema do tamaño máximo anterior?
Usando as técnicas de indireccionamento (simple, doble ou triple). Deste xeito os
últimos índices do bloque de índices non apuntan directamente a un bloque de datos, senón que
apuntan a outro bloque índice que apunta a outros 1024 bloques de datos (no indireccionamento
simple, co que chegamos a uns 8 MB de tamaño máximo). Si usamos indireccionamento doble unha
das entradas do bloque de índices apunta a outro bloque de índices en lugar de apuntar a un bloque
de datos, e cada unha das entradas dese bloque de índices apunta a outro bloque de índices, onde
cada unha das entradas apuntan a bloques de datos. Dese xeito xa chegamos a un tamaño máximo
de 4 GB.
6. Dibuxa como quedaría a memoria nos exercicios 2 e 3 despois da carga dos procesos.
PAXINACIÓN (Ex. 2)
Dir. Física Marco de Páxina Nº de
Marco
00000
Páxina 10 '000'
00001
00010
00011
00100
'001'
00101
00110
00111
01000
Páxina 01 '010'
01001
01010
01011
01100
'011'
01101
01110
01111
10000
'100'
10001
10010
10011
10100
Páxina 00 '101'
10101
10110
10111
11000
'110'
11001
11010
11011
11100
'111'
11101
11110
11111
SEGMENTACIÓN (Ex. 3)
Dir. Física
00000
00001
00010
00011
00100
00101
Segmento 10
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
Segmento 01
10011
10100
10101
10110
10111
11000
11001
Segmento 00
11010
11011
11100
11101
11110
11111
[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le lundi 23 novembre 2009 11:01

uof

Exercicios de repaso de Sistemas Operativos Monoposto
1. Indica cales son as principais funcións do S.O. coma xestor de recursos explicando
brevemente cal é a función que cumpre en cada unha delas
O Sistema Operativo é un Software especial que se encarga de xestionar un recursos
limitados para que os poidan usar unha serie de procesos que compiten por eles. Coma eses recursos
son moi limitados (a veces temos unicamente un para compartir, coma pode ser o caso da CPU) e os
procesos que os queren usar son moitos, ten que aplicar unha serie de políticas para decidir quen
obtén o recurso e durante canto tempo o pode usar.
Eses recursos son principalmente:
• Procesador
• Memoria
• Sistema de arquivos
• Dispositivos de E/S
Para xestionar eses recursos o S.O. utiliza un procesos que controlan dalgunha forma o uso
dos mesmos. Por exemplo:
• No caso do procesador: utiliza os planificadores a longo e curto prazo. O primeiro
decide que programas se converten en procesos en execución e o segundo decide de
entre todos os procesos en execución cal é o que obtén a CPU, aplicando algún
algoritmo para escollelo (FCFS, RR, SRT, SJF, ...)
• No caso da memoria ten que repartila entre varios procesos. O que soe facer é
subdividila en porcións para asignarlle unha ou varias desas porcións a cada un dos
procesos. As dúas formas de división máis utilizadas son Paxinación e
Segmentación.
• No caso do sistema de arquivos decide como preparar o uso do disco para poder
gardar datos nel, mediante un proceso que se chama “Formateado”. Unha vez
formateado o disco cada S.O. utiliza unhas técnicas diferentes para gardar os datos
(asignación contigua, enlazada, indexada, ...) que depende do sistema de arquivos
que use.
• No caso dos dispositivos de E/S ten que xestionar o uso dos buses e como fan os
periféricos para gardar os datos en memoria ou coller os datos de memoria para
almacenalos eles. Para iso son posibles tres técnicas:
◦ E/S programada
◦ E/S con interrupcións
◦ E/S con DMA
(Explícanse nun exercicio máis adiante)
2. Explica brevemente o significado dos seguintes termos
a) Monousuario: S.O. no que unicamente accede ó sistema un usuario.
b) Multiusuario: S.O. no que varios usuarios poden acceder ó sistema e compiten polos
recursos do mesmo.
c) Monotarefa: S.O. que unicamente pode executar un proceso de cada vez. Mentres ese
non remate non podemos executar ningún outro.
d) Multitarefa: S.O. que pode executar simultaneamente varios procesos, asignándolle a
cada un deles un tempo determinado. Realmente, como unicamente hai unha CPU o que
fai e ir executando un a un e intercambiándoos cada pouco tempo de forma que ó usuario
dalle a sensación de que se executan todos xuntos.
e) Multiproceso: Computador que conta con varios procesadores, polo que o S.O. pode
executar varios procesos realmente ó mesmo tempo.
f) Sistema de tempo compartido: Sistema multitarefa onde se lle asigna a cada proceso o
mesmo tempo.
3. Indica que planificadores actúan durante a xestión do procesador e cal é a función de cada un
deles.
Planificador a longo prazo: Xerarquiza os programas converténdoos en procesos. Cando
tentamos executar un programa este planificador actúa e, se todo está correcto, converte o programa
nun proceso que se carga en memoria e se engade á cola de preparados, onde actúa o planificador a
corto prazo.
Planificador a corto prazo: Coñecese tamén coma distribuidor (ou dispatcher) e decide que
proceso dos que están na cola de preparados se vai a executar a continuación. Para iso utiliza algún
algoritmo de planificación (FCFS, SRT, SJF, RR, ...)
4. Explica todos os estados posibles dun proceso e as transicións entre eles (debuxando un
grafo e cunha breve explicación de cada estado)
• Novo: Programa que queremos executar e lle mandamos ó planificador a longo
prazo.
• Preparado: Programa admitido no sistema polo planificador a longo prazo e que está
a esperar pola CPU (ten que collelo o planificador a corto prazo e asignarlla)
• Activo: Proceso que se está a executar na CPU
• Bloqueado: Proceso que está a esperar por algunha operación de E/S e mentras esta
non remata bloquéase para non entorpecer ós outros procesos que están preparados.
Cando a operación de E/S remate activase de novo e pasa á cola de preparados.
• Morto: Proceso que xa rematou a súa execución e espera que o S.O. o libere da
memoria.
5. Indica o que significa que un algoritmo de planificación sexa expropiativo ou non
Expropiativo significa que aínda que se estea a executar un proceso podemos quitarlle a
CPU (quítalla o S.O. mediante o planificador a corto prazo) si chega un novo proceso con máis
prioridade. Non expropiativo significa que cando un proceso entra na CPU o S.O. (mediante o
planificador a corto prazo) non pode quitarlle a CPU hasta que el a deixa libre, ben porque rematou
ou porque se bloqueou a espera dunha operación de E/S.
Nuevo
admitir
Preparado Activo
Bloqueado
planificado
Muerto
suspender
eliminar
activar
eliminar
interrumpido
eliminar
6. ¿Por que hai que facer divisións na memoria no caso de usar multiprogramación? Explica
brevemente as dúas técnicas vistas en clase para facer esas dúas divisións.
Porque si temos varios procesos que queren cargarse en memoria non poden solaparse uns
por encima dos outros. Cada un ten que ter o seu espazo en memoria RAM. Para conseguir eso
dividimos a RAM en porcións para asignarllas ós procesos. As dúas técnicas máis utilizadas para a
división da RAM son:
• Paxinación: Divide a RAM en segmentos iguais entre si chamados marcos de páxina,
e os procesos dividinse en páxinas (do mesmo tamaño cos marcos). Ese tamaño é
sempre unha potencia de 2. Cando cargamos un proceso en memoria imos cargando
as súas páxinas en marcos libres e imos enchendo unha táboa chamada táboa de
páxinas onde se relacionan as páxinas e o marco no que están cargadas para que o
S.O. poida acceder a esas páxinas na memoria física usando as direccións reais de
memoria.
• Segmentación: É parecido o anterior, pero agora os trozos nos que se divide a
memoria non son todos iguais, dependen do programa. A táboa de segmentos tamén
é un pouco máis complicada xa que ten que ter en conta o tamaño do segmento para
controlar que as direccións lóxicas emitidas polo proceso non se saina fora do seu
espazo de memoria.
7. ¿Que é a fragmentación interna? ¿E a externa?
Ó usar paxinación ou segmentación divídense tanto a memoria coma os programas a
executar en pequenas porcións (chamadas páxinas ou segmentos, segundo sexa o caso). Ó executar
un proceso imos cargando na memoria as paxinas ou segmentos dese proceso baixo demanda
(cargamos unha páxina ou un segmento cando nos fai falta). Neste escenario pódense dar dous
casos:
• Que ó dividir un programa en páxinas (que deben ser todas do mesmo tamaño) algunha
páxina non quede ocupada por completo. Cando carguemos esa páxina en memoria
ocupamos un marco completo, aínda que nese marco quede entón espazo libre. Ese
espazo libre é o que se chama fragmentación interna (espazo de memoria que está sen
usar pero que está asignado a un proceso e non se pode aproveitar para outro).
• Ou podemos ter o caso de que queiramos cargar un segmento dun programa e non exista
na memoria un espazo contiguo o suficientemente grande para albergalo, aínda que si
haxa memoria libre. Iso é a fragmentación externa (cando temos espazos de memoria
libres pero ningún deles é o suficientemente grande para albergar o segmento ou páxinas
que queremos cargar).
No caso de usar segmentación non existe fragmentación interna, xa que non segmentos non
hai memoria sen usar (o tamaño dos segmento axústase ó que necesitamos, non é fixo coma en
paxinación) pero si pode haber fragmentación externa. No caso de usar paxinación pode haber
fragmentación interna e externa (no caso de ter que cargar varias páxinas dun proceso ó mesmo
tempo e que non haxa marcos libres para todas elas) pero esta última podemos controlala si usamos
algún sistema de memoria virtual que nos permita facer swapping.
8. Explica brevemente como funciona o sistema de Memoria Virtual nun Sistema Operativo.
O sistema de Memoria Virtual permite que o espacio de direccións virtuais dun proceso sexa
maior que a memoria física dispoñible. Noutras palabras, que si temos un PC con, por exemplo, 512
MB de RAM, e un proceso necesita manexar 700 MB que lle pareza que existen eses 700 MB,
aínda que non sexa así. Para iso o S.O. usa un espazo en memoria secundaria (disco duro) que pode
utilizar para “aumentar” a memoria que ven os procesos. Úsase en paxinación ou segmentación para
manter en memoria unicamente as partes dun programa que se están a usar nun momento dado. O
resto está no disco hasta que nos faga falta (aínda que para o programa parece que están todas
cargadas en memoria RAM).
Un dos sistemas de memoria virtual máis utilizados é o que se chama demanda de páxina.
Neste sistema cando un proceso se carga en memoria cárgase o mínimo para que se empeze a
executar. Cando necesita ler ou escribir un dato que está nunha páxina que non está en memoria
prodúcese un fallo de páxina que xestiona o sistema operativo e cárgase esa páxina en memoria. Ó
comezar a execución dun proceso vanse producir moitos fallos de páxina, xa que as páxinas aínda
non están cargadas, pero segundo vai pasando o tempo e imos tendo máis páxinas dese proceso en
memoria os fallos de páxina van sendo cada vez menores (o interesante é que haxa poucos, xa que ó
S.O. lévalle tempo xestionalos). A principal vantaxe deste sistema é o de non ter que cargar todo o
programa completo en memoria si unicamente imos usar unha pequena parte. Outra vantaxe de
traballar con este sistema é que si chega un novo proceso que necesita cargar varias páxinas en
memoria e non hai marcos suficientes libres (o que sería fragmentación externa) podemos xestionar
ese problema e corrixilo: buscamos páxinas doutro proceso que non se estean a usar nese momento
e poñémolas temporalmente na área de intercambio (zona do disco duro usada para a memoria
virtual) para deixar marcos libres para cargar o novo proceso. Cando máis adiante necesitemos as
páxinas que gardamos na área de intercambio faremos “swapping” para gardar outras que estén en
memoria alí e recuperar esas no espazo que liberamos.
9. Explica brevemente as técnicas que pode usar un Sistema Operativo para a xestión do
espacio de almacenamento.
Para a xestión do espazo de almacenamento hai dúas técnicas principais:
• Asignación contigua: Cada ficheiro ocupa un número de bloques contiguos no disco
duro. Si temos un ficheiro de 100 KB e o tamaño de bloque no disco é de 1 KB
entón ocupará 100 bloques consecutivos no disco. Ten a vantaxe de que é fácil de
xestionar: sabendo onde empeza un ficheiro e o tamaño que ten podemos acceder a
calquera bloque do mesmo (unicamente hai que contar). Ten a desvantaxe de que
non é moi útil, xa que os usuarios normalmente non coñecen con anterioridade o que
vai a ocupar un ficheiro, e ademais estes poden cambiar de tamaño ó modificalos,
polo que teríamos que buscar outra zona no disco con suficiente espazo libre
contiguo para almacenalo, movendo todo o contido do ficheiro á nova posición.
• Asignación non contigua: Para corrixir os problemas que presenta a asignación
contigua úsase a asignación non contigua. Existen dous métodos:
◦ Asignación enlazada: Cada ficheiro é unha lista de bloques que se poden
encontrar en calquera parte do disco (non son contiguos), e nesa lista cada bloque
de datos contén uns bytes reservados coa dirección do seguinte bloque. Dese
xeito, na entrada do directorio onde se garda a información do ficheiro so se
garda o principio e o fin do ficheiro (o resto vaise recorrendo saltando de bloque
en bloque). Ten a desvantaxe de que se se perde un bloque por accidente pérdese
o enlace ós bloques que están despois dese, co que podemos perder gran parte
dos datos dun ficheiro pola falla dun único bloque. Ademais o acceso é lento xa
que hai que recorrer os bloques de un en un hasta chegar ó que queremos.
◦ Asignación indexada: Neste sistema úsase un bloque de índices para acceder ós
bloques de datos do ficheiro. Corrixe o problema do sistema anterior: si se perde
un bloque de datos unicamente perdemos os datos dese bloque, pero os demais
bloques seguen a ser accesibles. A principal desvantaxe deste sistema é segundo
o tamaño do bloque estamos limitados no tamaño máximo do ficheiro (polos
índices que pode albergar). Para solucionar iso utilízanse técnicas de indirección
(algúns índices en lugar de apuntar a bloques de datos apuntan a outros bloques
de índices para aumentar o tamaño máximo do ficheiro).
10. Explica brevemente as técnicas que pode usar un Sistema Operativo para a xestión de E/S,
indicando as vantaxes que presenta cada unha sobre as outras (si existen)
Existen tres técnicas para realizar a xestión de E/S. Xa se explicaron noutros exercicios, polo
que aquí se vai a poñer unicamente un resumo de cada unha delas:
• E/S programada: É a CPU a encargada de todo o proceso de E/S mediante a
execución dun programa específico (de aí o nome). Cando un programa solicita un
dato a CPU ten que executar un microprograma que se encarga de consultar
repetidamente o estado do dato hasta que estea listo. Cando este listo colle o dato,
tráeo para os seus rexistros internos e logo almacénao en memoria (estamos a falar
dun exemplo de lectura de datos). Durante ese tempo a CPU está adicada á operación
de E/S e non pode facer nada máis. Coma os periféricos son moi lentos respecto á
CPU a maioría do tempo é tempo perdido, xa que a CPU está a esperar polo dato sen
poder facer nada.
• E/S con interrupcións: tenta corrixir o problema da anterior eliminando o bucle de
espera da CPU. Cando o programa quere ler un dato a CPU pídello ó periférico e, en
lugar de esperar por el sen facer outra cousa, pasa a executar outro proceso. Cando o
periférico ten o dato listo mándalle unha interrupción á CPU para avisala e entón ela
recupera o proceso inicial, colle o dato e méteo nos seus rexistros internos e logo
almacénao en memoria. Neste sistema conséguese eliminar o bucle de espera pero
segue a ser a CPU a que fai todo o traballo de E/S para meter o dato na memoria.
Para que este sistema funcione o sistema necesita contar cun PIC (Controlador de
Interrupcións Programable) que xestione as interrupcións dos periféricos, xa que a
CPU so é capaz de xestionar unha de cada vez e pódense producir varias.
• E/S con DMA: tenta quitarlle á CPU o traballo de facer a operación de E/S e gardar
o dato na memoria. Para iso necesitamos un elemento hardware chamado
controlador DMA. Cando un proceso quere realizar unha operación de E/S a CPU
mándalle ó controlador de DMA os seguintes datos:
◦ Si a operación é de lectura ou escritura (gardar en memoria ou no periférico)
◦ A dirección dentro do periférico
◦ A posición de comezo en memoria RAM onde hai que ler ou escribir
◦ O número de palabras a ler ou escribir
Unha vez que o controlador de DMA ten todos eses datos a CPU pode pasar a
executar outros procesos. Cando o periférico ten o dato listo o controlador de DMA
envíalle unha interrupción á CPU para que esta libere temporalmente o bus de
memoria. Entón o periférico realiza a operación (lee ou garda o dato na RAM).
Cando a operación termina a controlador de DMA volve a interromper á CPU para
dicirlle que xa pode recuperar o bus. Durante todo ese tempo a CPU pode executar
outros procesos, polo que neste sistema o aproveitamento de CPU é mellor.
O mellor sistema é o DMA, pero require un hardware máis complexo (controlador de DMA
e interrupcións), polo que algúns periféricos hoxe en día seguen a usar os outros sistemas, xa que
serían máis caros de fabricar usando DMA. Os dispositivos críticos de E/S (discos, DVDs, CDs, ...)
hoxe en día poden utilizar todos DMA.
[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le lundi 23 novembre 2009 10:59

[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le mardi 10 mars 2009 17:29

[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le mardi 10 mars 2009 17:25