Aula04 Nucleo e Chamada a Sistema

download Aula04 Nucleo e Chamada a Sistema

of 21

Transcript of Aula04 Nucleo e Chamada a Sistema

  • 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