Post on 01-Mar-2018
7/26/2019 Aula04 Nucleo e Chamada a Sistema
1/21
Sistemas Operacionais
Estrutura de um sistema operacional
Proteo do ncleoChamadas de sistema
Prof. Alberlan Lopes
7/26/2019 Aula04 Nucleo e Chamada a Sistema
2/21
S.O. Proteo do ncleo
Um sistema operacional dee !erenciar osrecursos do hard"are# fornecendo$os %s
aplica&es conforme suas necessidades. Paraasse!urar a inte!ridade dessa !er'ncia# (essencial !arantir )ue as aplica&es noconsi!am acessar o hard"are diretamente# massempre atra(s de pedidos ao sistemaoperacional# )ue aalia e intermedia todos osacessos ao hard"are.
7/26/2019 Aula04 Nucleo e Chamada a Sistema
3/21
S.O. Proteo do ncleo
Para permitir a diferenciao de priil(!io de acesso entreos diferentes tipos de soft"are# os processadoresmodernos contam com dois ou mais n*eis de priil(!io
de e+ecuo. Esses n*eis so controlados por fla!sespeciais nos processadores# e a mudana de um n*elde e+ecuo para outro ( controlada por condi&esespec*ficas.
O processador Pentium# por e+emplo# conta com , n*eisde priil(!io -sendo o n*el mais priile!iado/.
7/26/2019 Aula04 Nucleo e Chamada a Sistema
4/21
S.O. Proteo do ncleo
0a forma mais simples desse es)uema# podemosconsiderar dois n*eis b1sicos de priil(!io2
Nvel ncleo 2 tamb(m denominado n*el superisor#sistema# monitor ou ainda 3ernel space. Para umc4di!o e+ecutando nesse n*el# todo o processador est1acess*el2 todos os re!istradores# portas de
entrada5sa*da e 1reas de mem4ria podem seracessados em leitura e escrita. Al(m disso# todas asinstru&es do processador podem ser e+ecutadas.
7/26/2019 Aula04 Nucleo e Chamada a Sistema
5/21
S.O. Proteo do ncleo
Nvel usurio -ou userspace/2 neste n*el#somente um sub$con6unto das instru&es doprocessador# re!istradores e portas deentrada5sa*da esto dispon*eis. 7nstru&es8peri!osas9 como :AL; -parar o processador/ e
7/26/2019 Aula04 Nucleo e Chamada a Sistema
6/21
S.O. Proteo do ncleo
Caso o c4di!o em e+ecuo tente e+ecutaruma instruo proibida ou acessar uma 1reade mem4ria inacess*el# o hard"are ir1 !eraruma e+ceo# desiando a e+ecuo para umarotina de tratamento dentro do ncleo# )ueproaelmente ir1 abortar o pro!rama eme+ecuo.
8Este pro!rama e+ecutou uma instruo ile!al eser1 finali=ado9
7/26/2019 Aula04 Nucleo e Chamada a Sistema
7/21
S.O. Proteo do ncleo
> f1cil perceber )ue# em um sistemaoperacional conencional# os al!oritmos
de !erenciamento e os driers operam non*el ncleo# en)uanto os utilit1rios e asaplica&es operam no n*el usu1rio#confinados em 1reas de mem4ria distintas.
E+istem situa&es mais comple+as )uesero istas posteriormente.
7/26/2019 Aula04 Nucleo e Chamada a Sistema
8/21
S.O. Proteo do ncleo
7/26/2019 Aula04 Nucleo e Chamada a Sistema
9/21
S.O. Proteo do ncleo
Ento# e+iste ? tipos deinstru&es2 instru&espriile!iadas e instru&esno$priile!iadas.
O processador
implementa ? modos deacesso2 modo usu1rio e omodo 3ernel -ousuperisor/.
Processadores podem comutar o n*el de priil(!io dachamada recebida
7/26/2019 Aula04 Nucleo e Chamada a Sistema
10/21
S.O. Chamadas do sistema
Pergunta 2 Como chamar# a partir de umaaplicao# as rotinas oferecidas pelo ncleopara o acesso ao hard"are e suas abstra&es@
E+emplo2 como uma aplicao pode acessar aplaca de rede para eniar5receber dados# se notem priil(!io para acessar as portas de
entrada5sa*da nem pode inocar o c4di!o doncleo )ue implementa esse acesso -pois essec4di!o reside em outra 1rea de mem4ria/@
7/26/2019 Aula04 Nucleo e Chamada a Sistema
11/21
S.O. Chamadas do sistema
Resposta: Os processadores implementam umainstruo especial )ue permite acionar omecanismo de interrupo de forma intencional#sem depender de eentos e+ternos ou internos.
Ao ser e+ecutada# essa instruo -int noPentium# sscall no B7PS/ comuta oprocessador para o n*el priile!iado e procede
de forma similar ao tratamento de umainterrupo. Por essa ra=o# esse mecanismo( denominado interrupo de software.
7/26/2019 Aula04 Nucleo e Chamada a Sistema
12/21
S.O. Chamadas do sistema
Aplicao System Call Ncleo
H
a
r
d
w
a
re
7/26/2019 Aula04 Nucleo e Chamada a Sistema
13/21
S.O. Chamadas do sistema
rupos de funo
er'ncia de Processos Criao e eliminao de processos# alterao das
caracter*sticas do processo e sincroni=ao e comunicaoentre processos.
er'ncia de mem4ria Alocao e desalocao de mem4ria.er'ncia de entrada5sa*da
Opera&es de entrada e sa*da e manipulao de ar)uios ediret4rios.
7/26/2019 Aula04 Nucleo e Chamada a Sistema
14/21
S.O. Chamadas do sistema
7/26/2019 Aula04 Nucleo e Chamada a Sistema
15/21
S.O. Chamadas do sistema
A maioria dos sistemas operacionaisimplementa centenas ou mesmo milharesde chamadas de sistema# para as maisdiersas finalidades. O con6unto dechamadas de sistema oferecidas por umncleo define a AP7 -Application
Pro!rammin! 7nterface/ desse sistemaoperacional.
7/26/2019 Aula04 Nucleo e Chamada a Sistema
16/21
S.O. Chamadas do sistema
Application Pro!rammin! 7nterface
Con6unto de chamadas de sistemaoferecidas por um ncleo ( chamada de
AP7AP7 Din? -Dindo"s/POS7F -Uni+5Linu+/
7/26/2019 Aula04 Nucleo e Chamada a Sistema
17/21
S.O. Chamadas do sistema
eralmente as chamadas de sistema so oferecidas para asaplica&es em modo usu1rio atra(s de uma biblioteca do sistema-system library/# )ue prepara os parGmetros# inoca a interrupode soft"are e retorna % aplicao os resultados obtidos.
7/26/2019 Aula04 Nucleo e Chamada a Sistema
18/21
S.O. Chamadas do sistema
H. 0o n*el usu1rio# a aplicao inoca a funo read-fd# Ibuffer#btes/ da biblioteca de sistema -no Linu+ ( a biblioteca 0U CLibrar# ou !libcJ no Dindo"s# essas fun&es so implementadaspela AP7 Din?/.
?. A funo read preenche uma 1rea de mem4ria com os parGmetrosrecebidos e escree o endereo dessa 1rea em um re!istrador daCPU. Em outro re!istrador# ela escree o c4di!o da chamada desistema dese6ada -no caso do Linu+# seria h para a sscall read/.
. A funo read inoca uma interrupo de soft"are -no caso doLinu+# sempre ( inocada a interrupo Kh/.
,. O processador comuta para o n*el priile!iado -3ernel leel/ etransfere o controle para a rotina apontada pela entrada Kh doetor de interrup&es.
7/26/2019 Aula04 Nucleo e Chamada a Sistema
19/21
S.O. Chamadas do sistema. A rotina obt(m o endereo dos parGmetros# erifica a alidade de
cada um deles e reali=a -ou a!enda para e+ecuo posterior/ aoperao dese6ada pela aplicao.
M. Ao final da e+ecuo da rotina# eentuais alores de retorno so
escritos na 1rea de mem4ria da aplicao e o processamentoretorna % funo read# em modo usu1rio.
N. A funo read finali=a sua e+ecuo e retorna o controle %aplicao.
K. Alternatiamente# a rotina de tratamento da interrupo de soft"arepode passar o controle para a !er'ncia de atiidades ao in(sde retornar diretamente da interrupo de soft"are.
. 0a se)'ncia# a !er'ncia de atiidades pode deoler o controle aoutra aplicao )ue tamb(m este6a a!uardando o retorno de umainterrupo de soft"are.
7/26/2019 Aula04 Nucleo e Chamada a Sistema
20/21
S.O. Uni+ estrutura do sistema
7/26/2019 Aula04 Nucleo e Chamada a Sistema
21/21
S.O. Dindo"s nt estrutura do sistema