Академический Документы
Профессиональный Документы
Культура Документы
Seguir
Documentos
Apuntes
Universitarios
IngenieroTcnicoenInformticadeSistemas
SistemasOperativos
SistemasOperativos
Gestindeficheros.Gestindememoria.EntradaSalidaydispositivos.Principiodediseo.Sistemainformtico
Enviadopor:Flojito
Idioma:castellano
Pas: Espaa
52pginas
publicidad
Tema1:Introduccinalossistemasoperativos.
1.QuesunS.O.?
Sonunconjuntodeprogramasqueactancomointerfacecomunicacinhombremquina
(hardware),ofreciendounentornonecesarioparaqueelusuariopuedaejecutarsus
programas,peroquealavezlimitalacapacidaddelamquina,puesnopodemosutilizar
todoslosrecursos.
ElS.O.tieneprincipalmentedosobjetivos:
Facilitarelusodelsistemainformtico(elconjuntodelhardwareysoftware).
0:25
Empleodelhardwaredeformaeficiente,conmenorcomplejidad.
TambinpodemosdefinirelS.O.comounaparteimportantedeunsistemainformtico,
pudiendodividirelsoftwaredeesteenvariascapas,delasiguienteforma:
http://html.rincondelvago.com/sistemasoperativos_12.html 1/19
6/10/2015 SistemasOperativos
Lasutilidadesylasherramientassirvenparadarsoporteaotrosprogramasyelsoftwaredeaplicacineselquesolucionaproblemasconcretos
yqueestorientadoausuarios.
CAPAS:
S.O:Mantieneunentornonecesarioparalaejecucindelosprogramasdeusuario.
Herramientas:Sonprogramasquenosayudan.Proporcionancomodidadparaelusuarioenelusodeprogramas.
Ejemplos:
Sistemasdegestindebasesdedatos
Intrpretesdeordenes(Shell):interfaceconstruidosobreelS.O.,tieneciertosinterpretessobreelS.O.
Depuradores(Debugger):ayudaacorregirdepurarprogramas.
Programasdetratamientodeficheros.
Editoresdetexto(noprocesadores):solosirvenparaescribir.
Comunicacin:compiladores.
Traductores:interpretes.
Softwaredeaplicacin:Softwareconstruidopararesolverproblemasconcretos(Ejemplo:WordPerfect).
Softwaredesistema:Softwareconstruidoparalaayudadeotrosproblemas,noparalaayudadelusuario.
FuncionesdelS.O.:
Ofreceralusuariounamquinavirtualqueesmsfcildeprogramarqueelhardware.
Funcionacomogestorderecursos,buscandointeractuarconlamquinayusarlaC.P.U.sinperdertiempo.
2.Evolucinhistrica.
ETAPA0:
Sloexistehardware,nohayS.O.Elprogramadorescribaelprogramayloejecutabadesdelaconsoladeloperador.Elprogramasecargaba
manualmenteenmemoria,seguidamentesecargabaladireccindeinicio,enesemomentocomenzabalaejecucindelprograma,el
programadorsegualamismamediantelospilotosdelaconsola.Podacorregirerroressobrelamarcha,esdecir,desdelamismaconsola.La
salidaseimprima,segrababaencintaseperforabaenunatarjeta.
PeroenestaetapahabaungraveproblemayeraelmtodointeractivodereservadetiempodelaC.P.U.,yaquecadapersonareservaba
tiempoenunahojadesolicitudyestesecalculabaaojo.Sitefaltabatiempo,tenasquevolveracontinuarenotromomento,mientrasquesite
sobraba,laC.P.U.estabainactiva.Portantoeltiempodepreparacinparalaresolucindeproblemaseramuyaltoycomoconsecuencia,
existadesperdiciodelaC.P.U.NohabaS.O.,slomquinatrabajando*bajousodelaC.P.U.
ETAPA1:
Aparecenlascintasmagnticas.Tendremos2ordenadores,unoquesacacintasmagnticas(satlite)yotro(central).Elcentralleemsrpido.
Enestaetapa,loqueseintentsolucionarsobretodoeraeldesperdiciodetiempodelaC.P.U.,yaquecadatrabajoimplicabauntiempode
preparacinconsiderable,porejemplo,siqueramosejecutarunprogramaenFortramlospasosaseguireranlossiguientes:
CargarlacintaconelcompiladordeFortram.
http://html.rincondelvago.com/sistemasoperativos_12.html 2/19
6/10/2015 SistemasOperativos
EjecutarelcompiladordeFortram.
Descargarlacintadelcompilador.
Cargarlacintadelensamblador,yaqueelcompiladordeFortramgenerabaunasalidaenlenguajeensambladorquetenaqueser
ensamblada.
Ejecucindelensamblador.
Descargadelacintadelensamblador.
Cargadelprogramaobjeto.
Ejecucindelprogramaobjeto.
Descargar
Ysitenasladesgraciadequeseprodujeseunerrorenunodelospasos,quizstuvierasqueempezardenuevo.
0
Parasolucionareldesperdiciodetiemposeencontraron2soluciones:
Secontratoaunoperadordeordenadoresprofesional,aselprogramadornooperabalamquina.Unavezfinalizadountrabajo,eloperador
podainiciarelsiguiente,porloquehabadospersonasencargadasdelordenador.
Reduccindeltiempodepreparacin,lostrabajosconnecesidadessimilares,sereunieronporlotes(ficherosBATCH),yseejecutabanenel
ordenadorcomoungrupo.
Unavezsolucionadorelativamenteeldesperdiciodetiempo,surgaunnuevoproblemacuandountrabajosedetena,yaquelosoperadores
tenanquedarsecuentaobservandolaconsola,determinarporquesehabadetenidolaejecucindelprograma,realizarunvolcadosiera
necesario,cargarlalectoradetarjetascintas,etc.,loquehacaquelaC.P.U.permanecierainactiva.Paraeliminarestetiempodeinactividad
seintrodujoelsecuenciamientoautomticodetrabajosyconlsecrearonlosprimerosyrudimentariosS.O..
Loquesenecesitabaeraunprocedimientoparalatransferenciaautomticadelcontroldeuntrabajoalsiguiente.Assecreounpequeo
programallamadoMonitorResidente(yaqueresidesiempreenmemoria).Alarrancarelordenadorelcontrolestabaenelmonitorresidente,
quienlotransferaalprograma,hastaqueseterminabalaejecucindelmismo,momentoenelquesedevolvaelcontrolalmonitorresidente
quecontinuabaconelprogramasiguiente.Eraunaformadeejecutarsecuencialmentetodoslosprogramas.
Paraguiaralmonitorresidentedequeprogramasdebaejecutar,seintrodujeronlastarjetasdecontrol.Unejemplodeelloes:
DndosecuentaquelaC.P.U.quedabainactivael93.7%deltiempoporculpadelosdispositivosdeE/S(tarjetasperforadas),semedio
solucionelproblemapasandoprimerolainformacindelastarjetasacintasmagnticas:sepasabalainformacindelatarjetaalacinta,
seguidamenteseejecutabaenelordenador,lasalidaibaaotracintayporltimosisecreaconvenientesepasabadenuevoatarjeta.Por
tantolaslectorasdetarjetasylasimpresorasdelneaeranoperadasOFFLINE,i.e.,noporelordenadorprincipal.Paraellosenecesitabaun
pequeoordenadorquesededicaraalatareadecopiardesdecintaencinta.AsteselellamabaSistemaSatliteyalatcnicaderealizar
lalecturadesdetarjetasdemaneraadelantadaselellamaSpooling.
ETAPA2:
Apareceelconceptodeinterrupcionesycontroladores.LoscontroladoressolapanlasoperacionesdeE/S.Setratadeaceleraralmximoel
Utilizamoscookiespropiasydetercerosparamejorartuexperiencia x
tiempodeC.P.U..
denavegacin.Alcontinuarlanavegacinentenderemosqueaceptas
nuestrapolticadecookies
ApareceelconceptodeMultiprogramacinqueesunsistemaparamantenerocupadaelmayortiempoposiblelaC.P.U.,yaqueexistenvarios
procesossimultneamenteentrabajosdeungrupodeellos,siporalgnmotivo(especialmenteoperacionesE/Sotrminodeltiempoasignado
enlossistemasmsmodernos)hayqueesperar,elS.O.cambiaraotrotrabajoyloejecutar.Esoocurrircontodoslostrabajos.Exige
planificarlostrabajos.
Multiproceso:sonvarioslosprocesosquepuedenestaractivosalavez,perosololosdatoseinstruccionesdeunodeellosestactivoen
Memoriaprincipal(unordenadorqueestrealizandovariostrabajosalavez).
Multiusuario:variosprocesospuedenestarconectadosatravsdeterminalesaunacomputadora(comoenlaEscuela).
Sistemasdetiempocompartido:LoprimerossistemasBatcheranunaagrupacindetrabajossimilares,enlosquehabaqueesperarque
acabaseuntrabajoparaqueempezaseotro.Lossistemasbasadosencintasotarjetassolopermitanelaccesosecuencialalosprogramasy
http://html.rincondelvago.com/sistemasoperativos_12.html 3/19
6/10/2015 SistemasOperativos
datosysolopodautilizarseunaaplicacinalavez.Cuandosedispusodelalmacenamientoendisco,i.e.accesoaleatorio,unS.O.Batchlee
unaseriedetareasdiferentes,normalmente,cuandoeltrabajosehaconcluidoimprimesusalida.Lacaractersticadefinitivadeunsistema
Batcheslafaltadeinteraccinentreelusuarioyeltrabajo,yaqueestepodasalirhorasoinclusodasmstarde.Portantoestossistemas
tienenunaseriedeinconvenientesqueson:
Elusuarionopodainteraccionarenlosprocesosmientrasseestabaejecutando.
Ladepuracindelosprogramasserealizabaestticamente,apartirdevocablospuntuales.
UnsistemainformticointeractivooHandson,facilitalacomunicacinOnLineentreelusuarioyelsistema.LosSistemasdeTiempo
Compartidosonelresultadodelatentativadeobtenerunfuncionamientointeractivodeunsistemainformtico.Utilizalaplanificacindela
C.P.U.ylamultiprogramacinparadotaralusuariodeunapequeapartedelordenadorcompartido.Podemostrabajarconelordenador
aunquehayaotrosenlared.Estesistemapermitequemuchosusuarioscompartansimultneamenteelordenador,compartiendoeltiempocon
todoslosprogramasqueseestnejecutando,siendoeltiempodeC.P.U.odecambiodeprogramasmuycortoyelusuarionolonota,creeque
estslotrabajandoconelordenador.
Estossistemasnecesitanintroducirsistemasdeseguridad,algnmecanismodeejecucinconcurrentedeprocesosymecanismodeproteccin
dememoria
SistemasenTiempoReal:Esteseutilizafrecuentementecomodispositivodecontrolenunaaplicacinespecializada,consensoresque
proporcionandatosalordenadoryalavezsteseencargadeajustarloscorrectamente.Tienenquegarantizaruntiempomnimoderespuesta.
NormalmenteesMonousuarioyseconstruyeparaentornosdondepuedehabermuchossucesos.Lamayoradelossucesossonexternosal
S.O.ydeberarealizarseenuntiempobreve.Seconstruyeporqueexisteunprocesoquesevaaencargardecadasucesoquetieneunacierta
prioridad,dependedelaimportanciaodelocrticoquesea,seledamayorprioridad.Capturarinformacin,capturarrecursos,necesitaun
soportedememoriaparaquepuedacomunicarse.
ETAPA3:
AparecenlosSistemasdePropsitoGeneral,enloscualespuedenejecutarsecualquiertipodeaplicacin.Tenemosordenadoresquenoslo
haganunacosa.
TambinaparecenlosSistemasInteractivos.
LosSistemasMultimodo,quesonsistemasqueaportantantoelmodointeractivocomoelBatch.Debidoalacomplejidaddeestos,sehaceuna
estructuracindelosS.O..
ApareceelUNX.
ETAPA4:
Enestaetapasedesarrollanlosmicroprocesadoresyconelloselordenadorpersonal(P.C.).Esteordenadorpersonalmonousuarionecesitaba
unS.O.yapareceelMSDOS.
AparecenlosSistemasDistribuidos(lasredescomunes).
ImportanciadelosSistemasdeGestindeBasesdeDatos.
3.DistintosaspectosdelosS.O.
Sevaadeterminarquerequerimientofuncionalyestructuraldeseguridadsevaarequerirrespectoalossiguientespuntos:
Respectoalmododetrabajodelusuario:
ONLINE:Interactivo.Eststrabajandosobrel.
Esunsistemaderespuestarpida,esdecir,elusuariopuedeestarcontrolandoeltrabajoalmismotiempoqueseejecuta.Pierdetiemposiel
usuarioestparado.
OFFLINE:NointeractivooBatch.
Mandasunprocesootrabajo.LaC.P.U.nopierdetiemposinolemandanuntrabajo.Cuandonotrabajaestparada.Elusuarionopuede
seguirlospasosdelprogramaoprocesos,slocuadoterminapuedeverelresultado.Seahorratiempodeusuario.Tiendeaaprovecharlos
recursosdelamquina.
Respectoalnmerodeusuarios.
Segnelnmerodeusuariossedividenendostipos:
Monousuario.
Multiusuario(enestecasosedebeusarsistemadeproteccindelosdatos).
Respectoalpropsito.
Existen2tipos:
S.O.dePropsitoGeneral:enesteS.O.sepuedeejecutarcualquiertipodeprogramaoaplicacin(ejemplo:losPC's).
S.O.dePropsitoEspecfico:slorealizanunadeterminadatarea.
OBJETIVOSPRINCIPALES:Soneltiempodeaccesoyeltiempoderespuestadondedebensermuyrpidos,paraquetodoslosusuarios
tenganlasmismasoportunidades.
SISTEMASCONMSDEUNAC.P.U.:
Segnlaarquitecturaexisten2tipos:
http://html.rincondelvago.com/sistemasoperativos_12.html 4/19
6/10/2015 SistemasOperativos
Sistemasmultiprocesadoresoparalelos:Tienenlamemoriayelrelojcomn.SeejecutasobreelS.O.multiprocesador.Tieneventajascomo
mayorpotenciadecomputacinyfiabilidad.NoseconoceunmodelogeneraldeS.O.multiprocesador.Unusuarionosesconscientedeque
haymsdeunusuariotrabajandoconelordenador.Utilizamemoriamnima.Elobjetivodeestossistemasesaumentarlaproductividaddel
sistemayparaellohayqueobtenerparalelismodetareas,esdecir,msdeunaC.P.U.destinadaaunamismaaplicacin.Yseejecutanvarias
tareasqueserepartenentrelasdistintasC.P.U..
Sistemasdistribuidos:Lamemoriaeslocal,esdecir,nocompartida.Losusuariossonconscientesdequehayvariasmquinas.Hay2tipos
deS.O._
Losdered:Losusuariossonconscientesdequehayvariasmquinas.CadanodoocadamquinaejecutasupropioS.O.local.La
comunicacinesremotapormediodeprotocolos,pudiendoelegirelusuariolamquinadonderealizarlaaplicacin,teniendoencuentaque
hayotrosusuarios.
LoS.O.realmenteopropiamentedistribuidos:Aqunosonconscientesdequehaymsdeunusuario.Permitequeelprogramaseejecute
endistintasC.P.U.(Ejemplo:elLinuxdelaEscuela).
4.SoporteHardwaredelosS.O.
DISTINTOSMODOSDEFUNCIONAMIENTODELOSPROCESOS:
Estosmodosdefuncionamientodelprocesadorsevanaalmacenaren1msbitsdelprograma.
ModosupervisoroKernel(Bitdemodoa0):
Tieneaccesocompletoatodaslasdirecciones.
Puedeejecutarcualquierinstruccinmquina.
PuedecambiarelvalordecualquiersentenciadelaC.P.U.
ModoUsuario(Bitdemodoa1):
Slotieneaccesoaunrangodedireccindememoria.
Notieneaccesoalasinstruccionesprivilegiadas.
Activacinodesactivacindelasinstrucciones.
Slopuedecambiarlosvaloresdealgunosregistrosdelprocedimiento.
Softwaredediagnstico.
Programasqueresuelvenestadsticas:paracomprobarelfuncionamientodelaC.P.U.yhacermejoras.
Nota:SloelS.O.puedeusarlainstruccinprivilegiadadecambiodemodo.
INTERRUPCIONESYEXCEPCIONES:
Hardware:Mecanismoporelcualcuandosehaproducidounproblemaoalgoraroenelsistema,provocaelpasodelcontroldelaC.P.U.auna
interrupcinquesealmacenaenunaposicindememoria
Cuandoseproduceunainterrupcindehardware,lospasosquesigueelordenadorsonlossiguientes:
Deshabilitarlasinterrupcionesparaquesloseproduzcaunacadavez(Opcional).
Salvarelcontadordelprogramaylapalabradeestado(C.P.yP.S.W.respectivamente).
Pasaramodosupervisor.
http://html.rincondelvago.com/sistemasoperativos_12.html 5/19
6/10/2015 SistemasOperativos
Calcularelvectordeinterrupcin.
PasarelcontrolalaR.T.I.(Rutinadetratamientodeinformacinsecargala1rutinaenelvectordeinterrupcin).
UnavezejecutadalaR.T.I.restauramoselC.P.(contadordeprograma).
Ponerenmodousuario.
Pasarelcontrolalprocesoqueestabaencursoantesdequeseprodujeralainterrupcin.
Cuandoseproduceunainterrupcinhayquecontrolarquenoseproduzcaotrayaquealprovocarse2interrupcionesalavezsepuedequedar
colgado.Paraevitarqueseejecuten2interrupcionesalavezyquesequedecolgado,existendosposiblessoluciones:
Lamsburda,queconsisteendeshabilitarlasinterrupcionesnadamsproducirseunaparaquenoseproduzcanms(esdecir,elpaso1).
Enmascaramientodeinterrupciones:esunprocesomscomnymenosburdoqueelanterior.Nosclasificalasinterrupcionesportipos
(privilegios).Enelmomentodeproducirseunainterrupcin,sedeshabilitanlasqueseandeigualomenorprivilegio.
Lasinterrupcionesseutilizantambinparacontrolarunidadesqueoperanaparentementeypararesponderacondicionesconcretasdel
procesador.
Lostiposdeinterrupcionesdependendelaarquitecturadelprocesadorcomoporejemplo:
Ejecucindeunprograma(oveflow,...).
Temporizadororeloj.
FuncionesdeE/S.
Fallodehardware.
Erroreneldireccionamiento.
Violacindeprivilegios.
Accesoainstruccionesilegalesoprivilegiadas.
Finalizacindelatareadeuncontrolador.
Chequeodelapropiamquina.
PROTECCIN:
Estesubapartadolovamosadividiren3partesclaramentediferenciadas:
ProteccindeE/S:
UnaproteccindeE/SseasegurahaciendoquelasinstruccionesdeE/Sseaninstruccionesmquina,i.e.queseaninstruccionesprivilegiadas.
Elhardwarecuidadequedichasinstruccionesseejecutensloenmodossupervisoryaquesisehacetentativadehacerloenmodousuario,
estenolaejecuta,latratacomoilegal.Siemprequeseproduceunainterrupcin,elhardwarecambiademodousuarioasupervisoryantesde
devolverelcontrolalprogramasevuelveapasaramodousuario.
Proteccindememoria:
Enestecasodebemosprotegera:
LamemoriaqueuneelS.O.delosprocesosdeusuario.Conelloobtenemoslaproteccinenlamemoria
Losprocesosdeusuariosentreellos.
Otrohardwaresubyacente,hardwarequeusememoria
Elvectordeinterrupcionesdecualquiermodificacinporpartedelusuario(muyimportanteprotegeresto).
Lasrutinasdeserviciodeinterrupcionesdelsupervisorresidenteanteunaposiblemodificacin.
Tenemosqueasegurarnosqueunprogramadeusuarionuncatomaelcontroldelordenadorenmodosupervisor
ProteccindelaC.P.U.:
http://html.rincondelvago.com/sistemasoperativos_12.html 6/19
6/10/2015 SistemasOperativos
SebasaengarantizarqueparaciertointervalodetiemposepasarelcontrolalS.O.,estoserealizamedianteunrelojquecadaciertointervalo
detiempoproduceunainterrupcin.ConestotratamosdecontrarrestarlosbuclesinfinitosyqueunprocesonocontrolelaC.P.U.todoel
tiempo.
5.VisinexternadelosS.O.
ServiciosdelosS.O.:esteapartadolovamosadividirendossubapartadosclaramentediferenciables:
Ayudaalusuario:
Aportaalusuarioinstruccionesparaqueestepuedaejecutarsusprogramas.Ejem.:psProcesoqueestabaactivoenelsistema,elusuario
sabeenqueestadoestnsusprocesos.
OperacionesdeE/S,quenopuedenserejecutadasporelusuariosinoqueeselS.O.elqueproporcionalasinstruccionesenorden
Manipulacindearchivos:abstraccindearchivos.ElS.O.nosdaelconceptodearchivo.
Respectoalacomunicacinentreprocesos:cuandotenemosdistintasmquinas.Tiene2implementacionesbsicas:
Memoriacompartida.Puedeusarsecuando2procesosestnenlamismamemoria,quetrabajansobrelamismavariable.
Pasodemensajes.Unprocesomandaunasealaotroproceso(porejemploparasincronizarlos).
Deteccindeerrores:elS.O.debesercapasdedetectarycorregircualquiertipodeerror,tanto:
Hardware:C.P.U.,memoria,dispositivos,etc,
Programasdeusuario
Gestindelsistema:nosongeneralmenteserviciosparausuariosnormalessinoquesonserviciosqueestnparalosadministradores.
CorrectofuncionamientodelS.O.:
Realizaunaasignacinderecursos.
Contabilidad:permitemedircuantotiempodeC.P.U.haconsumidoundeterminadousuario(sobretodoseusaenredes).Lacontabilidaden
estecasotiene2fines:
Loscontablespropiamentedichos
Losestadsticos.
Relativosaproteccin:debendarmecanismosparaprotegeralosusuariosentreellosmismos.
Usuariodellenguajederdenes(SHELL)
SonlosqueobtienenserviciosdelS.O.,tecleandordenesdesdesuterminaloatravsdeuntrabajoporlotes.
Elinterprete(traductor)derdenescapturadichasrdenesintroducidasporelusuario,lastraduceyejecutalasllamadasalsistemanecesarias
pararecibirelserviciorequeridoporelusuario.
Cuandoelusuarioesttrabajandoconelsistema,elintrpretederdenes(SHELL)sedesconectamientrasseejecutalaorden.
Cuandoseejecutaunaordenenbackground(segundoplano),antesdequeterminelaejecucinapareceelpromptdelsistemaenpantalla.
Ejemplo:ls>fich&
Background:Interactivamente,devuelveelpromptparaseguirmientrashacealgo.
Foreground:Elprogramaseesperahastaquefinalizaunaorden.
UsuariosdelasllamadasalS.O.:
SonlosquerealizanlasllamadasalS.O.entiempodeejecucin.Estallamadasvanarealizarunainterfaceentrelosprogramasdeusuarioen
ejecucinyelS.O.
Estasllamadaspuedensermedianteinterrupcionesotambinmediantefuncionesquerealizanlospasosnecesariosparaquehaganlas
llamadasalsistema.
ElmecanismoparainiciarunallamadaalS.O.transcurreporlossiguientespasos:
EjecucindeunainstruccinenEnsamblador.Ejemplo:int12(abrirunfichero).
Llamadaalsistema*InterrupcinSINCRONA.
Interrupcinhardware*ASINCRONA.(seproducealhacerunallamadaalsistema).
Llamadaaunafuncin
SimientrasyohagounallamadaalS.O.conunadelasformasanteriores,siseproduceunerror,elloprovocaunainterrupcin.
http://html.rincondelvago.com/sistemasoperativos_12.html 7/19
6/10/2015 SistemasOperativos
LainformacinquesedebetransmitiralS.O.es:
RegistrodelaC.P.U.
Zonadememoria.
Pila(estonolopuedehacerelpropiousuario).
AsuvezelS.O.debedevolverelresultadoyesopuedehacerseenalgunodelossitiosanteriores.ParaestoUnixtieneunainstruccinquees
trap.
6.EstructurainternadeunSistemaOperativo.
Sistemasmonolticos.
Secaracterizanporquenotienenestructuraosilatienenestpocodefinida.Setratadeunconjuntodeprocedimientos,loscualesestn
visiblesentreellos.Nohaymodularidadniabstraccindelainformacin.Slohayunprogramaobjeto.Podemosverenunapequeadivisin
quelossistemasmonolticossedividenentrespartes:
CualquierProcedimientopuedellamaracualquierotro.
Sistemasporcapasoporniveles.
Setratadeunadegeneracindelossistemasmonolticos.Sedividenporcapasycadaunadeellastieneunafuncinbiendefinida.Cadacapa
asuvezsepuededividirenunconjuntodemdulos.
Lasventajasdelsistemaporcapasrespectodelanteriorsonlassiguientes:
Modularidad.
Fcilmantenimiento.
Fcilmodificacindealgunadelascapas(loscambiosnoafectanalasotrascapas).
Fcildeteccindeerrores.
Lasdesventajasdelossistemasporcapasoladificultadaparecealahoradecreardichascapas,aligualquelajerarquadedichascapas,i.e.
sabercualessuperioroprioritariaycualesinferior.
Lagestindememorianovaconelhardwaredesnudo,sinoquesehasdeplanificarenprocesos.Modificarcualquierprocedimientodeuna
capaesmuyfcilsintenerlosinterfacesdelascapasanteriores.
Tienen6capas:
Situadasobreelhardware:seasignaalprocesadorygestoresdemultiprogramacin
Gestinyadministracindememoriaydisco:contienelasdireccionesdelosprocesosenmemoriaydisco.
Comn:entreoperadoryprocesos
ManejadoresocontroladoresdedispositivosE/S.
Programasdeusuario
Procesoqueseestejecutandoenesemomento.
Ejemplo:elsistemaTHE.
Sistemasclienteservidor.
EstossistemassebasanenimplementarpartesdelS.O.comoprocesosindependientesyconservarunncleomnimo.
Ventaja:alejecutarselosservidoresenmodousuario,sialgofallanotieneporquepararselamquinayaqueseejecutaenmodousuario.
Surgeenestemomentounproblemaqueconsisteenquesiimplementoelservidordediscoenmodousuario,nopuedeaccederalas
operacionesdeE/Sycosasparecidas.Esteproblematiene2posiblessoluciones:
Elncleoseencargaderealizarlasaccionesenmodosupervisor.Losservidoresseencargandelagestin.
Permitirquelosservidorescrticosseejecutenenmodosupervisor.Perolascomunicacionesconlosclientesserealizanatravsdelncleo.As
quedara:
Clientesolicitaunservicio*Ncleo*Servidorlosirve
Existensistemasdistribuidosqueutilizanunaarquitecturadeclienteservidor,comoporejemploAMOEBA,MACA,etc.
NFS:NetworkFileSystem
Tema2:Procesos
1.Conceptodeproceso
Definicin:Eselprogramaenejecucinymscosas,i.e.unprocesoesunaentidadactiva,queestenejecucinmientrasqueunprograma
esunaentidadpasivaquenoestenejecucin.
http://html.rincondelvago.com/sistemasoperativos_12.html 8/19
6/10/2015 SistemasOperativos
ElS.O.seencargaderealizarunaplanificacindelaC.P.U.entrelosdistintostiposdeprocesosdemaneraqueparezcaquecadaproceso
disponedeunaC.P.U.virtual.
Portantounproceso:
Esunprogramaenejecucin.
Controlalosdatosylapila.
ElcontextodeunprocesoincluyelosvaloresactivosdelC.P.,registrosdelprocesadoryvariablesdelprograma.
Unprocesopuedeencontrarseenlossiguientesestados:
Ejecutndoseoactivo:CuandoutilizalaC.P.U.enuninstantedado(slopuedeserunprocesoalavez).
Ejecutable,preparadoolisto:SeencuentradetenidoalaesperadequeacabedeejecutarseotroprocesoparausarlaC.P.U.
Bloqueado:Nosepuedeejecutardebidoaquesehaproducidoalgneventoextrao.
Losprocesossonasncronoseindependientesunosdeotros.EnlaC.P.U.sloseejecutaunprocesocadavez.
Diagramadetransposicindeestados:
Elprocesosebloqueaenesperadedatos:Estoocurrecuandoelprocesodescubrequenopuedecontinuar.Enalgunossistemashayque
hacerunallamadaaldemparapasaralestadodebloqueo.
Elplanificadoreligeotroproceso:Estoseproducecuandoelplanificadordecidequeelprocesoenejecucinyahasidoejecutadoeltiempo
suficienteyqueeshoradequeotroprocesotengatiempodeC.P.U.
Elplanificadoreligeesteproceso:Ocurrecuandolosdemsprocesoshantenidosuparteyesteprocesovuelveaejecutarse.
Losdatosestndisponibles:Seproducecuandoocurreeleventoexternoporelcualesperaelproceso(ejemplo:entradadedatosnuevos).Si
noexisteotroprocesoenejecucinenesemomentoseproducelatransicinaejecutndosedeformainmediata.
CuandoaunodelosprocesosseleretiralaC.P.U.,cadavezquepasadebloqueadoaejecutableoalrevs,elS.O.debeguardartodala
informacinnecesariadelprocesoqueluegovuelvealmismolugardondeestaba.
TodalainformacinquedebeguardarelS.O.lohaceenunatabladeprocesos.Enestatablahayunaentradaporcadaprocesoqueexistaen
elsistemaycontienelainformacinrelativaalestadodelproceso.AcadaunadeestasentradasselellamadescriptordeprocesooP.C.B.En
elseguardalainformacinnecesariaparaquecuandollamemosnuevamenteaunprocesoquepreviamentelehemosretiradolaC.P.U.pueda
continuar.Aestoselellamacambiodecontexto.
EsteP.C.B.(BloquedeControldeProcesos)guarda:
P.I.D.:identificadordeprocesosquecontiene
Nombredelproceso.
Nombredelusuario.
U.I.D.(identidaddelusuario).
Estadoactualdelproceso:ejecutable,ejecutndoseobloqueado.
Guardalalneaoelpunteroalprocesopadreoalosprocesoshijos,loquecorresponda,enlossistemasconjerarquadeprocesos.
Lossistemasqueasignenprioridadalosprocesosguardarndichaprioridad.
Informacinrelativaalamemoriapropiadelproceso,ascomounpunteroadichamemoria.
C.P.,registrosdelproceso(valores).
Procesadorenelqueseejecuta(parasistemamultiprocesadores).
Informacinacercadelosrecursosqueusaelproceso:
Ficherosquetieneabiertos.
PeticionesdeE/SpendientesodispositivosdeE/Squetieneasignados.
Informacinestadstica:
TiempodeC.P.U.consumidoporelproceso.
VolumendeE/S.
Tiempobloqueado.
Nota:unainterrupcinnoprovocauncambiodecontexto.Cuandoacabalainterrupcinsesigueconelprocesoqueestabaantesdedicha
http://html.rincondelvago.com/sistemasoperativos_12.html 9/19
6/10/2015 SistemasOperativos
interrupcin.
AcadaclasededispositivosdeE/Sselesasociaunalocalidadcercanaalaparteinferiordelamemoria,llamadovectordeinterrupcionesque
contieneladireccindelprocedimientodeservicioalasinterrupcionessiseproduceuncambiodecontexto(ejemplo:interrupcindedisco).
EstecambiodecontextoesunaoperacinquenormalmentesufrenlosprocesosyconsisteenretirarlaC.P.U.alprocesoactual(guardando
todoslosregistrosenlatabladeprocesos).Comovariablesglobalessepasanelndeprocesoactivoyelapuntadordedatos.Seguidamentela
informacindepositadaporlainterrupcinseeliminadelapilayelapuntadordestaapuntaaunapilatemporalqueutilizaelcontroldel
proceso.PorltimoasignamoslaC.P.U:aotroproceso(ejecutable)
Haydostiposdeprocesos:
LimitadosporE/S:sonprocesosqueusanlaC.P.U.enintervaloscortosypocasvecesyusanmuchoE/S.
LimitadosporlaC.P.U.:procesosqueusanmucholaC.P.U.ypocoE/S.
Paraobtenerelmayorrendimientoposibledelsistema,debemosmantenerunequilibrioentreambostiposdeprocesos.
2.Planificadordeprocesos.
Elplanificadoreselqueseencargadedecidirporejemploqueprocesosevaaejecutarconanterioridadsihaymsdeunoejecutable,esdecir,
eslapartedelS.O.queplanificaelordendeejecucindelosprogramasyutilizaunalgoritmollamadoalgoritmodeplanificacin.
Dentrodeesteapartadovamosavervariossubapartados:
Tiposdeplanificadores.
Laactividadbsicadelplanificadorconsisteencontrolarquetrabajosentranenunsistemaoqueprocesosinteractivossevanaejecutarenun
momentodado.Elobjetivoprincipalesoptimizarelrendimientodelsistema.
Existen3tiposdeplanificadores:
Planificadoresalargoplazo:sonlosqueseencargandetrabajarconlacoladetrabajosporlote(batch).Seencargadeadmitirenelsistemalos
trabajoporlote.Sellamacuandounprocesofinalizaosinofinalizaningunoenunciertotiempo.
Planificadoresamedioplazo:seencargandeprocesarlostrabajosqueestnbloqueadosyloquevaainsertaryquitarlodememoriapara
ponerlosenlacoladeejecutables.
Planificadoresacortoplazo:delosprocesosqueestnenlacoladeejecutables,esteplanificadoreligequeprocesovaaasignarloalacolade
laC.P.U.
Diagrama:
Elplanificadoralargoymedioplazoeselqueseencargaderegularlacargadelsistemamientrasqueelplanificadoracortoplazoeselquese
encargadeplanificarlomismo.
Enlossistemasoperativospequeossloexisteelplanificadoracortoplazo.
Dispatcherodespachadores.
EselquesevaaencargarrealmentedemandarelcontroldelaC.P.U.aunprocesodelacoladeejecutables.Seencargadelplanificadora
cortoplazoyasignaprocesosalaC.P.U.
Elfuncionamientodeestotienevariospasos:
Decidesisedebecambiarelprocesoqueestactivo.
Sisedebecambiar*Pasob.
Sinosedebecambiar*Devuelveelcontrolalprocesoactivo
Salvaelentornovoltildelprocesoactual.
Tomaelprimerprocesodelacoladepreparadosoejecutables.
Cargaelentornovoltildelprocesoelegido(elcontenidodelP.C.B.).
Cedeelcontrolalprocesoyloponeenmodousuario.
Laactuacindeldespachadorseinvocaporalgunadelassiguientesrazones:
Unprocesofinaliza.
ElS.O.decidequeelprocesoactivonodebeseguirejecutndose.Ejemplo:E/Soesperaalafinalizacindelosprocesoshijos.
Elprocesoagotasuquantumdetiempo.
Unprocesocambiadeestadodebloqueadoaejecutable.
PolticasdeplanificacindelaC.P.U.
SeimplementaconvistasaconseguirelmayorrendimientodelaC.P.U.Consisteenunalgoritmoparaplanificarocontrolarlaasignacindela
C.P.U.,yaquepuedehabervariosusuariospelendoseporlaC.P.U.yelplanificadordebedecidirqueprocesoesmsimportantedelosvarios
http://html.rincondelvago.com/sistemasoperativos_12.html 10/19
6/10/2015 SistemasOperativos
queestnenlacoladeejecutables.Losobjetivossondos:
Obtenerunbuenrendimiento,i.e.quesehagaelmejortrabajotilposibleenelsistema.
Obtenerunbuenservicio.
Conobjetodeestablecersiestamosobteniendoonounbuenserviciodemaneraobjetivaestablecemosunasmedidas.Partamosdeun
procesoP1quenecesitauntiempodeserviciot.
T(tiempoderespuesta):tiempotranscurridodesdequeseremiteunasolicitudhastaqueseproducelaprimerarespuesta.
M(tiempodeespera):tiempoqueunprocesohaestadoesperandoenlacoladepreparados(Tt).
P(penalizacin):tiempoquehadesperdiciadoelprocesoencadarfaga(T/t).SiPesbajomejorporqueelprocesosevaaejecutarenmenos
tdeC.P.U.
R(ndicederespuesta):eslafraccindetiempoqueelprocesoP1estrecibiendoservicio(t/T).SiRseaproximaa1serbuenomientras
quesiseaproximaa0sermalo.
Tiempodencleo:tiempoperdidoporelncleodelS.O.tomandodecisionesdeplanificacinycambiodecontexto.Tpicamentetieneunvalor
deentreel10%yel30%deltiempoconsumido.
Tiempodeinactividad:eseltiempoenquelacoladeprocesosejecutablesestvacaynoserealizaningntrabajoproductivo.
Podemosclasificarlosprocesosen2tiposdiferenciados:
Procesoscortos:aquellosprocesosconfuertedemandadeE/SybajademandadeC.P.U.
Procesoslargos:aquellosprocesosconfuertedemandadeC.P.U.ybajademandadeE/S.
Noexisteningunapolticadeplanificacinquefavorezcaatodoslosprocesosengeneral.
Igualmentepodemosclasificarlosalgoritmosdeplanificacinen2categoras:
Noapropiativososindesplazamientosinderechopreferente:sonaquellosquemantienenelprocesoalcualselehaasignadolaC.P.U.ensta
hastaquesebloqueeofinalice.
Apropiativosocondesplazamientooconderechopreferente:sonaquellosquepuedenretirarlelaC.P.U.aunprocesoaunquestenosehaya
bloqueadoofinalizado.
Apriorinopodemosconocercuantovaadurarlaejecucindeunprocesoporloquenicamentepodemosrealizarunaestimacin.Sepodra
seguirunafrmuladepromedioexponencialquesevaabasarenlaslongitudesyamedidasdelasrfagasdeC.P.U.anteriores:
TN:duracinrealdelansimarfaga.
*n:valorestimadodelaneximarfaga.
*:valordeponderacin.0***1
Aspuesnosquedara:
Normalmente,*=0.5.Enelcasodeque*=0obtendramosquelahistoriarecientenoinfluyeyenelcasodeque*=1veramosquesolocuenta
larfagaactual.
Otraformadeplanificarlosprocesosenesperaesmedianteunalgoritmosdeprioridades,elcualleasignaunnmeroenteroqueindicala
prioridaddelproceso.Haydosformasdeasignarlasprioridades:
Internamente*S.O.**Esttica
Externamente*Usuario**Dinmica.
Losalgoritmossepuedenimplementardedosformas.
Apropiativa:Permitequelosprocesosejecutables(desdeelpuntodevistalgico)seansuspendidosdeformatemporal.
Noapropiativa:Seejecutaelprocesoseleccionadohastaquetermine.Estossistemassonfcilesdeimplementaraunquenosonadecuados
paralossistemasdepropsitogeneralconvariosusuarios.
Problema:Puedepasarqueconunalgoritmoapropiativo,unprocesosebloqueeindefinidamente.
Solucin:Elenvejecimientodelosprocesos.Sebasaenaumentarlaprioridaddeunprocesohamedidaquetranscurraeltiempoparaquede
estaformanosebloqueeindefinidamenteynonosdeproblemasdeinanicin.
3.Operacionessobreprocesos.
Creacin:consisteencogermemoriaprincipalydefinirlaestructuradedatosdelprocesoascomoasignarelespaciodedireccionespropio.
Primeroseleasignaunnombraalproceso.Puedesersimplementeconunidentificadordeprocesos(P.I.D.).
CreacindelP.C.B.odesencriptacindeprocesos.Insertaelprocesoenlatabladeprocesos.
http://html.rincondelvago.com/sistemasoperativos_12.html 11/19
6/10/2015 SistemasOperativos
AsignaalgunodelosvaloresaloscontenidosdelP.C.B.:
Establecelaprioridadinicial.
Estableceelestadoinicial.
Asignarecursosinicialescomomemoria,archivosabierto,etc.
ElS.O.creaunprocesodebidoa4situacionesposibles:
Recepcinyadmisindeunnuevotrabajo(sistemasbatch).
LaconexindelusuarioprovocalacreacindeunprocesoqueejecuteelSHELL(sistemainteractivos).
ElS.O.creaunprocesoenrespuestaaunapeticindelusuario.
Unprocesopuedesolicitarlacreacindeotroproceso.
ExistenS.O.quepermitenjerarquasdeprocesos,i.e.sepermitequeunprocesogenereotroproceso,creandounaestructuraenrboldetal
formaqueelprocesoquegeneraenlprocesossellamapadreylosgeneradoshijos.
Cuandoseproduceunajerarquadeprocesos,cabendosposibilidades:
LoshijosobtienenrecursosdirectamentedelS.O.
Loshijoscompartenlosrecursosdelpadre.
Unavezqueelprocesopadrehacreadoaloshijosyestecomienzaaejecutarse,estaformadeejecucinpuedeser:
Elprocesopadresebloqueehastaquefinalicensushijos(foreground).
Tantoelprocesopadrecomoelhijoseejecutanconcurrentemente(UNIX).(background).
ESPACIODEDIRECCIONES:
Alternativa1:Cuandosecreaunproceso,existensistemasdondeelhijoesunacopiaexactadelaimagendelpadre(UNIX:vahahaceruna
llamadaalsistema(fork),portantotodoslosrecursosdelpadrevanapasaralhijo).
Alternativa2:Secreaelhijoconunprogramaquecargaelpropioficherohijo(VMS,queesunS.O.).
Destruccin:unprocesopuedeterminarpor:
Hafinalizado.EsalgoqueelpropioprocesoseencargadenotificaralS.O.
Elprocesoprovocalafinalizacindeotroproceso.Estoesprivilegiodelosprocesospadressobresushijos.
EliminarlosdelS.O.significa:
BorrarlosdecualquierlistaotabladelS.O.
BorrarelP.C.B.delatabladeprocesos.
Desasignarlosrecursosqueestabanactivos.
Enunsistemadejerarquasdeprocesoscomoelanteriorpuedeocurrir:
Llamadaalsistema(exit)paraeliminarlosrecursosdelsistema.
Doscasosposibles:
Sielprocesopadrefinaliza,tantoelprocesopadrecomoelprocesohijoconcluyen.Laterminacindelpadre*terminacindelhijo.
Sielpadretermina,loshijoscontinanejecutndosedeformaimplcita.Elhijoheredalosrecursosdelpadrecasodeestarcompartindolos.
Otraformadeterminacindelsistemaesconabort.Unprocesopuedefinalizarporconcluirunaejecucinoporqueunprocesodejerarqua
mayorrealizaunallamadaalsistema,peroacabaconl.
4.Threads(hebrasohilos).
Serabuenotenerunosflujosdecontroldeprocesos.SupongamosqueelS.O.conservidordeficherosseraunprocesoquecuandorecibela
solicituddeotroproceso,elservidordeficherosdebedarlepasomientraslosotrosprocesosdebenesperar(bloqueado).
Estosemejoraraconvariosflujosdecontrolquecompartenelmismoespaciodedireccionamientodeformaquesiseejecutaunprocesoyse
bloqueauno,losdemspuedenseguirejecutndoseporotrolado.
Hebrasoprocesosligeros:unahebraesunprocesoquetienesuspropios
Contadordeprograma.
Pila.
http://html.rincondelvago.com/sistemasoperativos_12.html 12/19
6/10/2015 SistemasOperativos
Conjuntoderegistros.
Unahebrasepuedevercomounprocesodeformaqueelplanificadortrabajaraconhebras.Estomejoraelcambiodecontextoquesera
cambioentrehebras,conloquesemejoraraelcoste.
Todaslahebrasvanateneraccesoalasdivisionesdelespaciodedirecciones,nohayproteccindememoria.Cadahebracomparteconuna
hebrapar:
Laseccindecdigo.
Laseccindedatos.
RecursosdelS.O.
Estopuededarlugaraconflictosalahoradeejecutarseprocesosconcurrentes.
Tarea:Entornoclavedondeseejecutanvariashebrasquecompartenelespaciodedirecciones.
Elprocesopesadootradicionalesunespaciodedireccionesvirtualconunanicahebra.Lashebrasvanapoderestarenlosmismosestados
quelepreceden:
Ejecutndose.
Ejecutable.
Bloqueado.
Estoesasporqueenunsistemadehebras,setratanlashebrascomounidadbsica.Sicambiamoslastareas,empleamoselmismocosteque
losprocesosparalelos.
Utilizarelmecanismodehebrasaportaventajascomo:
Mayorrendimiento.
Aumentodeconcurrencia(permitevariosprocesosparalelosconcurrentemente).
Mejorservicio(paraelusuario).
Lossistemasdehebrassonmuyutilizadosensistemasdistribuidosmultiprocesador,yaquepodemosejecutarunahebraencadaprocesador.
Podemosobservarvariosnivelesdehebras:
HebrasimplementadasenelKernel:elkerneltieneimplementadaslasrutinasnecesariasparaeltratamientodelashebras.EntraenlaC.P.U.
unahebrauotra.
Hebrasaniveldeusuario:lasrutinasparatrabajarconlashebrasestnimplementadasenlibreras,noenelkernel.LaC.P.U.sereparteentre
lasdiferenteshebras.
Tema3:Comunicacinysincronizacin
1.Concurrencias.
Procesosconcurrentes:sonaquellosprocesoscuyaejecucinsesolapaeneltiempo.
Losprocesosmantienen2tiposderelaciones:
Relacindecooperacin:losprocesosconcurrentesformanpartedelamismaaplicacin.
Relacindecompeticin:cuandolosdistintosprocesoscompitenporunrecurso.
Elsoftwarequeseocupadelosprocesosconcurrenteseslaprogramacinconcurrente,quevaaabarcaralconjuntodetcnicasyrotaciones
necesariasparaexpresarelparalelismopotencialdeunsistemaconcurrenteyresolverlosproblemasdesincronizacinycomunicacin.
ExisteparalelismocuandohaymsdeunaC.P.U.yseudoparalelismocuandosolamenteexisteunaC.P.U.
Razonesporlasquesenecesitaconcurrenciaenunsistema:
Compartirrecursosfsicos:puesestossonlimitadosenunsistema.Paradarservicioavariosusuarioslosprocesoshandecompartirrecursos
sidichosprocesosseejecutandeformasimultanea.
Compartirrecursoslgicos:nospuedeinteresarquedosprocesoscompartanunficheroparaellohayqueutilizarlosmecanismosnecesarios
quenosevitenproblemas.
Mayorvelocidaddeejecucin:sitenemosunprocesoquerealizaunaadecuacindeunalistadenmeros,sepodraconseguirunaejecucin
msrpidasisedivideelproblemaen2partes.Enelcasodeexistirparalelismoreallaejecucindelprocesomediantelarealizacinde
divisionesdeestesermsrpidaquedelaotraforma.
Porrazonesdemodularidad:vamosatenerdiversosprocesosindependientesquerealizansuspropiastareas.
Comodidad:desdeelpuntodevistadelusuario,porpoderrealizarvariastareassimultaneas.
Programasconcurrentes:Existenvariassecuenciasqueseejecutanenparalelo,portantoexistenvariosflujosdecontrol.Existenlenguajes
http://html.rincondelvago.com/sistemasoperativos_12.html 13/19
6/10/2015 SistemasOperativos
deprogramacinconcurrentequepermitendichaprogramacin.
Dentrodeunsistemaoperativosedistinguenlossiguientesprocesos:
Procesosindependientes:procesosqueseejecutanindependientementeynonecesitaninformacincompartida,estoesunprocesoquenova
adependerdeotro
Procesoscooperativos:procesosquecomparteninformacinconotros.Suestadopuedeserafectadoporlaejecucindeotro.Ejemplo:
procesoproductor/consumidor.
Ejemplodeprocesoscooperativos:productorconsumidor
Sedisponedeunbufferenelcualintroducedatosunprocesoproductoryunprocesoconsumidorretiralosdatosdelmismo.Estosprocesos
soncooperativosporqueseejecutandeformaconcurrente.Porejemplo,sielprocesoproductorhallenadoelbuffer,esteprocesohade
esperarhastaqueelprocesoconsumidorretiredatosdeeste.Elconsumidornopuederetirardatosdelbuffersipreviamenteelproductornoha
introducidonada.Esnecesarialaintroduccindemecanismosdeconcurrenciaysincronizacinparacontrolarlaejecucinconcurrente.
Otracaractersticadelosprocesosconcurrentesserportantolasincronizacinentreprocesosqueseejecutandedichaforma.
Almodoenelqueseejecutanlosprocesos,estoes,lasecuenciadeinstruccionesqueserealizandurantelaejecucindeunprocesose
denominainterfoliacin.Estaserunacaractersticadelossistemasconcurrentes.
Ejemplo:supongamosqueseejecutanconcurrentementedosprocesosP1yP2,compartiendoambosunavariablecomnx.
Xestinicialmenteauno.Quvalortendrlavariablexdespusdequesehayanejecutadoambosprocesos?0,12?.Laclaveesten
quelasinstruccionesx:=x+1yx:=x1nosonindivisibles.Cadaunaseimplementaenlenguajemquinacomo:
Registro1yregistro2sonregistrosdelprocesador(inclusopuedenserelmismofsicamente:unacumulador).
Veamosdistintassecuenciasdeejecucin:
a1b1a2b2a3b3Resultado:x=0.
a1a2a3b1b2b3Resultado:x=1.
a1b1b2b3a2a3Resultado:x=2.
Conclusiones:
Debemosasegurarnosquelaejecucindeprocesosconcurrentesseacorrectaindependientementedelordenenqueseejecutensus
instrucciones(interfoliacin).
Nopodemoshacersuposicionesdelavelocidadalaqueevolucionacadaproceso.Sinoseutilizaunmecanismoespecialnosepuedenrealizar
suposicionesdeningntipo.
Necesitamosasegurarqueslounprocesoencadaocasinmanipulelavariablecompartida.Paraellonecesitamosalgntipode
sincronizacindeprocesos,establecerunordenrelativodentrodelainterfoliacin
2.Sincronizacin.
Lasincronizacineslaparalizacindeunaactividadmientrasnosecumplaunadeterminadacondicin.
Ejemplo:supongamosquequeremoscalcularlasiguienteexpresin
ytrasello,escribirelvalordeA.Podramosconstruirdosprocesosconcurrentesquerealizaranlosiguiente:
SeobservaqueByCsepuedenejecutarconcurrentementeperoDsehadeejecutardespus.HayquesincronizarP1yP2,detalformaque
P2hadeesperarhastaqueP1hayafinalizadosuejecucin.
Paralasecuenciacindelasoperacionesarealizarseutilizangrafosdeprecedencia,quesongrafosdirigidosacclicos,enloscuales,los
nodosrepresentanlasinstrucciones.
Dependiendodelproblemaalquenosenfrentemostendremosunasolucinuotra.Aspuespodemosdistinguir2casos:
Memoriacomn:usamosesperaocupada.Consisteenutilizarunavariablebooleanaparaqueunprocesoesperehastaqueelotroacabe.As
mismopodemosutilizarsemforoscuyoprocedimientoeselmismoperoestnpredefinidosporelsistema.
Mensajes:cuandonosepuedencompartirmemoria.
Problemadelaexclusinmutua.
Unproblemaparticulardelasincronizacinseplanteacuandoenunmomentodado,dosomsprocesosintentanaccederaunrecursocomn
(datoscompartidos).Lasolucinconsisteenasegurarsequelasecuenciadesentenciasqueaccedenadatoscompartidossetratencomouna
operacinindivisible.
Seccincrtica:Secuenciadesentenciasdeunprocesoqueaccedeadatoscompartidos.
REQUERIMIENTOSQUESEHANDESATISFACERDURANTELAEJECUCINDELASECCINCRTICA:
Dosprocesosnodebenencontrarsealmismotiempodentrodesusseccionescrticas*sedeberespetarlaexclusinmutua.Lassecciones
crticasdebenejecutarsecomoprocesosindividuales.
http://html.rincondelvago.com/sistemasoperativos_12.html 14/19
6/10/2015 SistemasOperativos
NosedebenhacerhiptesissobrelavelocidaddelosprocesosoelnmerodeC.P.U.'s.
Ningnprocesoqueestfueradesuseccincrticapuedebloquearaotrosprocesos.
Propiedaddevivacidad:debehaberunaausenciadeinaccin,ningnprocesodebedequedarseretrasadoindefinidamente.
Ningnprocesodebeesperareternamenteparaentrarensuseccincrtica.
Propiedaddeequidad:todoslosprocesosdebenavanzarconigualescondiciones.
Ausenciadeinterbloqueo:uninterbloqueoesunestadoenelcualtodoslosprocesosseesperanunosaotrosyelsistemasedetiene.Ejemplo:
elproblemadelos5filsofos.
Solucionesparaimplementarlaexclusinmutua:
Solucionessoftware:
Protocolodeentrada:antesdeejecutarlasinstruccionesdelaseccincrticasecompruebasisepuedeentraradichaseccin,atendiendoal
problemadelaexclusinmutua.
Protocolodesalida:dejaalprocesoenunestadodetalformaquecualquierotroprocesopuedeaccederasuseccincrtica,estoes,ala
seccincrticadelprocesoquequedenesteestado.
Entreprocesosquecompartendatosoaccedenadatoscompartidos,existencondicionesdecompetencia.Elresultadofinaldelaejecucin
dependerdequeprocesoseejecuteydecmorealicesuejecucin.
Lasolucinalproblemadeexclusinmutuaeshacerquelasoperacionesserealicendeunsolopaso,deformaindivisible.
Alconjuntodeinstruccionesqueseejecutandeformaindependientesedenominaseccincrtica.Slounprocesopuedeentrarenuninstante
determinadoenlaseccincrtica.
ALGORITMO1:Alternanciaestrictadeunavariablecompartida.
Desventajas:
Esperaocupada(tiempodeC.P.U.desperdiciado).
Nocumplelacondicin3,puesprocesosqueseencuentranfueradesusseccionescrticasbloqueanaotros.
Alternanciaestricta.
ALGORITMO2:Variablespuertadepasoodecerradura.
Sideentradahagoc1=c2=1consigoequidad.
c1=0*P1estdentrodesuseccincrtica.
c2=0*P2estdentrodesuseccincrtica.
c1yc2alavezacero*Noentranensuseccincrtica.
Noresuelveelproblemadelaexclusinmutua.
MODIFICACINDELALGORITMO2:
Inicialmentec1=c2=1.
Ningnprocesoentraenlaseccincrtica,parosisolucionaelproblemadelaexclusinmutua.
Puedenbloquearseambosprocesos*INTERBLOQUEO.
ALGORITMO3:Modificacindelosdosanteriores.
Cambialasestrategiasanteriores,utilizaunavariableturno,quecontrolacuando2procesosintentanaccederalavezalaseccincrtica.
c1yc2indicanquelaseccincrticaestlibreparaP1P2,estoes,siP1estenlaseccincrticac1estaceroyencasocontrariosaledela
seccincrtica.
Secumplelacondicindelaexclusinmutua.
Secumplelacondicin3,estoes,ningnprocesopuedebloquearaotrosinoseencuentraenlaseccincrtica.
Cumpletodaslascondiciones.
Solucioneshardware:
Activacindesactivacindeinterrupciones
Sisedesactivanlasinterrupcionesnosepresentaelproblemadelaexclusinmutuaporquealhacerloimpedimosqueningnotroproceso
puedapararalqueyaest.
Desventajas:
Nosedebepermitiralosprocesosdeusuarioutilizarestemecanismodeexclusinmutua,queserutilizadonicamenteporprocesosdelS.O.
Excluyeatodoslosprocesosdelsistema,nosloalosprocesosqueposeenlascondicionesdecompetencia.
Siexisteunbloqueoenlaseccincrticaseparaelsistemadebidoaquesehandesactivadolasinterrupciones.
http://html.rincondelvago.com/sistemasoperativos_12.html 15/19
6/10/2015 SistemasOperativos
Losmecanismosparaimplementarsincronizacinycomunicacinsondebajonivel.
SitenemosmsdeunC.P.U.nonossirvelaactivacindesactivacindeinterrupcionesporquesloserealizaestoparaunprocesadorylos
demsnosevenafectados.Portantofallaensistemasmultiprocesadores.
Instruccintest&set
Cerradurainicialmentetieneasignadoelvalorfalso.
EnestecasosedisponedeunainterrupcinllamadaTEST&SETqueseejecutadeformaindivisible,realizandoladevolucindeunvalor
booleano.Dadounparmetro,seactualizadevolviendolavariableobjetivoyasignndoleastaelvalorverdadero.
MientrasTEST&SETsea`1'noseentraenlasseccincrtica.
Ventajas:solucionaelproblemadelaexclusinmutuaensistemasmultiprocesadores.
Inconvenientes:
sisebloqueaenlaseccincrtica,sebloqueantodoslosprocesos:interbloqueo.
Utilizalaesperaocupada*perdemoseficiencia.
ExisteotrainstruccinllamadaTEST&SETBLOCKqueadiferenciadelaanteriorrealizaintercambiodevariables.
3.Semforos.
Unsemforoesuntipodedatosqueslopuedetomarvaloresenterospositivos,incluidoelcero.
Sobreunsemforoslosepuedenrealizar3operaciones,lascualesserealizandeformaindivisibleyportantonoexistenproblemasde
interfoliacin.Estasoperacionesson:
Inicializacin:asignarleunvalorenteropositivoaunsemforo.Slosepuederealizarunaasignacin,loquesehacealprincipiodela
implementacin.
Sealizacin:compruebasihayprocesosbloqueados.Siloshubiera,desbloqueaunoyencasocontrarioincrementaelvalordelsemforo.
Wait:sielvalordelsemforoescero,elprocesosebloquea.Encasocontrariosedecrementaen1elvalordelsemforo.
Lossemforosseutilizanparasincronizaryresolverelproblemadelaexclusinmutua.
Propiedades:
Lossemforosimplementancorrectamenteelproblemadelaexclusinmutuaparacualquiernmerodeprocesosyparacualquiernmerode
procesadores.
PuedeocurririnanicinamenosquesesigaunordenFIFOenlacoladeprocesosbloqueados.
Unsemforoqueseutilizapararesolverexclusinmutuaestsujetoainterbloqueos.
Lacomunicacindeprocesosquedabajoresponsabilidaddelosprogramas.Lossemforosslohacensufuncin.
Ejemplo:
SiS=0sebloqueaelproceso.
Signal(s)*Indicaquesehaejecutadolainstruccinanterior.
Tipodesemforos:
Generalesocontadores:sonlosvistoshastaelmomento.Nossirvencomocontadores.(AsignndoleaSunvalorde10tendremosunbucle
queserepite10veces).
Binarios:tomanvaloresbooleanos,01.
Implementacindesemforos:
Necesitamosdeunaestructuradedatosenterosdondesealmaceneelnmerodelsemforoylospunterosalosprocesosencadamomento.
Paraalmacenarlosprocesosbloqueadosnecesitamosunpunteroalacoladebloqueadosycadasemforoposeerunacoladebloqueados.
UnavezejecutadoWait(s)seincorporaraelprocesoactualenlacoladebloqueados.Paragestionardichacolaseutilizarunarutinade
tratamiento,conunpunteroalarutina.
Lasrutinasdetratamientopuedenserlasiguientes:
FIFO:facilidaddeimplementacinymanejodelacola.
PRIORIDADES:encasodeexistirvariosprocesoscondistintaprioridadquecompartaninformacin.
LIFO:nosesueleutilizar.
OtraimplementacindesemforostratadeconseguirquelasoperacionesWaitySignalseanatmicas,estoes,lasoperacionessobre
semforosseanindivisibles.Estaatomicidadsepuedeconseguirdedosmaneras:
http://html.rincondelvago.com/sistemasoperativos_12.html 16/19
6/10/2015 SistemasOperativos
Sistemasmonoprocesadores:seconsigueactivandoydesactivandolasinterrupciones.
Sistemasmultiprocesadores:mediantelasinstruccionesTest&setTest&setblocksielsistemalaspermite.Encasocontrarioutilizaremos
algoritmossoftwareconesperaocupada.Tambinsepuedeconseguirstamediantelacentralizacinenunprocesadordeunplanificadorque
gestionessussemforos.
Problemas:
Productor/consumidorconbufferilimitado.
Seexplicaresteproblemautilizandounejemploquecuentacondosprocesos,unoproductoryotroconsumidorquecumplen:
Unproceso,Productor,quecontinuamenteintroduceelementosenunbufferBUFF.
Unprocesos,Consumidor,quecontinuamentesacaelementosdeunbufferBUFF.
Inicialmente:
BUFFestvaco.
i,j:=1
mutex:=1(controlaelproblemadelaccesomutuoaBUFF).
vaco:=0(controlaqueelprocesoconsumidornointenteleerdeBUFFcuandoestvaco).
Sehadecumplirlassiguientescondicionesparalosdosprocesosanteriores:
ElprocesoconsumidornopuedecogerdatosdeBUFF(buffer)siesteestvaco.Estosecontrolaconlavariablevaco.
Ambosprocesoscompartendatoscomunes,presentandoelproblemadeexclusinmutua,estoes,ambosnopuedenaccederalavezadatos
compartidos(sesolucionaconmutex).
Elprocesoproductorindicarqueelbufferseestllenandomediantesignal.
Elinterbloqueo(deadlock)ocurrecuandoseejecutanprocesosconcurrentes.Esunasituacinenlacualunconjuntodeprocesossequedan
bloqueadosesperandoqueocurraalgnsucesoquesolamenteunprocesodedichoconjuntopuedeprovocar.Esteinterbloqueoseproduce
porelintentodeaccederadatoscompartidos.
Productor/consumidorconbufferlimitado.
SuponemosqueBUFFesunbufferconcapacidadlimitadaaNelementos(implementadocomounalistacircular).
Inicialmente:
BUFFestvaco
i,j:=1
mutex:=1
vaco:=0
espacio:=N(controlaqueelprocesoPRODUCTORnointroduzcamselementosenBUFFsistenoestvaco).
ElPRODUCTORnodebeintroducirmsdatosenelbuffersiesteestlleno,puessemachacarandatosalserelespaciolimitado.
Cuandoseproduceunelementohayquecomprobarsiexisteonoespacioparaello.
HayquetomarprecaucionesconlasoperacionesWaitdentrodelaseccincrtica,puespuedeproducirunproblemadeinterbloqueo.
Limitacionesdelossemforos:
Estetipodesemforospresuponelaexistenciadeunamemoriacomn.Noesunasolucinviablelautilizacindesemforosparalossistemas
distribuidos(tiempodecomunicacinelevados).Porestoseutilizanensistemascentralizados.
Lacomunicacinentreprocesosconcurrentesquedabajolaresponsabilidaddelprogramadeaplicacin.Estoes,deellonoseencarganlos
semforos.
NoaseguralabuenautilizacindeWaitySignalporloquesedicequelossemforossonunmecanismonoestructurado.
Laimplementacindesemforosproducecdigodifcildeverificar.
4.Mensajes.
Definicin:
Sonunmecanismosencilloensuimplementacinqueresuelvealgunaslimitacionesdelossemforos.Seutilizanporellotantoensistemas
centralizadoscomoensistemasdistribuidos.
Seutilizanpararesolverproblemascomosincronizacin,comunicacinyexclusinmutua.
http://html.rincondelvago.com/sistemasoperativos_12.html 17/19
6/10/2015 SistemasOperativos
Otradefinicindemensajes:unacoleccindeinformacinintercambiadaentreunprocesoemisoryunprocesoreceptor.
Formato:
Cabecera:formatofijo.
Cuerpo:opcionalydelongitudvariable.
Operaciones:
EnviaroSEND.
RecibiroRECEIVE.
Implementacindemensajes:
Designacindelemisor/receptor:
Directa:cadaemisordesignaalreceptorespecficoyviceversa.Elreceptordebeconocerelnombredelqueenvaelmensaje.
Ventajas:noexistenfallosdeidentificador,dereceptorodeemisor.
Desventajas:hadeconocerentodomomentotodossusposiblesclientes.
Indirecta:Losmensajessonenviadosyrecibidosatravsdedepsitosespecialesllamadosbuzones.Elemisormandalosmensajesaun
buzn,queesunlugarquehasidocreadoconanterioridad,tomandoelreceptorlosmensajesdedichobuzn.
Elpropiosistemahadegestionaralosbuzones,proporcionandoinstruccionesparamejorarestos.
Esnecesariodisponerdeserviciosadicionalesparaelmantenimientodelosbuzones:
Crear_buzn.
Borrar_buzn.
Conestetipodemensajesdedesignacinindirecta,lacomunicacinpodrser:
1a1.
1amuchos.
Muchosa1.
Muchosamuchos.
Unbuznesunacoladondesealmacenanlosmensajes.
Intercambiosncronoyasncronodemensajes
Sncrono:
Lacomunicacinserealizaslocuandoambosprocesos,emisoryreceptor,estnseparados.
Slopuedeexistirunmensajependientecomomximoencadamomentoporcadaparemisorreceptor.
LaoperacionesSetyReceivevanaserbloqueantes.Siunprocesorealizaunaoperacinenviaryotroprocesounaoperacinrecibirsobreel
mismobuzn,elprimerprocesovaaestaresperandohastaqueelsegundorecibayviceversa.
Ventajas:
Fcilimplementacin.
Seguridadenlarecepcindelmensaje.
Inconvenientes:sincronizacinforzosa.
Asncrono:
Elprocesoemisornosebloquea,aunqueelprocesoreceptornoestpreparado(nohayaejecutadounaoperacinrecibir).
Elsistemaoperativoaceptayalmacenatemporalmentelosmensajespendienteshastaquesereciban(recargoadicionalparaelsistema).
Aumentalaconcurrencia.
Porunmaluso,unprocesopuedeagotarlacapacidaddealmacenamientointermedio(temporal)delsistema.ComoelS.O.noposeeespacio
dealmacenamiento,losprocesosquedaranbloqueados.
Problemacomn:aplazamientoindefinido.Seproduceporlassiguientescausas:
Seenvaunmensajeynadielorecibe.Sebloqueaensncrono.
Unmensajenuncaseenva.Sebloqueaensncronoyenasncrono.
Estosesolucionaimplementandolaoperacinrecibirconotroparmetro,siguiendolasintaxis:
http://html.rincondelvago.com/sistemasoperativos_12.html 18/19
6/10/2015 SistemasOperativos
Recibir(buzn,mensaje,lmitedetiempo).
Ellmitedetiempoeseltiempoquevaaesperarelprocesocomomximopararecibirunmensaje(procesoreceptor).Sielprocesoreceptor
sobrepasaeselmitedetiempoesperandounmensajequenollega,dichoprocesosedesbloqueaymandaasuvezunmensajeinformando
quesehasobrepasadoellmitedetiempo.
PRODUCTORCONSUMIDORCONBUFFERLIMITADO:MENSAJES
Gana9.850conPST! Mejorjuegodelao
Millonariorevelasecretoparaganar9.850.Miraestevdeo!Mercadoderiesgo Estejuegoestanadictivoqueesimposibledejarlo.100%gratis!
Babbel
5trucosparaaprenderidiomassiniraclase
Ofrecidopor
ElRincndelVago,enSalamancadesde1998CondicionesdeusoContacto
http://html.rincondelvago.com/sistemasoperativos_12.html 19/19