parte i v2

Upload: andre-paxiega

Post on 07-Jul-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 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

  • 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