Download Gestión de los recursos de un sistema operativo
Document related concepts
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