8/18/2019 Parte I v2
1/43
8/18/2019 Parte I v2
2/43
O que é um Sistema Operacional
!amada de software entre o hardware e as aplicaç"es dos usu#rios
Compiladores EditoresInterpretador
de comandos
Sistema
Bancário
Sistema Operacional
Linguagem de máquina
Microarquitetura
Dispositivos físicos
Programas de aplicaço!fficeBro"ser
I#E$plorer
Programasde Sistema
%ard"are
8/18/2019 Parte I v2
3/43
$unç"es do Sistema Operacional
A partir da máquina real (hardware), criaruma m#quina estendida %a&strata'.
Gerenciar os recursos de hardwaredisponíveis às aplicações.
8/18/2019 Parte I v2
4/43
Ocultar a complexidade do hardware. Oferecer interfaces padronizadas de acesso
ao hardware. ermitir uma visão homogênea de
dispositivos distintos.
O SO como m#quina a&strata
S.O.
aplicaç!o
"licar em um arquivo
Assi#n(file, $%&'A%*.++-)open(file)
read(file, ch)/close(file)
*ove head to sector 012 in 3A+read 145 67tes to mem 251289move head to sector 85:8;42
read 0
8/18/2019 Parte I v2
5/43
(ecursos da m#quina processadores espaço em mem=ria arquivos cone>ões de rede dispositivos e>ternos
O SO como Gerenciador de (ecursos
!ontrole de acessoequili6rar usoevitar conflitos
8/18/2019 Parte I v2
6/43
8/18/2019 Parte I v2
7/43
Ser)iços de Sistemas Operacionais
"ada B.O. oferece serviços e pro#ramas específicos,porCm apresentam funções em comum.
⇒ *+ecução de pro,ramas- capacidade de carre#ar,e>ecutar e encerar um pro#rama.
⇒ Operaç"es de IO- deve fornecer meios para controlararquivos ou dispositivos de DEO.
⇒ /anipulação do sistema de arqui)os- ler, #ravar, criar ee>cluir arquivos.
⇒ !omunicação- comunicaç!o de processos.
⇒ 0etecção de erros- notar falhas de "F, mem=ria oudispositivos de DEO e tomar medidas adequadas.
8/18/2019 Parte I v2
8/43
Ser)iços de Sistemas Operacionais
⇒ Alocação de recursos- #erenciar recursos de mem=ria, "Fou dispositivos DEO.
⇒ !onta&ili1ação- manter um re#istro dos usuários que utiliGamos recursos do computador referente a quantidade e que tipo de
recursos.⇒ Proteção- A proteç!o visa #arantir que todo acesso aosrecursos do sistema se?a controlado, evitando conflitos einte#ridade dos dados.
8/18/2019 Parte I v2
9/43
*ntendendo o Sistema Operacional
2ard3are2ard3are
Fsuário
&suário controlando o %ard"are
8/18/2019 Parte I v2
10/43
*ntendendo o Sistema Operacional
2ard3are2ard3are
Fsuário
Soft3are
Programa controlando o %ard"are
8/18/2019 Parte I v2
11/43
*ntendendo o Sistema Operacional
2ard3are2ard3are
Fsuário
SistemaOperacional
Dnterpretador de "omando (Bhell) ou Dnterface Hráfica
8/18/2019 Parte I v2
12/43
*ntendendo o Sistema Operacional
2ard3are2ard3are
Fsuário SistemaOperacional
Soft3are
Programas fa'endo solicitaço aoSistema !peracional( que as
repassa ao )ard"are#
8/18/2019 Parte I v2
13/43
*ntendendo o Sistema Operacional
2ard3are2ard3are
Fsuário SistemaOperacional
Soft3are
Dnterpretador de "omando ou Dnterface Hráfica
Al#uns pro#ramas podemacessar diretamente o
9ardware
8/18/2019 Parte I v2
14/43
!apacidade de e+ecução de tarefas
IPO 0*$I5I67O S890IVIS7O !A(A!*(:SI!AS
/onotarefa
O sistema operacionaltem capacidade dee>ecutar apenas umpro#rama ou tarefa de
cada veG.>emplo& "E*, *BI%OB
J!o tem
/ultitarefaou/ultipro;,ram#)el
Bistemas Operacionaisque tem a capacidade
de e>ecutar mais deuma tarefa oupro#ramasimultaneamente&>emplo& Fni>,Kindows, Linu>,OBE8
8/18/2019 Parte I v2
15/43
Sistema Operacional /ultitarefa
2ard3are2ard3are
Fsuários S. O.!oop. ou Preemp.
Soft3are
Dnterpretador de "omando ou Dnterface Hráfica
Soft3are
8/18/2019 Parte I v2
16/43
8/18/2019 Parte I v2
17/43
Sistemas de empo !ompartilclusivamente,a ele.
S. O. /ultitarefa /ultipro,ram#)el
8/18/2019 Parte I v2
18/43
Sistemas de empo (eal %real time'- s!o 6emsemelhantes em implementaç!o aos sistemas de tempo
compartilhado. A maior diferença C o tempo de resposta e>i#idona e>ecuç!o das tarefas. nquanto em sistemas de tempocompartilhado o tempo de resposta pode variar sem comprometeras aplicações em e>ecuç!o, nos sistemas de tempo real ostempos de resposta devem estar dentro de limites rí#idos, que
devem ser o6edecidos, caso contrário, poder!o ocorrerpro6lemas irreparáveis.
P Jos sistemas de tempo real n!o e>iste a idCia de fatia de tempo,utiliGada pelos sistemas timeIsharin#. Fm pro#rama e>ecuta otempo que for necessário, ou atC que apareça outro prioritário em
funç!o de sua importMncia no sistema. sta importMncia ouprioridade de e>ecuç!o C controlada pela pr=pria aplicaç!o e n!opelo sistema operacional.
P sses sistemas s!o normalmente usados em controle deprocessos, como no monitoramento de refinarias de petr=leo,controle de tráfe#o aCreo, usinas nucleares, etc.
S. O. /ultitarefa /ultipro,ram#)el
8/18/2019 Parte I v2
19/43
/onousu#rio = /ultiusu#rio
Pode fornecer
programas*serviços para váriosusuários( por+m este programas
sero e$ecutados na máquina
solicitante ,cliente-#
! Sistema atende diversos
usuários com a possi.ilidade dee$ecutar os programas no
pr/prio servidor#
O S. O. quanto aos usu#rios
8/18/2019 Parte I v2
20/43
Bistemas Operacionais s!o estudados dividindoIse suasprincipais funcionalidades. +ipicamente divideIse afuncionalidade de um sistema operacional em&
P Ger>ncia de processosP Ger>ncia de mem?ria- responsável pelo controle ealocaç!o de mem=ria aos processos ativos.
P Sistema de arqui)o- responsável pelo acesso e inte#ridade
dos dados residentes em mem=ria secundária (por e>emplodisco, fita, etc).
P !ontrole de IO %controle de entrada sa@da'- responsávelpelo controle e e>ecuç!o de operações de ntradaEBaída,
6em como da otimiGaç!o do uso dos perifCricos.
*strutura de um sistema operacional
8/18/2019 Parte I v2
21/43
!onceito de Processo
R Fm processo C 6asicamente um pro#rama em e>ecuç!o
acompanhado dos valores atuais do contador de pro#ramas, dosre#istradores e de variáveis.
R cada processo tem sua pr=pria "F virtual.
R A "F e>ecuta apenas um processo por veG. +rocando, a todomomento, de um processo para outro. (pseudoIparalelismo).
*SA0OS 0* P(O!*SSO
I 5o)o- o processo está sendo criado
I*m e+ecução- as instruções est!o sendo e>ecutadas
I *m espera- o processo está esperando a ocorrQncia de al#umevento. (e>.& DEO)
IPronto- temporariamente parada para dar lu#ar a outro processo
I*ncerrado- o processo terminou sua e>ecuç!o
8/18/2019 Parte I v2
22/43
Características da Estrutura de um
Processo
P r o g r a m a
C o n te x t o d eS o f t w a r e
p r i o r i d a d e d ee x e c u ç ã o r e g i s tr a d o r P C
d a t a / h o r ad e c r ia ç ã o
t e m p o d ep r o c e s s a d o r
r e g i s tr a d o r S P
q u o t a s
p r i v i l é g i o s
e n d e r e ç o s d e m e m ó r iap r i n c i p a l a l o c a d o s
r e g i s t r a d o rd e s t a t u s
o w n e r ! " # $
P " #
n o m er e g i s t r a d o r e s
g e r a i s
C o n t e x t o d eH a r d w a r e
E s p a ç o d eE n d e r e ç a m e n to
8/18/2019 Parte I v2
23/43
novo
pronto rodando
em espera
encerrado
aceitoalocaç!oda "F
fim do quantumspera por DEO
"onclus!o de DEO
fim dee>ecuç!o
pro#ramacar#a
/udança de *stado de um Processo
SisualiGar& Lista de processos do Kindows 1
8/18/2019 Parte I v2
24/43
Pro,rama- noç!o estática con?unto de instruções n!o possui um estado interno
Processo- noç!o dinMmica
pro#rama em e>ecuç!o possui um estado interno
Pro,rama = Processo
8/18/2019 Parte I v2
25/43
9loco de !ontrole de Processo %P!9'
"ada rocesso C representado no B.O. por um "T que contCm
muitas informações associadas a um processo, incluindo&I *stado do processo
I !ontador de pro,rama- indica o endereço da pr=>ima instruç!oa ser e>ecutada.
I (e,istradores de !P8& varia em nUmero e tipo. Tasicamenteincluem& acumuladores, re#istradores, ponteiros de pilha, etc.
I Informaç"es de escalonamento de !P8- informações deprioridade, ponteiros para fila de escalonamento entre outrosparMmetros.
I Informaç"es de ,er>ncia de mem?ria- incluem re#istradores,ta6elas de pá#inas e se#mentos.
I Informaç"es de conta&ili1ação- qtde de "F e o tempo realusados e nUmeros de ?o6s, etc.
8/18/2019 Parte I v2
26/43
9loco de !ontrole de Processo %P!9'
; Informaç"es de status de IO- incluem a lista de dispositivos de
DEO alocados para os processos.
Modelo PCB
8/18/2019 Parte I v2
27/43
tos pode ter um thread para ler asentradas de dados do teclado e outra thread para efetuar a correç!oorto#ráfica do documento.
O&ser)aç"es-
I os threads possuem estados(novo, e>ecutável, Tloqueado e+erminado.
I o sistema supervisor #erencia a ta6ela de threads
8/18/2019 Parte I v2
28/43
9enef@cios-
⇒ !apacidade de resposta- o multithread permite quepro#ramas continuem e>ecutando mesmo se parte dele estiver6loqueado ou e>ecutando uma operaç!o demorada. >.&nave#ador Ke6 permite a interaç!o do usuário enquanto uma
ima#em C carre#ada.⇒ !ompartil
8/18/2019 Parte I v2
29/43
O escalonamento de "F consiste em selecionar um
processo em espera na fila de processos e alocar a "F aesse processo.
O processo C selecionado de acordo com o al#oritmode escalonamento implementado pelo sistema operacional
em uso.
*scalonamento de !P8
(elem&rando-
I manter sempre o rocessador em e>ecuç!o ma>imiGa seuuso.
Ivários processos s!o mantidos na mem=ria ao mesmotempo. uando um processo precisa esperar, outro processoC passado para a "F. ( e assim sucessivamente)
8/18/2019 Parte I v2
30/43
*scalonamento de !P8
5ão Preempti)o = Preempti)o
! algoritmo escol)e o processo
para e$ecutar e ento o dei$ae$ecutar at+ que se0a .loqueado
,para I*!- ou voluntariamente
li.ere a CP
E$#1 2indo"s 3#$
! algoritmo escol)e um
processo e o dei$a eme$ecuço por um tempo má$imo
fi$ado#
E$#1 2indo"s 45 ou superior e a
6pple a partir do Mac!S7
8/18/2019 Parte I v2
31/43
*scalonamento de !P8
Buando *scalonar
0W. uando o processo passa de estado em e>ecuç!o para
estado de espera (>.&um pedido de DEO)
1W. uando um processo passa do estado em e>ecuç!o para
o estado de pronto (e>.&quando ocorre o tCrmino de seu
quantum).
2W. uando um processo termina.
! i i
8/18/2019 Parte I v2
32/43
!onceitos sicos
R *scalonador de !P8& sempre que a "F estiver ociosa, o B.O.deverá escolher um processo para e>ecuç!o da fila de processosprontos. sta seleç!o C feita pelo scalonador de "F.
R imer- necessário para o escalonamento preemptivo. "ontrola o
tempo que o processo pode ficar em e>ecuç!o (nI0).
R 0ispatc
8/18/2019 Parte I v2
33/43
!ritérios de *scalonamento-
"ritCrios para se comparar al#oritmos de escalonamento.
R 8tili1ação de !P8& A "F deverá ficar o mais ocupada possível
R
8/18/2019 Parte I v2
34/43
Al,oritmos de *scalonamentoLida com pro6lema de decidir a quais processos na fila de processosprontos a "F deverá ser alocada.
*scalonamento $!$S %$irst;comeC first;ser)ed'
I V o mais simples
I V usado em sistemas 6atch
Processo 0uração de Surto
0 18
1 2
2 2
8 9: 9; 38
%ia#rama de Hantt
P< P9 P3
=empo m+dio de espera > ,8 ? 9: ? 9;- *3 >
8/18/2019 Parte I v2
35/43
Al,oritmos de *scalonamento
*scalonamento Do& mais curto primeiro %SD$'
IV usado em sistemas 6atch e pode ser preempti)o ou não
Processo 0uração de Surto
0 5
1 : 2 ;
8 2
8 3 4 ,8 ? 3 ? 4 ? ; ms
Al it d * l t
8/18/2019 Parte I v2
36/43
Al,oritmos de *scalonamento
*scalonamento Do& mais curto primeiro %SD$'
Processo Instante de !
8/18/2019 Parte I v2
37/43
Al,oritmos de *scalonamento
*scalonamento por prioridade (sistemas interativos)
Processo 0uração do Surto Prioridade
0 0< 2
1 0 0
2 1 8 8 0 4
4 4 1
8 < @
8/18/2019 Parte I v2
38/43
Al,oritmos de *scalonamento
*scalonamento (ound;(o&in %(('
I pro?etado para Bistemas de tempo compartilhado
I "ada processo rece6e uma pequena unidade de tempo de "F(quantum), usualmente 0
8/18/2019 Parte I v2
39/43
Al,oritmos de *scalonamento
*scalonamento (ound;(o&in %((' cont.
8 : ;
8/18/2019 Parte I v2
40/43
Al it d * l t
8/18/2019 Parte I v2
41/43
Al,oritmos de *scalonamento
Alocação com /Fltiplas $ilas com realimentaçãoFm processo pode se mover entre as várias filas
scalonamento com mUltiplas filas e transferQncias entre as filas C definido pelos se#uintesparMmetros, a sa6er&
X JUmero de filas X Al#oritmos de escalonamento para cada fila X *Ctodo usado para determinar quando transferir um processo para uma fila de
prioridade mais alta
X *Ctodo usado para determinar quando transferir um processo para uma fila deprioridade mais 6ai>a X *Ctodo usado para determinar em qual fila um processo deve ser colocado,
quando precisar usar a "F
*=*/PLO-
R +rQs filas&
X Q< X quantum de : milisse#undos X Q0 Xquantum 05 milisse#undos X Q1 X 3"3BR scalonamento X Fm novo ?o6 entra na fila Q0 a qual utiliGa 3"3B.uando ele #anha a "F, ?o6 rece6e :ms. Be elen!o finaliGar em : ms, o ?o6 C movido para a fila Q0. X Ja fila Q0 o ?o6 C de novo servido por 3"3B erece6e 05 ms adicionais. Be ele ainda n!ocompletou, C premptado e movido para a fila Q1.
Al,oritmos de *scalonamento
8/18/2019 Parte I v2
42/43
Al,oritmos de *scalonamento
Outros al,oritmos de escalonamento-I scalonamento por loteria&
Iscalonamento de tempo real
e escalonadores de threads.
< d / ltit< d
8/18/2019 Parte I v2
43/43
JUcleo
+a6ela derocessos
+a6ela dethreads
BistemaBupervisor
JUcleo
+a6ela dethreads
+a6ela deprocessos
spaço doFsuário
spaço do
nUcleo
rocessos+hread
=)read de &suário =)read de ernelrocessos+hread
Top Related