Вы находитесь на странице: 1из 19

6/10/2015 SistemasOperativos

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

Вам также может понравиться