Está en la página 1de 6

PROCESO

Unprocesoesunconjuntode
actividadesmutuamenterelacionadas
oquealinteractuartransforman
elementosdeentradaylosconvierten
enresultados.
Algoritmo Semforos
GerardoDurnOrta.
GeovanniFranciscoGranadosMedina

Un semforo es una variable especial (o tipo abstracto de datos)


que constituye el mtodo clsico para restringir o permitir el
acceso a recursos compartidos (por ejemplo, un recurso de
almacenamiento del sistema o variables del cdigo fuente) en un
entorno de multiprocesamiento (en el que se ejecutarn varios
procesos concurrentemente). Fue creado por Edsger Dijkstras y
se usaron por primera vez en el sistema operativo
THEOS.Semforos es un algoritmo de control de procesos, que
tiene solo dos operaciones bsicas, las cuales son:
Wait.-Preguntaalosprocesossisucontadores>=quecero,en
casodenoseras,losdecrementa.Elprocesoquecambiaeneste
casoanegativo(1)desdelacoladeprocesosListosaserejecutados
eselqueautomticamentetomaelcontroldelprocesador.
Signal.-Apartirdeuntiempotdefinidoporeldespachadorse
ejecuta,ypreguntaalosprocesossisucontadores<queceroen
casodequeseaafirmativalarespuesta,sacaaesteprocesodesu
ejecucinydependedesuestado.

staeralasituacinen1965,cuandoE.W.Dijkstra(1965)sugiriusaruna
variableenteraparacontarel
Nmerodesealesdedespertarguardadasparausofuturo.Enesta
propuestaseintrodujounnuevotipodeVariable,llamadasemforo.Un
semforopodatenerelvalorO,indicandoquenohabasealesde
despertarguardadas,oalgnvalorpositivosihabaunaomssealesde
despertarpendientes.

Dijkstrapropusotenerdosoperaciones,DOWNyUP(generalizacionesde
SLEEPyWAKEUP,respectivamente).LaoperacinDOWN(abajo)aplicadaa
unsemforoverificasielvaloresmayorque0;deseras,decrementoelvalor
(estoes,gastaunasealdedespertaralmacenada)ycontina.SielvalorEs0,el
procesoseponeadormirsincompletarlaoperacinDOWNporelmomento.La
verificacindelvalor,sumodificacinylaaccindedormirse,siesnecesaria,
serealizancomounasolaaccinatmicaindivisible.Segarantizaqueunavez
queunaoperacindesemforosehainiciado,ningnotroprocesopodr
accederalsemforohastaquelaoperacinsehayacompletadoobloqueado.
Estaatomicidadesabsolutamenteindispensablepararesolverlosproblemasde
sincronizacinyevitarcondicionesdecompetencia.

LaoperacinUPincrementaelvalordelsemforodireccionado.Siunoo
msprocesosestndurmiendoenesperadeesesemforo,imposibilitadosde
completarunaoperacinDOWNprevia,elsistemaescogeunodeellos
ylepermitecompletarsuDOWN.As,despusdeunupconunsemforo
quetieneprocesosdurmiendoesperando,elsemforoseguirsiendo0,pero
habrunprocesomenosquesehalleenfasededurmiendoesperando

También podría gustarte