Professional Documents
Culture Documents
Tema 3
Sistema de Entrada/
Entrada/Salida
SISTEMADEENTRADA/SALIDA
Elcorazn
Elcorazn deuna
deuna computadora loconstituye
loconstituye laUCP,
laUCP,p
pero
eron
noservira
oservira de
nadasin
nada
sin lamemoria
lamemoria principalylos
principalylosdispositivos
dispositivos deE/S:
Dispositivos perifricos
perifricos,,quelepermitaninteractuarconelusuario.
quelepermitaninteractuarconelusuario.
Generalmente estn fuera dela
delacomputadora
computadora yseconectan
yseconectan aella
aella
mediante cables
cables..
Sonlosteclados
onlosteclados,,ratones
ratones,,micrfonos
micrfonos,,cmaras
cmaras y
ycualquier
cualquier otro
dispositivo deE/Sque
deE/Sque seleocurra
seleocurra conectar a
auna
una computadora
computadora..
Dispositivos de
de almacenamiento secundario (discos)y
dealmacenamiento
(discos) y terciario
(discos)yterciario
(cintas y
ysistemas
sistemas dearchivo
dearchivo).
).
Dispositivosde
Dispositivosdecomunicaciones.
comunicaciones.
12/11/2009
SISTEMADEENTRADA/SALIDA
Elaccesoalosdispositivoses:
Incmodo
I d
Detallesfsicosdelosdispositivos
Dependientedelasdireccionesfsicas
Noseguro
Sielusuarioaccedeanivelfsiconotienerestricciones
Obje
Objetivos:
os
Suministrarunavisinlgicadelosdispositivos
Ofrecerprimitivasdeaccesocmodase
independientesdelosdetallesfsicos
Mecanismosdeproteccin
Niveles delsoftwaredeE/S
Niveles delsoftwareeunsistema
delsoftwareeunsistema deE/S
12/11/2009
Entrada//Salida
Entrada
CaracterizacindelosdispositivosdeE/S
Drivers:softwaredeE/Sdependientedeldispositivo
/
p
p
SoftwaredeE/Sindependientedeldispositivo
Almacenamientosecundario
Almacenamientoterciario
Elreloj
Elterminal
Lared
Serviciosdeentrada/salida
Clasificacin dedispositivos
dedispositivos E/S
Perifricos.Sellamaasalosdispositivosquepermitenla
comunicacinentrelosusuariosylacomputadora.Dentrodeeste
gruposeincluyentodoslosdispositivosquesirvenparaproporcionar
i t f
interfazconelusuario,tantoparaentrada(ratn,teclado,etc.)como
l
i t t
t d ( t t l d t )
parasalida(impresoras,pantalla,etc.).
Dispositivosdealmacenamiento.Seusanparaproporcionar
almacenamientonovoltildedatosymemoria.Sufuncinprimordial
esabastecerdedatosyalmacenamientoalosprogramasquese
ejecutanenlaUCP.Segnsucapacidadeinmediatezsepuedendividir
enalmacenamientosecundario(discosydisquetes)yterciario(cintasy
sistemasdearchivo).
Dispositivosdecomunicaciones.Permitenconectaralacomputadora
conotrascomputadorasatravsdeunared.Losdostiposde
dispositivosmsimportantesdeestaclasesonlosMODEMylas
tarjetasdeinterfazalared.
12/11/2009
Velocidades dedispositivos
dedispositivos tpicos
DispositivosdeBloqueydeCarcter
Dispositivosdebloque:
Accesoaniveldebloque,secuencialoaleatorio
Mandatos:leer,escribir,buscar,
E/Sdirectaoatravsdelservidordeficheros
Accesoposibleatravsdeficherosproyectadosenmemoria
Ejemplo:discosycintas
Dispositivosdecarcter:
Accesoaniveldeacarcter,secuencialoaleatorio
Mandatos:
Mandatos: get,
Mandatos:get
get,put
put,.
put,.
Bibliotecasparaoptimizarydarformaaestetipodeaccesos:edicin
delneas,ventanasvirtuales,.
Ejemplo:terminaleseimpresoras
12/11/2009
Conexindedispositivos
ConexindedispositivosdeE/S
deE/S
CPU
Memoria
Controlador
grfic o
Bus de expansin
Controladores dedispositivos
dedispositivos I
Eldispositivo
Eldispositivo deE/Stiene
deE/Stiene doscomponeentes
doscomponeentes::
componente mecnico
componente electrnico
Elcomponentemecnicoseconectana
Elcomponentemecnicose
conectanalaCPU
laCPUatravs
atravsdelcontrolador
delcontrolador
Elcomponente
Elcomponente electrnico es el
elcontrolador
controlador deldispositivo
deldispositivo
Puede controlar varios dispositivos deE/S
Tareas del
delcontrolador
controlador
convertir biten
bitenserie
serie (bitstream)abloques
(bitstream)abloques debytes
debytes
Realizar correcin de
deerrores
errores si es necesario
Dejar la
lainformacin
informacin enMP
10
12/11/2009
Controladores dedispositivos
dedispositivos II
Loscontroladoressonmuyvariados,
Loscontroladoressonmuyvariados,casi
casicomolosdispositivosdeE/S.
comolosdispositivosdeE/S.
Muchosde
Muchosdeellos
ellospuedencontrolarmltiplesdispositivos.
puedencontrolarmltiplesdispositivos.
incluyensupropiaUCPybusparacontrolarlaE/Sporprograma
Otros
Otros,,incluyensupropiaUCPybusparacontrolarlaE/Sporprograma
yevitarinterrupcionesenlaUCPdelacomputadora.
it i t
i
l UCP d l
t d
Enlosltimosaoshaexistidounesfuerzoimportantedeestandarizacin
delosdispositivos,loquepermiteusarunmismocontroladorpara
dispositivosdedistintos
dispositivosdedistintosfabricantes
fabricantes (ejemplo:SCSI,SmallComputer System
Interface, oIDE,Integrated DriveElectronics)..
Elcontroladoresla
Elcontroladores
El
controlador es lainterfazdeldispositivoconelbusdelacomputadoray
la interfazdeldispositivoconelbusdelacomputadoray
interfaz del dispositivo con el bus de la computadora y
eselcomponentequesevedesdelaUCP.
Suprogramacinsellevaacabomedianteunainterfazdemuybajo
nivelqueproporcionaaccesoaunaseriederegistrosdelcontrolador.
Lascaractersticasdelcontroladorsonmuyimportantes,yaque
definenelaspectodelperifricoparaelsistemaoperativo.
Fundamental:DireccindeE/S,UnidaddetransferenciaeInteraccin
computadoracontrolador.
computadora
Conexinporpuertoomemoria
PararealizarunaoperacindeE/S,laUCPtienequeescribirenlosregistros
del controlador.
Cada
d registrodel
i t d l controlador.unadireccindeE/Sodememoriaasignada.
controlador.unadireccindeE/Sodememoria
t l d
di
i d E/S d
i asignada.
i d
Elmodelode
Elmodelodedispositivosporpuertos
dispositivosporpuertos esclsicoenlasarquitecturasde
Intel.
Cuandoseinstalaundispositivo,asucontroladorseleasignaunpuerto
deE/S,unainterrupcinhardwareyunvectordeinterrupcin.
UnaoperacindeE/SlaUCPejecutaoperaciones
UnaoperacindeE/SlaUCPejecutaoperacionesportin
portin o
oportout
portout
Elmodelo
Elmodeloproyectadoenmemoria
proyectadoenmemoria asignaacadaregistrodeE/Suna
direccn deMP.
NohayinstruccionesespecficasdeE/S,se usanlasinstruccionesde
usanlasinstruccionesde
accesoamemoria.
Mapanicodedireccionesdememoria.
12/11/2009
Ubicacin depuertos
depuertos deE/Se
deE/SenPCs(
nPCs(parcial
parcial)I
)I
Ubicacin depuertos
depuertos deE/SenPCs(parcial
deE/SenPCs(parcial)II
)II
12/11/2009
Entrada//Salida
Entrada
CaracterizacindelosdispositivosdeE/S
Drivers:softwaredeE/Sdependientedeldispositivo
/
p
p
SoftwaredeE/Sindependientedeldispositivo
Almacenamientosecundario
Almacenamientoterciario
Elreloj
Elterminal
Lared
Serviciosdeentrada/salida
Driversdedispositivos
Driversde
dispositivos
12/11/2009
Tipos deE/S
Programada
Espera actiava
Por interrupciones
Asociada alamultiprogramacin
alamultiprogramacin
Por DMA
Para
Paradispositivos
dispositivos debloques
debloques
E/SProgramada
E/S
Programada I
Sedetermina
Sedetermina elestado
elestado dedispositivo
dedispositivo::
ready
busy
Error
Si
Siest
est busy se
seespera
espera a
aque
que est ready
ready((espera activa
activa))
Se
Serealiza
realiza laoperacin
laoperacin deE/S
12/11/2009
E/SProgramada
E/S
Programada II
19
E/SProgramada
E/S
Programada III
Escribiendo unstringenlaimpresora
unstringenlaimpresora mediante E/S
E/Sprogramada
programada
20
10
12/11/2009
E/Spor
E/S
por interrupciones I
LaCPUtiene
LaCPUtiene una/s
una/slnea
lnea/sde
/sdepeticin
peticin deinterrupcin
deinterrupcin conectada alos
dispositivos deE/S
El
Elmanejador
manejador deinterrupcin
deinterrupcin recive lainterrupcin
lainterrupcin
Enmascarable para ignorar or
orpostponer
postponer algunas interrupciones
Elvectorde
ElvectordeInterrucipones
Interrucipones elige elmanejador
elmanejador de
deinterrupcin
interrupcin
correspondiente
Basado enlaprioridad
nlaprioridad dela
delainterrucin
interrucin
Algunas son
sonno
noenmascarables
El
Elmecanismo
mecanismo de
deinterruciones
interruciones tambin se
seusa
usa para exceptiones
E/Spor
E/S
por interrupciones II
Escribiendo unstringenlaimpresora
unstringenlaimpresora mediante E/S
E/Spor
por interrupciones
El
Elcdigo
cdigo seejecuta
seejecuta cuando seinvoca
seinvoca lallamada
lallamada alsistema
alsistema dela
impresora
Rutina deservicio
deservicio deinterrupcin
deinterrupcin
22
11
12/11/2009
Manejadores deinterrupciones
deinterrupciones
Eldriverinicia
Eldriver
inicia una operancin deE/Sy se
sebloquea
bloquea hasta que una
interrupcin
p
notifica su finalizacin
Lafuncin
La
funcin deinterrupcin
deinterrupcin hace la
latarea
tarea
Cuando termina desbloquea eldriverque
eldriverque la
lainici
inici
23
Rutinadeinterrupcin
la parte genrica hace lo siguiente:
siguiente:
1. Capturadelainterrupcin.
2. Salvaguardadeestadodelprocesador.
3. Activacindelarutinaparticulardeserviciodelainterrupcin.
4. Planificacin como listaparaejecutar
listaparaejecutarlarutinaparticular
larutinaparticular..
5. Desactivacindelainterrupcin.
6. Restauracindelestadodelprocesador.
7. Cesindecontrol(RETI).
12
12/11/2009
Tabla deexcepciones
deexcepciones del
delprocesados
procesados Pentium
Interrupcionesqueusan
algunoscontroladores
13
12/11/2009
E/Smediante
E/S
mediante DMAI
SeusaparaevitarlaE/Sprogramadadegrandesbloquesdedatos
NecesitauncontroladorconDMA
EvitaelusodelaCPUtransfiriendolosdatosdirectamenteentrelos
dispositivosdeE/Sylamemoria
delusuario
delncleo
BsicoparaaprovecharlaCPUenunsistema
BsicoparaaprovecharlaCPUenunsistemamultiprogramado
multiprogramado,yaque
,yaque
liberatiempodelaCPUquesepuedeusarparaejecutarotrosprogramas.
E/Smediante
E/S
mediante DMAII
Memoria
Peticin DMA
(contador,
di cin,
direc
i
datos)
Ac eptacin DMA
Interrupc in
Operacin
(L/E)
Contador
Registro
de datos
Contador
Disco
Direcc in
Lgic a de
control
Controlador
UCP
14
12/11/2009
E/Smediante
E/S
mediante DMAIII
Imprime unstringusando
unstringusando DMA
Utilizado para programar E/Spara
E/Spara grandes movimientos dedatos
dedatos
Requiere uncontrolador DMA
Transfiere losdatos
losdatos directamente entrelos
entrelosdispositivos
dispositivos deE/SaMP
29
Operaciones en un
unmanejador
manejador (driver)
Peticiones de
E/S del dispositivo
Extraer peticin
E/S de
d lla li
lista
Traducir a formato
del controlador
Contestacin a
la peticin
Preparar
respuesta
de error
Si
Enviar mandatos
al controlador
Operaciones
sobre datos
No
Error
Programacin del
controlador
Bloqueo
Leer registros
estado del
controlador
No
Si
Esperar
interrupcin
Interrupcin
15
12/11/2009
Flujo delsoftwaredeE/S
Niveles delsistema
delsistema deE/Syprincipales
deE/Syprincipales funciones decada
decada nivel
31
Entrada//Salida
Entrada
CaracterizacindelosdispositivosdeE/S
Drivers:softwaredeE/Sdependientedeldispositivo
/
p
p
SoftwaredeE/Sindependientedeldispositivo
Almacenamientosecundario
Almacenamientoterciario
Elreloj
Elterminal
Lared
Serviciosdeentrada/salida
16
12/11/2009
SW deE/S independientededispositivo
Funciones delsw
delsw deE/S
independiente deldispositivo
deldispositivo I
Interfaz uniforme para losdispositivo
losdispositivo
Tamaodeacceso:bloques,flujodecaracteres
Proporcionar un
untamao
tamao debloque
debloque independiente del
deldispositivo
dispositivo
Almacenamientointermedio(buffering
Almacenamientointermedio(buffering):almacenadatosenmemoria
):almacenadatosenmemoria
mientrassetransfierenentredosdispositivos
evitaaccesosrepetidos
ocultadiferenciasdevelocidad
l df
d
l d d
copianica(semnticadecomparticin)
Gestindedispositivo
nombrado[/
nombrado[/dev
dev//cdrom inodo (mayor,menor)]
proteccin(
proteccin(rwx
rwx))
asignacin y
yliberacin
liberacin de
dedispositivos
dispositivos
accesoenserie(sinosepuedecompartir)
17
12/11/2009
Funciones delsw
delsw deE/S
independiente deldispositivo
deldispositivo II
PlanificacindeE/S(
PlanificacindeE/S(SScheduling) encola las peticiones deE/Sencolas;
una por dispositivo
dispositivo;genrica(ej.,FIFO)ydemanejador(ej.,SCAN)
Gestindeerrores
Transitorios:resueltosporeldriver(reparacin)
Permanentes:notificadosalusuarioyregistrados
Buffering Caching mantiene una copia en
enmemoria
memoria muy rpida
Performance
Independencia deldispositivo
deldispositivo I
(a)Sininterfaz
(a)Sin
interfaz deE/Sestandar
deE/Sestandar
(b)Con
(b)
Coninterfaz
interfaz deE/Sestandar
deE/Sestandar
18
12/11/2009
Independencia deldispositivo
deldispositivo II
(a) Sinbuffer
(b)Conbufferen
(b)
Conbufferenespacio
espacio deusuario
deusuario
(c) Conbufferenelkernely
Conbufferenelkernelycopia
copia enespacio
enespacio deusuario
deusuario
(d)Double bufferenel
bufferenelkernel
kernel
37
Independencia deldispositivo
deldispositivo
19
12/11/2009
CapasdelsistemadeE/S
Interfaz del Sistema Operativo
Sistemas de Arc hivos
NFTS HPFS
FAT
CD-ROM ...
Gestin de
de R
Redes
edes
Gestin
(IPX/SPX, NETBEUI,
TCP/IP, ... )
Gestor de Bloques
Gestor de Cache
Manejadores de Dispositivos
(CD-ROM, cinta, disco, puerto, ... )
Controladores de dispositivo
FlujodeunaoperacindeE/S
Proceso
de usuario
Aplic a c in
Sub sistem a
o DLL
Copia
p
en
memoria del
usuario
Servicios
SW de E/S
independiente
de dispositivo
SW de E/S
independiente
de dispositivo
SW de E/S
dependiente
de dispositivo
Software
Gestor de
archivos
Gestor de
bloques
Gestor de
cache
Manejador
de
dispositivo
Manejador de
interrupcin
Hardware
Controlador
Dispositivo
(disco)
Copia en el
sistema
operativo
Copia en el
controlador
Bloque del
dispositivo
20
12/11/2009
E/SBloqueantey
E/SBloqueanteyNo
NobloqueanteI
Bloqueante:procesossuspendidoshastaquelaE/Stermina
Fcildeusarycomprender
Insuficienteparaalgunosrequisitos
Ejemplo:
Ejemplo:read
read,,write
write,...dePOSIX
,...dePOSIX
Nobloqueante:lallamadadeE/Svuelveinmediatamente
Interfazdeusuariomscomplejoyespacioparacopiadedatos
Vuelverpidamenteconelestadodelaoperacin
Se
Sepuedeimplementarcon
puedeimplementarconthreads
p
p
threads
Asncronas:losprocesosejecutanmientraslaE/Ssellevaacabo
Difcildeusarporoperacionespendientes
sealelfindeoperacinpendiente
ElsistemadeE/Senvaenuna
ElsistemadeE/Senvaenunasealelfindeoperacinpendiente
Interfazparacomprobarestadoyesperar(
Interfazparacomprobarestadoyesperar(aiowait
aiowait))
E/SBloqueanteyNo
E/SBloqueanteyNobloqueante
bloqueanteII
II
Snchrona
Asncrona
21
12/11/2009
E/SBloqueanteyNo
E/SBloqueanteyNobloqueante
bloqueanteIII
III
Proc eso
Op era c i n d e E/S
Bib liotec a
Lla m a d a
d e E/S
Proc eso
Op era c i n d e E/S
Lla m a d a
d e E/S
P
roces
obloqueado
Prog ra m a c in d e E/S
Controla d or
Disp ositivo
Controla d or
interrup c in
T
ra ta m ie nto interrup c i n
Conte sta c in d e E/S
Re torno d e
Lla m a d a E/S
Bib liotec a
Re torno d e
Lla m a d a E/S
ID. o p.
d e E/S
Proc eso
P
roces
oN
Obloqueado
Bib liotec a
Prog ra m a c in d e E/S
Controla d or
Disp ositivo
Controla d or
interrup c in
T
ra ta m ie nto interrup c i n
Conte sta c in d e E/S
Proc eso
Fin Op. d e E/S?
Bib liotec a
Bib liotec a
Lla m a d a
d e E/S
Proc eso
Bib liotec a
Re torno d e
Lla m a d a E/S
Proc eso
Estructuras de
dedatos
datos delKerneldeE/S
Elkernelguarda
Elkernelguarda informacin deestado
deestado delosdispositivos
delosdispositivos deE/S,
incluyendo tablas deficheros
deficheros abiertos
abiertos,,conexiones
conexiones dered,estado
dered,estado delos
dispositivos decaracteres
decaracteres..
Muchas estructuras de
dedatos
datos complejas para buffers,ubicacin
buffers,ubicacin de
memoria,,bloques
memoria
bloques sucios
sucios.
.
22
12/11/2009
Tabla deestado
deestado dedispositivos
dedispositivos
Estructura delkerneldeE/SenUNIX
23
12/11/2009
Entrada//Salida
Entrada
CaracterizacindelosdispositivosdeE/S
Drivers:softwaredeE/Sdependientedeldispositivo
/
p
p
SoftwaredeE/Sindependientedeldispositivo
Almacenamientosecundario
Almacenamientoterciario
Elreloj
Elterminal
Lared
Serviciosdeentrada/salida
Estructura
Elsistemadealmacenamientosecundarioseusaparaguardarlos
programasydatosendispositivosrpidos,deformaquesean
fcilmenteaccesiblesalasaplicacionesatravsdelsistemade
archivos Esa es la razn por la que en la jerarqua de E/S los
archivos.EsaeslaraznporlaqueenlajerarquadeE/Slos
dispositivosdealmacenamientosecundariosecolocanjustodebajo
delamemoriaRAM.
Haydoselementosprincipalesinvolucradosenestesistema:
Discos.Elalmacenamientosecundariosellevaacabocasi
exclusivamentesobrediscos,porloqueesinteresanteconocer
suestructuraycmosegestionan.
Manejadoresdedisco.Controlantodaslasoperacionesquese
hacensobrelosdiscos,entrelasquesonespecialmente
importanteslascuestionesdeplanificacindepeticionesa
disco.
24
12/11/2009
EstructuradelsistemadeE/SenLINUX
Interfaz de llamadas al sistema
Sistema de ficheros virtual
Sistema
S
s e de ficheros
c e os
Cach de
pginas de
memoria
Controlador del
dispositivo
[alto nivel]
Cach de bloques
Discos
Dispositivosbsicosparallevaracaboalmacenamientomasivoyno
voltildedatos.Ademsseusancomoplataformaparaelsistemade
intercambioqueusaelgestordememoriavirtual.Sondispositivos
electromecnicos(HARDDISK)uoptomecnicos
electromecnicos(HARDDISK)uoptomecnicos (CD
(CDROMyDVD),
queseaccedenaniveldebloquelgicoporelsistemadearchivosy
d
i l d bl
l i
l it
d
hi
que,actualmente,
que,actualmente,se
seagrupan
agrupanen:
en:
dostiposbsicos,atendiendoalainterfazdesucontrolador:
Dispositivos SCSI(
SCSI(SmallComputerSystemInterface
SmallComputerSystemInterface)).
Dispositivos IDE(
IDE(IntegratedDriveElectronics
IntegratedDriveElectronics)).
tres
trestiposbsicosatendiendoasutecnologadefabricacin:
tiposbsicosatendiendoasutecnologadefabricacin:
Discosduros(
Discosduros(Winchester
Winchester).
).
Discospticos.
Di
ti
Discosextrables.
Independientementedeltipoalquepertenezcan,lasestructuras
fsicaylgicadetodoslosdiscossonmuysimilares,comosemuestra
acontinuacin.
25
12/11/2009
Organizacindeldiscoduro
Pista:cadacoronacircularqueseencuentrasobreunasuperficie.
Pista:cadacoronacircularqueseencuentrasobreunasuperficie.
Sector: divisionesfsicasdetamaofijoenqueseconsideradivididauna
pista.Tpicamentecontienen512B
Cilindro:conjuntodepistas,unaporcadasuperficie,alqueseaccedecon
Cilindro:conjuntodepistas,unaporcadasuperficie,alqueseaccedecon
unaposicinfijadelpeinedecabezas
unaposicinfijadelpeinede
cabezas.Soncomo
.Soncomolosanillos
losanillos quemarcanla
edaddeunrbol.
Organizacindeldisco
OrganizacindeldiscoduroIII
duroIII
Lossectores soncomolos
Lossectores
soncomolospedazosdeunapizza.
pedazosdeunapizza.
Unapista
Una
pista es
esunodelosanillos
unodelosanillos quesoloseencuentranen unplatodelHD.
unplatodelHD.
EnlaimagenpodemosapreciarunHDviejo,con
EnlaimagenpodemosapreciarunHDviejo,con20pistas
20pistas y
y16sectores.
16sectores.
26
12/11/2009
Caractersticasdelosdiscos
CaractersticasdelosdiscosII
Undiscoduroesundispositivodegrancapacidadcompuestopor
variassuperficiesmagnetizadasycuyascabezaslectorasfuncionan
porefectoelectromagntico.
En
Enelmbitoorganizativo,lassuperficiesdeldiscoestndivididasen
el mbito organizativo las superficies del disco estn divididas en
cilindros,conunapistaparacadacabezayunciertonmerode
sectoresporpista.Eltamaodelsectores512bytes.
Capacidaddeldisco:
Capacidad=cilindros*pistas*sectores*tamaosector
*sectores*tamaosector
Capacidad=cilindros*pistas
Losparmetrosdelaestructurafsicadeldiscosonmuyimportantes
paraelmanejadordelmismo.
LasoperacionesdeE/Ssecalculanyoptimizanmediantedos
parmetros fundamentales:
parmetrosfundamentales:
tiempodebsqueda (loquesetardaairdeunapistaaotra)y
tiempodelatencia (eltiempomedioquesetardanallegarlos
datosdebajodelascabezas,unavezposicionadasenlapista)
T_acceso =n*T_bsqueda
=n*T_bsqueda +
+T_latencia
T_latencia +T_transferencia
+T_transferencia
Caractersticasdelosdiscos
CaractersticasdelosdiscosIII
III
Densidaddecadapista.Enlosdiscosmodernoslaspistastienen
distintadensidad,porloqueelnmerodesectoresvaradeunas
pistasaotras.
Intercaladodesectores.Elcontroladordebeempleartiempoen
copiarlosdatosledosamemoriaprincipal.Duranteestetiempono
puedeestartransfiriendodatosdel
puedeestartransfiriendodatosdeldisco,
disco,quesesiguemoviendoa
quesesiguemoviendoa
velocidadconstante,loquesignificaquesiquiereleerelsector
siguientedeberesperaraquelascabezaslectorasdenunavueltay
lleguendenuevoaesebloque.
Almacenamientointermedioenelcontrolador.Sepuedeoptarpor
leer la pista entera y mantenerla en memoria del controlador
leerlapistaenteraymantenerlaenmemoriadelcontrolador.
Controladoresinteligentes.Cuandocontrolanvariosdispositivos,
permitenefectuaroperacionesdebsquedadeformasolapada.
27
12/11/2009
CaractersticasdelosdiscosII
Ejemplodediscoduro
Ejemplo
dediscoduro
SEAGATE Barracuda ATA II ST330630A
Parmetro
Capac idad:
Cilindros:
Cabezas:
Sec tores:
Veloc idad:
T. Bsqueda:
Latenc ia:
Memoria:
Valor
10.2 GB
1023
256
83
7200 RPM
8,5 mseg.
4,16 mseg
2 Mbytes
Estructura de disco I
Losdiscosse
Losdiscossedireccionan
direccionan como un
ungran
gran array1
array1dimensionalde
dimensionaldebloques
bloques
lgicos,, donde el
lgicos
elbloque
bloque lgico es la
launidad
unidad detransferencia
detransferencia ms
pequea..
pequea
Losbloques
Losbloques lgicos delarray1
delarray1dimensionalse
dimensionalsecorresponden
corresponden con
sectores secuenciales eneldisco
Elsector0
Elsector0es
es elprimersectordela
elprimersectordelaprimera
primera pista delcilindro
delcilindro ms
externo..
externo
Enelsector0seguardalatabladeparticiones
Enelsector0seguardalatabladeparticiones..
Particionesactivasodesistema:permitenarrancardesdeunsistema
operativo.
Lacorrespondencia
Lacorrespondencia se
serealiza
realiza enorden
enorden alrededor delapista
delapista,el
,elresto
resto de
pistas yel
yelresto
resto de
decilindros
cilindros desde el
elms
ms externo al
alms
ms interno.
interno. El
manejadordedisconosabenadadelaorganizacindelosficheros,slode
particionesybloques.
28
12/11/2009
Estructura de disco II
Gestin de disco
Formateo fsico odebajo
odebajo nivel Divide
Divideaaldiscoensectores
ldiscoensectores que
elcontrolador
el
controlador dediscopuede
dediscopuede leeryescribir
leeryescribir..
Formateo lgico o
oconstruir
construir elsistema
elsistema dearchivo
dearchivo,
,llevaacabo
otrastrestareasfundamentales:
1.
2.
3.
Creacindeunalistadebloquesdefectuosos.
Creacindeunalistadebloquesderepuesto.
q
p
29
12/11/2009
Formateo dediscoI
Unsectordedisco
a)Nointercalados
a)No
intercalados
b)Intercalado
b)Intercalado sencillo
c)Intercalado
c)Intercalado doble
Formateo dediscoII
Decalaje decilindros
decilindros
30
12/11/2009
Creacindelaestructuralgica
CreacindelaestructuralgicaII
El bloque de carga incluye el programa que se carga en RAM (ncleo del sistema operativo)
cuando se enciende el ordenador.
ordenador.
El programa cragador Bootstrapse
Bootstrapsealmacena
almacena enROM,
enROM,incluyesololosaspectosms
incluyesololosaspectosms
bsicos de iniciacin del hardware del sistema y un bucle de lectura que carga el sistema
bsicosdeiniciacindelhardwaredelsistemayunbucledelecturaquecargaelsistema
operativoenunadireccindelamemoria.
Leepalabras consecutivas delaentrada ylas coloca deformaconsecutiva enMPapartir deuna direccin determinada.
Address Content
000
001
17002
002
12000
Purpose.
17001
Readawordfromtheinputintothefollowingmemorylocation.
Executewhatwasjustreadabove.
Gobackanddoitagain.
Lista de bloques de repuesto para el caso en que algn bloque del dispositivo falle durante el
tiempo de vida del mismo
mismo..
Creacindelaestructuralgica
CreacindelaestructuralgicaII
II
Parafacilitarelusodeunaparticindedistintasformas,
Parafacilitarelusodeunaparticindedistintasformas,la
la
utilidadfdisk
utilidad
fdisk o
oformat
format permitecreardosimgenesasociadas
acadaparticin:
Dispositivodebloques.Todoslosaccesosalmismopasanporel
sistemadearchivosylacachedebloques.
Dispositivodecaracteres.Permiteaccederabloquesdelaparticin
Dispositivodecaracteres.Permiteaccederabloquesdelaparticin
directamente.
Laspeticionesdebenserforzosamentemltiplodeltamaode
Las peticiones deben ser forzosamente mltiplo del tamao de
bloque
Debenestaralineadasalprincipiodeunbloque.
31
12/11/2009
Tabladeparticionesdeundisco
ManejadoresdediscoII
Manejadoresdedisco
Funcionesprincipales:
1. ProcesodelapeticindeE/Sdebloques.
2 Traduccindelformatolgicoamandatosdelcontrolador.
2.
T d i d l f
l i
d
d l
l d
3. Insertarlapeticinenlacoladeldispositivo,llevandoacabo
lapolticadeplanificacindediscopertinente(FIFO
lapolticadeplanificacindediscopertinente(FIFO,,SJF
SJF,,
SCAN,,CSCAN
SCAN
CSCAN,,EDF
EDF,etc.).
,etc.).
4. Enviarlosmandatosalcontrolador,programandolaDMA.
5. BloqueoenesperadelainterrupcindeE/S.
6. Comprobacindelestadodelaoperacincuandollegala
interrupcin.
7 Gestionar
7.
Gestionarloserrores,siexisten,yresolverlossiesposible.
los errores si existen y resolverlos si es posible
8. Indicacindelestadodeterminacinalnivelsuperiordel
sistemadeE/S.
32
12/11/2009
ManejadoresdediscoII
ManejadoresdediscoII
Elpaso1sellevaacaboenunmanejadorparalaclasededispositivodisco
independientedeltipodediscoenparticular,denominadomanejador
independientedeltipodediscoenparticular,denominadomanejador
genrico..
ggenrico
Elpaso2sellevaacaboenunmanejadordependientedeldispositivo,
denominadomanejadorparticular..
denominadomanejadorparticular
Eltipodedispositivoyeldispositivoenparticularsedistinguenporque
Eltipodedispositivoyeldispositivoenparticularsedistinguenporque
enlapeticindeE/Svieneinformacinqueloindica.
EnUNIXyLINUX
En
UNIXyLINUXmajor
major number y
yminor
minor number
Elpaso3dependedeldiseodelmanejador:
Colaglobalparacadatipodedispositivo
Colaparadispositivoparticular
Ambas.
Planificacin de disco I
Mejorar el
elttiempo de
deacceso
acceso::
Minimizarel
Minimizareltiempodep
tiempodeposicionamiento
osicionamiento o bsqueda
>
>distance
distance recorridaenelposicionamiento
Minimizar lalatencia
lalatencia de
derotacin
rotacin (tiempo de
deespera
espera hasta que elsector
elsectordeseado
deseado est
debajo dela
delacabeza
cabeza))
Objetivo:minimizareltiempodebsqueda,queesdirectamenteproporcionalala
Objetivo:minimizareltiempodebsqueda
,queesdirectamenteproporcionalala
distanciadebsqueda
El tiempodetransferenciatienequeverconlavelocidadderotacindeldisco:
Eltiempodetransferencia
El
tiempo de transferencia tienequeverconlavelocidadderotacindeldisco:
tiene que ver con la velocidad de rotacin del disco:
Anchodebanda:bytestransferidos/velocidaddetransferencia
Elancho debanda
Elancho
debanda es el
elnmero
nmero totaldebytestransferidos
totaldebytestransferidos divido entreeltiempo
entreeltiempo total
entrelaprimera
entrela
primera peticin delservicio
delservicio ylaltima
ylaltima transferencia.
transferencia.
33
12/11/2009
Planificacin de disco II
Criteriosdeplanificacin:
Optimizareltiempodebsqueda(
Optimizareltiempodebsqueda(SSOO
SSOO))
Darserviciodeterminista(
Darserviciodeterminista(multimediaySSTR
multimediaySSTR))
34
12/11/2009
FCFS(FIFO)
Vemos que la
lacabeza
cabeza I/O
I/Oatraviesa
atraviesa untotalde640
untotalde640 cilindros
ShortestSeekFirst(SSTF)I
Seleciona lapetin
lapetin conmnima
conmnima distancia desde el
elposicionamiento
posicionamiento
actual.
SSTFes
SSTFes una variante deplanificacin
deplanificacin SJF(
SJF(Shortest
(Shortest Job
JobFirst
First);
) puede
);puede
causar inanicin (starvation
(starvation)en
)enalgunas
algunas peticiones.
peticiones.
Primerolaspeticionesqueminimizanelmovimientodecabezasdesdela
posicinactual.
Idea:maximizarelanchodebandadeldisco.
35
12/11/2009
ShortestSeekFirst(SSTF)II
Vemos que la
lacabeza
cabeza I/O
I/Oatraviesa
atraviesa untotalde236
untotalde236 cilindros
Ascensor(SCAN)I
Ascensor(
SCAN)I
Elbrazo
Elbrazo dediscosemueve
dediscosemueve hacia unextremo
unextremo sirviendo peticiones en
ensu
su
recorrido;el
recorrido
;elsentido
sentido seinvierte
seinvierte y
ycontina
contina elservicio
elservicio depeticiones
depeticiones hasta
alcanzar elotro
elotro extremo
extremo..
Idea:evitardesplazamientosatrsyadelante.
Ventaja:combateelproblemadeinaniciny
Ventaja:combateelproblemadeinanicinyhomogeiniza
homogeiniza las
desviacionestpicasdelaslatencias.
Problema:diferenteslatenciassegnlaposicin;peorenlosextremos,
mejorenelcentro.
36
12/11/2009
Ascensor(SCAN)II
Ascensor(
SCAN)II
Vemos que la
lacabeza
cabeza I/O
I/Oatraviesa
atraviesa untotalde208
untotalde208 cilindros
Ascensorcclico(SCAN)I
Ascensorcclico(
SCAN)I
Proporciona untiempo
untiempo de
deespera
espera ms uniforme que el
SCAN.
Elbrazo
Elbrazo dediscose
dediscosemueve
mueve hacia unextremo
unextremo sirviendo
peticiones ensu
ensu recorrido
recorrido.Cuando
.Cuandoalcanza
alcanza el
elextremo
extremo final,
inmediatamente semueve
semueve alprincipiodeldiscosin
alprincipiodeldiscosinservir
servir
peticiones,
peticiones
,desde
desde donde semueve
semueve haca elextremo
elextremo final
sirviendo las restantes peticiones
peticiones..
Trata loscilindros
loscilindros como una lista circulardonde
circulardonde elsiguiente
elsiguiente
alltimo
al
ltimo cilindro es el
elprimero
primero..
Se
Seusa
usa frecuentemente
37
12/11/2009
Ascensorcclico(SCAN)II
Ascensorcclico(
SCAN)II
Vemos que la
lacabeza
cabeza I/O
I/Oatraviesa
atraviesa untotalde345
untotalde345 cilindros 199
199::
Va delltimo
delltimo al
alprimero
primero enunnicomovimientoytardamuypoco
CLOOKI
Versin delC
delCSCAN
Elbrazo
Elbrazo nicamente va hasta lapeticin
lapeticin ms extrema
encada
en
cada direccin,sin
direccin,sinllegar
llegar alos
alosextremos
extremos deldisco.
38
12/11/2009
CLOOKII
Vemos que la
lacabeza
cabeza I/O
I/Oatraviesa
atraviesa untotalde?
untotalde? cilindros
Seleccin deun
deunalgorithmo
algorithmo de
planificacin dedisco
SSTFesfrecuenteypareceelmsnatural
SCAN
SCANyC
SCANyC
CSCANtienenmejorrendimientoparasistemasqueusanmuchoel
SCAN ti
j
di i t
it
h l
disco .
La
Laeficiencia
eficiencia depende delnmero
delnmero y
ytipo
tipo depeticiones
depeticiones..
Laspeticiones
Laspeticiones al
alservidor
servidor dediscoestn
dediscoestn influenciadas por elmtodo
elmtodo de
ubicacin deficheros
deficheros..
El
Elalgoritmo
algoritmo deplanificacin
deplanificacin dediscopuede
dediscopuede estar enun
enunmdulo
mdulo separado
del SO permitiendo que se
delSO,permitiendo
delSO,
se sustituya por otro algoritmo si es necesario
sesustituya
necesario..
Algoritmoestndarencasitodoslossistemas:C
Algoritmoestndarencasitodoslossistemas:CSCAN.
SSTFyLOOKson
SSTFyLOOKsonalternativas
alternativas razonables como algorithmo por defecto
defecto..
39
12/11/2009
Inodes
nodessituados
situados alinicio
alinicio del
deldel
del disco
Disco
Discodividido
dividido engrupos
engrupos cilindros
Cada uno consus
consus propios bloques ei
einodos
79
Gestindeerroresdedisco
Errorestransitorios
Errorestransitorios
Debidosalaexistenciadepartculasdepolvoenlasuperficiedel
discocuandoseefectalaoperacindeE/S,apequeasvariaciones
elctricasenlatransmisindedatos,fallosdecalibracindecabezas,
...
SedetectanporqueelECCdelosdatosnocoincideconelcalculadoy
seresuelvenrepitiendolaoperacindeE/S.
Sidespusdeunciertonmeroderepeticionesnoseresuelveel
problema,elmanejadorconcluyequelasuperficiedeldiscoest
daadaylocomunicaalnivelsuperiordeE/S.
Errores
Errorespermanentes
permanentes setratandedistintasformas.
Erroresdeaplicacin:pocoquehacer.
Erroresdelcontrolador:tratardereiniciarelcontrolador.
Erroresdesuperficiedeldispositivo:sustituirelbloqueporunode
repuesto.
40
12/11/2009
Gestinde
Gestindeerrores
errores
Fiabilidadytoleranciaafallos
ElsistemadeE/Sesunodeloscomponentesdelsistemaconmayores
exigenciasdefiabilidad,debidoaqueseusaparaalmacenardatosy
programas de forma permanente.
programasdeformapermanente.
Lasprincipalestcnicasusadasparaproporcionarestafiabilidadson:
Cdigoscorrectoresdeerror,comolosexistentesenlascabecerasy
colasdelossectores.
Operacionesfiables,cuyacorreccinsepuedeverificarantesdedar
elresultadodelaoperacindeE/S.Estatcnicaseimplementa
mediantetcnicasdealmacenamientoestable.
Redundancia,tantoendatosreplicadoscomoencdigodeparidad
Redundancia, tanto en datos replicados como en cdigo de paridad
paradetectarerroresyrecuperarlos.Estatcnicaseimplementa
medianteelusodedispositivosRAID
medianteelusodedispositivosRAID((Redundant Array of
Inexpensive Disks
Disks).
).
Redundanciahardware,comoelsistemadeWindowsNTque
permiteconectarundiscoatravsdedoscontroladores.
41
12/11/2009
RAIDStructure
RAID
RAID Multiplesdiscos
Multiplesdiscosproporcionan
proporcionan fiabilidad via
viaredundancia
redundancia..
Se
Seutiliza
utiliza un
ungrupo
grupo dediscoscomo
dediscoscomo una unidad de
dealmacezamiento
almacezamiento..
Discosespejo
Discosespejo (Mirroring or
orshadowing).
shadowing).
Bloques de
deparidad
paridad intercalados (menos redundancia
redundancia).
).
Hay6
Hay6niveles
niveles RAID:
Niveles RAID
42
12/11/2009
OrganizacionesRAID
RAID0:lainformacinsegrabayseleeenparaleloentrevariosdiscos
RAID0
:lainformacinsegrabayseleeenparaleloentrevariosdiscosfsicos
fsicos
RAID1:Dosdiscosenconfiguracinespejo.Unocontienelosdatosyelotro
RAID1:Dosdiscosenconfiguracinespejo.Unocontienelosdatosyelotro
os d scos e co gu ac espejo U o co t e e os datos y e ot o
unarplicaexacta
unarplica
exacta
RAID2::Array
RAID2
Array dediscossincronizados,convariosdiscosredundantesque
contienenelcdigodecorreccinHamming
contienenelcdigodecorreccinHamming
RAID3:Array
RAID3:
Array dediscossincronizados,conundiscoredundantequecontieneel
bitdeparidad
bitde
paridad
RAID4:Array
RAID4:
Array dediscosindependientes,conundiscodecontroldeparidad
dedicado
RAID5
RAID
5::Array
Array dediscosindependientes,concontroldeparidad
dediscosindependientes,concontroldeparidaddistribuido
distribuido
RAID6::Array
RAID6
Array dediscosindependientes,concontroldeCRCdistribuido
RAID(0+1)
RAID(0+1)yy (1+0)
43
12/11/2009
RAID5
RAID
5
Controlador
bloque 0
bloque 1
paridad
bloque 3
Disco 0
Disco 1
bloque 2
Disco 2
paridad
Disco 3
Entrada//Salida
Entrada
CaracterizacindelosdispositivosdeE/S
Drivers:softwaredeE/Sdependientedeldispositivo
/
p
p
SoftwaredeE/Sindependientedeldispositivo
Almacenamientosecundario
Almacenamientoterciario
Elreloj
Elterminal
Lared
Serviciosdeentrada/salida
44
12/11/2009
Dispositivos dealmacenamiento
dealmacenamiento terciario
La
Lacaracterstica
caracterstica que defineel
defineelalmacenamiento
almacenamiento terciario es Lowcost.
Generalmente,el
Generalmente,elalmacenamiento
almacenamiento terciario es mobible:
mobible:
Discosfloppy,
Discosfloppy,ms
ms rpidos que losdiscos
losdiscosduros
duros ycapacidad
ycapacidad de1MB.
de
CD
CDROMs
Cintas
Cintasmagnticos
magnticos
Discosremovibles
Discos
removibles
Undiscomagneto
Undiscomagnetoptico almacena datos enuna
enuna superficie rgida de
materialmagntico
material
magntico cubierta conuna
conuna capa deplstico
deplstico..
Una cabeza laser
laseramplifica
amplifica uncampomagntico
uncampomagntico para grabar unbit.
La
Laluz
luz laserse
laserseutiliza
utiliza tambin para leerlosdatos
leerlosdatos..
Losdiscospticos
Losdiscospticos noutilizan
noutilizan magnetismo,
magnetismo,emplean
emplean materiales
especiales que sealteran
sealteran conlaluz
conlaluz dellaser.
45
12/11/2009
DiscosWORM
WORM(WriteOnce,ReadManyTimes)se
WORM(WriteOnce,ReadManyTimes)sepueden
pueden escribir slo una
vez .
Una capa depapel
depapel aluminio entredoscapas
entredoscapas deplstico
deplstico..
Paraescribir
Paraescribir unbit,sequema
unbit,sequema conlaserun
conlaserunpequeo
pequeo agujero enel
enelpapel
papel
dealuminio
de
aluminio deldispositivo
deldispositivo;la
;lainformacin
informacin sepuede
sepuede destruir pero no
alterar..
alterar
Muy duraderos y
y fiables
yfiables
Los ReadOnly disks,
disks,como
como CD
CDROM
ROMyy DVD,vienen
DVD,vienen defabrica
defabrica conlos
datos pre
pregrabados
grabados..
Cintasmagnticas
Cintas
magnticas
Fue elprimerdispositivo
elprimerdispositivo delamacenamiento
delamacenamiento secuendario.
secuendario.
Comparada
p
conlosdisos
conlosdisos,,es
es ms barata yy
yalmacena
almacena ms datos,
datos,pero
pero el
p
acceso aleatorio es muchoms
muchoms lectos:~1000
lectos:~1000veces
veces ms lentoaque el
disco.
Tpicamente almacena 20
20200GB.
Una vez que los
losdatos
datos estn bajo lacabeza
lacabeza I/O,la
I/O,lavelocidad
velocidad de
transferencia es comparablealadeldisco.
Se
Seutiliza
utiliza para backups,opara
backups,opara guardar datos que apenas seusan
seusan..
Tecnologas comunes son4mm,8mm,19mm,LTO
son4mm,8mm,19mm,LTO2andSDLT
46
12/11/2009
Entrada//Salida
Entrada
CaracterizacindelosdispositivosdeE/S
Drivers:softwaredeE/Sdependientedeldispositivo
/
p
p
SoftwaredeE/Sindependientedeldispositivo
Almacenamientosecundario
Almacenamientoterciario
Elreloj
Elterminal
Lared
Serviciosdeentrada/salida
Elreloj
El
reloj
Variasacepciones:
Relojdelprocesador
j
p
Relojdelsistema(quemantienefechayhora)
TemporizadorqueactivaperidicamentealS.O
TemporizadorqueactivaperidicamentealS.O..
S.O.vinculadoconlasdosltimas
S.O.vinculadoconlasdosltimasacepciones
acepciones
RelojesundispositivodeE/S?
S,yaqueimplicaregistrosdeE/S
S,yaqueimplicaregistrosdeE/Seinterrupciones
einterrupciones
Generalmenteel
GeneralmenteelS.O.ledatratamientoespecfico
S.O.ledatratamientoespecfico
47
12/11/2009
Reloj hardware
Reloj programable:
programable:
Circuitotemporizadorquegenerasealperidica(
Circuitotemporizadorquegenerasealperidica(tick
tick))
Conectadoalneadeinterrupcindealtaprioridad
Frecuenciaprogramable(actacomodivisordefrecuencias)
Frecuencia programable (acta como divisor de frecuencias)
Modooperacinprogramable(nicodisparo,ondacuadrada)
Generalmentecircuitoconmltiplestemporizadores
Notodosconectadosalneadeinterrupcin
Relojalimentadoporbateraquemantienehorayfecha
ConsultadoporS.O.ensuarranque
TambindenominadorelojCMOS
Elreloj
Elreloj
Reloj software
48
12/11/2009
Driverde reloj
Laborprincipalde
LaborprincipaldeSO:
SO:manejo
manejodeinterrupcionesdeCK
deinterrupcionesdeCK
Tambininiciacinygestindellamadas
Tambininiciacinygestindellamadasrelacionadas
relacionadas
Compromisoalfijarfrecuenciadeinterrupcin:
Demasiadoalta:Excesivasobrecargaportratamientode
Demasiadoalta:Excesivasobrecargaportratamientodeint
int..
Demasiadobaja:Limitadaprecisinenmedidadeltiempo
Ejemplotpico:100Hz(1interrupcincada10ms)
Ejemplotpico:100Hz(1interrupcincada10ms)
Minimizareltrabajo
Minimizareltrabajorealizadopor
realizadoporlarutina
larutinadeinterrupcin
deinterrupcin
Yaquemientrasnoseatiendeint
Yaquemientrasnoseatiendeint dedisp.demenos
dedisp.demenosprioridad
prioridad
Solucintpica:Dividirtrabajoasociadoa
Solucintpica:Dividirtrabajoasociadoaint
int.dereloj
.dereloj
Operacionesmsurgentesrealizadasporrutinadeinterr
Operacionesmsurgentesrealizadasporrutinadeinterr..
Resto:tratamientoposteriorfueradelarutina(int
Resto:tratamientoposteriorfueradelarutina(int.software
.software)
)
Driverde reloj
Funcionesdelmanejadordelreloj:
Mantenimientodefechayhora
Gestindetemporizadores
Contabilidadyestadsticas
Soporteparalaplanificacindeprocesos
49
12/11/2009
Mantenimientodefechayhora
EnarranqueSO
EnarranqueSOprogramatemporizadoryleefecha
programatemporizadoryleefecha
Apartirde
Apartirdeentoncesse
entoncesseactualizalahoraencada
actualizalahoraencadaint
int CK
Almacenamientodefechay
Almacenamientodefechayhora:
hora:
Espacio
Espaciosuficiente
suficiente
Debe
Debepoderseguirusndoseenunfuturolejano
poderseguirusndoseenunfuturolejano
Diferenciasentrehorariosdepases:
conversin
Se
SealmacenaenUTCybibliotecasseencargande
almacenaenUTCybibliotecasseencargandeconversin
Unidadesdetiempodesdefechafijaenelpasado
segs.o
g .o
segs
segs.desde1
g .desde111970
UNIX:
UNIX:segs
Windows:centenasde
Windows:centenasdensegs
nsegs.desde1
.desde111601
Serviciosparaleery
Serviciosparaleerycambiarhora
cambiarhora(slo
(slosuperusuario
superusuario)
)
Peligrosoretrasarhora:
AlgunosSS.OO.permitenhacerlogradualmente
Gestindetemporizadores
Algunosprocesosnecesitanesperarunplazodetiempo
S.O.ofreceserviciosparaello
PropioS.O.tambinlorequiere
P.ej.mdulodecomunicacionesomanejadordedisquete
MltiplestemporizadoresapartirdeltemporizadorHW
Listadetemporizadoresactivos:
Elemento:plazorestante(ticks)+funcinaejecutar alcumplir
Posibleorganizacindelalista:
Ordencrecienteyconplazosrestantesrelativosaanteriores
Orden creciente y con plazos restantes relativos a anteriores
Ejemplo:temp1 5ticks,temp2 8ticks ytemp3 8ticks:
[temp1 5] [temp2 3] [temp3 0]
Silagestindeltemporizadorconsumemuchotiempo >
ejecutadafueraderutinadeinterrupcin
50
12/11/2009
Contabilidadyestadsticas
Ejecucinperidicaderutinade
Ejecucinperidicaderutinadeint
j
p
int.reloj
.relojj
Permitemuestreodediversas
Permitemuestreodediversasvariables
variables
Contabilidaddeusodeprocesadordecadaproceso
Procesoqueestabaejecutandocuando
Procesoqueestabaejecutandocuandoint
int.dereloj
.dereloj
Selecargausodeprocesadoreneseintervalo
Sedistinguesiestabaenmodousuarioosistema
Sedistinguesiestabaenmodousuarioosistema
Perfilesdeejecucin
Tiempoqueconsumen
Tiempoqueconsumenlasdistintaspartesdelprograma
lasdistintaspartesdelprograma
Rutinade
Rutinadeint
int..Muestreael
MuestreaelPC
PCdel
delprocesointerrumpido
procesointerrumpido
Seobtienehistogramadela
Seobtienehistogramadelaejecucin
ejecucindelprograma
delprograma
Soportepara
Soporte
paraplanificacindeprocesos
planificacindeprocesos
Algoritmosdeplanificacin
Algoritmosdeplanificacinbasadosen
basadoseneltiempo
eltiempo
Rutinade
Rutinadeint
int..CK
CKconllevaaccionesde
conllevaaccionesdeplanificacin
planificacin
EnRound
EnRoundRobin
Robin::
Encadainterrupcinsedescuentatiempoalarodaja
Cuandollegaacero
Cuandollegaacero Replanificacin
Algoritmosque
Algoritmosquerecalculan
recalculan peridicamentelaprioridad
P.ej.dependiendodeusodeUCP/procesoenltimointervalo
P j d
di d d
d UCP/
lti
i t
l
51
12/11/2009
Entrada//Salida
Entrada
CaracterizacindelosdispositivosdeE/S
Drivers:softwaredeE/Sdependientedeldispositivo
/
p
p
SoftwaredeE/Sindependientedeldispositivo
Almacenamientosecundario
Almacenamientoterciario
Elreloj
Elterminal
Lared
Serviciosdeentrada/salida
Elterminal
Teclado+pantalla
Dependiendodeformadeconexin:
Terminalesserie
Terminalesproyectadosen
Terminalesproyectadosenmemoria
memoria
Dependiendodetipodeinformacinmanejada:
Terminalesenmodo
Terminalesenmodoalfanumrico(texto)
alfanumrico(texto)
MemoriadevdeocontienecdigosASCII
Controladordevdeogenerapatronesdepixels
Terminalesenmodo
Terminalesenmodogrfico
grfico
Memoriadevdeocontienematrizdepixels
SWdebetransformardecdigoASCIIapatrndepixels
Exposicinsecentraenterminalesenmodotexto
52
12/11/2009
Mododeoperacindelterminal
Mododeoperacindelterminal
Similarentodoslostiposdeterminales
Diferencia:QusehaceporHWyquporSW?
Tecladogenerainterrupcinalpulsartecla
S.O.leecdigodetecladeregistrodecontroladordeteclado
ConversinaASCIIymanejodeteclasmodif.porSW
SalidaparaterminalmapeadoenMemoria
Pantalla:matrizdepixels conmemoriadevdeoasociada
Memoriadevdeodirectamenteaccesiblealprocesador
Escrituraenpantallarequiereescrituraenmemoriadevdeo
Escritura en pantalla requiere escritura en memoria de vdeo
Controladordevdeoleedememoriadevideoyrefrescapantalla
CarcterASCII Patrndepixels
Secuenciasdeescape:
Permitenoperacionesespeciales(p.ej.borrarlapantalla)
HardwaredeterminalI
P ll l portt
Parallel
Terminalmapeado enMemoria
Eldriverescribe directamente enlaRAMdevideo
106
53
12/11/2009
HardwaredelterminalII
Corespondenca enlapantalla
losxs sonbytesdeatributos
107
Entrada//Salida
Entrada
CaracterizacindelosdispositivosdeE/S
Drivers:softwaredeE/Sdependientedeldispositivo
/
p
p
SoftwaredeE/Sindependientedeldispositivo
Almacenamientosecundario
Almacenamientoterciario
Elreloj
Elterminal
Lared
Serviciosdeentrada/salida
54
12/11/2009
Lared
Dadasucrecienteimportancia,soportedeS.O.cadavez
Dadasucrecienteimportancia,soportedeS.O.cadavezmejor
mejor
AlgunosSS.OO.ledantratamientodiferenteaotrosdispositivos
SS.OO. le dan tratamiento diferente a otros dispositivos
Algunos
EnLinuxnohayarchivosen/
EnLinuxnohayarchivosen/dev
dev parala
paralared
red
Softwarederedorganizadoentresniveles:
Niveldeinterfazalasaplicaciones
Tpicamente,
Tpicamente,sockets
sockets (Winsock enWindows)(captulo10)
PuedeconsiderarsecomoniveldesesinOSI
Niveldeprotocolos
Capa(s)queimplementa(n)transporteyredOSI(oTCP/IP)
Incluyefuncionesdeencaminamiento
Niveldedispositivodered
Manejadoresdedispositivosdered(niveldeenlaceOSI)
Manejadoresdedispositivosdered(niveldeenlaceOSI)
Nivelesdelsoftwaredered
55
12/11/2009
Nivelesdelsoftwaredered
Interfaz a las aplicaciones
Nivel de transporte
Nivel de red
Ethernet
SLIP
..........
Nivelestrabajandeformaindependiente
Usodeinterfacesestndarentre
Usodeinterfacesestndarentreniveles
niveles
Mensajedesciendecomoresultadodellamadadeaplicacin
Mensaje desciende como resultado de llamada de aplicacin
Sevaaadiendoinformacinde
Sevaaadiendoinformacindecontrol
control
Menajeasciendecomoresultadodeinterrupcinderecepcin
Sevaeliminandoinformacindecontrol
Sevaeliminandoinformacindecontrol
Paraimplementacineficiente,minimizarcopiadeinformacin
Entrada//Salida
Entrada
CaracterizacindelosdispositivosdeE/S
Drivers:softwaredeE/Sdependientedeldispositivo
/
p
p
SoftwaredeE/Sindependientedeldispositivo
Almacenamientosecundario
Almacenamientoterciario
Elreloj
Elterminal
Lared
Serviciosdeentrada/salida
56
12/11/2009
Serviciosdeentrada/salida
Serviciosrelacionadosconelreloj
Serviciosdehorayfecha
Paraleerycambiar(slo
Para leer y cambiar (slo superusuario)fechayhora
Paraleerycambiar(slosuperusuario
superusuario))fechayhora
superusuario
) fecha y hora
Temporizaciones
Tantosncronas(bloqueantes)comoasncronas
Serviciosdecontabilidad
Ejemplo:tiempodeprocesadorconsumidoporunproceso
Ejemplo:tiempodeprocesadorconsumidoporunproceso
Serviciosdeentrada/salida
Accesoadispositivosatravsdeinterfazdearchivos
Programasindependientesdelmedioqueusan
Sloespecficosparaoperacionesdependientesde
Sloespecficosparaoperacionesdependientesdedispositivo.
dispositivo.
Porejemplo,desactivarecodeterminal
ServiciosdefechayhoraenPOSIX
time_t time(time_t *t);
Devuelve nmero de segundos desde 111970 en UTC
AlgunosUNIXtienengettimeofday conprecisindesegs.
Funcionesdebibliotecaparaconvertiraao,mes,...,segundos
gmtime (UTC) ylocaltime (horariolocal)
57
12/11/2009
ServiciosdetemporizacinenPOSIX
unsigned int alarm (unsigned int segundos);
Establece temporizador del plazo especificado
El proceso solicitante no se bloquea:
Cuando se cumple plazo recibe seal SIGALRM
ServiciosdecontabilidadenPOSIX
Diversasfunciones,sepresentaunafrecuentementeusada:
Obtienetiempodeprocesadorconsumidoporunproceso
58