Sunteți pe pagina 1din 243




  

Fernando Morse
morse@oi.com.br

|
 
  

 
  


   

    
 

      

 
 

 
  
 


    

  

   
   

           


—
 
  

! 

"
 
 

Ä
 
  

#  
÷ istema ÷eracional ( ÷  m rograma qe controla e
coordena todas as oerações de m sistema de comtação. É,
mitas vezes, tambm chamado de ervisor, Monitor,
Exectivo o ontrolador.

É m rograma qe ata como intermediário entre o sário e o


hardware de m comtador com o rosito de fornecer m
ambiente ara a execção de rogramas.

_
 
  

    



   

  

]
 
  
"
 
     
  

¬ istema ÷eracional  m conjnto de rotinas exectado elo


rocessador, da mesma forma qe nossos rogramas.
¬ ÷  m rograma qe ermite às essoas sar o Hardware do
comtador (, Memria e Armazenamento ecndário.
¬ ÷s sários não dão instrções diretamente ao comtador. Em vez
disso, eles dão instrções ao istema ÷eracional. ÷ ÷ instr o
Hardware a exectar as tarefas desejadas.
¬ Kernel  o único rograma qe execta semre, todo o resto são
rogramas alicativos.

 
  
"
 
     
  

 ÷ istema ÷eracional  resonsável or alocar recrsos de


hardware e escalonar tarefas. Ele tambm deve rover ma
interface ara o sário - ele fornece ao sário ma maneira de
acesso aos recrsos do comtador.

 m istema ÷eracional ode ser definido como m gerenciador


dos recrsos qe comõem o comtador (rocessador,
memria, I/÷, arqivos, etc. ÷s roblemas centrais qe o
istema ÷eracional deve resolver são o comartilhamento
ordenado, a roteção dos recrsos a serem sados elas
alicações do sário e o interfaceamento entre este e a
máqina.
ù
 
  
$ % &     

¬ ermitir qe os rogramas armazenem e obtenham informação;


¬ Isolar os rogramas dos detalhes esec ficos de hardware;
¬ ontrolar o flxo de dados entre os comonentes de m comtador;
¬ ermitir qe os rogramas sejam exectados sem a interferência de
otros rogramas;
¬ ermitir qe os rogramas indeendentes cooerem eriodicamente e
comartilhem informações;
¬ Resonder aos erros o a solicitações dos sários;
¬ Imor m escalonamento entre rogramas qe solicitam recrsos;
¬ Facilitar o acesso aos recrsos do sistema.

U
 
  
'   
 ' 

±ando o comtador  ligado, m eqeno rograma


gravado no rimeiro o nos dois rimeiros setores do
disco (B÷÷
  carregado ara memria
atomaticamente. a fnção será nicamente ler o
sistema oeracional ara RAM.

ƒ
 
  
')

Em comtação, boot  o termo em inglês ara o rocesso de iniciação


do comtador qe carrega o sistema oeracional qando a máqina 
ligada.

Mitos comtadores odem exectar aenas cdigos existentes na


memria de trabalho (R÷M o RAM; os sistemas oeracionais
modernos são normalmente armazenados em disco r gido,  -R÷M o
otros disositivos de armazenamento. Logo qe o comtador  ligado,
ele não tem m sistema oeracional na memria. ÷ comtador
hardware não ode fazer as ações do sistema oeracional, como
carregar m rograma do disco; assim m aarente insolúvel aradoxo 
criado: ara carregar o sistema oeracional na memria, recisamos de
m sistema oeracional já carregado.

|(
 
  
      '   

A solção ara o aradoxo está na tilização de m eqeno e


esecial rograma, chamado ? ?    
,


 o

? . Este rograma não tem a comleta fncionalidade de


m sistema oeracional, mas  esecialmente constr do ara
qe seja caaz de carregar m otro rograma ara ermitir a
iniciação do sistema oeracional. Freqüentemente, boot loaders
de múltilos estágios são sados, neste caso vários eqenos
rogramas se comlementam em seqüência, at qe o último
deles carrega o sistema oeracional.

||
 
  
*  +

÷s rogramas odem acessar diretamente osições de memria,


exectar oerações de E/ de baixo n vel o acessar diretamente
o hardware de erifricos.

÷s rogramas exectados em M÷ ÷ REAL odem ter o


comleto controle do comtador.

÷ rocesssamento em M÷ ÷ REAL  inaceitável em ambiente


mltirogramação ois ermite qe os rogramas se afetem
mtamente.


 
  
*  ,


÷s rogramas não odem acessar diretamente osições de


memria, exectar oerações de E/ de baixo n vel o acessar
diretamente o hardware de erifricos.

÷ ÷ mantm m estrito controle de cada alicação, rotegendo


cada rograma de otros rogramas.

÷ rocesssamento em M÷ ÷ R÷
EGI ÷  aceitável em ambiente
mltirogramação


 
  
±  
   

± 


 


 













 


|_
 
  
@   

V   
 

   
    

     
  
   

@  

V   
 
  




  






   
  

    
  

    
 
 
   

 



|]
 
  
*


Vesta estrtra de rocessamento  ermitido a realização de


diferentes tarefas simltaneamente.

Exemlos de tarefas qe odem ser realizadas simltaneamente:

$ imrimir
$ editar m texto
$ gravar m rograma em disco
$ enviar dados or modem.

Va Mltitarefa o rocessador trabalha em várias artes de m


mesmo rograma e não em vários rogramas concorrentemente.

|
 
  
*-.)!)/+0$/ ,+00*,)!1/ 2- 3  4 ƒ] 2 
—  ƒU 5, 1! )/

Em m sistema Mltitarefa reemtivo, cada encadeamento  exectado


drante m temo determinado o at qe otro encadeamento de
rioridade maior esteja ronto ara ser exectado.
omo o 
 



? ?
 
 ? 


 

  
, torna-se mais dif cil ara m rograma o
encadeamento monoolizar o rocessador.
ara imedir qe encadeamentos de rocessos diferentes tenham acesso a
m recrsos qe não odem ser comartilhados (como ma orta serial, o
rograma ode definir semáforos (sinalizadores eseciais tilizados elo
rograma ara bloqear este recrso at qe ele termine de ser tilizado.
Vo Windows 95-÷ R2, rogramas do M - ÷ e de 32 bits baseados no
Windows são Mltitarefa reemtiva.


 
  
*-.)!)/+0$/ ",0+/)!1/ (Windows 95 e 3.11

Va tcnica de ML
I
AREFA ÷÷ERA
IVA, cada rocesso
controla a  at decidir libertá-la.
Em sistema Mltitarefa cooerativos, m encadeamento  exectado
at qe volntariamente abandone o rocessador.
÷ rograma determina qando o encadeamento ára a execção.
Vo Windows 95, rogramas de 16 bits baseados no Windows são
Mltitarefa de modo cooerativo.

|U
 
  
*



Vesta estrtra de rocessamento  ermitido a execção concorrente,


o aarentemente simltânea de múltilos rogramas or m único
comtador.

*
 

Vesta estrtra o sistema mltisário sa múltilos rocessadores ara


exectar m o vários rogramas.
ambm  chamado de
rocessamento aralelo.


 
  

#
  6,


