En esta unidad aprenderemos a:
•Identificarlosprocesosysusestados.•Determinarlascaracterísticasyelementosdelosprocesos.
•Planificarlaejecucióndeprocesos.•Interpretarlastécnicasdegestióndememoria.
•Diferenciarlastécnicasdegestióndememoria.
•Conocerlagestióndeentrada/salidadelsistemaoperativo.
Y estudiaremos:
•Losprocesos.•LamemoriaRAMysuestructura.•Laformadealmacenarlosprocesosenmemoria.
•Cómoseplanificalaejecucióndeprocesosenelsistemainformático.
•Losdiferentestiposdeperiféricosdeunsistemainformático.
3Unidad Gestióndelosrecursosdeunsistemaoperativo
Gestióndelosrecursosdeunsistemaoperativo3
50
Un proceso es un conjunto deinstruccionescorrespondientesaun programa que son ejecuta-dasporlaUCP.
Vocabulario
Unahebraohiloesunsubproce-so de un proceso que consumerecursospropiosperoquedepen-dedelprocesopadrequelohaejecutado.
Vocabulario
1. Procesos y flujosUnprocesoesunconceptomanejadoporelsistemaoperativoyquereferenciaunpro-gramaenejecución.
Alosprocesos,dependiendoespecialmentedelsistemaoperativoutilizado,selesdeno-minaflujosdecontrol,tareas,threadsohilos,segúnelcontexto.
Cuandoseejecutamásdeunprocesodeformaconcurrenteenunsistema,todosnecesi-tanqueelpropiosistemalessuministreunaseriederecursos.Paraello,elsistemaopera-tivo,graciasalaUCP(UnidadCentralde Proceso),seencargadeasignarestosrecursosenunordenadecuadoyatendiendoaunasprioridades.Tambiénrealizafuncionesdesincronizaciónde todos losprocesos,paraqueseejecutenenelordenadecuadoysegúnlaprioridaddecidida.
Cadavezqueunprogramaseconvierteenproceso,esdecir,cadavezqueseejecutaunprograma,ademásdeubicarenmemorialasinstruccionesquelocomponenysusdatosasociados,adichoprocesoseleasociaunaestructura de datos.
Estaestructuradedatos,queesúnicaparacadaproceso,identificaelprocesorespectodelosdemásysirveparacontrolarsucorrectaejecución.Esloquesellamaelbloque de control del proceso o BCP,ycontendráparacadaprocesolasiguienteinformación:estadoactualdelproceso,identificadordelproceso,prioridaddelproceso,ubicaciónenmemoriayrecursosutilizados.
2. Hebras y estados de los procesosUnahebra esunpuntodeejecucióndeunproceso.Unprocesotendrásiempreunahebra,enlaquecorreelpropioprograma,peropuedetenermáshebras.
Lashebrasrepresentanunmétodosoftwareparamejorarelrendimientoyeficaciadelossistemasoperativos.Lashebrasdeunmismoprocesocompartiránrecursos,comomemoria,archivos,recursoshardware,etc.
Unprocesoclásico seráaquelque soloposeaunahebra.Pongamosunejemplo.SiejecutamoselprocesadordetextosWord,conunsolodocumentoabierto,elprogramaWordconvertidoenprocesoestaráejecutándoseenunúnicoespaciodememoria,ten-dráaccesoadeterminadosarchivos(galeríasdeimágenes,correctorortográfico,etc.),tendráaccesoalhardware(impresora,disquetera),etc.Endefinitiva,esteproceso,demomento,solamentetieneunahebra.
Sienestasituación,sincerrarWord,abrimosunnuevodocumento,Wordnosevuelveacargarcomoproceso.Simplementeelprograma,convertidoenproceso,tendráasudisposicióndoshebrasohilosdiferentes,detalformaqueelprocesosiguesiendoelmismo(eloriginal).
Wordseestáejecutandounasolavezyelrestodedocumentosdetextoqueabramosenestamismasesióndetrabajonoseránprocesospropiamentedichos.Seránhilosohebrasdelprocesoprincipal,queeselpropioprocesadordetextos.
Antesdehablardeprioridades,yteniendomuyencuentalocomentadoanteriormente,vamosaverlosdiferentesestadosenlosquepuedenestarlosprocesos.
Hoyendíaexistengrancantidaddeprogramasdiseñadosenmultihiloomultihebra.Deestaforma,siunprogramapuederealizarvariascosas,comoanalizarelregistrodelequipo,desfragmentareldiscoduroyrealizarcopiasdeseguridad,todasellassepodránejecutaralavez.Enprogramasconvencionales,solamentesepodríaejecutarunatrasotra,peronotodasalavez.
51
3Gestióndelosrecursosdeunsistemaoperativo
1. ¿Puedepasarunprogramadeestadobloqueadoaejecución?
2. Cuandoselanzaunnuevoproceso,¿pasaestedirectamenteaejecución?
Actividades
Básicamentelosestadosposiblesdeunproceso,quepodemosverenlaFigura3.1,sonlossiguientes:
• En ejecución. Elprocesadorestáejecutandoinstruccionesdelprogramaquelocom-poneytieneconcedidoeltiempodeusodelaUCPenuninstanteconcreto.
• Preparado, en espera o activo. Unprocesoestápreparadoparaserejecutado;esdecir,estáesperando turnoparapoderutilizar su intervalode tiempoyponerenfuncionamientosusinstruccionesaccediendoalosrecursosdelsistema.
• Bloqueado. Elprocesoestáretenido;esdecir,estábloqueadodebidoacausasmúl-tiples.Unadeestascausaspuedeserquedosprocesosutilicenelmismoficherodedatos.OtrapuedeserquedosprocesosnecesitenutilizarlamismaunidaddeCD-ROMparacargardeterminadosdatos,etc.
Engeneral, todos losprocesosdentrodecualquiersistemaoperativo tienenunasca-racterísticasque los identifican.Enprimer lugar, indicaremosquecadaprogramaenejecución,esdecir,cadaproceso,tieneunidentificadorquelodiscriminadelosdemás.Cadaprocesotieneunnúmeroasignadoporelsistemaoperativoquesirveprecisamen-teparaidentificarelproceso,lanzarloaejecución,detenerlo,cancelarlo,reanudarlo,etc.EsteidentificadordeprocesosenombraconlaabreviaturaPID.
Tambiénveremosqueencadasistemaoperativo,losprocesosloslanzannormalmenteotrosprocesos.Esdecir,quecadaprocesoqueselanzaaejecucióndepende,enlama-yoríadeloscasos,deotroprocesodenominadoproceso padre. Así,alnuevoprocesolanzadoseledenominaproceso hijo.
Un programa se convierte enproceso cuando se ejecuta yresidecompletamenteenmemo-riaRAM.
Ten en cuenta
Fig. 3.1. Estados de los procesos.
PREPARADO EJECUCIÓN
BLOQUEADOBLOQUEADO
Gestióndelosrecursosdeunsistemaoperativo3
52
3. Transición de los procesosUnavezqueunprogramasehalanzadoysehaconvertidoenproceso,puedeatrave-sarvariasfasesoestadoshastaquefinalizaotermina.Cuandounprocesoselanza,nuncaseejecutadirectamente,sinoquesecolocaenlacola de procesosenunestadodenominadopreparado. Cuando laUCP leasignasutiempo,elprocesopasadepreparadoaejecución.Estosdosestadossealternaránencasodequeseestéejecutandomásdeunprocesoenelsistema.Loscambiosdeestadoenlosquesepuedeencontrarunprocesosedenominantran-siciones.EnlaFigura3.2serecogenlastransicionesocambiosdeestadoquepuedenexperimentarlosprocesos.• Transición A. Ocurrecuandoelprogramaqueestáenejecuciónnecesitaalgúnele-
mento,señal,dato,etc.,paracontinuarejecutándose.• Transición B.Ocurrecuandounprogramaoprocesohautilizadoeltiempoasignadopor
laUCP(procesador)parasuejecuciónytienequedejarpasoalsiguienteproceso.• Transición C.Ocurrecuandoelprocesoqueestápreparadopasaalprocesodeeje-
cución,esdecir,cuandoalprocesolellegaunanuevadisposicióndetiempodelaUCPparapoderejecutarse.
• Transición D. Ocurrecuandoelprocesopasadeestarbloqueadoaestarpreparado,esdecir,cuandoelprocesorecibeunaordenoseñalqueestabaesperandoparapasaralestadodepreparadoy,posteriormente,traslatransición,aestadodeejecución.
Enunsistemamultiprocesoomultihebra,cuandounprocesoohilopasadeunesta-doaotro(porejemplo,deesperaaejecución),loqueseproduciráesuncambio de contexto.Elcambiodecontextopuedeserparcialsiserealizaentrehilosdelmismoproceso.Encasodequeelcambiodecontextoseaentrehilosdediferentesprocesos,seproduciráun cambio de contexto completo, ya que el cambio afectará amemoria, hardware,ficheroscomunes,etc.
VeamosenlaFigura3.3unejemplodecambiodecontextoentredosprocesos:
Fig. 3.2. Transición de los procesos. Fig. 3.3. Cambio de contexto.
PREPARADO EJECUCIÓN
BLOQUEADOBLOQUEADO
AD
B
C
PROCESO 1PROCESO 0
SALVAR estado PCB 0
RECARGAR estado PCB 1
SALVAR estado PCB 1
RECARGAR estado PCB 0
53
3Gestióndelosrecursosdeunsistemaoperativo
Los diferentes estados tienen una relación directa con lo que vamos a denominarprioridades,quesonaquellasqueeladministradordelsistema,oelpropiosistema,asignanacadaproceso.Deellodependeráqueunprocesoseejecuteenmásome-nostiempo.
Sepuedenestablecerprioridadesenfuncióndelanecesidaddeejecucióndealgunosprogramas.Losprogramasquemásseejecutan,esdecir,losmásnecesarios,tendránprioridaddeejecuciónsobreaquellosqueseejecutanmuydecuandoencuando.
Esahoracuandohemosdehablardelaplanificación. Conestatécnicaconseguimosindicaralordenadorlosprocesosquedebenejecutarseylosestadosqueestosdebenadoptar.Graciasalos algoritmos de planificaciónpodemosdecidirquéprocesohadeejecutarseencadamomentoyporqué.Algunascaracterísticasdeestosalgo-ritmosson la imparcialidad, laequidad, laeficiencia,el tiempoderespuestayelrendimiento.
Paraejecutarunproceso, introducimosenel indicadordecomandos (shell enUNIX,command.comenWindows)elnombredeunficheroejecutableohacemosdobleclicconelratónsobreeliconoquerepresentaunprogramaejecutable(porejemplo:Explo-rer enWindows).Deestaforma,elsistemaoperativopreparaelprogramaatravésdelcargadorparalanzarloaejecución.
Laprioridaddeunprocesode-terminalacantidaddeciclosdeUCPqueconsumirárespectodeotrosprocesosenejecución.
Ten en cuenta
3. ¿Cuántasinstruccionespue-deprocesarenuninstantedetiempolaUCP?
4. ¿Quiénasignalaspriorida-desa losprocesosenunsistemamultiproceso?
Actividades
EnlaFigura3.4podemosapreciardequéformaseejecutantresprocesos(ohilosensis-temasoperativosmultihiloomultihebra),pasandodeestaractivosaestarenespera,segúnseasignentiemposdeejecucióndeUCPaunosuotros.
Ejemplos
PROCESO
2
PROCESO
3
Ciclo de UCP
Proceso en ejecución Proceso en espera
PROCESO
1
0 1 2 3 4 5 6 7 8
Fig. 3.4. Esquema de ejecución de tres procesos.
Gestióndelosrecursosdeunsistemaoperativo3
54
Unavezcargadoelproceso,elsistemaoperativoasignaatravésdelplanificador laprioridaddelnuevoprocesorespectodelosquehayenejecución.
Deestaforma,cadaprocesoatraviesavariasfases.Enunmomentodado,elprocesoseestaráejecutando;posteriormenteestaráenespera,mientras laUCPejecutaotro;otrosprocesosestaránpreparadosparaserlanzados;otrospodránestarbloqueados,etc.Puesbien,enestoscambiosdeproceso,elsistemaoperativotienequesaberquéficherosestánabiertosencadaproceso,quéperiféricosseestánutilizando,etc.
Cuandoseestánejecutandovariastareasalavez(procesos),esnecesariocompartireltiempodetrabajodelaUCP.Eltiempocompartidoconsisteendividireltiempodeejecucióndelprocesadorenminúsculosintervalosdetiempo(quantum) eirasignandocadaunodeesosintervalosdeejecuciónacadaprocesoqueestáenejecución.
4. Bloque de Control de ProcesosLossistemasoperativosdisponendelosserviciosnecesariosparalagestióndelosprocesos,talescomosucreación,terminación,ejecuciónperiódica,cambiodeprioridad,etc.Además,durantesuexistencia,losprocesospasanpordistintosestadoscuyastransicionesestáncontroladasporelsistemaoperativo.Losdiferentesestadosdelosprocesosysusposiblestransicionesyaloshemosvistoantes.
Todalainformacióndeunprocesoqueelsistemaoperativonecesitaparacontrolar-losemantieneenunaestructuradedatosvistaanteriormente:elbloque de control de procesosoBCP.Ensistemasoperativosmultiproceso,elsistemaoperativomantienelistasdebloquesdecontroldeprocesosparacadaunodelosestadosdelsistema.
ElBCPdecadaprocesoalmacenainformacióncomo:
• Estado actual del proceso.Ejecución,preparadoobloqueado.
• Identificador del proceso.Dependiendodelsistemaoperativo,acadaprocesoseleasignaunPID.
• Prioridad del proceso.Laasignadaporelplanificador.
• Ubicación en memoria.Direccióndememoriaenlaquesecargaelproceso.
• Recursos utilizados.Recursoshardwareysoftwareparapoderejecutarse.
Graciasalosalgoritmosdeplanificación,elcargador,planificador,BCP,recursoshard-wareysoftwaresesincronizanmedianteelsistemaoperativoparalaejecuciónordena-dadelosprocesos.
Enprogramasmultihiloomultihebra,elBCPpuedecontenerademáselPPID,oProcess Parent IDentification.EstedatoreferenciaelPIDdelprocesopadredentrodelBCP,detalformaquedesdeelpropioBCPsepuedenidentificartodoslosprocesosquesonhijosdeotro,siempreycuandotenganelmismoPPID.
Esevidentequeenprocesosconvencionales,estedatoenelBCPnoexistirá.
Todoprocesoconsumerecursoshardwaredeunsistemainformá-tico,yeselsistemaoperativoelquedetermina,medianteelpla-nificador,dequéformaseasig-nanlosrecursosacadaproceso.
Ten en cuenta
Aunaposicióndememoriasola-mentepuedeaccederunproce-soenundeterminadomomento.
Ten en cuenta
Se denomina planificador aaquella parte del sistema ope-rativoencargadadeasignarlosrecursosdelsistema,demaneraque se consigan unos objetivosdecomportamientoespecificados.
Vocabulario
5. ¿DesdedóndeycómosepuedenlanzarlosprocesosenlossistemasWindowsyLinux?
6. Enunsistemaoperativomonoproceso,¿cómoseplanificalaejecucióndevariosprocesos?
Actividades
55
3Gestióndelosrecursosdeunsistemaoperativo
5. Algoritmos de planificaciónGraciasalosalgoritmosdeplanificación,especialmenteensistemasoperativosmulti-procesooensistemasoperativosenred,siempreycuandoseejecutenvariosprocesosenelmismoequipo,laCPUseencargadeasignartiemposdeejecuciónacadaprocesosegúneltipodealgoritmoylaprioridaddecadaproceso.
Acontinuaciónvamosadarunabrevedescripcióndealgunosde losalgoritmosdeplanificaciónmáshabitualesensistemasmultiprocesoymultiusuario.
Veamosdosdelosalgoritmosdeplanificación,actualmenteutilizadosensistemasWin-dowsyLinux.
• Algoritmo de rueda.Asignarotativamentetiemposdeejecuciónalosdiferentesproce-sos.TambiénsellamaalgoritmodeRound-Robinyenéllaasignacióndetiemposdeejecuciónalosprocesoseslamismaydeformasecuencial.Acadaunoseleasignaelmismoquantumointervalodetiempodeejecución.LaselecciónentrelosprocesosserealizamedianteunacolaFIFO(First In First Out,elprimeroenentrareselprimeroensaliroserservido).Eselalgoritmoutilizadonormalmenteenlaasignacióndetiemposensistemasoperativosmultiusuarioymultiproceso,yenlaactualidadsepuededecirqueeselutilizadoensistemasoperativosmonousuarioyquetrabajanenmultitarea.
• Algoritmo FIFO (First In First Out)o FCFS (First Come First Serve). LosciclosdeUCPasignadosacadaprocesoseasignanenfuncióndeunacolaFIFO.AlprimerprocesoquellegaseleasignantiemposociclosdeUCPhastaqueterminacompletamente.Acontinuación,seejecutacompletoelsiguienteprocesoquehayenlacolaFIFOyasísucesivamentehastaterminarconelúltimoproceso.Estealgoritmodeplanificaciónnormalmenteseutilizaparalagestióndetrabajosencolasdeimpresión,respectodelostrabajosquevanllegandoalaimpresora.
6. Memoria RAM y memoria virtualSabemosqueelordenadorcuentaconlamemoriacentraloprincipal,peroestaeslimi-taday,engrandessistemas,insuficiente.
Alprincipio,paraubicarlosprocesosenmemoriaysolucionaresteproblema,seadop-tarontécnicastalescomodividirelprogramaenpartesdenominadascapas. Cadaunadelascapasseibaejecutando(cargandoenmemoria)segúnfueranecesario;esdecir,primerosepasaríapartedelprogramadeldiscoduro(osoportedealmacenamiento)alamemoria,ycuandofueranecesarioutilizarotrapartedelprogramaquenoestuvieseenmemoriacentraloprincipal(RAM),seaccederíadenuevoaldiscoparacargarlasiguientecapaenmemoriacentral.
Estalabordedividirelprogramaencapaslapuederealizarelmismoprogramadorme-dianteladivisióndelprogramaenmódulosqueseiránejecutandosegúnseanecesario,sibienestosuponeunelevadoesfuerzoparaél.
Fotheringamdiseñóunmétodoconocidocomodememoria virtual. Estediseñadorpen-sóenlaposibilidaddequealubicarunprogramaenmemoria,estefuerademasiadograndeparaeltamañofísicodeaquellaycreóunatécnicaparahacerqueenmemo-riapermanecierasololapartedelprogramaqueseestuvieraejecutandoyqueelrestoquedaraeneldisco.
Fotheringamdiseñóen1961unatécnicarevolucionariaparadivi-dir los programas en partes ypoderlosubicarenequiposquetuvieran menos memoria realqueeltamañodelprograma.
Ampliación
En la Web del CEO podemosencontrar una ampliación deeste punto y, sobre todo, ejem-plosdeestosyotrosalgoritmosdeplanificación.
CEO
7. ¿Cuáleselalgoritmoutilizadonormalmenteparagestionarlostrabajosquelleganaunaimpresora?
8. Cuandotodoslosprocesostienenmásomenoslamismaduración,¿cuáleselalgo-ritmoquemejoroptimizaeltiempodelaUCPparavariosprocesos?
Actividades
Gestióndelosrecursosdeunsistemaoperativo3
56
Este concepto, aplicado hoy en día en la mayoría de los sistemas operativos,consideraelespaciolibredediscocomosisetratasedememoriaRAM(memoriavirtual).Así,paraelusuarioelprogramaestarácargadoenRAM,peroenrealidadsolosecargaráenRAMlapartedelprogramaqueseestéejecutandoeneseins-tante.Entretanto,elrestodelprogramaenejecuciónpermanecerátemporalmentealmacenadoendiscoparasuposteriorutilización,sifueranecesario.
Sienunmomentodadonecesitamosejecutarunapartedelprogramaalmacenadaenmemoriavirtual(eneldiscoduro),estapasaráaRAMparasuejecuciónreal,ylapartedelprogramaqueestabaenRAMpasaráaldisco.Así,siemprehabrámásRAMlibrepararealizarcálculosoejecutarotrosprogramas,sobretodoensistemasoperativosmultiusuarioymultitarea.
EnlaFigura3.5podemosverloselementosqueentranenjuegoalahoradeuti-lizarmemoriavirtual.
Paralaubicacióndeprogramasenmemoria,sepuedeutilizarlatécnicadememoriavirtualparaquesiemprehayaRAMlibreparatodoslosprogramasquequeramoseje-cutar,esdecir,paralosprocesos.Esosí,cuandocargamosdemasiadosprocesosalavez,elsistemaseralentiza,yaquetienequepasarinformacióncontinuamentedesdeeldiscoduroalaRAMoviceversa.
Lossistemasoperativosmultiusuarioymultitareasonespecialistasenestagestión.Casi todas lasversionesdeWindowsrealizanunagestiónmuyeficazdelame-moriavirtual.
Esobvioquepararealizarestagestiónsehadedisponerdeunespaciodetermina-doeneldiscoduro.Concretamente,parasistemasdeMicrosoftesrecomendableasignarun2,5%deltamañototaldelaRAMdeespacioendiscoparalagestióndememoriavirtual,yun5%comomáximo.
En sistemas operativosWindows, respecto de otros como Linux, existe un granproblemaalahoradegestionarlamemoriavirtual,yeslafragmentacióndelosarchivosquesealmacenanenlazonadeintercambio.EstoenLinuxnopasa.Elqueestazonasefragmente,siesquesehaceunusoconsiderabledeestazonadeintercambio,implicaqueelequipocadavezseamáslentoyaquelosarchivosnoestáncontiguosyesoimplicaqueelaccesoaellosseamuchomáslento.
Fig. 3.5. Gestión de memoria virtual.
MemoriaVirtual
Controlador deMemoria Virtual
MemoriaPrincipal
Controlador deMemoria RAM
MemoriaCaché UCP
MEMORIA RAMDISCO DURO MICROPROCESADORMEMORIA CACHÉ
57
3Gestióndelosrecursosdeunsistemaoperativo
7. IntercambioAlprincipio,enlossistemasoperativosmonousuarioymonoproceso,lagestióndeme-moriaeramuysencilla.Lasmemoriasteníanpocacapacidadysolosereservabaunapartedeellasparaelsistemaoperativo(véaseFig.3.6).
Conlaaparicióndelossistemasoperativosmultiusuarioymultitarea,lagestióndeme-moriaseconvierteenunadelasfuncionesmásimportantesdelsistemaoperativo.
Lapartedelsistemaoperativoqueadministralamemoriaeseladministrador de me-moria.Sulaboresclara:llevarunregistrodelaspartesdememoriaqueseestánuti-lizandoydelasqueno.Deestaforma,reservaespaciodememoriaparalosnuevosprocesosyliberaelespaciodelosprocesosquefinalizan.
Eladministradordememoriatambiénseencargadegestionarelintercambiodedatosentrememoriaydisco,siempreycuandolosprocesosseantangrandesquenoquepandeunasolavezenlamemoria.
Lagestióndememoriaes importantecuando trabajamosensistemasoperativosmul-tiproceso,yaúnmásensistemasoperativosmultihilo,yaquesecompartenespaciosdememoriaenlosquesealojanlasvariablescompartidasyalosqueaccedenvariosprocesosohilosdeunproceso.
Enestecaso,lamemoriatienequesergestionadaycontroladaporelsistemaoperativodetalformaquecadaprocesoutiliceelespaciodememoriasinafectaraotrosespaciosdememoriaenlosquepuedahaberdatosoregistrosconinfor-maciónparaotrosprocesosohilosdeunproceso.
Paragestionarlamemoriaensistemasoperativosmultitarea,esta sedivideenparticiones fijas.Así, el sistemaoperativodisponedeunacoladelosprocesosquesolicitanentrarenmemoria. El planificador tiene en cuenta los requerimientosdememoriadecadaunodelosprocesosylasparticionesdememoriadisponibles.EstosrequerimientosdeusodememoriasealmacenanenelBCP.
Lamayor dificultad de diseño de las particiones fijas es laadecuadaseleccióndelostamañosdelasmismas,puestoquepuedederivarenundesaprovechamientoofragmentacióndelamemoria.Estafragmentaciónpuedeserinterna,cuandolapartedelamemoriaquenoseestáusandoesinternaaunaparticiónasignadaaunproceso,oexterna,cuandounapar-ticióndisponiblenoseempleaporqueesmuypequeñaparacualesquieradelosprocesosqueesperan.
Conunconjuntodinámicodeprocesosejecutándosenoesposibleencontrar lasparticionesdememoriaadecuadas.Laopciónesdisponerdeparticionesvariables.Elproble-maque se plantea ahora es disponer de un registro coninformacióndelasparticioneslibresyocupadas,queseaeficientetantoeneltiempodeasignacióncomoenelapro-vechamientodelamemoria.Noobstante,sesiguenpresen-tandoproblemasde fragmentaciónexterna.Unasoluciónes permitir que los procesos puedan utilizar memoria nocontigua,loqueseconsiguemediantetécnicasdepagina-ción. Enesta situaciónhayunmecanismode traduccióndelasdireccioneslógicasalasfísicasmedianteunatabla de páginas.
Latabladepáginaspresentadoscuestionesatenerencuen-ta:eltamañodelatabla(quepuedeserdemasiadogrande)yeltiempodeasignación(quedebeserdecortaduración). Fig. 3.6. Gestión básica de memoria.
SISTEMA OPERATIVO(Monitor)
SISTEMA OPERATIVO(Monitor)
Programasde usuario
Controladores dedispositivos
Máximo KB
0 KB
Procesos Procesos.Único proceso
de usuario
Controladores de
0 KB
Máximo KB
La zona de intercambio es unazonadeundiscoduroutilizadapara almacenar procesos queactualmente no están en ejecu-ción y así dejarmemoria RAMlibre para los procesos que síloestán.
Vocabulario
9. ¿Enquésistemasesmásimportante lagestióndememoria?
10. ¿Conquétipodesopor-tesserealizaelintercam-bio de memoria de unordenador?
Actividades
Gestióndelosrecursosdeunsistemaoperativo3
58
Encontraposiciónalavisióndelamemoriacomoun arrayolistaunidimensional,estálaconcepciónporpartedelusuariodeconsiderarlamemoriacomounconjuntodeseg-mentosdediferentestamaños,sinningunaordenaciónentreellos.Esteesquemacorres-pondealasegmentación.Enestecaso,elespaciodedireccioneslógicasesunconjuntodesegmentoscondiferentesnombresytamaños.Enelesquemadesegmentaciónnoseproducefragmentacióninterna,perosíexterna,queocurrecuandotodoslosbloquesdememorialibressonmuypequeñosparaacomodaruntrozoobloquedeproceso.
Aunquelasegmentaciónylapaginaciónsonesquemasdiferentesdegestióndelame-moria,sepuedenconsiderarestrategiascombinadas,yaquelaúnicadiferenciaesquelapaginaciónutilizabloquesdememoriadetamañofijo.
Entodosestosesquemas,sesuponequeelprocesoquesevaaejecutarestácargadototalmenteenmemoria.Laideadepermitirejecutarprocesosquenoestáncargadostotal-menteenmemoria,einclusoquesustamañossuperenaldelamemoriafísicainstalada,dalugaralconceptode memoria virtual.
Enlossistemasoperativosactualessepuedeconfigurareláreadeintercambio,detalformaquepodemosindicareltamañoendiscodestinadoatalfin,einclusosepuedeindicarenquédiscosepuederealizarelintercambio.
Elgraninconvenientedemodificar«alaligera»loqueelsistemaadministraautomática-mente,esquepodemosprovocarqueelrendimientodelequiposeamenor.
Enlasegmentación,laRAMsedivide en espacios que no tie-nenqueserdelmismotamañoy que estarán en función deltamañodelosprocesosquesevayanaejecutar.
Ten en cuenta
En la Figura 3.7 vemos un ejemplocondos formasdeplanificar laubi-caciónde losprocesosqueesperanparaserejecutados.
La primera técnica («A» en el grá-fico) consiste en dividir la memoriaRAM,quetiene4MBdecapacidadtotal, en zonasde tamaño fijo perono iguales,ennuestrocasode512,1024y2048KB,detalformaquesepuedancrearvariascolasdepro-cesoscuyos tamañossean inferioresal tamañode laparticiónen laqueesperanejecutarse.
La segunda técnica («B»enelgráfi-co) consiste en mantener esas divi-sionesdememoriacontamañosfijosy diferentes, pero ahora solo habráuna colade esperapara losproce-sos,queseiránalojandoenunadelasparticiones libresqueseacapazdealojarlos.
Enamboscasosexisteunazonareser-vada, como siempre, para que sealojeelsistemaoperativo.Eslazonade memoria más baja que corres-pondealosprimeros512KBdelos4MB(4094KB)totalesdememoriaRAMdelosquesecomponenuestroejemplo.
Ejemplos
Fig. 3.7. Gestión de particiones.
B
Planificación con particiones fijas de 512 y2 048 KB, usando varias colas de procesos
Planificación con particiones fijas de 512, 1 024y 2 048 KB usando una sola cola de procesos
P3 P2 P1
P3 P2 P1
P3 P2 P1
SISTEMAOPERATIVO
1.ª PARTICIÓN512 KB
2.ª PARTICIÓN1 024 KB
3.ª PARTICIÓN2 048 KB
400 KB 50 KB 350 KB
P3 P2 P13 075 KB 350 KB 900 KB
400 KB 50 KB 350 KB
400 KB 50 KB 350 KB
0
512
1 024
2 048
4 096
SISTEMAOPERATIVO
1.ª PARTICIÓN512 KB
2.ª PARTICIÓN1 024 KB
3.ª PARTICIÓN2 048 KB
0
512
1 024
2 048
4 096
A
59
3Gestióndelosrecursosdeunsistemaoperativo
8. Paginación, segmentación y swappingSegmentación,paginaciónyswappingsontécnicasdegestióndememoria,queengeneralpermitenejecutarprogramasdeuntamañosuperioralacapacidaddelame-moriaRAMutilizandoeldiscodurocomouna«ampliación»delamemoriaprincipaldelequipo.Laventajaesquesepuedeejecutarcualquierprograma;elinconvenienteeslapérdidaderendimiento.
8.1. Paginación
Lapaginaciónesunatécnicaqueconsisteendividir lamemoriainternaoRAMenzonasigualesllamadas frames,ylosprogramasenpartesdelmismotamañodenomi-nadaspáginas.
Paraubicarunprogramaenmemoria,elsistemaoperativobuscaráenmemoriafísicalos framesquetengalibres.Eltamañodeestosframessediseñamediantehardware.
Si utilizamos un sistema de multiprogramación y solo hay un trabajo, este tendráasignadostodoslosframesnecesariosparaél.Estaasignacióndeframeslarealizaelsistemaoperativo.
Mediantela tabla de páginas,laUCPasignalasdireccionesfísicasdelos framesalaspáginasenlasquesehadivididoelprograma.Laasignacióndelosframes notienequesernecesariamenteconsecutiva.Unprocesosepuedeubicarenmemoriainternaenframesnocontiguos,yaqueestospuedenestarocupadosporotrosprocesos.
La técnica de paginación es similar a la dememoria virtual. La gran diferencia es queaquí no existe disco duro para intercambiarpartedelosprocesos.Concretamente,elsiste-maoperativoDOSutilizaunatécnicapareci-daalapaginación.
Como ejemplo, veamos el sistema operativoDOS.Solosirvedealmacenamientoparapar-tedelnúcleodelsistemaoperativoyparaal-macenartemporalmentepartedelosprocesosquetenganuntamañosuperiora640KB.
DOS divide la memoria extendida (porencima del primer MB) en páginas de64KBpara realizar el intercambiode infor-maciónconlamemoriaconvencional.
Unprogramade1MBocuparáloquepuedadememoriaconvencionalyelrestosealma-cenarátemporalmenteenmemoriaextendida.Esteprogramasepaginaráatravésdelllama-domarco de página,delquehablaremosmásadelante.Seintercambianlaspáginasdesdememoriaconvencionalaextendidayvicever-sa,dependiendodelapartedelprocesoquesevayaaejecutar.Estagestióndememoriaseconocecomomemoria expandida.
Enresumen,lapaginaciónesunatécnicadereasignaciónoredireccionamientodinámico,conlaconsideracióndequelatabladepá-ginassepuedealmacenarenregistrosespe-cialesdestinadosatalefectooenunapartedelapropiamemoria.
Un marco de páginaesunadivi-sióndelamemoriaenzonasdelmismo tamaño utilizadas paraintercambiar procesos con losespaciosdealmacenamiento.
Vocabulario
Fig. 3.8. Paginación.
UCP 003
000 101A02100102FC3
RAM
001002003004
000000
100000
101000
102000
103000
MÁX.
10277F
7FF
DIRECCIÓN LÓGICA DIRECCIÓN FÍSICA
TABLA DE PÁGINAS
102 7FF
Gestióndelosrecursosdeunsistemaoperativo3
60
8.2. Segmentación
Esunatécnicasimilaralapaginaciónquepermitedefinirlosbloquesdememoriadetamañovariable.Cadasegmentopuedevariardesde0hastaunmáximopermitido.
Estossegmentospuedentenerlongitudesdistintas.Además,lalongituddeunsegmentopuedevariarsegúnlasnecesidadesdelprograma.
Supongamosquerealizamosunprogramay,paraqueseejecute,necesitautilizartablas(estructurasdedatos)enmemoria.Sitenemosencuentaqueunatablapue-deasignarsedeformaestáticaodinámicasegúnlasnecesidadesdelprograma,habrá veces en que esta tabla necesitará un espacio determinado enmemoria,mientrasqueotras,esteespacioserámayoromenorsegúnlanecesidad.Graciasalasegmentaciónpodemosubicarenmemoriaestasestructurasdedatos,independien-tementedeltamañoquetengan.
Elordenador,atravésdelsistemaoperativo,puedeorganizarlamemoriaenbloquesconcretosytenerpartesdeelladestinadasaalmacenarlasestructurasdedatos,quepuedencreceromenguarsegúnlasnecesidadesdelusuarioodelprograma.Paraelloseutilizaránlaspilasdememoriaostacks, enlasquesegestionanlasestructurasdedatosnecesarias.
Lapaginacióndifieredelasegmentaciónenquelaspáginassondetamañofijoylossegmentosno.Elusodelatécnicadepaginaciónosegmentacióndependerádelsiste-maoperativoutilizadoydelamáquinaenlaquelousemos,ademásdelasnecesidadesdelsoftware.
8.3. SwappingElswappingesunatécnicasimilaraladememoriavirtual.Cuandovariosusuariosestánejecutandoprocesosenunmismoordenador,esteseveobligadoacargarlosenRAM.Segúnelestadoenelqueseencuentreelprocesodecadausuario,lame-moriaseiráliberandodesuprocesoypasaráalazonadeswapmediantelatécnicallamadaswap-out.Deestaforma,lamemoriainternaquedaliberadaparaqueenellasepuedaalmacenarotroprocesodelmismousuarioodeotro.
Todoprocesoconsumerecursoshardware de un sistema infor-mático,yeselsistemaoperativoel que determina, mediante elplanificador, de qué forma seasignan los recursos a cadaproceso.
Ten en cuenta
Nuncaejecutesdemasiadospro-gramasa lavezconunacanti-dad de memoria pequeña, yaque el intercambio entre RAMy disco ralentizará mucho elsistema.
Truco
Supongamosquetenemosunprocesoquenecesitadividirseencincopáginas:000,001,002,003y004.Acadapáginahabráqueasignarleunframeomarcodepáginadelamemoria física.Parahaceresaasignaciónseusa la tabladepáginas,queseconstruyecuandosecargaelprocesoyquecontienetantasentradascomopáginastengaelproceso,ennuestrocasocinco.
Cadadirección lógica tendrádos campos, elprimeroaccedea lapáginadentrode latabladepáginasyelsegundoindicaeldesplazamientoquehayquerealizardentrodeesapáginaparaaccederalainformacióndeseada.
Ennuestroejemplo (véaseFig.3.8), laUCP indicacomodirección lógica0037FF.Estoquieredecirquedebemosaccederalacuartapágina(003),dondeestáladireccióndelmarcodepáginaoframedelamemoriafísicaquecontienelainformaciónaejecutar,queennuestrocasoesla102.
Unavezubicadosendichoframe,debemosdesplazarnos7FFposiciones,conloqueseobtieneapartirdelosdoscamposladirecciónfísicaalaquesequiereacceder,queenestecasoes1027FF.
Ejemplos
Latransformacióndelasdireccioneslógicasenfísicaslarealizala unidad de admi-nistración de memoria o Management Memory Unit(MMU).
61
3Gestióndelosrecursosdeunsistemaoperativo
Sielusuariovuelveasolicitarsuprocesoparaseguirejecutándolo,seproduceeldeno-minadoswap-in,queconsisteenpasarelprogramadelazonadeswapalamemoriainterna.EstazonadeswapsesueleutilizarensistemasoperativoscomoUNIXyLinux.Estáformadaporunespaciofísicodeldiscoenelquetenemoselsistemaoperati-voylasaplicacionesquesevanaejecutar.Losfabricantesdeestossistemasoperativosrecomiendanqueestazonaseadel20%aproximadamentedelespacioendiscooeldobledelacapacidaddeRAMdelordenador.
Ladiferenciaentre lagestióndememoriavirtualyelswappingesque,mediante laprimera,puedellegaraocurrirqueeldiscoestétanllenoquelagestiónseadifíciloimposible,yaqueelespaciodestinadoalintercambiosueleserespaciodeldiscoduroenelqueestáinstaladotantoelsistemaoperativocomoelsoftwaredeaplicacionesylosdatosdelusuario.
Enelswappingnopuedeocurriresto,yaqueestazonasiempreestaráreservadaydisponibleparaelintercambiodeprogramasconlamemoriaprincipal.Normalmente,alestarestazonaenundispositivofísicodiferente,todoelespacioestarádisponiblecadavezqueencendamoselordenador.
9. Programas reubicables, reentrantes, residentes y reutilizables
Segúncómo,dóndeycuándoseubiquenenmemoria,losprogramaspuedenserdevariostipos:
A. Reubicables
Sonaquellos que, una vez cargados en RAMpara ejecutarse, pueden variar de si-tuación,yaque lapartedeRAMqueocupanpuedesernecesariaparaubicarotroproceso.Estosprocesosoprogramascambiandeposicióncuandoseestárealizandounaoperaciónsobreelordenador.Estaoperaciónsueleserdeconfiguracióninternadelpropioordenador.
B. Reentrantes
Sonaquellosprogramasque,sinoseestánejecutando,dejanlamemorialibreparaotrosprocesos.Estosprocesos,cuandose liberan,sesuelenalmacenar temporalmenteeneldiscoduro.Sonlosprocesosgestionadosmediantelatécnicadememoriavirtual.
C. Residentes
Sonaquellosque,unavezcargadosenmemoria,permaneceránenellahastaqueseapagueelordenador.Nocambiansuubicaciónenningúnmomento.Suelenserprogra-masdeantivirus,deanálisisdesistema,demonitorización,etc.Losmáscomunessonlosllamadoscentinelas,queincorporanlosantivirusparaqueanalicencontinuamenteloquesecargaenmemoria.Deestaforma,siseejecutaunproceso,elprogramaresi-denteloanalizay,sidetectaalgorarooextraño,envíaunmensajedealerta.
Laubicacióndeestosprogramasenmemoriadependerá,fundamentalmente,delsiste-maoperativoydelapropiaaplicaciónquelanceelprogramaresidente.Suelenubicar-seenesos64KBdememoria,aunquenonecesariamente.
D. Reutilizables
Sonprogramasquenormalmentesonutilizadosporvariosusuariosalavezenmemoria,independientementedelnúmerodeusuariosquelosvayanautilizar.Conelloseconsi-gueunmejoraprovechamientodelamemoria.
11. ¿Qué sistemas operati-vosdelmercadoutilizanlatécnicadepaginaciónparalaubicacióndelosprocesosenmemoria?
12. ¿Quésistemasoperativosdel mercado utilizan latécnicadeswappingparalaubicacióndelosproce-sosenmemoria?
13. ¿Quétécnicaesmásefec-tiva,lapaginación,laseg-mentaciónoelswapping?
Actividades
14. ¿Eselprocesadordetex-tos Word un programaresidente?
15. ¿Es un antivirus un pro-gramaresidente?
Actividades
Un programa es un conjuntode instrucciones que el sistemaoperativo ejecuta para realizardeterminados procesos dentrodeunsistemainformático.
Recuerda
Enunprogramaseejecutanins-truccionesaritméticasy lógicas,estas últimas determinadas porelálgebrade Boole.
Recuerda
Gestióndelosrecursosdeunsistemaoperativo3
62
10. Gestión de entrada/salida:tipos de periféricos
Unadelasfuncionesprincipalesdeunsistemaoperativoeselcontroldelosperiféricosdeentrada/salidadelordenador.Elsistemaoperativoseencargadeenviarórdenes,determinar el dispositivo que necesita la atención del procesador, eliminar posibleserrores,etc.
Enprimerlugar,esnecesariohacerunaclasificacióndelosperiféricos.Estaclasificaciónnocorrespondeasisonperiféricosdeentradaodesalida,sinoasigestionanlainfor-maciónporbloquesoporcaracteres:
• Periféricos tipo bloque.Sonaquellosenlosquelainformaciónquesemanejaesdetamañofijo.Lainformaciónentraosaledememoriaenformadebloque.Unejemploson los registrosde ficherosdedatosalmacenadosendiscosodisquetes,yaquecadaregistrocontieneinformaciónreferenteaunbloquehomogéneo.
• Periféricos tipo carácter.Sonlosquesirvenparaintroducirdatosdentrodelamemo-riadelordenadorenformadecaracteres,sinningúnordenconcreto,porejemplolosteclados.Tambiénanalizaremoslosperiféricosquesirvenparaverlosresultadosobtenidosdenuestragestiónenformadecadenadecaracteres:puedenserelmoni-tor,laimpresora,etc.
Cadaperiféricoestácompuestoporuncomponentemecánicoyporotro,uotros,com-ponentes electrónicos. Por ejemplo, un disco duro estará compuesto por los propiosdiscosdealuminiorecubiertosdematerialmagnético,lascabezasdelectura,elmotorqueloshacegirar,etc.,yporladenominadacontroladoraoadaptador,encargadodeconectareldispositivofísicoalordenador.
Elsistemaoperativoseencargadeaccedera la informaciónde lamemoriaprinci-pal,extraerlaenformadeimpulsoseléctricosyenviarlaalosdiferentesdispositivosperiféricos.Silainformaciónseenvíaaundiscoduro,losimpulsossetransformaránenseñalesdetipomagnético;siseenvíaaunaimpresora,setransformaránencarac-teres,etc.
11. Comunicación con el sistema:interfaces de usuario
Hayquedestacarlasinterfacescomomediodecomunicaciónentrehardwareysoft-wareatravésdelsistemaoperativo.Lasinterfacessepuedenclasificaren:
• Interfaz tipo texto.Sielsistemaoperativoesdetipotexto,todaslasórdenesqueelusuariointroduzcaylasrespuestasqueelsistemaoperativodéseintroduciránovisualizaránmediantecadenasdecaracteres.Unejemplodesistemasoperativostipotextoson:DOS,UNIX(enversionesinferioresalaSystemVRelease4),lasprimerasversionesdeLinux,etc.Todaslasórdenesseintroducenportecladoysevisualizanenlapantalla.Lapantalla,cuandosegestionaentipotexto,tieneuntamañode80columnaspor24filas;esdecir,puedemostrarhasta1920carac-teresdeunasolavez.
• Interfaz tipo gráfico. Hoyendía,lamayoríadelossistemasoperativosutilizanmediosdecomunicaciónentremáquinayordenadordetipográfico.Enestetipodeinterfa-ces,elusodelratónescasiimprescindible.Lainformaciónenpantallasemuestraenbloquesoenpantallasindependientes.Aestosbloquesselesdenominaventanas, yenellasapareceunaseriedecomponentesyobjetosquenossirvenparaenviarorecibirinformaciónsintenerqueteclearnada.
16. ¿Disponentodoslossiste-masoperativosdeinterfaztipotextoytipográfico?
17. ¿Crees que existe algúntipodesistemaoperativoquenotengainterfazgrá-fica?
Actividades
Los sistemas operativos actualestrabajan normalmente medianteinterfaz de tipo gráfico, aunquepermiten la ejecución de deter-minadoscomandosyprogramasmediantelainterfazdetipotexto.
Ten en cuenta
63
3Gestióndelosrecursosdeunsistemaoperativo
12. Clasificación de los periféricosLaclasificaciónmásusualdelosperiféricoseslaquesemuestraenlaFigura3.9:
• De entrada.Sonlosquesirvenparaintroducirinformación(datosoprogramas)enelordenador.Lainformaciónvadesdeelloshacialamemoriayelrestodecomponen-tesinternosparaserprocesada.Sonperiféricosdeentradaelteclado,elescáner,launidadlectoradeCD-ROM,elratón,etc.
• De salida.Sonlosqueseutilizanparaextraerlainformación(datosenformaderesultados,programas,etc.)desde lamemoriay restodecomponentes internosdel ordenador, y mostrar los datos. Son periféricos de salida la impresora, lapantalla,elplóter,etc.
• De entrada/salida (E/S).Sonlosqueseutilizanparaintroduciroextraerdatosdesdeyhaciaelordenador.Porejemplo,losdispositivosdealmacenamientocomolosdiscosduros (Fig.3.11).Enellossepuedeescribir información (salida)al igualque leerla(entrada).Hayotrosmuchosperiféricosdentrodeestacategoría,comolosmonitorestáctiles,elmódem,elrouter,lastarjetasdered,elpen drive,lasimpresorasmultifun-ción,etc.
NosedebenconfundirlosperiféricosdeE/Sconlossoportesdeinformación.Losperifé-ricosson,porejemplo,lasunidadesdedisquete.Eldisqueteensísedenominasoporte, yaqueeselquealmacenalainformación.Elperifériconoalmacenainformación,pueseselmediofísicoquesirveparaalmacenarla.Pongamosunejemplo:unradiocaseteesunperiférico,ylacintaenlaqueestángrabadaslascancionesesunsoporte.
Endefinitiva,elsoportedeinformacióneslapartedelperiféricoextraíble(disquete,CD-ROM)ono(platosdeldiscoduro)enlaquesealmacenalainformación.
Algunadelasprincipalescaracterísticasdelossoportesesquesonreutilizables,quetienenelevadacapacidaddealmacenamiento,quesonnovolátilesyquesonmáseco-nómicosquelamemoriaprincipal(RAM).
Fig. 3.9. Esquema de periféricos de entrada/salida.
Periféricos de ENTRADA Periféricos de SALIDA
SISTEMA INFORMÁTICO
USUARIO
Periféricos deENTRADA / SALIDA
Paraqueunmismoperiféricodeentrada/salidapueda funcionaren diferentes sistemas opera-tivos, es necesario instalar loscontroladores o drivers que elfabricantesuministraconelperi-férico.
Recuerda
Gestióndelosrecursosdeunsistemaoperativo3
64
AlgunosdelosperiféricosdeE/Smásimportantesson:
A. Teclado y ratónSonlosperiféricosdeentradaporexcelencia.Lostecladospuedenserdevariosmodelos,dependiendodelnúmerodeteclasquelocompongan(84,102o104).Normalmente,seutilizanlosde102teclas.VeamosdetalladamentecómoesuntecladoenlaFigura3.10.
1 Ctrl.Seutilizaconotracombinacióndeteclaspararealizardeterminadasfuncionesoparaseleccionarmúltiplesarchivosy/ocarpetas.
2 Shift. Seutilizaparaescribirletrasenmayúsculasoelsímbolodelapartesuperiordelrestodeteclas.
3 Caps Lock.Seutilizaparadejaractivadalaescrituradeteclasenmayúsculas.
4 Tab. Seutilizaparatabulaciónenprocesadoresdetextoymovimientoencamposdeentradaenformularios.
5 Esc.Seutilizanormalmenteparafinalizarprocesosoacciones.
6 Teclas de función (F1 a F12). Seutilizanparaabreviaraccionesenherramientasofi-máticasorealizardeterminadasaccionessobreelsistemaoperativo.
7 Retroceso. Seutilizaparaborrarelcarácteralaizquierdadelaposicióndelcursor.
8 Panel identificador.Indicasitenemosactivadaslasmayúsculasoeltecladonumérico.
9 Teclado numérico. Seutilizacomotalocomotecladodeediciónentecladosquenodisponendeteclasparaestefin.
10 Teclado de edición.Seutilizaparamoversepordocumentos,porgráficoseinclusoenlosjuegos.
11 Enter.Teclaquesirveparahacerefectivaslasoperacionesdeconfirmaralgunaacciónoparainsertarlíneasenprocesadoresdetextosuotrasherramientasofimáticas.
12 Espaciador. Seutilizapara insertar espacios enblancoo seleccionar casillasdeverificaciónencuadrosdediálogo.
13 Alt. Teclaqueutilizadaencombinaciónconotrassirvepararealizardeterminadasaccionesdelsistemaoperativo.
B. MonitorEsunperiféricodesalida.Puedesermonocromoocolor,ysusprestacionesdepende-rán,engranmedida,dela tarjeta gráficaydelamemoriaapropiadaqueincorporeelfabricante,delafrecuenciaderefresco,deltamañoenpulgadas,etc.Estastarjetassonlasquecomunicanelordenadorconelmonitor.
Fig. 3.10. Esquema de un teclado.
F1
Q
1
!~
`
@ # $ % & ( )
}]
{
?>, .
>
/
[
:; ¨
-__* +
= \^
2 3 4 5 6 7 8 9 0
ACaps Lock
Tab
Shift
Ctrl Alt Alt Ctrl
Shift
Enter
Z X C V B N M
S D F G H J K L
W E R T Y U I O P
Esc F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PrintScrn
PageUp
NumLock
NumLock
CapsLock
ScrollLock
Home
Ins
End
7 8 9
654
1 2 3
0
PgUp
PgDn
Del
Enter
+
_*/
PageDown
SysRq BreakScrollLock
Pause
InsertBacksSpace Home
EndDelete
|
13 12
6
1
2
3
4
5
7 8
11 10 9
Analiza en la Web los tiposdemonitoresdeentrada/salidamáscomercializadosyaveriguaen qué sistemas operativos sepuedenutilizar.
Investigación
65
3Gestióndelosrecursosdeunsistemaoperativo
C. Impresora
Esunperiféricodesalidaquepermitelasalidaenpapeldelainformacióndeseada.Lagamadeimpresorasvadesdelasde impactohastalasmásmodernasdenominadas sin impacto(térmicas,deinyeccióndetinta,láseryelectromagnéticas).
D. Otros periféricos
• Escáner. Esundispositivodeentradaquepermitetransformarimágenesotextoimpre-soendatosdigitales.
• Módem.EsunperiféricodeE/Squeseconectaalaentradaestándardelteléfonoypermitelacomunicaciónremotaconotrosequipos.
• Unidades de disquete. SonperiféricosdeE/Squepermitenalmacenaroextraerinfor-macióndelossoportes(disquetes).
• Unidades de disco duro. Sondeelevadacapacidadyaltavelocidad.Seutilizanparainstalarenellaselsoftwaredelossistemasoperativosylamayorpartedelsoftwaredeaplicaciones.SucapacidadsemideenGB.
• Tableta digitalizadora y lápiz óptico. Sonperiféricosutilizadosnormalmenteparalaconfeccióndegráficosyesquemasenlosqueelusodel tecladoyelratónresultatedioso.Ambossondispositivosperiféricosdeentrada.
• DVD(Digital Video Disk).Esunperiféricodeentrada.Paraaccederalainformaciónseaplicatecnologíaláser.Sucapacidadessuperioralos4GBygozadegrandifu-siónenlaactualidad.
• Blue-ray. Similaralosanterioresperoconmuchamáscapacidad.Suelealmacenarhasta50GBdeinformación.
• HDVD. SimilaralDVD,tieneunacapacidaddehasta30GBporsoporte.
13. Gestión de la informaciónCuando trabajamoscon sistemasoperativosmultiusuario, lagestióndedatosque sehacedentrodelordenadorysuubicaciónenmemoriayenlossoportesdealmacena-mientoexterno,puedenplantearalgunosproblemas.Yahemosvistoque,para laubicaciónenmemoria,el sistemaoperativodisponedesusmedios.Encuantoalalmacenamientoensoportesexternos,lagestiónquehagaelsistemaoperativotienequeresponderavariascaracterísticas:sepodráalmacenarunagrancantidaddeinformación,sealmacenarádeformacorrectaunavezterminadoelprocesamientoyexistirálaposibilidaddequevariosprocesosoprogramasaccedanalamismainformaciónsininterferencias.Para todoesto,despuésdeserprocesada, la información tienequealmacenarsedeformapermanenteen lossoportesexternosdealmacenamientoa travésdearchivos.Cadasistemaoperativoutilizasupropiosistema de archivos.Elsistemaoperativoges-tionacadaarchivoalmacenadoenelsoporteindicandoelnombre,eltamaño,eltipo,lafechayhoradegrabación,ellugardelsoporteenelqueseencuentra,etc.YairemosviendoencadasistemaoperativocuálessusistemadearchivosoFile System.Cadaunodeelloshaceunagestióndiferentedelespaciodealmacenamiento,locualdependerádesielsistemaesmultiusuarioomonousuario,multitareaomonotarea,multi-procesadoromonoprocesador,etc.Engeneral,lostiposdearchivosquegestionatodosistemaoperativosontres:• Archivos regulares o estándares. Sonlosquecontieneninformacióndelusuario,pro-
gramas,documentos,texto,gráficos,etc.• Directorios. Sonarchivosque contienen referenciasaotrosarchivos regulares oa
otrosdirectorios.• Archivos especiales. Losquenosondeningunodelosdostiposanteriores.
18. ¿Unpen drive es un dis-positivo de entrada, desalida o de entrada/sa-lida?
19. ¿Lostecladossondisposi-tivosdeentrada?
Actividades
Unsistemadearchivosdetermi-nadequéformasealmacenalainformaciónenunsoporteyquésepuedehacerconella.
Ten en cuenta
Fig. 3.11. Unidades lectorasy disco duro.
Disco duro interno
Disquetera Lector Grabadorde DVD
Gestióndelosrecursosdeunsistemaoperativo3
66
Síntesis
Procesos
Memoria
Periféricos
Información
Hilosyhebras
Estadosdelosprocesos
Procesosyflujos
Transicióndeprocesos
Bloquedecontroldeprocesos
Algoritmosdeplanificación
Intercambiodememoria
Tiposdeperiféricos
Comunicaciónconelsistema
Clasificacióndelosperiféricos
Tiposdearchivos
Tiposdeprogramassegúnelusodememoria
Ejecución
Esperaopausado
Bloqueado
Ubicaciónenmemoria
Estadoactualdelproceso
Ubicaciónenmemoria
Identificadordelproceso
Recursosutilizados
Prioridaddelproceso
Informacióndecontrol
Unahebraesunpuntodeejecucióndeunproceso
Reubicacles
Residentes
Reentrantes
Reutilizables
Tipobloque
Archivosregulares
Directorios
Archivosespeciales
Interfaztexto
Entrada Salida Entrada/salida
Tipocarácter
Interfazgráfica
RoundRobin AlgoritmoderuedaqueasignatiemposdeCPUdeformarotativa
AsignacióndetiemposdeCPUenordendellegada
PáginasdelmismotamañoparaRAMyprogramas
PáginasdediferentetamañoparaRAMyprogramas
Intercambioenunazonadediscoexclusiva
FIFOoFCFS
Paginación
Segmentación
Swapping
Unprocesoesunconceptomanejadoporelsistemaoperativoyquereferenciaunprogramaenejecución
67
3Gestióndelosrecursosdeunsistemaoperativo
Test de repaso1. Cuandounprogramaoprocesoseencuentraenestado
bloqueadoestepuedepasaraejecución:
a) Sí,directamentetrassolucionarelconflictoquepro-vocaelbloqueo.
b) Sí,peropreviamentetendremosquecolocarelpro-cesoenlacoladetrabajospendientes.
c) No directamente, ya que previamente tiene quepasarporelestadoenesperaopreparado.
d) No,debidoaqueelbloqueo,siesdehardware,implicasiempreelbloqueodefinitivodelproceso.
2. Unprocesoestápreparadoparaserejecutado:
a) Siestáesperandoelturnoparapoderusarsuinter-valodetiempodeejecucióndeCPU.
b) Siestáretenidoporcualquiercausa.
c) Siseestánejecutandoinstruccionesenesemomentodeeseproceso.
d) Soncorrectasbyc.
3. Cuálesdelassiguientesafirmacionessonciertasres-pectodelostrabajosquelleganaunaimpresoraenunsistemamultiusuario:
a) Lostrabajosseencolaneneldenominadospool.
b) LostrabajosnormalmentesegestionanmedianteunalgoritmodeplanificaciónFIFO.
c) Se pueden asignar prioridades a los trabajos deimpresiónsegúnestimeeladministrador.
d) Soncorrectasa,byc.
4. Si utilizamos la técnica del swapping, el procesomedianteelcualelprogramaenejecuciónpasadememoriaalazonadeswapsedenomina:
a) Swap-in.
b) Swap-out.
c) Paginación.
d) Memoriavirtual.
e) Segmentación.
5. Lapaginaciónsediferenciadelasegmentaciónenque:
a) Enlapaginaciónlamemoriasedivideenframesdelmismotamañoyenlasegmentaciónno.
b) Enlapaginaciónlaspartesenlasquesedivideelprogramasellamanpáginasyenlasegmentaciónsegmentos.
c) Lapaginaciónutilizaladenominadatabladepági-nasyenlasegmentaciónelstack.
d) Todassonciertas.
6. Lapaginaciónesunatécnicaqueconsisteendividirlamemoriaenzonasdenominadas:
a) Páginas.
b) Frames.
c) Tabladepáginas.
d) Swap.
e) Todassonfalsas.
7. Losdirectoriosson:
a) Archivosparagestionarlaentradaysalidadearchi-vosregulareshaciaodesdelosperiféricos.
b) Información del usuario, programas, documentos,texto,gráficos,etc.
c) Archivosquecontienenreferenciasaotrosarchivosregularesoaotrosdirectorios.
d) Soncorrectasayb.
8. ¿Cuáldelassiguientesafirmacionesesfalsa?
a) Lapaginaciónutilizasegmentosdetamañofijoylasegmentaciónmarcosdetamañovariable.
b) Enlapaginaciónlamemoriasedivideenbloquesdelmismotamañoyenlasegmentaciónno.
c) Enlapaginaciónlaszonasdememoriasellamanmarcosyenlasegmentaciónsegmentos.
d) Lapaginaciónutilizaladenominadatabladepági-nasylasegmentaciónlapiladememoria.
9. Elcambiodecontexto,puedeproducirse…
a) Entrediferentesprocesos.
b) Entrediferenteshilosdeunmismoprocesooentredistintoshilosdediferentesprocesos.
c) Solamenteentrehilosdeunmismoproceso.
d) Soncorrectasayb.
10. Losprogramasresidentes:
a) Sonutilizadosporvariosusuariosalavez.
b) Unavezcargadosenmemoriapermanecenenellahastaqueseapagueelordenador.
c) Sedenominanvigilantes.
d) Soncorrectasayb.
Solución: 1:c;2:a;3:d;4:b;5:d;6:b;7:c;8:a;9:d;10:b.
Gestióndelosrecursosdeunsistemaoperativo3
68
Comprueba tu aprendizaje1. Rellenalatabladeladerecharespectodelosestados
delosprocesosylastransicionesdelosmismos.Utilizalasreferenciasalastransicionesexplicadasenlospun-tos2y3delaunidad.RecuerdaquelastransicionesseránA,B,CoD.Siexistemásdeunaopción,seindi-caránambasysejustificarán.
2. ¿QuécontieneelBCPoBloquedeControldeProce-sos?
3. ¿TodoprocesotieneunaentradaenelBCP?
4. ¿Quéalgoritmoeselquemejorsepuedeutilizarparalaejecucióndeprocesosenunsistemainformáticomul-tiusuario?
5. Rellenalasiguientetabla:
6. ¿Cómosedenominanlosprogramasquepuedenserutilizadospor varios usuarios y están cargados unasolavezenmemoria?
7. Comentaalgunacaracterísticadelossiguienteselemen-tos:
• Archivosregularesoestándares.
• Directorios.
• Archivosespeciales.
8. Rellenalasiguientetabla:
Proceso Estado Transición Nuevo Estado
P1 Ejecución Bloqueado
P2 Pausado C
P3 Ejecución Pausado
P4 Bloqueado D
GESTIÓN DE MEMORIA DIVISIÓN DE LA MEMORIA GESTIÓN DE DISCO FRAGMENTACIÓN
Paginación
Segmentación
Swapping
PERIFÉRICO ENTRADA/SALIDA INTERNO/EXTERNO RÁPIDO/LENTO
Escáner
Pizarra digital
HDVD
DVD
Impresora
Discos duros
Monitor
Router