Download Gestión de los recursos de un sistema operativo

Document related concepts

Memoria virtual wikipedia , lookup

Segmentación de memoria wikipedia , lookup

Archivo proyectado en memoria wikipedia , lookup

Gestión de memoria wikipedia , lookup

Proceso (informática) wikipedia , lookup

Transcript
Unidad
3
Gestióndelosrecursos
deunsistemaoperativo
En esta unidad aprenderemos a:
•Identificarlosprocesosysusestados.
•Determinarlascaracterísticas
yelementosdelosprocesos.
•Planificarlaejecucióndeprocesos.
•Interpretarlastécnicasdegestión
dememoria.
•Diferenciarlastécnicasdegestión
dememoria.
•Conocerlagestiónde
entrada/salidadelsistema
operativo.
Y estudiaremos:
•Losprocesos.
•LamemoriaRAMysuestructura.
•Laformadealmacenar
losprocesosenmemoria.
•Cómoseplanificalaejecución
deprocesosenelsistema
informático.
•Losdiferentestiposde
periféricosdeunsistema
informático.
3
Gestióndelosrecursosdeunsistemaoperativo
1. Procesos y flujos
Vocabulario
Un proceso es un conjunto de
instruccionescorrespondientesa
un programa que son ejecutadasporlaUCP.
Unprocesoesunconceptomanejadoporelsistemaoperativoyquereferenciaunprogramaenejecución.
Alosprocesos,dependiendoespecialmentedelsistemaoperativoutilizado,selesdenominaflujosdecontrol,tareas,threadsohilos,segúnelcontexto.
Cuandoseejecutamásdeunprocesodeformaconcurrenteenunsistema,todosnecesitanqueelpropiosistemalessuministreunaseriederecursos.Paraello,elsistemaoperativo,graciasalaUCP(UnidadCentralde Proceso),seencargadeasignarestosrecursos
enunordenadecuadoyatendiendoaunasprioridades.Tambiénrealizafuncionesde
sincronización de todos los procesos, para que se ejecuten en el orden adecuado y
segúnlaprioridaddecidida.
Cadavezqueunprogramaseconvierteenproceso,esdecir,cadavezqueseejecuta
unprograma,ademásdeubicarenmemorialasinstruccionesquelocomponenysus
datosasociados,adichoprocesoseleasociaunaestructura de datos.
Estaestructuradedatos,queesúnicaparacadaproceso,identificaelprocesorespecto
delosdemásysirveparacontrolarsucorrectaejecución.Esloquesellamaelbloque
de control del proceso o BCP,ycontendráparacadaprocesolasiguienteinformación:
estadoactualdelproceso,identificadordelproceso,prioridaddelproceso,ubicación
enmemoriayrecursosutilizados.
2. Hebras y estados de los procesos
Unahebra esunpuntodeejecucióndeunproceso.Unprocesotendrásiempreuna
hebra,enlaquecorreelpropioprograma,peropuedetenermáshebras.
Vocabulario
Unahebraohiloesunsubproceso de un proceso que consume
recursospropiosperoquedependedelprocesopadrequeloha
ejecutado.
Lashebrasrepresentanunmétodosoftwareparamejorarelrendimientoyeficaciade
lossistemasoperativos.Lashebrasdeunmismoprocesocompartiránrecursos,como
memoria,archivos,recursoshardware,etc.
Un proceso clásico será aquel que solo posea una hebra. Pongamos un ejemplo. Si
ejecutamoselprocesadordetextosWord,conunsolodocumentoabierto,elprograma
Wordconvertidoenprocesoestaráejecutándoseenunúnicoespaciodememoria,tendráaccesoadeterminadosarchivos(galeríasdeimágenes,correctorortográfico,etc.),
tendráaccesoalhardware(impresora,disquetera),etc.Endefinitiva,esteproceso,de
momento,solamentetieneunahebra.
Sienestasituación,sincerrarWord,abrimosunnuevodocumento,Wordnosevuelve
acargarcomoproceso.Simplementeelprograma,convertidoenproceso,tendráasu
disposicióndoshebrasohilosdiferentes,detalformaqueelprocesosiguesiendoel
mismo(eloriginal).
Wordseestáejecutandounasolavezyelrestodedocumentosdetextoqueabramos
enestamismasesióndetrabajonoseránprocesospropiamentedichos.Seránhiloso
hebrasdelprocesoprincipal,queeselpropioprocesadordetextos.
Antesdehablardeprioridades,yteniendomuyencuentalocomentadoanteriormente,
vamosaverlosdiferentesestadosenlosquepuedenestarlosprocesos.
Hoyendíaexistengrancantidaddeprogramasdiseñadosenmultihiloomultihebra.
Deestaforma,siunprogramapuederealizarvariascosas,comoanalizarelregistro
delequipo,desfragmentareldiscoduroyrealizarcopiasdeseguridad,todasellasse
podránejecutaralavez.Enprogramasconvencionales,solamentesepodríaejecutar
unatrasotra,peronotodasalavez.
50
Gestióndelosrecursosdeunsistemaoperativo
PREPARADO
3
EJECUCIÓN
BLOQUEADO
Fig. 3.1. Estados de los procesos.
Básicamentelosestadosposiblesdeunproceso,quepodemosverenlaFigura3.1,son
lossiguientes:
• En ejecución. ElprocesadorestáejecutandoinstruccionesdelprogramaquelocomponeytieneconcedidoeltiempodeusodelaUCPenuninstanteconcreto.
• Preparado, en espera o activo. Un proceso está preparado para ser ejecutado; es
decir, está esperando turno para poder utilizar su intervalo de tiempo y poner en
funcionamientosusinstruccionesaccediendoalosrecursosdelsistema.
Ten en cuenta
Un programa se convierte en
proceso cuando se ejecuta y
residecompletamenteenmemoriaRAM.
• Bloqueado. Elprocesoestáretenido;esdecir,estábloqueadodebidoacausasmúltiples.Unadeestascausaspuedeserquedosprocesosutilicenelmismoficherode
datos.OtrapuedeserquedosprocesosnecesitenutilizarlamismaunidaddeCDROMparacargardeterminadosdatos,etc.
En general, todos los procesos dentro de cualquier sistema operativo tienen unas características que los identifican. En primer lugar, indicaremos que cada programa en
ejecución,esdecir,cadaproceso,tieneunidentificadorquelodiscriminadelosdemás.
Cadaprocesotieneunnúmeroasignadoporelsistemaoperativoquesirveprecisamenteparaidentificarelproceso,lanzarloaejecución,detenerlo,cancelarlo,reanudarlo,
etc.EsteidentificadordeprocesosenombraconlaabreviaturaPID.
Tambiénveremosqueencadasistemaoperativo,losprocesosloslanzannormalmente
otrosprocesos.Esdecir,quecadaprocesoqueselanzaaejecucióndepende,enlamayoríadeloscasos,deotroprocesodenominadoproceso padre. Así,alnuevoproceso
lanzadoseledenominaproceso hijo.
Actividades
1. ¿Puedepasarunprogramadeestadobloqueadoaejecución?
2. Cuandoselanzaunnuevoproceso,¿pasaestedirectamenteaejecución?
51
3
Gestióndelosrecursosdeunsistemaoperativo
3. Transición de los procesos
Unavezqueunprogramasehalanzadoysehaconvertidoenproceso,puedeatravesarvariasfasesoestadoshastaquefinalizaotermina.
Cuandounprocesoselanza,nuncaseejecutadirectamente,sinoquesecolocaenla
cola de procesos en un estado denominado preparado. Cuando la UCP le asigna su
tiempo,elprocesopasadepreparadoaejecución.Estosdosestadossealternaránen
casodequeseestéejecutandomásdeunprocesoenelsistema.
Loscambiosdeestadoenlosquesepuedeencontrarunprocesosedenominantransiciones.EnlaFigura3.2serecogenlastransicionesocambiosdeestadoquepueden
experimentarlosprocesos.
• Transición A. Ocurrecuandoelprogramaqueestáenejecuciónnecesitaalgúnelemento,señal,dato,etc.,paracontinuarejecutándose.
• Transición B.Ocurrecuandounprogramaoprocesohautilizadoeltiempoasignadopor
laUCP(procesador)parasuejecuciónytienequedejarpasoalsiguienteproceso.
• Transición C.Ocurrecuandoelprocesoqueestápreparadopasaalprocesodeejecución,esdecir,cuandoalprocesolellegaunanuevadisposicióndetiempodela
UCPparapoderejecutarse.
• Transición D. Ocurrecuandoelprocesopasadeestarbloqueadoaestarpreparado,es
decir,cuandoelprocesorecibeunaordenoseñalqueestabaesperandoparapasaral
estadodepreparadoy,posteriormente,traslatransición,aestadodeejecución.
Enunsistemamultiprocesoomultihebra,cuandounprocesoohilopasadeunestadoaotro(porejemplo,deesperaaejecución),loqueseproduciráesuncambio de
contexto.
Elcambiodecontextopuedeserparcialsiserealizaentrehilosdelmismoproceso.En
casodequeelcambiodecontextoseaentrehilosdediferentesprocesos,seproducirá
un cambio de contexto completo, ya que el cambio afectará a memoria, hardware,
ficheroscomunes,etc.
VeamosenlaFigura3.3unejemplodecambiodecontextoentredosprocesos:
PREPARADO
EJECUCIÓN
PROCESO 0
PROCESO 1
C
B
SALVAR estado PCB 0
D
A
RECARGAR estado PCB 1
BLOQUEADO
SALVAR estado PCB 1
RECARGAR estado PCB 0
Fig. 3.2. Transición de los procesos.
52
Fig. 3.3. Cambio de contexto.
Gestióndelosrecursosdeunsistemaoperativo
3
Ejemplos
EnlaFigura3.4podemosapreciardequéformaseejecutantresprocesos(ohilosensistemasoperativosmultihiloomultihebra),pasandodeestaractivosaestarenespera,según
seasignentiemposdeejecucióndeUCPaunosuotros.
PROCESO
1
PROCESO
2
PROCESO
3
Ciclo de UCP
0
1
2
Proceso en ejecución
3
4
5
6
7
8
Proceso en espera
Fig. 3.4. Esquema de ejecución de tres procesos.
Los diferentes estados tienen una relación directa con lo que vamos a denominar
prioridades,quesonaquellasqueeladministradordelsistema,oelpropiosistema,
asignanacadaproceso.Deellodependeráqueunprocesoseejecuteenmásomenostiempo.
Ten en cuenta
La prioridad de un proceso determinalacantidaddeciclosdeUCP
queconsumirárespectodeotros
procesosenejecución.
Sepuedenestablecerprioridadesenfuncióndelanecesidaddeejecucióndealgunos
programas.Losprogramasquemásseejecutan,esdecir,losmásnecesarios,tendrán
prioridaddeejecuciónsobreaquellosqueseejecutanmuydecuandoencuando.
Esahoracuandohemosdehablardelaplanificación. Conestatécnicaconseguimos
indicaralordenadorlosprocesosquedebenejecutarseylosestadosqueestosdeben
adoptar.Graciasalos algoritmos de planificaciónpodemosdecidirquéprocesoha
de ejecutarse en cada momento y por qué. Algunas características de estos algoritmos son la imparcialidad, la equidad, la eficiencia, el tiempo de respuesta y el
rendimiento.
Para ejecutar un proceso, introducimos en el indicador de comandos (shell en UNIX,
command.comenWindows)elnombredeunficheroejecutableohacemosdobleclic
conelratónsobreeliconoquerepresentaunprogramaejecutable(porejemplo:Explorer enWindows).Deestaforma,elsistemaoperativopreparaelprogramaatravésdel
cargadorparalanzarloaejecución.
Actividades
3. ¿Cuántasinstruccionespuedeprocesarenuninstante
detiempolaUCP?
4. ¿Quiénasignalasprioridades a los procesos en un
sistemamultiproceso?
53
3
Gestióndelosrecursosdeunsistemaoperativo
Vocabulario
Se denomina planificador a
aquella parte del sistema operativoencargadadeasignarlos
recursosdelsistema,demanera
que se consigan unos objetivos
decomportamientoespecificados.
Unavezcargadoelproceso,elsistemaoperativoasignaatravésdelplanificador la
prioridaddelnuevoprocesorespectodelosquehayenejecución.
Deestaforma,cadaprocesoatraviesavariasfases.Enunmomentodado,elproceso
se estará ejecutando; posteriormente estará en espera, mientras la UCP ejecuta otro;
otrosprocesosestaránpreparadosparaserlanzados;otrospodránestarbloqueados,
etc.Puesbien,enestoscambiosdeproceso,elsistemaoperativotienequesaberqué
ficherosestánabiertosencadaproceso,quéperiféricosseestánutilizando,etc.
Cuandoseestánejecutandovariastareasalavez(procesos),esnecesariocompartir
eltiempodetrabajodelaUCP.Eltiempocompartidoconsisteendividireltiempode
ejecucióndelprocesadorenminúsculosintervalosdetiempo(quantum) eirasignando
cadaunodeesosintervalosdeejecuciónacadaprocesoqueestáenejecución.
4. Bloque de Control de Procesos
Ten en cuenta
Todo proceso consume recursos
hardwaredeunsistemainformático,yeselsistemaoperativoel
quedetermina,medianteelplanificador,dequéformaseasignanlosrecursosacadaproceso.
Lossistemasoperativosdisponendelosserviciosnecesariosparalagestióndelos
procesos,talescomosucreación,terminación,ejecuciónperiódica,cambiodeprioridad,
etc.Además,durantesuexistencia,losprocesospasanpordistintosestadoscuyas
transicionesestáncontroladasporelsistemaoperativo.Losdiferentesestadosde
losprocesosysusposiblestransicionesyaloshemosvistoantes.
Todalainformacióndeunprocesoqueelsistemaoperativonecesitaparacontrolarlosemantieneenunaestructuradedatosvistaanteriormente:elbloque de control de
procesosoBCP.Ensistemasoperativosmultiproceso,elsistemaoperativomantiene
listasdebloquesdecontroldeprocesosparacadaunodelosestadosdelsistema.
ElBCPdecadaprocesoalmacenainformacióncomo:
• Estado actual del proceso.Ejecución,preparadoobloqueado.
• Identificador del proceso.Dependiendodelsistemaoperativo,acadaprocesosele
asignaunPID.
• Prioridad del proceso.Laasignadaporelplanificador.
• Ubicación en memoria.Direccióndememoriaenlaquesecargaelproceso.
• Recursos utilizados.Recursoshardwareysoftwareparapoderejecutarse.
Ten en cuenta
Aunaposicióndememoriasolamentepuedeaccederunprocesoenundeterminadomomento.
Graciasalosalgoritmosdeplanificación,elcargador,planificador,BCP,recursoshardwareysoftwaresesincronizanmedianteelsistemaoperativoparalaejecuciónordenadadelosprocesos.
Enprogramasmultihiloomultihebra,elBCPpuedecontenerademáselPPID,oProcess
Parent IDentification.EstedatoreferenciaelPIDdelprocesopadredentrodelBCP,detal
formaquedesdeelpropioBCPsepuedenidentificartodoslosprocesosquesonhijos
deotro,siempreycuandotenganelmismoPPID.
Esevidentequeenprocesosconvencionales,estedatoenelBCPnoexistirá.
Actividades
5. ¿DesdedóndeycómosepuedenlanzarlosprocesosenlossistemasWindows
yLinux?
6. Enunsistemaoperativomonoproceso,¿cómoseplanificalaejecucióndevarios
procesos?
54
Gestióndelosrecursosdeunsistemaoperativo
5. Algoritmos de planificación
Graciasalosalgoritmosdeplanificación,especialmenteensistemasoperativosmultiprocesooensistemasoperativosenred,siempreycuandoseejecutenvariosprocesos
enelmismoequipo,laCPUseencargadeasignartiemposdeejecuciónacadaproceso
segúneltipodealgoritmoylaprioridaddecadaproceso.
A continuación vamos a dar una breve descripción de algunos de los algoritmos de
planificaciónmáshabitualesensistemasmultiprocesoymultiusuario.
3
CEO
En la Web del CEO podemos
encontrar una ampliación de
este punto y, sobre todo, ejemplosdeestosyotrosalgoritmos
deplanificación.
Veamosdosdelosalgoritmosdeplanificación,actualmenteutilizadosensistemasWindowsyLinux.
• Algoritmo de rueda.Asignarotativamentetiemposdeejecuciónalosdiferentesprocesos.TambiénsellamaalgoritmodeRound-Robinyenéllaasignacióndetiemposde
ejecuciónalosprocesoseslamismaydeformasecuencial.Acadaunoseleasignael
mismoquantumointervalodetiempodeejecución.Laselecciónentrelosprocesosse
realizamedianteunacolaFIFO(First In First Out,elprimeroenentrareselprimeroen
saliroserservido).Eselalgoritmoutilizadonormalmenteenlaasignacióndetiempos
ensistemasoperativosmultiusuarioymultiproceso,yenlaactualidadsepuededecir
queeselutilizadoensistemasoperativosmonousuarioyquetrabajanenmultitarea.
• Algoritmo FIFO (First In First Out) o FCFS (First Come First Serve). Los ciclos de UCP
asignadosacadaprocesoseasignanenfuncióndeunacolaFIFO.Alprimerproceso
quellegaseleasignantiemposociclosdeUCPhastaqueterminacompletamente.A
continuación,seejecutacompletoelsiguienteprocesoquehayenlacolaFIFOyasí
sucesivamentehastaterminarconelúltimoproceso.Estealgoritmodeplanificación
normalmenteseutilizaparalagestióndetrabajosencolasdeimpresión,respectode
lostrabajosquevanllegandoalaimpresora.
Actividades
7. ¿Cuáleselalgoritmoutilizadonormalmenteparagestionarlostrabajosquellegan
aunaimpresora?
8. Cuandotodoslosprocesostienenmásomenoslamismaduración,¿cuáleselalgoritmoquemejoroptimizaeltiempodelaUCPparavariosprocesos?
6. Memoria RAM y memoria virtual
Sabemosqueelordenadorcuentaconlamemoriacentraloprincipal,peroestaeslimitaday,engrandessistemas,insuficiente.
Alprincipio,paraubicarlosprocesosenmemoriaysolucionaresteproblema,seadoptarontécnicastalescomodividirelprogramaenpartesdenominadascapas. Cadauna
delascapasseibaejecutando(cargandoenmemoria)segúnfueranecesario;esdecir,
primerosepasaríapartedelprogramadeldiscoduro(osoportedealmacenamiento)a
lamemoria,ycuandofueranecesarioutilizarotrapartedelprogramaquenoestuviese
enmemoriacentraloprincipal(RAM),seaccederíadenuevoaldiscoparacargarla
siguientecapaenmemoriacentral.
Estalabordedividirelprogramaencapaslapuederealizarelmismoprogramadormedianteladivisióndelprogramaenmódulosqueseiránejecutandosegúnseanecesario,
sibienestosuponeunelevadoesfuerzoparaél.
Fotheringamdiseñóunmétodoconocidocomodememoria virtual. Estediseñadorpensóenlaposibilidaddequealubicarunprogramaenmemoria,estefuerademasiado
grandeparaeltamañofísicodeaquellaycreóunatécnicaparahacerqueenmemoriapermanecierasololapartedelprogramaqueseestuvieraejecutandoyqueel
restoquedaraeneldisco.
Ampliación
Fotheringamdiseñóen1961una
técnicarevolucionariaparadividir los programas en partes y
poderlos ubicar en equipos que
tuvieran menos memoria real
queeltamañodelprograma.
55
3
Gestióndelosrecursosdeunsistemaoperativo
Este concepto, aplicado hoy en día en la mayoría de los sistemas operativos,
consideraelespaciolibredediscocomosisetratasedememoriaRAM(memoria
virtual).Así,paraelusuarioelprogramaestarácargadoenRAM,peroenrealidad
solosecargaráenRAMlapartedelprogramaqueseestéejecutandoeneseinstante.Entretanto,elrestodelprogramaenejecuciónpermanecerátemporalmente
almacenadoendiscoparasuposteriorutilización,sifueranecesario.
Sienunmomentodadonecesitamosejecutarunapartedelprogramaalmacenada
enmemoriavirtual(eneldiscoduro),estapasaráaRAMparasuejecuciónreal,
ylapartedelprogramaqueestabaenRAMpasaráaldisco.Así,siemprehabrá
másRAMlibrepararealizarcálculosoejecutarotrosprogramas,sobretodoen
sistemasoperativosmultiusuarioymultitarea.
EnlaFigura3.5podemosverloselementosqueentranenjuegoalahoradeutilizarmemoriavirtual.
Paralaubicacióndeprogramasenmemoria,sepuedeutilizarlatécnicadememoria
virtualparaquesiemprehayaRAMlibreparatodoslosprogramasquequeramosejecutar,esdecir,paralosprocesos.Esosí,cuandocargamosdemasiadosprocesosala
vez,elsistemaseralentiza,yaquetienequepasarinformacióncontinuamentedesde
eldiscoduroalaRAMoviceversa.
Lossistemasoperativosmultiusuarioymultitareasonespecialistasenestagestión.
CasitodaslasversionesdeWindowsrealizanunagestiónmuyeficazdelamemoriavirtual.
Esobvioquepararealizarestagestiónsehadedisponerdeunespaciodeterminadoeneldiscoduro.Concretamente,parasistemasdeMicrosoftesrecomendable
asignarun2,5%deltamañototaldelaRAMdeespacioendiscoparalagestión
dememoriavirtual,yun5%comomáximo.
En sistemas operativos Windows, respecto de otros como Linux, existe un gran
problemaalahoradegestionarlamemoriavirtual,yeslafragmentacióndelos
archivosquesealmacenanenlazonadeintercambio.EstoenLinuxnopasa.El
queestazonasefragmente,siesquesehaceunusoconsiderabledeestazona
deintercambio,implicaqueelequipocadavezseamáslentoyaquelosarchivos
noestáncontiguosyesoimplicaqueelaccesoaellosseamuchomáslento.
DISCO DURO
Memoria
Virtual
MEMORIA RAM
Controlador de
Memoria Virtual
Fig. 3.5. Gestión de memoria virtual.
56
Memoria
Principal
MEMORIA CACHÉ
Controlador de
Memoria RAM
Memoria
Caché
MICROPROCESADOR
UCP
Gestióndelosrecursosdeunsistemaoperativo
7. Intercambio
3
Vocabulario
Alprincipio,enlossistemasoperativosmonousuarioymonoproceso,lagestióndememoriaeramuysencilla.Lasmemoriasteníanpocacapacidadysolosereservabauna
partedeellasparaelsistemaoperativo(véaseFig.3.6).
Conlaaparicióndelossistemasoperativosmultiusuarioymultitarea,lagestióndememoriaseconvierteenunadelasfuncionesmásimportantesdelsistemaoperativo.
Lapartedelsistemaoperativoqueadministralamemoriaeseladministrador de memoria.Sulaboresclara:llevarunregistrodelaspartesdememoriaqueseestánutilizandoydelasqueno.Deestaforma,reservaespaciodememoriaparalosnuevos
procesosyliberaelespaciodelosprocesosquefinalizan.
La zona de intercambio es una
zonadeundiscoduroutilizada
para almacenar procesos que
actualmente no están en ejecución y así dejar memoria RAM
libre para los procesos que sí
loestán.
Actividades
Eladministradordememoriatambiénseencargadegestionarelintercambiodedatos
entrememoriaydisco,siempreycuandolosprocesosseantangrandesquenoquepan
deunasolavezenlamemoria.
9. ¿Enquésistemasesmás
importante la gestión de
memoria?
La gestión de memoria es importante cuando trabajamos en sistemas operativos multiproceso, y aún más en sistemas operativos multihilo, ya que se comparten espacios
dememoriaenlosquesealojanlasvariablescompartidasyalosqueaccedenvarios
procesosohilosdeunproceso.
10. ¿Conquétipodesoportesserealizaelintercambio de memoria de un
ordenador?
Enestecaso,lamemoriatienequesergestionadaycontroladaporelsistemaoperativo
detalformaquecadaprocesoutiliceelespaciodememoriasinafectaraotrosespaciosde
memoriaenlosquepuedahaberdatosoregistrosconinformaciónparaotrosprocesosohilosdeunproceso.
Paragestionarlamemoriaensistemasoperativosmultitarea,
esta se divide en particiones fijas. Así, el sistema operativo
disponedeunacoladelosprocesosquesolicitanentraren
memoria. El planificador tiene en cuenta los requerimientos
dememoriadecadaunodelosprocesosylasparticionesde
memoriadisponibles.Estosrequerimientosdeusodememoria
sealmacenanenelBCP.
La mayor dificultad de diseño de las particiones fijas es la
adecuadaseleccióndelostamañosdelasmismas,puestoque
puedederivarenundesaprovechamientoofragmentaciónde
lamemoria.Estafragmentaciónpuedeserinterna,cuandola
partedelamemoriaquenoseestáusandoesinternaauna
particiónasignadaaunproceso,oexterna,cuandounaparticióndisponiblenoseempleaporqueesmuypequeñapara
cualesquieradelosprocesosqueesperan.
Conunconjuntodinámicodeprocesosejecutándosenoes
posible encontrar las particiones de memoria adecuadas.
La opción es disponer de particiones variables. El problema que se plantea ahora es disponer de un registro con
informacióndelasparticioneslibresyocupadas,quesea
eficientetantoeneltiempodeasignacióncomoenelaprovechamientodelamemoria.Noobstante,sesiguenpresentando problemas de fragmentación externa. Una solución
es permitir que los procesos puedan utilizar memoria no
contigua,loqueseconsiguemediantetécnicasdepaginación. En esta situación hay un mecanismo de traducción
delasdireccioneslógicasalasfísicasmedianteunatabla de
páginas.
Latabladepáginaspresentadoscuestionesatenerencuenta:eltamañodelatabla(quepuedeserdemasiadogrande)
yeltiempodeasignación(quedebeserdecortaduración).
0 KB
SISTEMA OPERATIVO
(Monitor)
SISTEMA OPERATIVO
(Monitor)
Procesos
Procesos.
Único proceso
de usuario
Programas
de usuario
Controladores de
dispositivos
Máximo KB
Fig. 3.6. Gestión básica de memoria.
57
3
Gestióndelosrecursosdeunsistemaoperativo
Ten en cuenta
Enlasegmentación,laRAMse
divide en espacios que no tienenqueserdelmismotamaño
y que estarán en función del
tamañodelosprocesosquese
vayanaejecutar.
Encontraposiciónalavisióndelamemoriacomoun arrayolistaunidimensional,está
laconcepciónporpartedelusuariodeconsiderarlamemoriacomounconjuntodesegmentosdediferentestamaños,sinningunaordenaciónentreellos.Esteesquemacorrespondealasegmentación.Enestecaso,elespaciodedireccioneslógicasesunconjunto
desegmentoscondiferentesnombresytamaños.Enelesquemadesegmentaciónnose
producefragmentacióninterna,perosíexterna,queocurrecuandotodoslosbloques
dememorialibressonmuypequeñosparaacomodaruntrozoobloquedeproceso.
Aunquelasegmentaciónylapaginaciónsonesquemasdiferentesdegestióndelamemoria,sepuedenconsiderarestrategiascombinadas,yaquelaúnicadiferenciaesque
lapaginaciónutilizabloquesdememoriadetamañofijo.
Entodosestosesquemas,sesuponequeelprocesoquesevaaejecutarestácargado
totalmenteenmemoria.Laideadepermitirejecutarprocesosquenoestáncargadostotalmenteenmemoria,einclusoquesustamañossuperenaldelamemoriafísicainstalada,
dalugaralconceptode memoria virtual.
Enlossistemasoperativosactualessepuedeconfigurareláreadeintercambio,detal
formaquepodemosindicareltamañoendiscodestinadoatalfin,einclusosepuede
indicarenquédiscosepuederealizarelintercambio.
Elgraninconvenientedemodificar«alaligera»loqueelsistemaadministraautomáticamente,esquepodemosprovocarqueelrendimientodelequiposeamenor.
Ejemplos
Planificación con particiones fijas de 512 y
2 048 KB, usando varias colas de procesos
P3
400 KB
P2
A
512
P1
50 KB
0
SISTEMA
OPERATIVO
1.ª PARTICIÓN
512 KB
350 KB
1 024
P3
400 KB
P3
400 KB
P2
P1
50 KB
P2
2.ª PARTICIÓN
1 024 KB
350 KB
2 048
P1
50 KB
350 KB
3.ª PARTICIÓN
2 048 KB
4 096
Planificación con particiones fijas de 512, 1 024
y 2 048 KB usando una sola cola de procesos
B
0
512
SISTEMA
OPERATIVO
1.ª PARTICIÓN
512 KB
P3
3 075 KB
P2
350 KB
P1
1 024
900 KB
2.ª PARTICIÓN
1 024 KB
2 048
3.ª PARTICIÓN
2 048 KB
4 096
Fig. 3.7. Gestión de particiones.
58
En la Figura 3.7 vemos un ejemplo
con dos formas de planificar la ubicación de los procesos que esperan
paraserejecutados.
La primera técnica («A» en el gráfico) consiste en dividir la memoria
RAM,quetiene4MBdecapacidad
total, en zonas de tamaño fijo pero
no iguales, en nuestro caso de 512,
1024y2048KB,detalformaque
sepuedancrearvariascolasdeprocesos cuyos tamaños sean inferiores
al tamaño de la partición en la que
esperanejecutarse.
La segunda técnica («B» en el gráfico) consiste en mantener esas divisionesdememoriacontamañosfijos
y diferentes, pero ahora solo habrá
una cola de espera para los procesos,queseiránalojandoenunade
las particiones libres que sea capaz
dealojarlos.
Enamboscasosexisteunazonareservada, como siempre, para que se
alojeelsistemaoperativo.Eslazona
de memoria más baja que correspondealosprimeros512KBdelos
4MB(4094KB)totalesdememoria
RAMdelosquesecomponenuestro
ejemplo.
Gestióndelosrecursosdeunsistemaoperativo
3
8. Paginación, segmentación y swapping
Segmentación,paginaciónyswappingsontécnicasdegestióndememoria,queen
generalpermitenejecutarprogramasdeuntamañosuperioralacapacidaddelamemoriaRAMutilizandoeldiscodurocomouna«ampliación»delamemoriaprincipal
delequipo.Laventajaesquesepuedeejecutarcualquierprograma;elinconveniente
eslapérdidaderendimiento.
8.1. Paginación
LapaginaciónesunatécnicaqueconsisteendividirlamemoriainternaoRAMen
zonasigualesllamadas frames,ylosprogramasenpartesdelmismotamañodenominadaspáginas.
Paraubicarunprogramaenmemoria,elsistemaoperativobuscaráenmemoriafísica
los framesquetengalibres.Eltamañodeestosframessediseñamediantehardware.
Vocabulario
Un marco de páginaesunadivisióndelamemoriaenzonasdel
mismo tamaño utilizadas para
intercambiar procesos con los
espaciosdealmacenamiento.
Si utilizamos un sistema de multiprogramación y solo hay un trabajo, este tendrá
asignadostodoslosframesnecesariosparaél.Estaasignacióndeframeslarealiza
elsistemaoperativo.
Mediantela tabla de páginas,laUCPasignalasdireccionesfísicasdelos framesalas
páginasenlasquesehadivididoelprograma.Laasignacióndelosframes notiene
quesernecesariamenteconsecutiva.Unprocesosepuedeubicarenmemoriainterna
enframesnocontiguos,yaqueestospuedenestarocupadosporotrosprocesos.
La técnica de paginación es similar a la de
memoria virtual. La gran diferencia es que
aquí no existe disco duro para intercambiar
partedelosprocesos.Concretamente,elsistemaoperativoDOSutilizaunatécnicaparecidaalapaginación.
Como ejemplo, veamos el sistema operativo
DOS.Solosirvedealmacenamientoparapartedelnúcleodelsistemaoperativoyparaalmacenartemporalmentepartedelosprocesos
quetenganuntamañosuperiora640KB.
DIRECCIÓN LÓGICA
UCP
003
Enresumen,lapaginaciónesunatécnicade
reasignaciónoredireccionamientodinámico,
conlaconsideracióndequelatabladepáginassepuedealmacenarenregistrosespecialesdestinadosatalefectooenunaparte
delapropiamemoria.
7FF
102
7FF
TABLA DE PÁGINAS
101
A02
100
102
FC3
000
001
002
003
004
DOS divide la memoria extendida (por
encima del primer MB) en páginas de
64 KB para realizar el intercambio de informaciónconlamemoriaconvencional.
Unprogramade1MBocuparáloquepueda
dememoriaconvencionalyelrestosealmacenarátemporalmenteenmemoriaextendida.
Esteprogramasepaginaráatravésdelllamadomarco de página,delquehablaremosmás
adelante.Seintercambianlaspáginasdesde
memoriaconvencionalaextendidayviceversa,dependiendodelapartedelprocesoque
se vaya a ejecutar. Esta gestión de memoria
seconocecomomemoria expandida.
DIRECCIÓN FÍSICA
RAM
000000
100000
101000
102000
10277F
103000
MÁX.
Fig. 3.8. Paginación.
59
3
Gestióndelosrecursosdeunsistemaoperativo
Ten en cuenta
Todo proceso consume recursos
hardware de un sistema informático,yeselsistemaoperativo
el que determina, mediante el
planificador, de qué forma se
asignan los recursos a cada
proceso.
Latransformacióndelasdireccioneslógicasenfísicaslarealizala unidad de administración de memoria o Management Memory Unit(MMU).
Ejemplos
Supongamosquetenemosunprocesoquenecesitadividirseencincopáginas:000,001,
002,003y004.Acadapáginahabráqueasignarleunframeomarcodepáginadela
memoria física. Para hacer esa asignación se usa la tabla de páginas, que se construye
cuandosecargaelprocesoyquecontienetantasentradascomopáginastengaelproceso,
ennuestrocasocinco.
Cada dirección lógica tendrá dos campos, el primero accede a la página dentro de la
tabladepáginasyelsegundoindicaeldesplazamientoquehayquerealizardentrode
esapáginaparaaccederalainformacióndeseada.
En nuestro ejemplo (véase Fig. 3.8), la UCP indica como dirección lógica 003 7FF. Esto
quieredecirquedebemosaccederalacuartapágina(003),dondeestáladireccióndel
marcodepáginaoframedelamemoriafísicaquecontienelainformaciónaejecutar,que
ennuestrocasoesla102.
Unavezubicadosendichoframe,debemosdesplazarnos7FFposiciones,conloque
seobtieneapartirdelosdoscamposladirecciónfísicaalaquesequiereacceder,queen
estecasoes1027FF.
8.2. Segmentación
Truco
Nuncaejecutesdemasiadosprogramas a la vez con una cantidad de memoria pequeña, ya
que el intercambio entre RAM
y disco ralentizará mucho el
sistema.
Esunatécnicasimilaralapaginaciónquepermitedefinirlosbloquesdememoriade
tamañovariable.Cadasegmentopuedevariardesde0hastaunmáximopermitido.
Estossegmentospuedentenerlongitudesdistintas.Además,lalongituddeunsegmento
puedevariarsegúnlasnecesidadesdelprograma.
Supongamosquerealizamosunprogramay,paraqueseejecute,necesitautilizar
tablas(estructurasdedatos)enmemoria.Sitenemosencuentaqueunatablapuedeasignarsedeformaestáticaodinámicasegúnlasnecesidadesdelprograma,
habrá veces en que esta tabla necesitará un espacio determinado en memoria,
mientrasqueotras,esteespacioserámayoromenorsegúnlanecesidad.Gracias
alasegmentaciónpodemosubicarenmemoriaestasestructurasdedatos,independientementedeltamañoquetengan.
Elordenador,atravésdelsistemaoperativo,puedeorganizarlamemoriaenbloques
concretosytenerpartesdeelladestinadasaalmacenarlasestructurasdedatos,que
puedencreceromenguarsegúnlasnecesidadesdelusuarioodelprograma.Paraello
seutilizaránlaspilasdememoriaostacks, enlasquesegestionanlasestructurasde
datosnecesarias.
Lapaginacióndifieredelasegmentaciónenquelaspáginassondetamañofijoylos
segmentosno.Elusodelatécnicadepaginaciónosegmentacióndependerádelsistemaoperativoutilizadoydelamáquinaenlaquelousemos,ademásdelasnecesidades
delsoftware.
8.3. Swapping
Elswappingesunatécnicasimilaraladememoriavirtual.Cuandovariosusuarios
estánejecutandoprocesosenunmismoordenador,esteseveobligadoacargarlos
enRAM.Segúnelestadoenelqueseencuentreelprocesodecadausuario,lamemoriaseiráliberandodesuprocesoypasaráalazonadeswapmediantelatécnica
llamadaswap-out.Deestaforma,lamemoriainternaquedaliberadaparaqueenella
sepuedaalmacenarotroprocesodelmismousuarioodeotro.
60
Gestióndelosrecursosdeunsistemaoperativo
Sielusuariovuelveasolicitarsuprocesoparaseguirejecutándolo,seproduceeldenominadoswap-in,queconsisteenpasarelprogramadelazonadeswapalamemoria
interna.EstazonadeswapsesueleutilizarensistemasoperativoscomoUNIXyLinux.
Estáformadaporunespaciofísicodeldiscoenelquetenemoselsistemaoperativoylasaplicacionesquesevanaejecutar.Losfabricantesdeestossistemasoperativos
recomiendanqueestazonaseadel20%aproximadamentedelespacioendiscooel
dobledelacapacidaddeRAMdelordenador.
La diferencia entre la gestión de memoria virtual y el swapping es que, mediante la
primera,puedellegaraocurrirqueeldiscoestétanllenoquelagestiónseadifícilo
imposible,yaqueelespaciodestinadoalintercambiosueleserespaciodeldiscoduro
enelqueestáinstaladotantoelsistemaoperativocomoelsoftwaredeaplicacionesy
losdatosdelusuario.
Enelswappingnopuedeocurriresto,yaqueestazonasiempreestaráreservaday
disponibleparaelintercambiodeprogramasconlamemoriaprincipal.Normalmente,
alestarestazonaenundispositivofísicodiferente,todoelespacioestarádisponible
cadavezqueencendamoselordenador.
3
Actividades
11. ¿Qué sistemas operativos del mercado utilizan
latécnicadepaginación
paralaubicacióndelos
procesosenmemoria?
12. ¿Quésistemasoperativos
del mercado utilizan la
técnicadeswappingpara
laubicacióndelosprocesosenmemoria?
13. ¿Quétécnicaesmásefectiva,lapaginación,lasegmentaciónoelswapping?
9. Programas reubicables, reentrantes,
residentes y reutilizables
Segúncómo,dóndeycuándoseubiquenenmemoria,losprogramaspuedenserde
variostipos:
A. Reubicables
Son aquellos que, una vez cargados en RAM para ejecutarse, pueden variar de situación, ya que la parte de RAM que ocupan puede ser necesaria para ubicar otro
proceso.Estosprocesosoprogramascambiandeposicióncuandoseestárealizando
unaoperaciónsobreelordenador.Estaoperaciónsueleserdeconfiguracióninterna
delpropioordenador.
B. Reentrantes
Sonaquellosprogramasque,sinoseestánejecutando,dejanlamemorialibreparaotros
procesos.Estosprocesos,cuandoseliberan,sesuelenalmacenartemporalmenteenel
discoduro.Sonlosprocesosgestionadosmediantelatécnicadememoriavirtual.
C. Residentes
Recuerda
Un programa es un conjunto
de instrucciones que el sistema
operativo ejecuta para realizar
determinados procesos dentro
deunsistemainformático.
Recuerda
Enunprogramaseejecutaninstrucciones aritméticas y lógicas,
estas últimas determinadas por
elálgebrade Boole.
Sonaquellosque,unavezcargadosenmemoria,permaneceránenellahastaquese
apagueelordenador.Nocambiansuubicaciónenningúnmomento.Suelenserprogramasdeantivirus,deanálisisdesistema,demonitorización,etc.Losmáscomunesson
losllamadoscentinelas,queincorporanlosantivirusparaqueanalicencontinuamente
loquesecargaenmemoria.Deestaforma,siseejecutaunproceso,elprogramaresidenteloanalizay,sidetectaalgorarooextraño,envíaunmensajedealerta.
Laubicacióndeestosprogramasenmemoriadependerá,fundamentalmente,delsistemaoperativoydelapropiaaplicaciónquelanceelprogramaresidente.Suelenubicarseenesos64KBdememoria,aunquenonecesariamente.
D. Reutilizables
Sonprogramasquenormalmentesonutilizadosporvariosusuariosalavezenmemoria,
independientementedelnúmerodeusuariosquelosvayanautilizar.Conelloseconsigueunmejoraprovechamientodelamemoria.
Actividades
14. ¿Eselprocesadordetextos Word un programa
residente?
15. ¿Es un antivirus un programaresidente?
61
3
Gestióndelosrecursosdeunsistemaoperativo
10. Gestión de entrada/salida:
tipos de periféricos
Unadelasfuncionesprincipalesdeunsistemaoperativoeselcontroldelosperiféricos
deentrada/salidadelordenador.Elsistemaoperativoseencargadeenviarórdenes,
determinar el dispositivo que necesita la atención del procesador, eliminar posibles
errores,etc.
Enprimerlugar,esnecesariohacerunaclasificacióndelosperiféricos.Estaclasificación
nocorrespondeasisonperiféricosdeentradaodesalida,sinoasigestionanlainformaciónporbloquesoporcaracteres:
• Periféricos tipo bloque.Sonaquellosenlosquelainformaciónquesemanejaesde
tamañofijo.Lainformaciónentraosaledememoriaenformadebloque.Unejemplo
son los registros de ficheros de datos almacenados en discos o disquetes, ya que
cadaregistrocontieneinformaciónreferenteaunbloquehomogéneo.
• Periféricos tipo carácter.Sonlosquesirvenparaintroducirdatosdentrodelamemoriadelordenadorenformadecaracteres,sinningúnordenconcreto,porejemplo
losteclados.Tambiénanalizaremoslosperiféricosquesirvenparaverlosresultados
obtenidosdenuestragestiónenformadecadenadecaracteres:puedenserelmonitor,laimpresora,etc.
Cadaperiféricoestácompuestoporuncomponentemecánicoyporotro,uotros,componentes electrónicos. Por ejemplo, un disco duro estará compuesto por los propios
discosdealuminiorecubiertosdematerialmagnético,lascabezasdelectura,elmotor
queloshacegirar,etc.,yporladenominadacontroladoraoadaptador,encargadode
conectareldispositivofísicoalordenador.
Elsistemaoperativoseencargadeaccederalainformacióndelamemoriaprincipal,extraerlaenformadeimpulsoseléctricosyenviarlaalosdiferentesdispositivos
periféricos.Silainformaciónseenvíaaundiscoduro,losimpulsossetransformarán
enseñalesdetipomagnético;siseenvíaaunaimpresora,setransformaránencaracteres,etc.
Ten en cuenta
Los sistemas operativos actuales
trabajan normalmente mediante
interfaz de tipo gráfico, aunque
permiten la ejecución de determinadoscomandosyprogramas
mediantelainterfazdetipotexto.
Actividades
16. ¿Disponentodoslossistemasoperativosdeinterfaz
tipotextoytipográfico?
17. ¿Crees que existe algún
tipodesistemaoperativo
quenotengainterfazgráfica?
62
11. Comunicación con el sistema:
interfaces de usuario
Hayquedestacarlasinterfacescomomediodecomunicaciónentrehardwareysoftwareatravésdelsistemaoperativo.Lasinterfacessepuedenclasificaren:
• Interfaz tipo texto.Sielsistemaoperativoesdetipotexto,todaslasórdenesque
elusuariointroduzcaylasrespuestasqueelsistemaoperativodéseintroduciráno
visualizaránmediantecadenasdecaracteres.Unejemplodesistemasoperativos
tipotextoson:DOS,UNIX(enversionesinferioresalaSystemVRelease4),las
primerasversionesdeLinux,etc.Todaslasórdenesseintroducenportecladoyse
visualizanenlapantalla.Lapantalla,cuandosegestionaentipotexto,tieneun
tamañode80columnaspor24filas;esdecir,puedemostrarhasta1920caracteresdeunasolavez.
• Interfaz tipo gráfico. Hoyendía,lamayoríadelossistemasoperativosutilizanmedios
decomunicaciónentremáquinayordenadordetipográfico.Enestetipodeinterfaces,elusodelratónescasiimprescindible.Lainformaciónenpantallasemuestraen
bloquesoenpantallasindependientes.Aestosbloquesselesdenominaventanas,
yenellasapareceunaseriedecomponentesyobjetosquenossirvenparaenviaro
recibirinformaciónsintenerqueteclearnada.
Gestióndelosrecursosdeunsistemaoperativo
3
12. Clasificación de los periféricos
LaclasificaciónmásusualdelosperiféricoseslaquesemuestraenlaFigura3.9:
SISTEMA INFORMÁTICO
Periféricos de ENTRADA
Periféricos de SALIDA
Periféricos de
ENTRADA / SALIDA
USUARIO
Fig. 3.9. Esquema de periféricos de entrada/salida.
• De entrada.Sonlosquesirvenparaintroducirinformación(datosoprogramas)enel
ordenador.Lainformaciónvadesdeelloshacialamemoriayelrestodecomponentesinternosparaserprocesada.Sonperiféricosdeentradaelteclado,elescáner,la
unidadlectoradeCD-ROM,elratón,etc.
• De salida.Sonlosqueseutilizanparaextraerlainformación(datosenformade
resultados, programas, etc.) desde la memoria y resto de componentes internos
del ordenador, y mostrar los datos. Son periféricos de salida la impresora, la
pantalla,elplóter,etc.
• De entrada/salida (E/S).Sonlosqueseutilizanparaintroduciroextraerdatosdesdey
haciaelordenador.Porejemplo,losdispositivosdealmacenamientocomolosdiscos
duros (Fig. 3.11). En ellos se puede escribir información (salida) al igual que leerla
(entrada).Hayotrosmuchosperiféricosdentrodeestacategoría,comolosmonitores
táctiles,elmódem,elrouter,lastarjetasdered,elpen drive,lasimpresorasmultifunción,etc.
NosedebenconfundirlosperiféricosdeE/Sconlossoportesdeinformación.Losperiféricosson,porejemplo,lasunidadesdedisquete.Eldisqueteensísedenominasoporte,
yaqueeselquealmacenalainformación.Elperifériconoalmacenainformación,pueses
elmediofísicoquesirveparaalmacenarla.Pongamosunejemplo:unradiocaseteesun
periférico,ylacintaenlaqueestángrabadaslascancionesesunsoporte.
Endefinitiva,elsoportedeinformacióneslapartedelperiféricoextraíble(disquete,CDROM)ono(platosdeldiscoduro)enlaquesealmacenalainformación.
Algunadelasprincipalescaracterísticasdelossoportesesquesonreutilizables,que
tienenelevadacapacidaddealmacenamiento,quesonnovolátilesyquesonmáseconómicosquelamemoriaprincipal(RAM).
Recuerda
Paraqueunmismoperiféricode
entrada/salida pueda funcionar
en diferentes sistemas operativos, es necesario instalar los
controladores o drivers que el
fabricantesuministraconelperiférico.
63
3
Gestióndelosrecursosdeunsistemaoperativo
AlgunosdelosperiféricosdeE/Smásimportantesson:
A. Teclado y ratón
Sonlosperiféricosdeentradaporexcelencia.Lostecladospuedenserdevariosmodelos,
dependiendodelnúmerodeteclasquelocompongan(84,102o104).Normalmente,se
utilizanlosde102teclas.VeamosdetalladamentecómoesuntecladoenlaFigura3.10.
6
Esc
F1
F4
F5
F6
!
@
#
$
%
^
&
`
1
2
3
4
5
6
7
W
Q
Tab
3
Caps Lock
1
F3
~
4
2
F2
Shift
E
S
A
Z
Ctrl
R
D
X
T
F
C
Y
G
V
*
8
U
H
B
F7
Fig. 3.10. Esquema de un teclado.
(
)
0
O
K
M
Alt
13
F9
9
I
J
N
F8
>
.
,
Alt
12
F12
Backs
Space
|
\
}
]
¨
?
/
F11
+
=
{
[
:
;
L
F10
__
P
>
5
7
8
Print
Scrn
Pause
SysRq
Scroll
Lock
Insert
Home
Page
Up
Num
Lock
/
Delete
End
Page
Down
7
Home
8
9
PgUp
4
5
6
1
End
2
Enter
Shift
Num
Lock
Break
Caps
Lock
*
Scroll
Lock
_
+
3
PgDn
Enter
Ctrl
11
0
Ins
10
Del
9
1 Ctrl.Seutilizaconotracombinacióndeteclaspararealizardeterminadasfunciones
oparaseleccionarmúltiplesarchivosy/ocarpetas.
2 Shift. Seutilizaparaescribirletrasenmayúsculasoelsímbolodelapartesuperior
delrestodeteclas.
3 Caps Lock.Seutilizaparadejaractivadalaescrituradeteclasenmayúsculas.
4 Tab. Seutilizaparatabulaciónenprocesadoresdetextoymovimientoencampos
deentradaenformularios.
5 Esc.Seutilizanormalmenteparafinalizarprocesosoacciones.
6 Teclas de función (F1 a F12). Seutilizanparaabreviaraccionesenherramientasofimáticasorealizardeterminadasaccionessobreelsistemaoperativo.
7 Retroceso. Seutilizaparaborrarelcarácteralaizquierdadelaposicióndelcursor.
8 Panel identificador.Indicasitenemosactivadaslasmayúsculasoeltecladonumérico.
9 Teclado numérico. Seutilizacomotalocomotecladodeediciónentecladosqueno
disponendeteclasparaestefin.
10 Teclado de edición.Seutilizaparamoversepordocumentos,porgráficoseincluso
enlosjuegos.
11 Enter.Teclaquesirveparahacerefectivaslasoperacionesdeconfirmaralgunaacción
oparainsertarlíneasenprocesadoresdetextosuotrasherramientasofimáticas.
12 Espaciador. Se utiliza para insertar espacios en blanco o seleccionar casillas de
verificaciónencuadrosdediálogo.
Investigación
Analiza en la Web los tipos
de monitores de entrada/salida
máscomercializadosyaverigua
en qué sistemas operativos se
puedenutilizar.
64
13 Alt. Teclaqueutilizadaencombinaciónconotrassirvepararealizardeterminadas
accionesdelsistemaoperativo.
B. Monitor
Esunperiféricodesalida.Puedesermonocromoocolor,ysusprestacionesdependerán,engranmedida,dela tarjeta gráficaydelamemoriaapropiadaqueincorporeel
fabricante,delafrecuenciaderefresco,deltamañoenpulgadas,etc.Estastarjetasson
lasquecomunicanelordenadorconelmonitor.
Gestióndelosrecursosdeunsistemaoperativo
3
C. Impresora
Esunperiféricodesalidaquepermitelasalidaenpapeldelainformacióndeseada.La
gamadeimpresorasvadesdelasde impactohastalasmásmodernasdenominadas sin
impacto(térmicas,deinyeccióndetinta,láseryelectromagnéticas).
D. Otros periféricos
• Escáner. Esundispositivodeentradaquepermitetransformarimágenesotextoimpresoendatosdigitales.
• Módem.EsunperiféricodeE/Squeseconectaalaentradaestándardelteléfonoy
permitelacomunicaciónremotaconotrosequipos.
• Unidades de disquete. SonperiféricosdeE/Squepermitenalmacenaroextraerinformacióndelossoportes(disquetes).
• Unidades de disco duro. Sondeelevadacapacidadyaltavelocidad.Seutilizanpara
instalarenellaselsoftwaredelossistemasoperativosylamayorpartedelsoftware
deaplicaciones.SucapacidadsemideenGB.
• Tableta digitalizadora y lápiz óptico. Sonperiféricosutilizadosnormalmenteparala
confeccióndegráficosyesquemasenlosqueelusodeltecladoyelratónresulta
tedioso.Ambossondispositivosperiféricosdeentrada.
• DVD(Digital Video Disk).Esunperiféricodeentrada.Paraaccederalainformación
seaplicatecnologíaláser.Sucapacidadessuperioralos4GBygozadegrandifusiónenlaactualidad.
• Blue-ray. Similaralosanterioresperoconmuchamáscapacidad.Suelealmacenar
hasta50GBdeinformación.
• HDVD. SimilaralDVD,tieneunacapacidaddehasta30GBporsoporte.
13. Gestión de la información
Cuando trabajamos con sistemas operativos multiusuario, la gestión de datos que se
hacedentrodelordenadorysuubicaciónenmemoriayenlossoportesdealmacenamientoexterno,puedenplantearalgunosproblemas.
Ya hemos visto que, para la ubicación en memoria, el sistema operativo dispone de
susmedios.Encuantoalalmacenamientoensoportesexternos,lagestiónquehagael
sistemaoperativotienequeresponderavariascaracterísticas:sepodráalmacenaruna
grancantidaddeinformación,sealmacenarádeformacorrectaunavezterminadoel
procesamientoyexistirálaposibilidaddequevariosprocesosoprogramasaccedana
lamismainformaciónsininterferencias.
Para todo esto, después de ser procesada, la información tiene que almacenarse de
formapermanente en los soportes externos de almacenamiento a través de archivos.
Cadasistemaoperativoutilizasupropiosistema de archivos.Elsistemaoperativogestionacadaarchivoalmacenadoenelsoporteindicandoelnombre,eltamaño,eltipo,
lafechayhoradegrabación,ellugardelsoporteenelqueseencuentra,etc.
YairemosviendoencadasistemaoperativocuálessusistemadearchivosoFile System.
Cadaunodeelloshaceunagestióndiferentedelespaciodealmacenamiento,locual
dependerádesielsistemaesmultiusuarioomonousuario,multitareaomonotarea,multiprocesadoromonoprocesador,etc.Engeneral,lostiposdearchivosquegestionatodo
sistemaoperativosontres:
• Archivos regulares o estándares. Sonlosquecontieneninformacióndelusuario,programas,documentos,texto,gráficos,etc.
• Directorios. Son archivos que contienen referencias a otros archivos regulares o a
otrosdirectorios.
• Archivos especiales. Losquenosondeningunodelosdostiposanteriores.
Actividades
18. ¿Un pen drive es un dispositivo de entrada, de
salida o de entrada/salida?
19. ¿Lostecladossondispositivosdeentrada?
Disquetera
Lector Grabador
de DVD
Disco duro interno
Fig. 3.11. Unidades lectoras
y disco duro.
Ten en cuenta
Unsistemadearchivosdeterminadequéformasealmacenala
informaciónenunsoporteyqué
sepuedehacerconella.
65
3
Gestióndelosrecursosdeunsistemaoperativo
Sínt esis
Procesos
Procesos
yflujos
Unprocesoesunconceptomanejadoporelsistemaoperativo
yquereferenciaunprogramaenejecución
Hilosyhebras
Unahebraesunpuntodeejecucióndeunproceso
Ejecución
Estadosdelos
procesos
Esperaopausado
Bloqueado
Transición
deprocesos
Ubicaciónenmemoria
Estadoactualdelproceso
Identificadordelproceso
Prioridaddelproceso
Bloque
decontrol
deprocesos
Ubicaciónenmemoria
Recursosutilizados
Informacióndecontrol
Algoritmosde
planificación
Intercambio
dememoria
Memoria
RoundRobin
Algoritmoderuedaqueasignatiempos
deCPUdeformarotativa
FIFOoFCFS
AsignacióndetiemposdeCPUenordendellegada
Paginación
PáginasdelmismotamañoparaRAMyprogramas
Segmentación
PáginasdediferentetamañoparaRAMyprogramas
Swapping
Intercambioenunazonadediscoexclusiva
Reubicacles
Tiposde
programas
segúneluso
dememoria
Reentrantes
Residentes
Reutilizables
Periféricos
Tiposdeperiféricos
Tipobloque
Tipocarácter
Comunicación
conelsistema
Interfaztexto
Interfazgráfica
Clasificación
delosperiféricos
Entrada
Salida
Archivosregulares
Información
Tiposdearchivos
Directorios
Archivosespeciales
66
Entrada/salida
Gestióndelosrecursosdeunsistemaoperativo
3
Test de repaso
1. Cuandounprogramaoprocesoseencuentraenestado
bloqueadoestepuedepasaraejecución:
a) Sí,directamentetrassolucionarelconflictoqueprovocaelbloqueo.
b) Sí,peropreviamentetendremosquecolocarelprocesoenlacoladetrabajospendientes.
c) No directamente, ya que previamente tiene que
pasarporelestadoenesperaopreparado.
d) No,debidoaqueelbloqueo,siesdehardware,
implicasiempreelbloqueodefinitivodelproceso.
2. Unprocesoestápreparadoparaserejecutado:
6. Lapaginaciónesunatécnicaqueconsisteendividirla
memoriaenzonasdenominadas:
a) Páginas.
b) Frames.
c) Tabladepáginas.
d) Swap.
e) Todassonfalsas.
7. Losdirectoriosson:
a) Archivosparagestionarlaentradaysalidadearchivosregulareshaciaodesdelosperiféricos.
a) SiestáesperandoelturnoparapoderusarsuintervalodetiempodeejecucióndeCPU.
b) Información del usuario, programas, documentos,
texto,gráficos,etc.
b) Siestáretenidoporcualquiercausa.
c) Archivosquecontienenreferenciasaotrosarchivos
regularesoaotrosdirectorios.
c) Siseestánejecutandoinstruccionesenesemomento
deeseproceso.
d) Soncorrectasbyc.
3. Cuálesdelassiguientesafirmacionessonciertasrespectodelostrabajosquelleganaunaimpresoraenun
sistemamultiusuario:
a) Lostrabajosseencolaneneldenominadospool.
b) Lostrabajosnormalmentesegestionanmedianteun
algoritmodeplanificaciónFIFO.
c) Se pueden asignar prioridades a los trabajos de
impresiónsegúnestimeeladministrador.
d) Soncorrectasa,byc.
4. Si utilizamos la técnica del swapping, el proceso
mediante el cual el programa en ejecución pasa de
memoriaalazonadeswapsedenomina:
d) Soncorrectasayb.
8. ¿Cuáldelassiguientesafirmacionesesfalsa?
a) Lapaginaciónutilizasegmentosdetamañofijoyla
segmentaciónmarcosdetamañovariable.
b) Enlapaginaciónlamemoriasedivideenbloques
delmismotamañoyenlasegmentaciónno.
c) Enlapaginaciónlaszonasdememoriasellaman
marcosyenlasegmentaciónsegmentos.
d) Lapaginaciónutilizaladenominadatabladepáginasylasegmentaciónlapiladememoria.
9. Elcambiodecontexto,puedeproducirse…
a) Entrediferentesprocesos.
a) Swap-in.
b) Entrediferenteshilosdeunmismoprocesooentre
distintoshilosdediferentesprocesos.
b) Swap-out.
c) Solamenteentrehilosdeunmismoproceso.
c) Paginación.
d) Soncorrectasayb.
d) Memoriavirtual.
e) Segmentación.
5. Lapaginaciónsediferenciadelasegmentaciónenque:
a) Enlapaginaciónlamemoriasedivideenframesdel
mismotamañoyenlasegmentaciónno.
b) Enlapaginaciónlaspartesenlasquesedivideel
programasellamanpáginasyenlasegmentación
segmentos.
10. Losprogramasresidentes:
a) Sonutilizadosporvariosusuariosalavez.
b) Unavezcargadosenmemoriapermanecenenella
hastaqueseapagueelordenador.
c) Sedenominanvigilantes.
d) Soncorrectasayb.
c) Lapaginaciónutilizaladenominadatabladepáginasyenlasegmentaciónelstack.
Solución: 1:c;2:a;3:d;4:b;5:d;6:b;7:c;8:a;9:d;10:b.
d) Todassonciertas.
67
3
Gestióndelosrecursosdeunsistemaoperativo
Comprueba tu aprendizaje
1. Rellenalatabladeladerecharespectodelosestados
delosprocesosylastransicionesdelosmismos.Utiliza
lasreferenciasalastransicionesexplicadasenlospuntos2y3delaunidad.Recuerdaquelastransiciones
seránA,B,CoD.Siexistemásdeunaopción,seindicaránambasysejustificarán.
2. ¿QuécontieneelBCPoBloquedeControldeProcesos?
3. ¿TodoprocesotieneunaentradaenelBCP?
4. ¿Quéalgoritmoeselquemejorsepuedeutilizarpara
laejecucióndeprocesosenunsistemainformáticomultiusuario?
Proceso
Estado
P1
Ejecución
P2
Pausado
P3
Ejecución
P4
Bloqueado
Transición
Nuevo Estado
Bloqueado
C
Pausado
D
5. Rellenalasiguientetabla:
GESTIÓN DE MEMORIA
DIVISIÓN DE LA MEMORIA
GESTIÓN DE DISCO
FRAGMENTACIÓN
Paginación
Segmentación
Swapping
6. ¿Cómosedenominanlosprogramasquepuedenser
utilizados por varios usuarios y están cargados una
solavezenmemoria?
7. Comentaalgunacaracterísticadelossiguienteselementos:
• Archivosregularesoestándares.
• Directorios.
• Archivosespeciales.
8. Rellenalasiguientetabla:
PERIFÉRICO
Escáner
Pizarra digital
HDVD
DVD
Impresora
Discos duros
Monitor
Router
68
ENTRADA/SALIDA
INTERNO/EXTERNO
RÁPIDO/LENTO