—(
 
  

  
   #
 

 m sistema oeracional distrib do deve se aresentar aos


sários como m sistema oeracional centralizado, mas
qe, na realidade, tem sas fnções exectadas or m
conjnto de máqinas indeendentes;
 istemas fracamente acolados, ois cada rocessador
tem a sa memria local.
 Excelente ara comartilhamento de recrsos
 Incrementa a velocidade de comtação ± realiza
comartilhamento de carga.

—|
 
  

  
   ,


 istemas mltirocessados com ma o mais  em comnicação


rxima.

 istema fortemente acolados, rocessadores comartilham


memria e m clock.

Maior throght

——
 
  

@
     
@  

  

  

         

 
 

 
    


  



 

    


 
 
 

 
 

@
      

   

        
  
  
 
   


 


 





 
 
 


—Ä
 
  

 
    

 ermitem qe os rogramas dos sários sejam divididos em


sbrogramas, ara execção simltânea em mais de m rocessador
 istemas Assimtricos
 istemas imtricos
 Mltirocessamento

—_
 
  

 
     

 ermitem qe as máqinas e os sários de m sistema distrib do


sejam comletamente indeendentes (ex: rede de s qe comartilham
recrsos, como ma imressora, via ma rede local - LAV
 istemas ÷eracionais de Rede
 istemas ÷eracionais istrib dos

—]
 
  

 
    
 

+ 
 

—
 
  
I
EMA ÷ERAI÷VAL ÷M÷ GEREVIA ÷R E RER ÷

Vormalmente os ÷s são encarados como gerenciadores de recrsos,


resonsáveis rincialmente ela atalização ermanente do estado de
cada recrso, definição da ol tica de alocação de recrsos (qem
recebe, qanto e o qe e a liberação dos mesmos.

÷s ÷s odem ser divididos em qatro gerências:

$ gerência de memria
$ gerência de rocessador
$ gerência de erifricos
$ gerência de informações.
—ù
 
  

7   *8


A Gerência de Memria tem como fnção rimordial manter


atalizado o estado de memria, isto , controlar as artes de
memrias qe estão sendo tilizadas, identificar qem as está
sando e servisionar as áreas dison veis.

Alm disso, determina a alocação de mais memria (qando e


qanto, garante a integridade das áreas de rograma, imedindo
qe otro rocesso acesse osições de memrias reservadas
ara m determinado rograma, e libera com facilidade as áreas
de memrias qando m rocesso não mais delas recisa.
—U
 
  

7   ,


A Gerência de rocessador, atravs de ses vários mdlos, 


resonsável elo controle de todos os rocessos em andamento
nm comtador.

Veremos mais adiante os vários estágios qe assa m rocesso.

—ƒ
 
  

7   ,

 

A Gerência de erifricos mantm o controle dos erifricos,


canais e nidades de controle, decidindo sobre sa alocação e
iniciando oerações de entrada/sa da, bem como garantindo a
segrança, isto , imedindo a tilização indevida de m recrso
reviamente alocado.


7   ! 
%

A Gerência de Informações  resonsável elo controle do so de


arqivos, o seja, abre e fecha arqivos e decide se o rocesso
ode o não acessar as informações.
Ä(
 
  

9


Ä|
 
  

9


Kernel de m sistema oeracional  entendido como o núcleo. Ele


reresenta a camada mais baixa de interface com o Hardware,
sendo resonsável or gerenciar os recrsos do istema
÷eracional como m todo. É no kernel qe estão definidas
fnções ara oeração com erifricos (mose, disco,
imressora, interface serial/interface aralela, gerenciamento de
memria, entre otros. Resmidamente, o kernel  m conjnto
de rogramas qe fornece ara os rogramas de sário
(alicativos ma interface ara tilizar os recrsos do sistema.

ė
 
  
9


±anto à sa arqitetra, o kernel ode ser „   - em m único


bloco, com todas as fncionalidades carregadas na memria - o
„ 
„

 - com os mdlos esec ficos ara cada tarefa
carregados ocionalmente, dinamicamente e 
 .

÷ kernel  a arte mais imortante do sistema oeracional, ois, sem ele,


a cada rograma novo qe se criasse seria necessário qe o
rogramador se reocasse em escrever as fnções de entrada/sa da,
de imressão, entre otras, em baixo n vel, casando ma dlicação de
trabalho e ma erda enorme de temo. omo o kernel já fornece a
interface ara qe os rogramas ossam acessar os recrsos do sistema
de m n vel mais alto e de forma transarente, fica resolvido o roblema
da dlicação do trabalho.
ÄÄ
 
  

9


±ando há erifricos o elementos de m sistema


comtacional qe o kernel não cobre, então se faz necessário
escrever a interface ara eles, os chamados device drivers.
Geralmente, os kernels oferecem ma fnção ara se exectar
chamadas de sistema, como or exemlo a ioctl( do Linx.
Valendo-se dessa fnção, odem-se escrever rotinas ara
qalqer disositivo.

Ä_
 
  

9
  

Kernel monol tico o mono-bloco  m kernel qe imlementa m


interface de alto n vel ara ossibilitar chamadas de sistema
esec ficas ara gestão de rocessos, concorrência or arte de
mdlos dedicados qe são exectados com rivilgios
eseciais. Algns exemlos deste tio de kernel:

$ . 3
$ - 3
$' #
$ * :# 
$ 4  ƒ]4  ƒU4  *0;

Ä]
 
  

9
  

v

 



 




Ä
 
  

*
:9


*
:
  m termo sado ara caracterizar o sistema cjas
fncionalidades do sistema sa ram do kernel e foram ara
servidores, qe se comnicam com m núcleo m nimo, sando o
m nimo oss vel o "esaço do sistema" (nesse local o rograma
tem acesso a todas as instrções e a todo o hardware e
deixando o máximo de recrsos rodando no "esaço do sário"
(no esaço do sário, o software sofre algmas restrições, não
odendo acessar algns hardwares, nem tem acesso a todas as
instrções.

Äù
 
  

*
:9


v

 



 
 
± 




 
V
ÄU
 
  

9
 <
   "

9
 
 define m kernel baseado em micro-kernel no qal
mdlos externos a ele odem exectar oerações em modo kernel
(rotegido, a fim de evitar trocas de contexto e melhorar o
desemenho geral do sistema.

ă
 
  

9
 <

  "

v

 



 


± 




Microsoft Windows V
, X, 2000,
Vista.
_(
 
  

"

7 

_|
 
  

"

7 

A ossibilidade de o rocessador exectar instrções em


aralelo com oerações de E/ ermitem qe diversas tarefas
sejam exectadas concorrentemente. ÷ conceito de
concorrência  o rinciio básico ara o rojeto e a
imlementação dos sistemas mltirogramáveis.


 
  

"

7 

A tilização concorrente da  deve ser imlementada de


maneira qe, qando m rograma erde o so do rocessador
e deois retorna ara continar sa execção, se estado deve
ser idêntico ao do momento em qe foi interromido. ÷
rograma deverá continar sa execção exatamente na
instrção seginte àqela em qe havia arado, aarentando ao
sário qe nada acontece.

 
  

! 

  03 

__
 
  

! 

   3 

rante a execção de m rograma, algns eventos


ineserados odem ocorrer, ocasionando m desvio forçado no
se flxo de execção. Estes tios de eventos são conhecidos
or interrção o exceção e odem ser conseqüência da
sinalização de algm disositivo de hardware externo ao
rocessador o da execção de instrções do rrio rograma.
A diferença entre interrção e exceção  dada elo tio evento
ocorrido.
_]
 
  

4 
É o mecanismo qe o sistema oeracional sincroniza a
execção de todas as sa rotinas e dos rogramas dos
sários, alm de controlar disositivos.
É semre gerada or algm evento externo ao rograma
e, neste caso, indeende da instrção qe está sendo
exectada. m exemlo de interrção ocorre qando m
disositivo avisa ao rocessador qe algma oeração de E/
está comleta. Veste caso, o rocessador deve interromer o
rograma ara tratar o trmino da oeração.
_
 
  

4 
Ao final da execção de cada instrção, a nidade de
controle verifica a ocorrência de algm tio de interrção.
Veste caso, o rograma em execção  interromido e o
controle desviado ara ma rotina resonsável or tratar o
evento ocorrido, denominada rotina de tratamento de
interrção. ara qe o rograma ossa osteriormente voltar a
ser exectado,  necessário qe, no momento da interrção,
m conjnto de informações sobre a sa execção seja
reservado. Essas informações consistem no conteúdo
registradores, qe deverão ser restarados ara a continação
do rograma.

 
  

! 

 
As interrções são decorrentes de eventos ass ncronos, o
seja, não relacionados à instrção do rograma corrente. omo
or exemlo disositivo de E/ informar ao rocessador qe
está ronto ara receber o transmitir dados.

_U
 
  

03 

ma exceção  semelhante a ma interrção, sendo a rincial


diferença o motivo ela qal o evento  gerado. A execção  resltado
direto da execção de ma instrção do rrio rograma
rograma, como a
divisão de m número or zero o a ocorrência de overflow em ma
oeração aritmtica.

A diferença fndamental entre exceção e interrção  qe a rimeira 


gerada or m evento s ncrono
s ncrono, enqanto a segnda  gerada or
eventos ass ncronos
ass ncronos. m evento s ncrono qando  resltado direto da
execção do rograma corrente.

 
  

! 

   03 
 Intervenção do istema ÷eracional na execção de m rograma
devido a ocorrência de m evento
 asas da interrção:
 Resltado da execção de instrções de m rograma (Exceção
Gerado elo sistema oeracional (Interrção
 Gerado or algm disositivo de hardware (Interrção
 ÷ flxo da execção do rograma  desviado ara ma rotina
esecial de tratamento
](
 
  

]| 4  ±

 
  

! 

 

Genericamente as  

 % odem ser de 2 tios:

 ! 

   
 2 =   )+/,

 ! 

   <

 2!+>


 
  

!?)0++-,@A #0 $)4/+0 : = "  )+/,

A interrção de software  m sinal de interrção gerado or ma


instrção esecial (ortanto or software denominada chamada do
sistema (system call o chamada do servisor (servisor call.
Algns atores tambm chamam as interrções geradas or software
de
RA (armadilha. m
RA desencadeia as mesmas ações
desencadeadas or ma interrção de hardware, isto , o rograma
em execção  ssenso, informações são salvas e ma rotina
esec fica do ÷  exectada.

 
  

= "  )+/,

Resmindo: Em comtação, ma   


(? ?„    o mecanismo sado elo rograma ara
reqisitar m serviço do sistema oeracional, o mais
esecificamente, do kernel do sistema oeracional.

]_
 
  

= "  )+/,

' 
            
 

]]
 
  

! 

   <


-  

   

    
       
&   &  -",     3  

 &   3  
2
   
% 
  
 3  

  
 
  3 

      & 
   

 

;

! 

 %  

  
   
  

  2    


  ;  
8 ; 
8 2


    &

      B  


   
&C7 
    

   ",- &  





  
;

]
 
  

! 

   <



ma !+> (abreviação ara ! 

  +&  a forma ela


qal comonentes de hardware reqisitam temo comtacional
da . ma IR±  a sinalização de m edido de interrção
de hardware.


 
  

! 

   <



÷s comtadores modernos comat veis com o IBM  ossem


16 designações de IR± (0-15, cada ma delas reresentando
ma eça f sica (o virtal de hardware. or exemlo, a IR±0 
reservada ara o temorizador do sistema, enqanto a IR±1 
reservada ara o teclado. ±anto menor for o número da IR±,
mais cr tica  sa fnção.

]U
 
  

)
   ! 

 %  #    06


÷ disositivo de E/ interromerá a  assim qe terminar de atender
ma !6
&

±ando m edido de E/  iniciado o ÷ varre a tabela de stats dos


disositivos (     ara saber o stats do disositivo
(ocado, livre, não dison vel.

Vo caso de ocado o ÷ adiciona o edido na lista de edidos


endentes - rocesso ³Bloqeado
Bloqeado´


 
  

)
   ! 

 %  #    06


±ando m disositivo acaba sa tarefa interrome a , avisando o
trmino do tratamento de E/ .

÷ ÷ identifica qal disositivo fez a interrção, conslta a lista de


edidos endentes e trata o rximo edido (Bloqeado
Bloqeado -> Esera
Esera

÷ rocesso qe estava em Esera agardando o trmino da E/ 


colocado na lista de rocessos rontos. (Esera
Esera -> ronto
ronto

(
 
  

,
  
÷bjetivo: garantir a integridade dos dados ertencentes a cada sário.

Vários rogramas ocam a memria simltaneamente e cada sário


ossi ma área onde dados e cdigos são armazenados => o ÷ deve
reservar as informações contra acessos indevidos (confiabilidade

roteção aos recrsos comartilhados do sistema: memria, disositivos


de E/ e 

±ando o rograma tenta acessar ma osição de memria fora de sa


área endereçável (erro de violação de acesso o rograma  encerrado.

|
 
  

,
  
Vo  D
 somente são exectadas  
% 

(não afetam diretamente otros rogramas

aso m rograma tente exectar ma  



, sem estar
no modo servisor, ma interrção  gerada e o rograma  encerrado.

÷   3  de m rocesso  determinado or m conjnto de


bits, localizado em m registrador esecial da  (, 4 - rocess tats
Word - indica se ma instrção ode o não ser exectada.


 
  

,
  
ivisão da área de memria do ÷:

0   0 
    200 : arte de endereços
mais baixa, reservada ara o rrio ÷

0   0 
   -D
 200- : arte de endereços
mais altos, reservada ara os rogramas dos sários.


 
  

,
  

rogramas dos sários s odem ter acesso ao EE (área reservada do


÷ via ³systems call´, qe  invocado semre qe m rocesso recisa
ter acesso a algm serviço dison vel.

_
 
  

00-
-D


  


00
/ 
,

]
 
  

  


 
  

0 
 


 
  


    0 
  

ma das rinciais fnções de m sistema oeracional  controlar


todos os disositivos de E/ .
Ele deve enviar comandos ara os disositivos, catrar
interrções e tratar erros.

ambm deve oferecer ma interface entre os disositivos e o
restante do sistema qe seja simles e fácil de sar.
Va medida do oss vel, a interface deve ser a mesma ara todos os
disositivos. (
anenbam

anenbam
U
 
  

    0 
  

Vos rimeiros sistemas comtacionais, a comnicação entre o


rocessador e os erifricos era controlada or m conjnto de
instrções eseciais, denominadas instrções de entrada/sa da,
exectadas elo rrio rocessador. ÷ srgimento do controlador
de interface ermiti ao rocessador agir de maneira indeendente
dos disositivos de E/ . om esse novo elemento, o rocessador
não mais se comnicava diretamente com os erifricos, mas sim
atravs do controlador. Isso simlifico as instrções de E/ , or não
mais ser necessário esecificar detalhes de oeração dos
erifricos, tarefa esta realizada elo controlador.

 
  

ù(
 
  

#    06

÷s disositivos de E/ odem ser divididos em das


categorias:

$ isositivos de Blocos; e
$ isositivos de aractere.

ù|
 
  

#   '

m disositivo de bloco, armazena as informações em blocos


de tamanho fixo, cada m com se rrio endereço. A
roriedade essencial de m disositivo de bloco  qe 
oss vel ler o gravar cada bloco indeendente de todos os
otros. ÷s iscos são os disositivos de blocos mais comns.

É endereçável e ossi oerações de bsca (Exemlo: Bsca


de m dado no disco r gido.

ù—
 
  

#   "


 


É o disositivo qe entrega o aceita m flxo de caracteres


sem considerar qalqer estrtra de bloco. Ele não 
endereçável e tamoco tem qalqer oeração de bsca.

Exemlos: Imressoras, interfaces de rede, mose.

ùÄ
 
  

?    '  "


 


÷s relgios não são endereçáveis or bloco, tamoco


aceitam flxo de caracteres.


do qe fazem  gerar interrções em intervalos bem
definidos.

ù_
 
  

" 
   
%  0 
  

$ E/ controlada or rograma;

$ E/ controlada or ooling; e

$ E/ ontrolada or Interrção;

ù]
 
  
06 





Veste tio de oeração, o rocessador sincronizava-se com o


erifrico ara o in cio da transferência de dados e, as iniciada a
transferência, o sistema ficava ermanentemente testando o estado
do erifrico ara saber qando a oeração chegaria ao se final.
Este controle, chamado e E/ controlada or rograma, mantinha o
rocessador ocado at o trmino da oeração de E/ (bsy wait.
omo o rocessador execta ma instrção mito mais raidamente
qe a realização de ma oeração de E/ elo controlador, havia m
enorme deserd cio de temo da .

ù
 
  
06 

,  

A evolção do modelo anterior foi ermitir qe, as o in cio da


transferência dos dados, o rocessador ermanecesse livre ara
realizar otras tarefas. Assim, em determinados intervalos de temo,
o sistema oeracional deveria testar cada disositivo ara saber do
trmino da oeração de E/ (olling. Esse tio de oeração
introdzi certo gra de aralelismo, visto qe m rograma oderia
ser rocessado, enqanto otro eserava elo trmino de ma
oeração de E/ . Isso ermiti o srgimento dos rimeiros sistemas
mltirogramáveis, onde vários rogramas oderiam ser exectados
concorrentemente, já qe o temo de ma oeração de E/ 
relativamente grande.

ùù
 
  
06 " 

! 

 

om a imlementação do mecanismo de interrção, as


oerações de E/ deram ser realizadas de ma forma mais
eficiente. Em vez de o sistema eriodicamente verificar o
estado de ma oeração endente, o rrio controlador
interromia o rocessador ara avisar do trmino da
oeração. om esse mecanismo, denominado E/ controlada
or interrção
interrção, o rocessador, as a execção de m
comando de leitra o gravação, ermanece livre ara o
rocessamento de otras tarefas.

ùU
 
  
06 " 

! 

 

A oeração de E/ controlada or interrção  mito mais eficiente


qe a controlada or rograma, já qe elimina a necessidade de o
rocessador eserar elo trmino da oeração, alm de ermitir qe
várias oerações de E/ sejam exectadas simltaneamente.
Aesar disso, a transferência de grande volme de dados exige
mitas intervenções do rocessador, redzindo sa eficiência. A
solção ara esse roblema foi a imlementação de ma tcnica de
transferência de dados denominada MA ( irect Memory Access.

ùƒ
 
  

" 



ma laca controladora  ma arte do hardware de


comtadores qe comanda otras artes da máqina.
Vormalmente  conectada na laca-mãe atravs de slots
aroriados de acordo com o barramento relativo à laca.

U(
 
  

#  


evice driver (ontrolador de isositivo  ma camada de


software qe imlementa m conjnto de fnções qe realiza a
comnicação com o disositivo.

evice driver  o comando de m disositivo o rograma. É a


forma a artir da qal ma nidade erifrica cria ma interface
com o sistema oeracional ara se conectar com o disositivo do
hardware.

U|
 
  


 
  

#*/


 
  
#*/

Está tcnica ermite qe m bloco de dados seja transferido entre a


memria rincial e disositivos de E/ ; sem a intervenção do
rocessador, exceto no in cio e o final da transferência.

±ando o sistema deseja ler o gravar m bloco de dados, o


rocessador informa ao controlador sa localização, o disositivo de
E/ , a osição inicial da memria de onde os dados serão lidos o
gravados e o tamanho do bloco.

U_
 
  
#*/

om estas informações, o controlador realiza a transferência entre o


erifrico e a memria rincial, e o rocessador  interromido
somente no in cio e no final da oeração. A área de memria
tilizada elo controlador na tcnica de MA  chamada de bffer de
entrada/sa da.

Vo momento em qe ma transferência de dados atravs da tcnica


de MA  realizada, o controlador deve assmir,
momentaneamente, o controle do barramento.

U]
 
  

" 0 
 

U
 
  
"   0 
  

A extensão do conceito de MA ossibilito o srgimento do canal


de entrada/sa da.

÷ canal  m rocessador com caacidade de exectar rogramas


de E/ , ermitindo o controle total sobre oerações de E/ . As
instrções de E/ são armazenadas na memria rincial elo
rocessador, orm o canal  resonsável ela sa execção.

Assim, o rocessador realiza ma oeração de E/ , instrindo o


canal ara exectar m rograma localizado na memria (rograma
de canal.

 
  
"   0 
  

Este rograma esecifica os disositivos ara transferência, bffers


e ações a serem tomadas em caso de erros.

÷ canal de E/ realiza a transferência e, ao final, gera ma


interrção, avisando do trmino da oeração. m canal de E/
ode controlar múltilos disositivos atravs de diversos
controladores.

ada disositivo, o conjnto de disositivos,  manilado or m


único controlador. ÷ canal ata como m elo de ligação entre o
rocessador e o controlador.
UU
 
  


 
  

"   0 
  

A evolção do canal ermiti qe este oss sse sa rria


memria, eliminando a necessidade de os rogramas de E/
serem carregados ara a memria rincial. om essa nova
arqitetra, varias fnções de E/ deram ser controladas
com m nima intervenção da . Esse estágio do canal 
tambm denominado rocessador de entrada/sa da.

ƒ(
 
  

'
 

ƒ|
 
  
'
 

A tcnica de bffering consiste na tilização de ma área na


memria rincial, denominada bffer, ara a transferência de dados
entre os disositivos de E/ e a memria. Essa tcnica ermite qe
ma oeração de leitra o dado seja transferido rimeiramente ara
o bffer, liberando imediatamente o disositivo de entrada ara
realizar ma nova leitra.

÷ objetivo rincial desta tcnica  minimizar o roblema da


disaridade da velocidade de rocessamento existente entre a 
e os disositivos de E/ , mantendo-os ocados na maior arte do
temo.

ƒ—
 
  

'
 

Ā
 
  

 

ƒ_
 
  
 

A tcnica de sooling (simltaneos eriheral oeration on-


line,  semelhante à tcnica de bffering, tiliza ma área em
disco como se fosse m grande bffer. Veste caso, dados
odem ser lidos o gravados em disco, enqanto rogramas
são exectados concorrentemente.

Atalmente essa tcnica está resente na maioria dos


sistemas oeracionais, sendo tilizada no gerenciamento de
imressão.

ƒ]
 
  

 

Vo momento em qe m comando de imressão 


exectado, as informações qe serão imressas são
gravadas antes em m arqivo em disco, conhecido
como arqivo de sool, liberando imediatamente o
rograma ara otras atividades. osteriormente, o
sistema oeracional encarrega-se de direcionar o
conteúdo do arqivo de sool ara a imressora.

ƒ
 
  

 

ƒù
 
  

+ 
E 

ƒU
 
  

+ 
E 

É a caacidade de m cdigo exectável (cdigo reentrante


ser comartilhado or diversos sários, exigindo qe aenas
ma cia do rograma esteja na memria.

A reentrância ermite qe cada sário ossa estar em m


onto diferente do cdigo reentrante, manilando dados
rrios, exclsivos de cada sário.

ƒƒ
 
  

+ 
E 

|((
 
  

,  

|(|
 
  
,  

É ma tcnica qe ermite ao rocessador exectar múltilas


instrções aralelamente em estágios diferentes.
,    ma tcnica de hardware qe ermite qe a  realize
a bsca de ma o mais instrções alm da rxima a ser
exectada. Estas instrções são colocadas em ma fila de memria
(dentro da  onde agardam o momento de serem exectadas.
A tcnica de ieline  tilizada ara acelerar a velocidade de
oeração da , ma vez qe a rxima instrção a ser exectada
está normalmente armazenada dentro da  e não recisa ser
bscada da memria, normalmente mito mais lenta qe a .
|(—
 
  

" 

|(Ä
 
  

"  

É a interface entre o istema oeracional e ses rogramas


alicativos.

Em comtação, ma    (? ?„    o


mecanismo sado elo rograma ara reqisitar m serviço
do sistema oeracional, o mais esecificamente, do kernel do
sistema oeracional.

|(_
 
  

"  

odem ser:

$ Gerenciamento de rocessos;
$ Gerenciamento de inalização;
$ Gerenciamento de Arqivos;
$ Gerenciamento de iretrios e istemas de Arqivos; e
$ Gerenciamento de
emo.

|(]
 
  

    ,



rata os estados qe o rocesso assa, deste a sa criação
(rnning, ready, wait, blocked.

brocesso e
hread.

erá coberto no tico R÷E ÷, adiante......

|(
 
  

|(ù
 
  

     

Em algns casos  necessário intervir na execção de m rocesso,


seja or motivos lanejados o or instrções ilegais assadas ao
sistema (falhas.

or exemlo se m sário instri m editor de texto a imrimir o


conteúdo deste arqivo, e então verifica qe não qer mais imrimir,
deverá haver ma maneira de interromer o editor e eliminar o
rocesso, neste caso  tilizado a chamada kill.

|(U
 
  

|(ƒ
 
  

    /
&

Mitas chamadas de sistemas estão relacionadas com o sistema de


arqivos e os ses mtodos de acesso, como or exemlo,
solicitações de: criação, leitra e exclsão de arqivos.
A criação de m arqivo ode ser definida como ma chamada
creat(³abc´,751, assim m novo arqivo denominado  seria
gerado com ermissões ù ± ler, gravar e exectar ara o rorietário;
]  ler e exectar ara o gro e |  aenas exectar ara os otros.
(RWX.

||(
 
  

|||
 
  


   #
8
  /
& 

ão as chamadas qe se relacionam com diretrios o com o


sistema de arqivos, como m todo, em vez de m arqivo
esec fico.
Em se tratando de gerenciamento de diretrios, as das chamadas
mais imortantes seriam: 
e




, qe ermitem a criação e
remoção de diretrios.
÷tra chamada imortante neste gro são aqelas qe tratam
 
´ m disositivo ara ermitir o acesso aos ses diretrios e
³ 

arqivos, como exemlo o comando ³    ´ ara disonibilizar e


  ´ ara interromer o se so.
³  
||—
 
  

||Ä
 
  

    )

Basicamente trata-se de chamadas de sistema qe envolvem o


temo de relgio convencional. Entre as ossibilidades estão,
exemlo:
$
ime: qe retorna a hora do sistema;
$ time: Relgio ossa ser configrado elo ersário;
$ time: ermite qe o arqivo tenha definido os atribtos de data e
hora de criação e modificação; e
$
ime : Retorne o temo de tilização da .

||_
 
  

||]
 
  

,


||
 
  
,


Em istemas ÷eracionais,
  m mdlo exectável
único, qe roda concorrentemente com otros mdlos
exectáveis. or exemlo, em m ambiente mlti-tarefa (como o
nix qe sorta rocessos, m rocessador de texto, m
navegador e m sistema de banco de dados são rocessos
searados qe odem rodar concomitantemente. rocessos são
mdlos searados e carregáveis, ao contrário de threads, qe
não odem ser carregadas. Múltilas threads de execção odem
ocorrer dentro de m mesmo rocesso. Alm das threads, o
rocesso tambm incli certos recrsos, como arqivos e
alocações dinâmicas de memria.

||ù
 
  

!
 





2 !



   
 
 



 6
    

 C t t C  t t
S ft
 r  r   r 

  
 





 
Šr
 r  

 



     
 

sp ç 

 r ç   t

 
  

||U
     
 
  

,


m rocesso  basicamente m rograma em execção,


sendo constit do do cdigo exectável, dos dados
referentes ao cdigo, alm de otras informações
necessárias à execção do rograma.

||ƒ
 
  

,

m rocesso, em m sistema mltirogramável, não  exectado todo o
temo elo rocessador. rante sa existência, assa or ma srie de
estados. Basicamente existem três:

03  2
    qando está sendo rocessado ela .

,
 2
=  qando aenas agarda ma oortnidade ara
exectar, o seja, esera qe o ÷ aloqe a  ara sa
execção. ÷ ÷  resonsável or determinar a ordem ela qal os
rocessos em estado de ronto devem ganhar a . Vormalmente
existem vários rocessos no estado de ronto.

|—(
 
  

,

0 
 2  qando agarda algm evento externo o or
algm recrso ara oder rossegir se rocessamento. Ex.: o
trmino de ma oeração de E/ o a esera de ma
determinada data ara oder continar sa execção.

±ando o rocesso esera or m recrso do sistema qe não se


encontra dison vel,  dito qe o rocesso está no estado de
 & 2   em vez de  
 2 ;

|—|
 
  

,

 A diferença básica entre o estado de bloqeado e o de esera 
qe m rocesso bloqeado esera ser atorizado a tilizar m
recrso, enqanto o rocesso em estado de esera agarda ela
conclsão de ma oeração em m recrso qe já foi garantido.
 m rocesso em estado de ronto o de esera ode não se
encontrar, momentaneamente, na memria rincial, o seja,
armazenado na memria secndária. ma tcnica denominada
waing ode retirar rocessos da mamria rincial qando
não existe esaço sficiente ara todos os rocessos.

|——
 
  

,

 ÷ ÷ gerencia os rocessos atravs de listas, são estas: listas de
rocessos em estado de ronto e listas de rocessos no estado
de esera.

 m rocesso mda de estado diversas vezes, drante se


rocessamento, em fnção de eventos originados or ele rrio
(eventos volntários o elo sistema oeracional (eventos
involntários

|—Ä
 
  

,


 Eventos originados elo rrio rocesso: oeração de E/ ( V o


qalqer chamada a ma rotina do sistema, reqisitando algm tio de
serviço

 Eventos qe se originem do ÷ têm a intenção de ermitir maior


comartilhamento dos recrsos do sistema (Ex.: se m rograma está
em looing, o sistema deve intervir ara qe o rocessador não fiqe
dedicado eternamente ao rocesso onde o rograma está sendo
exectado.
|—_
 
  
Basicamente, existem 4 mdanças de estado qe odem ocorrer a m

 ( iagrama de
ransição de Estado:
1 . ,
 : 03  : qando m rocesso  criado, o sistema o
coloca em ma lista de rocessos no estado de ronto, onde agarda
ma oortnidade ara ser exectado. ada ÷ tem ses rrios
critrios e algoritmos ara a escolha da ordem em qe os rocessos
serão exectados (escalonamento o schedlling
2 . 03  : 0 
: m rocesso em execção assa ara o
estado de esera or eventos gerados elo rrio rocesso, como
or exemlo, ma oeração de E/ . Vesse caso o rocesso ficará
nesse estado eserando ela conclsão do evento solicitado.

|—]
 
  
3 . 0 
 : ,
 : m rocesso em esera assa ara ronto
qando a oeração solicitada  atendida o o recrso eserado 
concedido. m rocesso em esera semre terá de assar elo
estado de ronto antes de oder ser novamente selecionado ara
execção. Vão existe a mdança do estado de esera ara o estado
de execção diretamente.

4 . 03  : ,
 : m rocesso em execção assa ara o
estado de ronto or eventos gerados elo sistema, como or
exemlo, o fim da fatia de temo qe o rocesso ossi ara sa
execção. Vesse caso, o rocesso volta ara a fila de rocessos
rontos, onde agarda ma nova oortnidade ara continar se
rocessamento.
|—
 
  

,
 ,

 

$?


±




#  
! 

 
):  

  ±  $/

"
 + 
 / 

|—ù  !"±#


 
  
,
    
 

Fila de ronto(Ready: ±ando m rocesso  criado, o sistema o


coloca em ma fila de rocessos no estado de ronto, onde
agarda ma oortnidade ara ser exectado.

Fila de Esera(Wait: ±ando agarda algm evento externo o


or algm recrso ara oder rossegir se rocessamento.

Fila de Bloqeado(Blocked: ±ando o rocesso esera or m


recrso do sistema qe não se encontra dison vel.

|—U
 
  




 
 

  
  


   

  
  " "$# ± 
 

 


             
 

  


 



  
  

 
  
 

      
  4  "$# !




    
 

|—ƒ
 
  


 )


|Ä(
 
  

-',+"0 

m rocesso ode criar otros rocessos de forma hierárqica.


±ando m rocesso (
  cria otro rocesso, chamamos de

 o
  .
÷ sbrocesso de criar otros sbrocessos.
omo conseqüência dessa estrtra, caso m rocesso deixe de existir, os
sbrocessos sbordinados são eliminados.

|Ä|
 
  

-',+"0 

A tilização de sbrocessos ermite dividir ma alicação em artes qe


odem trabalhar de forma concorrente.
om o so de sbrocessos, cada solicitação imlicaria a criação de m novo
rocesso ara atendê-la, amentando o 
  da alicação e,
conseqüentemente, melhorando se desemenho.
÷ so de sbrocessos no desenvolvimento de alicações concorrentes
demanda consmo de diversos recrsos do sistema.
 emre qe m novo rocesso  criado (no nix isto  feito ela system call

, o ÷ deve alocar recrsos (contexto de HW, contexto de W e esaço
de endereçamento ara cada rocesso alm de consmir temo de 
neste trabalho.

|ė
 
  

)<+0/#

)
, o    3  em ortgês,  ma forma de m
rocesso dividir a si mesmo em das o mais tarefas qe odem ser
exectadas simltaneamente. ÷ sorte à    fornecido elo
rrio sistema oeracional ( ÷.

ma linha de execção ermite qe o sário de rograma, or


exemlo, tilize ma fncionalidade do „ enqanto otras
linhas de execção realizam otros cálclos e oerações.

|ÄÄ
 
  

)<+0/#

Em hardwares eqiados com ma única , cada linha de


execção(
hread  rocessada de forma aarentemente simltânea,
ois a mdança entre ma linha e otra  feita de forma tão ráida
qe ara o sário isso está acontecendo aralelamente.
Em hardwares com mltilos s o milti-cores as linhas de
execção(
hreads odem ser realizadas realmente de forma
simltânea;
÷s sistemas qe sortam aenas ma única linha de execção são
chamados de 

  e aqeles sistemas qe sortam múltilas
linhas de execção são chamados de „
 .

|Ä_
 
  

)<+0/#

hreads comartilham o rocessador da mesma maneira qe
rocessos.
ada linha de execção tem o mesmo    ? 
 e
comartilha o mesmo esaço de memria (endereçado a m mesmo
rocesso ai, orm o    

  diferente. endo
assim o
  casado elo escalonamento de linha de execção
 mito menor do qe o escalonamento de rocessos, entretanto, não
há acesso rotegido a memria nativamente (sa imlementação fica
a cargo do rogramador devido ao comartilhamento do esaço de
memria.
|Ä]
 
  

)<+0/#

'       3   


  
 

riação $ Veste estado, o rocesso ai está criando a thread qe  levada a
fila de rontos;
Execção $ Veste estado a linha de execção está sando a ;
ronto $ Veste estado a linha de execção avisa a  qe ode entrar no
estado de execção e entra na fila de rontos;
Bloqeado$ Veste estado, or algm motivo, a  bloqeia a linha de
execção, geralmente enqanto agarda algm disositivo de I/÷;

rmino$ Veste estado são desativados os contextos de hardware e a ilha 
deslocada

|Ä
 
  

*



|Äù
 
  
*



Vm sistema mltirogramado, mesmo qe s exista m


rocessador  oss vel vários rocessos estarem activos
simltaneamente

ontdo, em cada instante temoral, aenas m deles ode tilizar o


rocessador

A esta ilsão de vários rocessos correrem aarentemente em


aralelo, dá-se o nome de  : 


|ÄU
 
  

*



eois de ma comtação do rocessador, o rximo rocesso a


tilizá-lo  escolhido elo & 

  do ÷
(Escalonador.

"

7 
± ÷s vários rocessos ³cometem´ entre si ela
atenção do rocessador.

|ă
 
  

*



" 

± rocessos odem trabalhar em conjnto ara a
realização de tarefas mais comlexas.
± Esta cooeração exige ao ÷ a existência de
mecanismos de sincronização e comnicação entre
rocessos

|_(
 
  

"    ! 



|_|
 
  

"    ! 

 

A     

 , em inglês ! 
:,

"    (I,  o gro de mecanismos qe ermite
aos rocessos transferirem informação entre si.

|_—
 
  
"    ! 

 

everemos verificar 3 qestões envolvidas neste rocesso de


comnicação (Regras ara rogramação concorrente:

1 ± omo m rocesso ode assar informações ara otro


rocesso;
2 ± everá ser certificado qe dois o mais rocessos não interfiram
m com otro qando envolvidos em atividades cr ticas;
3 ± ÷ seqüenciamento adeqado qando estão resentes
deendências: e o rocesso A rodz dados e o rocesso B os
imrime, B tem de eserar ate qe A tenha rodzido algns dados
antes de começar a imrimir.
|_Ä
 
  

" %  "



itação onde dois o mais rocessos estão acessando dados


comartilhados e o resltado do rocessamento deende de qem
roda qando.

±ando m rocesso qer imrimir m arqivo, ele insere o nome


deste arqivo em m diretrio de sooler. ÷ servidor de imressão
verifica eriodicamente se há qalqer arqivo a ser imresso e, se
hover ele os imrime e, então remove ses nomes do diretrio de
sooler.
|__
 
  

" %  "



Imagine qe nosso diretrio de sooler esteja vazio, com números


de entradas seqüenciais 0,1,2..., cada ma caaz de armazenar m
arqivo a ser imresso, imagine tambm qe existem 2 variáveis
÷
qe aonta ara o rximo arqivo a ser imresso e IV qe
aonta ara a rxima entrada livre no diretrio de sooler.

Em nosso exemlo ÷
= IV = 0 (zero, o seja, não, existem
arqivos no sooler.

|_]
 
  

" %  "



Mais o menos simltaneamente os rocessos A e B, decidem


qe qerem colocar m arqivo na fila de imressão (sooler.

÷ rocesso A lê a variável IV e armazena o valor 0 (zero, em


ma variável local de controle (next_free_slot, s qe
acontece ma interrção de relgio, e a  decide qe o
rocesso A execto or temo sficiente (
ime lice e então
alterna ara o rocesso B .

|_
 
  

" %  "



|_ù
 
  

" %  "



÷ rocesso B tambm lê a variável IV e tambm recebe 0


(zero e escreve o nome do se arqivo na osição 0 (zero do
sooler.

|_U
 
  

" %  "



|_ƒ
 
  
" %  "


or fim o rocesso execta novamente, iniciando do lgar qe aro,
ela examina a sa variável de controle (next_free_slot e encontra o
valor 0 (zero, então escreve o nome do arqivo na osição zero do
sooler, sobrescrevendo o nome do arqivo qe o rocesso B
acabo de colocar ali.
Ele então calcla next_free_slot+1 e armazena em IV (1.
÷ rocesso B nmca realizará qalqer sa da, as esta sitação.

ara evitar as condições de corrida, recisamos imlementar


algoritmos de exclsão múta de execção e, ara tanto, definimos
as regiões cr ticas do rocesso
rocesso..
|](
 
  

" %  "



|]|
 
  
% "
   +% "
 

omo evitamos a condição de corrida ?

A chave ara revenir roblemas aqi e em mitas otras sitações


envolvendo memria comartilhada, arqivos comartilhados e tdo
mais comartilhado  encontrar algma maneira de roibir qe mais
de m rocesso leia e grave os dados comartilhados ao mesmo
temo.

ito em otras alavras recisamos de ma 3  B ± 


ma maneira de certificarmo-nos de qe se m rocesso esta
tilizando m arqivo o ma variável comartilhada, o otros
rocessos serão imedidos de fazer a mesma coisa.

|]—
 
  

% "
 

A dificldade do exemlo anterior ocorria orqe o rocesso '


começava tilizando ma das variáveis comartilhadas antes
de o rocesso / ter acabado de ter trabalhado com ela.

A arte do rograma cjo rocessamento, or manilar


dados comartilhados, ode levar à ocorrência de condições
de corrida  chamada REGIÃ÷ RÍ
IA.
RÍ
IA.

|]Ä
 
  
% "
 

÷bjetivo: nnca ermitir qe dois rocessos entrem simltaneamente


em sas regiões cr ticas corresondentes (i.e. referentes à mesma
variável comartilhada.

ondições ara ma boa solção ao roblema:

1 ois o mais rocessos não odem estar simltaneamente dentro


de sas regiões cr ticas corresondentes.

2 Venhm rocesso rodando fora de sa região cr tica ode


bloqear a execção de otro rocesso.

|]_
 
  
% "
 

ondições ara ma boa solção ao roblema:

3 Venhm rocesso ode ser obrigado a eserar indefinidamente


ara entrar em sa região cr tica.

4 Venhma consideração ode ser feita a reseito da velocidade


relativa dos rocessos, o a reseito do número de rocessadores
do sistema.

|]]
 
  
% "
   +% "
 

Resmo:

± seção do rograma onde são efectados acessos


(ara leitra e escrita a recrsos artilhados or
dois o mais rocessos.
±  necessário assegrar qe dois o mais
rocessos não se encontrem simltaneamente na
região cr tica.

|]
 
  

03  *B

2*    




|]ù
 
  

03  *B

0 
/2   

|]U
 
  
esativando as Interrções

÷ rocesso desativa todas as interrções logo as entrar em ma


região cr tica, e as habilita ao sair. Assim, o rocesso não oderá ser
interromido mesmo as acabar o se temo de execção.

om as interrções desativadas, nenhma interrção de relgio


ode ocorrer, com isso a  não oderá alternar de m rocesso
ara otro.

endo assim as o rocesso desativar as interrções, ele ode


examinar e atalizar a memria comartilhada, sem medo de otro
rocesso intervir.
|]ƒ
 
  
esativando as Interrções

roblemas:

¬ Vão  boa rática dar ao sário a caacidade de ativar


interrções;
¬ ÷ rocesso ode desativar as interrções e nnca mais ativá-las;
¬ e o sistema  mltirocessado (com 2 o mais s, desativar
as interrções afeta aenas a  qe execto a instrção de
desativamento.

|(
 
  
esativando as Interrções

onclsão:

esativar interrções  freqüentemente ma tcnica útil dentro do


sistema oeracional em si, mas não  aroriada como m
mecanismo geral de exclsão múta ara rocessos de sário.

||
 
  
Variáveis de Bloqeio

omo ma segnda tentativa, vamos rocrar ma solção de


software. onsidere ter ma variável única comartilhada de nome
 & (inicialmente com o valor Zero qe ode assmir os
segintes valores/sitação:

Variável comartilhada:

± 0: ningm está na região cr tica;


± 1: existe algm na região cr tica.

|—
 
  
Variáveis de Bloqeio

±ando m rocesso qer entrar na sa região cr tica, ele rimeiro


testa o bloqeio. e o bloqeio for 0, o rocesso assa o bloqeio
ara 1 e entra na região cr tica.

e o bloqeio já for 1, ele esera at o bloqeio ir ara 0.

|Ä
 
  
Variáveis de Bloqeio

roblema:

ontm o mesmo erro fatal, visto no sooler sooler. onha qe o


rocesso 1 leia o bloqeio e veja qe ele  0, orm antes de ele
oder definir o bloqeio como 1, otro rocesso 2  agendado,
execta e define o bloqeio como 1, qando 1 execta novamente,
ele tambm definirá o bloqeio igal a 1, e os dois rocessos estarão
em sas regiões cr ticas ao mesmo temo.

|_
 
  
Alternância Estrita o
rno

": variável comartilhada, inicialmente valendo 0. e há dois


"
rocessos (A e (B, sendo qe vez==0 indica a vez do rocesso (A
entrar em sa região cr tica e vez==1, a vez do rocesso (B.

|]
 
  
Alternância Estrita

roblemas:

¬ Esera ocada (teste cont no da variável comartilhada "vez":


 
 
consmo desnecessário do temo do rocessador ( 
 .

¬ m rocesso s terá vez se o otro entrar e sair da sa região


cr tica. Isto reresenta ma     — acima.
(Venhm rocesso rodando fora de sa região cr tica ode bloqear
a execção de otro rocesso. 

Este esqema ara exclsão múta  mito inadeqado qando m


dos rocessos  mais lento qe o otro.
|
 
  
/)0?@F


estar continamente ma variável at qe algm valor aareça 
chamado de  
 
;; Vormalmente deve ser evitado, ma vez
qe deserdiça temo de .

omente qando existe ma exectativa de qe a esera será crta


 qe a esera ativa será tilizada.

|ù
 
  
/    ,


ombinando a idia de trnos com a de variáveis de bloqeio e


variáveis de aviso, foi rojetado a rimeira     

ara o roblema da exclsão múta qe não reqer alternância
estrita.

Antes de tilizar as variáveis comartilhadas(antes de entrar na sa


região cr tica, cada rocesso chama a rotina  
G
 com o
se rrio número de rocesso (nosso exemlo aenas 2
rocessos 1 id 0 e 2 id 1, como arâmetro. Essa chamada
oderá casar esera, se necessário, at qe seja segro entrar.

|U
 
  

  ,


|ƒ
 
  
/    ,


eois qe termino de trabalhar com as variáveis


comartilhadas, o rocesso chama a rotina G

ara indicar qe termino e ermitir qe o otro rocesso
entre, se ele, então qiser.
Inicialmente nenhm rocesso está em sa região cr tica.
Agora o rocesso 1 (id 0 chama  
G

 
G
 . Ele
indica se interesse, configrando 
com 0, nesta
estaa o 2 não ossi interesse em sa região cr tica,
então teremos ara 1 os segintes valores em
 
G
  a saber:
|ù(
 
  

 
G
 ,| 1 id 0 então:
rocess = 0
÷ther = 1
Interested[0] =
re
Interested[1] = False

rn=0
While(0==0 and
interested[1]==
RE
airá do loo

|ù|
 
  

/    ,


e o rocesso 2 (id 1 chamar agora  


G

 
G
 ,
ele ficará arado at qe interested[0] seja FAL E,
evento qe s acontece qando o rocesso 1 (id 0
chama G
 ara sair da região cr tica.

|ù—
 
  

 
G
 ,— 2 id 1 então:
rocess = 1
÷ther = 0
Interested[0] =
re
Interested[1] =
re

rn=1

G
 While(1==1 and
interested[0] ==
RE
omente sairá do loo
   qando 1 (id 0 chamar
G

|ùÄ 1 id 0
 
  

/    ,


Agora considere o caso em qe os 2 rocessos 1(id 0


e 2 (id 1, chamam a  
G
 qase
simltaneamente. Ambos armazenarão os ses números
de rocessos em trn. ±alqer qe seja o
armazenamento feito or último,  este qe conta, o
rimeiro  erdido (sooler. onha qe o rocesso 1
armazene or último, assim trn  1. ±ando ambos os
rocessos chegam na declaração while, o rocesso 1
(id 0 entra em loo e não entra em sa região cr tica.
|ù_
 
  
 
G
 ,|,— 2 id 1 e trn = 1 então:
rocess = 1
÷ther = 0
Interested[0] = False
Interested[1] =
re

rn=1
1 id 0 ... rocess =0 .... ÷ther = 1
While(1==1 and
Interested[0] =
re interested[1] =
re
interested[0] ==
RE

rn=0
ai do loo
While (0=0 and interested[1] ==
re
Entra em loo, somente sai 2 G

|ù]
 
  
! 
 ) . 2)    . 

A instrção
L  ma chamada de sistema qe bloqeia o acesso a
memria (bloqeia o barramento at o trmino da execção da
instrção. Fnciona monitorando ma variável comartilhada ara
coordenar o acesso de Leitra e Escrita na memria, semelhante a
solção de eterson.

|ù
 
  

03  *B

0 
' &

|ùù
 
  
Bloqeio e esbloqeio
esbloqeio:: rimitivas lee/Wake

As solções or esera ocada ossem a srie deficiência de


consmirem mito temo do rocessador. ÷tro roblema  o

   
 

,


 cja descrição  dada a
segir:

1 ois rocessos L e H, de baixa e alta rioridade;


2 H esta bloqeado e L esta na sa região cr tica;
3 Acaba o   ?
 de L e ele  ssenso;
4 H esta em estado ;

|ùU
 
  
Bloqeio e esbloqeio
esbloqeio:: rimitivas lee/Wake

5 omo H tem maior rioridade qe L, então H  exectado antes;


6 Entretanto, H deseja entrar em sa região cr tica. omo L está na
sa região cr tica, H entra em loo ara verificar se ode entrar em
região cr tica at esgotar o se time slot de temo;
7 Vo entanto, tanto H como L estão em estado de Ready e semre
H vai ser escolhido ara a execção;
8 essa maneira, L nnca será exectado e deixará sa região
cr tica e H ficará em loo eterno.

|ùƒ
 
  
Bloqeio e esbloqeio
esbloqeio:: rimitivas lee/Wake

A metodologia de Bloqeio e esbloqeio de rocessos, roõe o


seginte algoritmo básico:

1 ois rocessos H e L;
2 H entra em sa região cr tica;
3 H  ssenso ois, termino se time slot;
4 L deseja entrar em sa região critica. Ao invs de entrar em loo,
onde ficará verificando se o acesso a região cr tica está livre at
esgotar o se time slot, ele será bloqeado (blocked e o
rocessador liberado;

|U(
 
  
Bloqeio e esbloqeio
esbloqeio:: rimitivas lee/Wake

A metodologia de Bloqeio e esbloqeio de rocessos, roõe o


seginte algoritmo básico:

5 H sai de sa região cr tica e desbloqeia L (estava agardando o


recrso, L então entra em estado de Ready e agarda atendimento
ara entrar em sa região cr tica.

÷ mecanismo de bloqeio e desbloqeio tiliza 2 rimitivas:


$ lee ± Bloqeia o rocesso qe chamo; e
$ Wake $ esbloqeia m rocesso elo I .

|U|
 
  
Bloqeio e esbloqeio
esbloqeio:: rimitivas lee/Wake

A tilização de slee e wake evita eseras ativas, e em conjnto


com otros mecanismos (e.g.
L, eterson consege-se garantir
a exclsão múta

roblema :
¬
??  ± m rocesso manda ³acordar´ o
otro sem este ter ³adormecido´ ainda

|U—
 
  
,
  ,

 " 
2   4

Exemlo de como as rimitivas (slee e wake odem ser


tilizadas. Este roblema tambm  conhecido como o
roblema do bffer limitado.

Assme-se a existência de 2 rocessos qe comartilham m


determinado bffer de tamanho fixo, número de itens do bffer
cont (c,
(c m chamado rodtor qe cria dados e aloca no
bffer, e m otro rocesso chamado onsmidor qe retira
bffer
dados do bffer .

|UÄ
 
  

,
  ,

 " 
2   4

|U_
 
  
,
  ,

 " 
2   4

roblema:

1 ÷ bffer está cheio e o rodtor deseja colocar mais dados no


bffer.

olção
olção:: Bloqear o rodtor e convocar o onsmidor
onsmidor;;

2 ÷ bffer está vazio e o rodtor deseja retirar m dado do bffer.

olção
olção:: Bloqear o onsmidor e convocar o rodtor
rodtor;;
|U]
 
  
,
  ,

 " 
2   4

±ando o bffer enche o rodtor execta slee e vai dormir


eserando qe o consmidor o acorde (wake ± id do rodtor.

$ m wake exectado elo consmidor ao consmir m dado


acorda o rodtor
rodtor..

±ando o bffer esta vazio o onsmidor execta slee e vai dormir


eserando qe o rodtor o acorde (wake id do onsmidor.

$ m Wake exectado elo rodtor ao rodzir m dado acorda


o onsmidor
onsmidor..
|U
 
  
,
  ,

 " 
2   4

Ainda assim ode haver condição de corrida


corrida::

1 Fila vazia (cont == 0;


2 onsmidor testo se cont == 0, mas ainda não dormi (slee;
3 Interrção;
4 rodtor coloca item na fila e tenta acordar o consmidor, sem
qe este esteja dormindo (wake sem trmino do slee - erde-se o
wake.
5 onsmidor volta a exectar e dorme (slee;
6 rodtor enche a fila e dorme (slee.

! )0*/)+/1/#H
|Uù
 
  
,
  ,

 " 
2   4

÷ roblema  chamado de : roblema de Mensagem erdida

A essência deste roblema esta no fato de enviarmos m sinal ara acordar


(wake ara m rocesso qe ainda não esta dormindo.

olção: Adicionar m bit de esera or desertar


desertar. ±ando m sinal ara
acordar  enviado ara m rocesso qe ainda esta acordado, esse bit 
ativado. Mais tarde, qando o rocesso tenta ir dormir, se o bit de esera
estiver ativado, ele será desativado, mas o rocesso ermanecerá acordado.
Esta solção  aliativa qando ensamos em vários rocessos esse bit
crescerá e o roblema em rinc io continará a existir.

|UU
 
  
D


ma solção ara o roblema da Mensagem erdida foi a roosta


de so de ma variável inteira ara contar o número de sinais de
acordar e salvá-los ara so ftro. Esta variável recebe o nome de
emáforo e  sada ara sincronizar rocessos. e objetivo 
coordenar o acesso a região cr tica e evitar os roblemas qe levam
a condição de corrida. Esta variável ode armazenar o valor zero
(indicando qe nenhm sinal de acordar foi salvo ± wake o otro
valor ositivo caso 1 o mais sinais de acordar estejam endentes.
Alm disso foi roosto as segintes oerações sobre esta variável
chamada semáforo:

|Uƒ
 
  
D


own (orresondente ao slee: verifica se o valor do semáforo 


maior qe 0, se for decrementa o valor do semáforo e rossege.
aso semáforo = 0 o rocesso irá dormir (blocked sem terminar de
exectar o ÷WV (or enqanto.

As oerações, verificar valor do semáforo e alterar se conteúdo são


tarefas exectadas como ma ação atômica e indivis vel. om isso,
evitamos o roblema de ma interrção entre essas das
atividades.

|ƒ(
 
  
D


 (orresondente ao wake: esta oeração incrementa o valor


do semáforo qe estão dormindo associado ao semáforo em
qestão. e hover algm o algns rocessos bloqeados,
imedidos de chamar a rimitiva ÷WV, m deles  escolhido ara
desbloqeio (aleatoriamente e  dado a ermissão de terminar a
execção da oeração ÷WV qe ele havia começado
anteriormente, com isso o rocesso acordado qe estava bloqeado
irá decrementar o valor do semáforo, fazendo com qe ele
ermaneça em zero. Vo entanto existirá m rocesso a menos
dormindo no semáforo.

|ƒ|
 
  
D


As oerações de semáforos são atômicas,o seja, não odem ser


interromidas. As oerações sobre semáforos são feitas via chamadas de
÷ (sistema oeracional , onde o ÷ desativará as interrções enqanto o
semáforo estiver seno tilizado.

É garantido qe as o in cio de ma oeração de semáforo, nenhm otro


rocesso acesse o semáforo at qe a oeração tenha se comletado.

emáforo Mtex  binário (assme 0 o 1 e  resonsável or garantir a


exclsão múta. Mtex_lock $ Imedido $ 0 e Mtex_nlock $ esimedido
$1

|ƒ—
 
  
,
  ,

 " 
2 D

Ainda assim ode haver condição de corrida


corrida::

1 Fila vazia (cont == 0;


2 onsmidor testo se cont == 0, own (bloqeado, semáforo+1;
3 Interrção;
4 rodtor coloca item na fila e tenta acordar o consmidor, execta

5 onsmidor sai de bloqeado, contina a exectar o own,
semáforo-1 ± acorda onsmidor ;
6 onsmidor retira dados da fila...rodto coloca dados na fila
! )0*/?F!+I)+/1/+H
|Ā
 
  

* 


s ma rimitiva de sincronização de alto n vel. m Monitor 


ma coleção de variáveis de rocedimentos e de estrtras de
dados o são agrados em m tio esecial de mdlo o de
acote. ÷s rocessos odem chamar os rocedimentos em
m monitor semre qe qiserem, mas eles não odem
acessar diretamente as estrtras de dados internas do
monitor a artir de rocedimentos declarados fora do monitor.

|ƒ_
 
  
RE M÷:
M÷:

Mecanismos de esera ativa


ativa::
esabilitar Interrção
Variáveis de Bloqeio
Alternância Estrita
olção de eterson
Instrção
L

Mecanismos de esera bloqeada


bloqeada::
lee/Wake
emáforos
Mtex
Monitores
|ƒ]
 
  

0     
/  

|ƒ
 
  

/    ,
  0   

  



 
    
 


 
 
 
  
  

   
 
 





 
 



   

± 
 
 
 

  
 

 


 
 
 
 

  
 
  


  ± 
 
 


   
 



|ƒù
 
  
  
    %

$  & 

     


   


 
 
  

 
 


 
    
      
 





  "   


 
 


  
   
 
 
 




 &


 
  



     

  
 
 

  

 #
$ 


  
 #


$
 
 
 





|ƒU
 
  

0   

 A rincial fnção do escalonamento  decidir qal dos rocessos


rontos ara execção deve ser alocado à .
 ada ÷ necessita de m algoritmo de escalonamento adeqado a se
tio de rocessamento. ÷s rinciais critrios qe o escalonamento tenta
otimizar:
 -  ",-: deseja-se qe a  fiqe a maior arte do
temo ocada, sendo dividida de forma imarcial entre os
rocessos. ma faixa de tilização de 90% indica m sistema
bastante ocado, rximo de sa caacidade ideal.

|ƒƒ
 
  

0   

 )
 : reresenta o número de rocessos (tarefas
exectados em m determinado intervalo de temo. ±anto maior o

hroghot , maior o número de tarefas exectadas em fnção do
temo.
 )  

 :  o temo qe m rocesso leva desde sa
admissão at o se trmino, levando-se em consideração o temo de
esera ara alocação de memria, esera na fila de rocessos
rontos, rocessamento na  e oerações de E/ .

—((
 
  
0   

 ) 
 : em sistemas interativos, este temo  o temo
decorrido do momento da sbmissão do edido at a rimeira
resosta rodzida. ÷ temo de resosta não  o temo tilizado no
rocessamento total de ma tarefa, e sim o temo decorrido at qe
ma resosta seja aresentada.

 e ma maneira geral, qalqer algoritmo de escalonamento bsca


otimizar a   ",- e o )
  , enqanto tenta diminir
os    

  e 
  .

—(|
 
  

0   

 ÷ algoritmo de execção não  o único resonsável elo temo de


execção de m rocesso. ÷tros fatores, como o  

  2  ",- e de  
  
%  06
devem ser considerados no temo total da execção (  

o    o    .

 ÷ escalonamento somente afeta o temo de esera de rocessos na fila


de ronto.

—(—
 
  

0     ? ,
  
Vos rimeiros istemas ÷eracionais Mltirogramáveis, onde redominava
tiicamente o rocesso batch, o escalonamento imlementado era do tio Vão
reemtivo .
Veste tio de escalonamento, qando m rocesso ganha o direito de tilizar
a  nenhm otro rocesso ode lhe tirar este recrso.
odem ser:
Escalonamento irclar imles - FIF÷
Escalonamento hortest Job First - JF
Escalonamento ooerativo

—(Ä
 
  

0    "

   $!$
Há ma fila única de rocessos rontos
÷ rimeiro rocesso da fila (first-in  o rimeiro a ser selecionado ara
execção (first-ot
÷ rocesso selecionado ode sar a  indefinidamente
Vovos jobs são encaminhados ara o fim da fila
±ando m rocesso bloqeia, o rximo da fila  selecionado
rocessos qe assaram do estado bloqeado ara ronto são colocados no
fim da fila
Fácil de imlementar
A falta de reemção ode trazer desvantagens
—(_
 
  

0    
 J $
 : J$
Veste escalonamento cada rocesso tem associado o se temo de
execção. esta forma qando a  está livre o rocesso em estado de
ronto qe tiver menor temo de execção será selecionado ara execção.

÷ escalonamento JF favorece os rocessos qe exectam rocessos


menores, alm de redzir o temo mdio de esera (na fila de rocessos
rontos em relação ao escalonamento FIF÷.

A dificldade  determinar, exatamente, qanto temo de  cada rocesso


necessita ara terminar se rocessamento.

—(]
 
  

0    " 

Veste escalonamento algma ol tica não-reemtiva deve ser adotada. A
artir do momento qe m rocesso está em execção, este volntariamente
libera o rocessador, retornando ara a fila de ronto.

Este tio de escalonamento ermite a imlementação de sistemas


mltirogramáveis com ma melhor distribição do so do rocessador entre
os rocessos.

 a rincial caracter stica está no fato de a liberação do rocessador ser


ma tarefa realizada exclsivamente elo rocesso em execção, qe de
maneira cooerativa libera a  ara m otro rocesso.
—(
 
  

0    " 

Vo escalonamento cooerativo, não existe nenhma intervenção do ÷ na
execção do rocesso. Isto ode ocasionar srios roblemas na medida em
qe m rograma ode não liberar o rocessador o m rograma mal escrito
ode entrar em   , monoolizando dessa forma o rocessados.

m exemlo deste tio de escalonamento ode ser encontrado nos sistemas
Windows 3.1 e 3.11, sendo conhecido como *
 " 
 . Vestes
sistemas as alicações verificam ma fila de mensagens eriodicamente ara
determinar se existem otras alicações qe desejam sar a . aso ma
alicação não verifiqe a fila de mensagens as otras tarefas não terão chance
de ser exectadas at o trmino do rograma.
—(ù
 
  

0    ,
  

m algoritmo de escalonamento  dito reemtivo qando o sistema


ode interromer m rocesso em execção, ara qe otro tilize o
rocessador.
÷    
  ermite qe o sistema dê atenção
imediata a rocessos mais rioritários, como no caso de sistemas de
temo real, alm de roorcionar melhores temos de resosta em
sistemas de temo comartilhado.
÷tro benef cio deste tio de escalonamento  o comartilhamento do
rocessador de ma maneira mais niforme entre os rocessos.

—(U
 
  

0    ,
  

A troca de m rocesso or otro na  (troca de contexto, casada


ela reemção, gera m 
 ao sistema.

ara isto não se tornar cr tico, o sistema deve estabelecer


corretamente os critrios de reemção.

—(ƒ
 
  

0     ,
  
odem ser:
Rond-Robin
rioridades
Filas Múltilas
Múltilos rocessadores

—|(
 
  

0    "

: +   + 

m dos algoritmos mais simles, mais antigo e mais amlamente


tilizado. A cada rocesso á atribido m intervalo de temo, chamado
de qantm drante o qal lhe  ermitido exectar.
aso o rocesso ainda esteja exectando ao final do qantm,  feita a
troca do mesmo or otro rocesso qe esteja ronto ara a fase de
execção.
e o rocesso bloqeo o termino antes de o qantm ter acabado,
a troca or otro rocesso  realizada no exato momento do bloqeio
o do trmino da oeração do rocesso.
—||
 
  

)!*0: .!"!?  >-/?)-*

ara evitar qe m rocesso monoolize o sistema, a tcnica de


IME-
LIIVG o ±AV
M divide o temo de rocessamento de cada m
em fatias (slice. ±antm  o temo limite de so da  elo
rocesso.

m rocesso do sário, ma vez interromido or trmino do se


qantm, volta à fila de ronto ara exectar e ermite o escalonamento
de otro rocesso.
—|—
 
  

0    "

: +   + 

A única coisa qe ode dar m oco de trabalho na imlementação


do Rond Robin  a determinação do tamanho do qantm.

m qantm de tamanho mito eqeno, casa scessivas troca de


contexto, baixando a eficiência do rocessador.

m qantm de tamanho mito grande ode levar a m temo de


resosta não aceitável ara sários interativos.

—|Ä
 
  

0    "

: +   + 

÷ algoritmo  semelhante ao FIF÷, orm, qando m rocesso assa ara o


estado de execção, existe m temo limite ara a sa tilização de forma
cont na. ±ando este temo (time-slice o qantm exira sem qe antes a
 seja liberada elo rocesso, este volta ao estado de ronto (
 

 , dando a vez a otro rocesso.
A fila de rocessos  tratada como ma fila circlar.



 ±


  
š 

%
 %
   
 

—|_
 
  
0   
,



÷ escalonamento Rond Robin assme de forma iml cita qe todos


os rocessos são igalmente imortantes.
A necessidade de se considerar fatores externos ara a escolha do
rximo rocesso qe vai ganha o rocessador  denominada
escalonamento or rioridade
rioridade..
ada rocesso  associado ma rioridade, e o rocesso ronto com
maior rioridade será aqele qe vai rodar rimeiro.

—|]
 
  

0   
,



A rioridade  ma caracter stica do 3  4 do rocesso,


odendo ser D  o  E  .

A rioridade  dita D  qando não  modificada drante a


existência do rocesso.

Va rioridade  E  a rioridade do rocesso ode ser ajstada de


acordo com o tio de rocessamento realizado elo rocesso e/o ela
carga do sistema.

—|
 
  

0   
,



oda vez qe m rocesso for ara a fila de rocessos rontos com rioridade
serior ao rocesso em execção, o ÷ deverá interromer o rocesso
corrente, colocá-lo como ronto e escalonar o rocesso de maior rioridade
ara execção (
 


 
Assim como na reemção or temo a reemção or rioridade 
imlementada mediante m clock, qe interrome o rocessador em
determinados intervalos de temo, ara qe a rotina de 0   
reavalie as rioridades e, ossivelmente, escalone otro rocesso.
ara evitar qe rocessos com alta rioridade monoolizem o rocessador
(evitando o starvation, o escalonador deverá decrementar a rioridade do
rocesso qe esta monoolizando a , a cada interrção de temo.

—|ù
 
  
0   
,


÷s rocessos oderão ser agrados em classes de rioridade e sar
o escalonamento de rioridades entre as classes e o Rond Robin
dentro de cada classe. onforme figra abaixo:

—|U
 
  

0   
,


/
 : enqanto hover rocessos com rioridade 4: rond-robin na
classe (rocessos em otras classes não são escolhidos. e rioridade 4
vazia, rond-robin na rioridade 3 e assim or diante. ada vez qe o rocesso
recebe o temo ara exectar, a sa rioridade  decrementada. ±ando todos
os rocessos se encontrarem no mesmo n vel, as rioridades iniciais são
restaradas.

—|ƒ
 
  

0   
$ *B 

rocessos não ermanecem nma mesma classe de rioridade at o


fim de sa execção
±ando se qantm exira, ele vai ara ma fila de rioridade mais
baixa/qantm mais alto
Filas de rioridades diferentes têm qantm diferentes
 iminição de rioridade X amento de qantm
Redzir a qantidade de trocas de contexto ara rocessos grandes

——(
 
  

0    $ *B 

——|
 
  

0    
 
ada rocesso tem direito a 1/n temo da , sendo n o número de
rocessos.
ara isso a  deve saber qanto temo cada rocesso já so.
ividindo o temo qe já so elo temo qe deveria ter ara
comletar a oeração (
emo rometido, obtm-se ma razão entre
ambos, onde:
$ e essa razão for menor do qe 1, então o rocesso terá
direito a mais temo de ;
$ e essa razão for maior do qe 1, então o rocesso terá
menos temo de  do qe os otros rocessos.
———
 
  

0     — 

aso não haja memria dison vel ara todos os rocessos,


algns destes deverão ser mantidos em disco.

Esta sitação tem grande imacto sobre o escalonamento, ma


vez qe o temo gasto na troca de contexto envolvendo o disco
 algmas ordens de magnitde maior do qe qando ambos os
rocessos estão na memria rincial.
——Ä
 
  

0     — 
ma forma mais rática de tratar com o swa de rocessos 
sando m escalonador de 2 n veis.
m sbconjnto de rocessos rontos  carregado na memria
rincial, e otro sbconjnto  mantido em disco.
m escalonador, denominado escalonador de n vel mais baixo,
se restringe a escolher rocessos somente da memria,
tilizando qalqer ma das ol ticas de escalonamento
escalonamento.

——_
 
  

0     — 

m otro escalonador de n vel mais alto  invocado ara remover


rocessos qe estão na memria há bastante temo, e trazer ara a
memria aqeles rocessos qe estão em disco há mito temo.
±ando esta troca for feita, o escalonador de n vel mais baixo se
restringe, novamente, a escolher rocessos qe estão na memria
ara serem exectados.
Esta solção faz com qe o escalonador de baixo n vel se reoce
em escalar os rocessos qe estão na memria enqanto qe o de alto
n vel em trazer e levar rocessos entre a memria e o disco (swa.
——]
 
  

0     — 
÷ escalonador de alto n vel ode sar m dos segintes critrios de
escolha de rocessos:
$ ±al o temo decorrido desde qe o rocesso foi trazido ara a
memria e levado de volta ara o disco;
$ ±ando temo de  o rocesso teve;
$ ±al o tamanho do rocesso;
$ ±al a rioridade do rocesso.
oderemos tilizar o Rond Robin, rioridade, o qalqer otro
mtodo de escalonamento, ara rogramar o escalonador de alto n vel.
——
 
  

0       ) +

 Vestes sistemas o fator   cr tico.


 iferentemente dos sistemas de temo comartilhado, onde m
eqeno temo de resosta  desejado orm não obrigatrio, todo
rocessamento em temo real deve ser realizado dentro de limites
r gidos de temo o, caso contrário, todo sistema ode ficar
comrometido.

——ù
 
  

#. 

——U
 
  

# 
eadlock (blocagem, imasse, no contexto do sistemas oeracionais
( ÷, caracteriza ma sitação em qe ocorre m imasse e dois o
mais rocessos ficam imedidos de continar sas execções, o seja,
ficam bloqeados.
÷ 
 ocorre com m conjnto de rocessos e recrsos não-
reemt veis, onde m o mais rocessos desse conjnto está
agardando a liberação de m recrso or m otro rocesso qe, or
sa vez, agarda a liberação de otro recrso alocado o deendente
do rimeiro rocesso.

——ƒ
 
  

# 
A definição textal de 
 normalmente, or ser mito abstrata, 
mais dif cil de se comreender do qe a reresentação or grafos, qe
será resmida mais adiante. Vo entanto, algmas observações são
ertinentes:
÷ 
 ode ocorrer mesmo qe haja somente m rocesso no
÷, considerando qe este rocesso tilize múltilos  ? e qe tais
 ? reqisitem os recrsos alocados a otros  ? no mesmo
rocesso;

—Ä(
 
  

# 
÷ 
 indeende da qantidade de recrsos dison veis no
sistema;
Vormalmente o 
 ocorre com recrsos como disositivos,
arqivos, etc. Aesar da  ser considerada como recrso ara o
÷, em geral  m recrso facilmente reemt vel, ois existem os
escalonadores ara comartilhar o rocessador entre os diversos
rocessos, qando trata-se de m ambiente mltitarefa.

—Ä|
 
  

#  : " %  D


 
 

7     
É comm dizer qe o 
 ocorre natralmente em algns
sistemas. Vo entanto,  necessário ressaltar qe tais sistemas
recisam obedecer a algmas condições ara qe ma sitação de

 se manifeste.
Essas condições estão listadas abaixo, onde as três rimeiras
caracterizam m modelo de sistema, e a última  o 

roriamente dito:
rocessos qe estejam de osse de recrsos obtidos anteriormente
odem solicitar novos recrsos. aso estes recrsos já estejam
alocados a otros rocessos, o rocesso solicitante deve agardar ela
liberação do mesmo;
—Ä—
 
  

#  : " %  D


 
 

7     

|  "   3  B: ada recrso o está alocado a


exatamente m rocesso o está dison vel;

— - "   :: 


: rocessos qe estejam de osse de
recrsos obtidos anteriormente odem solicitar novos recrsos;

—ÄÄ
 
  

#  : " %  D


 
 

7     

Ä : "    :
  : recrsos já alocados a rocessos
não odem ser tomados a força. Eles recisam ser liberados
exlicitamente elo rocesso qe detm a sa osse;

_ : "    
 

: deve existir ma cadeia circlar de
dois o mais rocessos, cada m dos qais eserando or m recrso
qe está com o rximo membro da cadeia.

—Ä_
 
  

#  : +
       
 
÷ 
 tambm ode ser reresentado na forma de grafos
dirigidos, onde o rocesso  reresentado or m c rclo e o recrso,
or m qadrado. ±ando m rocesso solicita m recrso, ma seta 
dirigida do c rclo ao qadrado. ±ando m recrso  alocado a m
rocesso, ma seta  dirigida do qadrado ao c rclo.
Va figra seginte, odem-se ver dois rocessos diferentes (/ e ',
cada m com m recrso diferente alocado (+| e +—. Vesse exemlo
clássico de 
,  facilmente vis vel a condição de  



em qe os rocessos se encontram, onde cada m solicita o
recrso qe está alocado ao otro rocesso.
—Ä]
 
  

# 

—Ä
 
  

#  : )
     

As sitações de deadlock odem ser tratadas o não em m sistema, e


cabe aos desenvolvedores avaliar o csto/benef cio qe essas
imlementações odem trazer.

Vormalmente, as estratgias sadas ara detectar e tratar as sitações


de 
? geram grande sobrecarga, odendo at casar m dano
maior qe a rria ocorrência do 
, sendo, às vezes, melhor
ignorar a sitação.

—Äù
 
  

#  : )
     
Existem três estratgias ara tratamento de 
?:
1 Ignorar a sitação;
2 etectar o 
 e recerar o sistema; e
3 Evitar o 
;

—ÄU
 
  

# 

03  |

÷ seja, o rocesso 1 reserva ara si o Recrso 1, or sa vez o rocesso


2 e o rocesso 3 reservam resectivamente ara si o Recrso 2 e o
Recrso 3. or exemlo se m dos otros rocessos necessitar de m dos
recrsos anteriormente reservados or otros rocessos, como acontece
no diagrama da figra anterior entramos nma sitação de eadlock.

—ă
 
  : #. 


 
    —   

 reemt veis e;
 Vão-reemt veis.

m recrso reemt vel  aqele qe ode ser tomado do rocesso


qe estiver sando o recrso, sem nenhm rej zo ara o rocesso.

A memria  m exemlo de recrso reemt vel.

—_(
 
  : #. 

+0"-+  ,+00*,)K10.

onsidere m sistema com 512 Kb de memria dison vel ara sários, ma
imressora e 2 rocessos de 512 Kb (1 e 2 cada. Estes rocessos
desejam imrimir algma coisa.

÷ rocesso 1  carregado na memria e reqisita e obtm acesso a


imressora, este então inicia o rocessamento de imressão (cálclos,lay-ot
etc, orm antes de terminar 1 excede o se temo (time slice e  retirado
da memria (sai de EXE
AV ÷ e vai ara R÷V
÷.

÷ rocesso 2 começa então o se rocessamento e tenta obviamente sem


scesso, garantir ara si o so da imressora.

—_|
 
  : #. 

+0"-+  ,+00*,)K10.

otencialmente temos configrado ma sitação de EA L÷K, ois


1 tem a imressora e 2 tem a memria, e nenhm dos dois ode
rossegir sem o recrso qe esta com o otro.

Felizmente  oss vel tomar a memria de 2 (vai ara BL÷KE ,


coiando 1 (swa do disco ara a memria agora 1 ode
exectar, realizar a imressão e liberar a imressora, qe qando
liberada será entrege a 2 (sai de BL÷KE e vai ara R÷V
÷,
ara qe este termine o se rocessamento.

Veste caso não vai ocorrer EA L÷K.


—_—
 
  : #. 

+0"-+  ?A:,+00*,)K10.

Em contraartida m recrso não-reemt vel  aqele qe não ode


ser tomado de se rorietário atal sem casar roblemas no
rocessamento corrente.

or exemlo se m rocesso inicio a imressão de resltados, a


imressora não oderá ser tomada dele e entrege a otro rocesso,
sem qe haja m rej zo considerável no rocesso.

ara recrso não-reemt vel ocorrerá EA L÷K.

—_Ä