Sistemas

download Sistemas

of 7

description

Sistemas operacionais

Transcript of Sistemas

  • Captulo 1

    Sistemas OperacionaisIntroduo

    Sistemas Operacionais 2

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Sistema operacional: conceito

    O que se espera de um sistema de computao? Execuo de programas de usurios Permitir a soluo de problemas

    Sistema operacional um programa colocado entre o hardware docomputador e os programas dos usurios de forma a atingir essesdois objetivos

    Hardware

    Sistema Operacional

    Programas

    Sistemas Operacionais 3

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Componentes genricos de um sistemacomputacional (1)

    Hardware Recursos bsicos (memria, dispositivos de E/S, CPU).

    Sistema operacional Controla e coordena o uso do hardware entre vrios programas aplicativos e

    usurios. Programas aplicativos e de sistema

    Define como os recursos de hardware so empregados na soluo de umproblema (compiladores, jogos, banco de dados,...)

    Usurios Pessoas, mquinas, outros computadores,...

    Sistemas Operacionais 4

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Componentes genricos de um sistemacomputacional (2)

    Usurio1

    Usurio2

    Usurio3

    Usurion. . .

    Compilador Editor detexto

    Browser Quake

    Sistema operacional

    Hardware

  • Sistemas Operacionais 5

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Objetivos do sistema operacional

    Objetivos: Tornar ao usurio a utilizao do computador mais conveniente

    ! Esconde detalhes internos! Reduz o tempo necessrio a construo de programas

    Utilizar o hardware do computador de forma eficiente! Significa mais trabalho obtido pelo mesmo hardware! Obtida por uma melhor distribuio/uso dos recursos

    Sistemas Operacionais 6

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Servios oferecidos pelo sistema operacional (1)

    Criao de programas Editores, depuradores, compiladores

    Execuo dos programas Carga de programas em memria

    Acesso a dispositivos de E/S Controle de acesso a arquivos Acesso a recursos de sistema

    Proteo entre usurios

    Sistemas Operacionais 7

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Contabilidade Estatsticas Monitorao de desempenho Sinalizar upgrades necessrios hardware (memria, disco, etc) Tarifao de usurios

    Servios oferecidos pelo sistema operacional (2)

    Sistemas Operacionais 8

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Deteco de erros Erros de hardware

    ! Erros de memria! Falha em dispositivos de E/S

    Erros de programao! Overflow em operaes aritmticas! Acesso no-autorizado a posies de memria

    Aplicao solicita recursos que o sistema operacional no pode alocar(segurana, falta do recurso, etc)

    Servios oferecidos pelo sistema operacional (3)

  • Sistemas Operacionais 9

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    As diferentes imagens do sistema operacional

    A interface disponvel a um tipo de usurio fornece a imagem dosistema operacional

    UsurioFinal

    Projetista desistemas

    operacionais

    Hardware

    Sistema Operacional

    Utilitrios

    Aplicativos

    Programador

    Sistemas Operacionais 10

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Sistema operacional na viso do usurio

    Chamadas de sistema Programas de sistema

    Sistemas Operacionais 11

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Chamadas de sistema

    Maneira pela qual os programas solicitam servios ao sistemaoperacional

    Anlogo a subrotinas Servios executados pelo ncleo (kernel)

    Gerncia do processador Gerncia de memria Gerncia de arquivos Gerncia de E/S

    Variao: micro-kernel Servios bsicos

    Sistemas Operacionais 12

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Programas de sistema

    Programas executados fora do kernel do sistema operacional(utilitrios)

    Implementam tarefas bsicas: Muitas vezes confundidos com o prprio sistema operacional

    ! e.g. compiladores, assemblers, ligadores, etc Interpretador de comandos

    ! Ativado sempre que o sistema operacional inicia uma sesso de trabalho! Interface grfico de usurio (GUI)

  • Sistemas Operacionais 13

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Sistema operacional na viso de projeto

    Corresponde a forma pela qual o sistema operacional implementaos servios

    Sistema operacional ativado por eventos: Chamadas de sistema Interrupo

    O mecanismo de interrupo essencial na concepo de sistemasoperacionais: Sinalizar trmino e ocorrncia de eventos Excees Auxiliar atividades de gerncia

    Sistemas Operacionais 14

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Histrico de sistemas operacionais

    Primrdios: Sistema operacional inexistente Usurio o programador e o operador da mquina Alocao do recurso computador feito por planilha

    Evoluo foi motivada por: Melhor utilizao de recursos Avanos tecnolgicos (novos tipos de hardware) Adio de novos servios

    Sistemas Operacionais 15

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Sistemas em lote (batch)

    Introduo de operadores profissionais Usurio no era mais o operador da mquina

    Job Programa a ser compilado e executado, acompanhado dos dados de

    execuo (cartes perfurados) Jobs so organizados em lote (batch)

    ! Necessidades semelhantes (e.g. mesmo compilador) Passagem entre jobs continua sendo manual

    Sistemas Operacionais 16

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Monitor residente

    Evoluo: Sequenciamento automtico de jobs, transferindo o controle de um job a

    outro Primeiro sistema operacional (rudimentar)

    Monitor residente: Programa que fica permanentemente em memria Execuo inicial Controle transferido para o job

    ! Cartes de controle Quando o job termina, o controle retorna ao monitor Centraliza as rotinas de acesso a perifricos disponibilizando aos programas

    de usurio

  • Sistemas Operacionais 17

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Multiprogramao ou multitarefa

    Monitor residente permite a execuo de apenas um programa decada vez

    Desperdcio de tempo de CPU com operaes de E/S Evoluo:

    Manter diversos programas na memria ao mesmo tempo Enquanto um programa realiza E/S, outro pode ser executado

    CPU

    E/SRequisio

    E/STrmino

    E/S

    Desperdcio CPU

    tempo

    RequisioE/S

    TrminoE/S

    tempo

    Multiprogramao

    Sistemas Operacionais 18

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Multiprogramao

    Duas inovaes de hardware possibilitaram o surgimento damultiprogramao: Interrupes

    ! Sinalizao de eventos Discos magnticos

    ! Maior velocidade de acesso de leitura! Acesso randmico a diferentes jobs

    Sistemas Operacionais 19

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Sistemas timesharing

    Tipo de multiprogramao Usurios possuem um terminal

    Interao com o programa em execuo Iluso de possuir a mquina dedicada a execuo de seu programa

    Diviso do tempo de processamento entre usurios Tempo de resposta importante

    Sistemas Operacionais 20

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Sistemas monousurio e multiusurio

    Sistemas monousurio Projetados para serem usados por um nico usurio

    ! e.g.; MS-DOS, Windows 3.x, Windows 9x, Millenium

    Sistemas multiusurio Projetados para suportar vrias sesses de usurios em um computador

    ! e.g.; Windows NT (2000), UNIX

  • Sistemas Operacionais 21

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Sistemas multitarefa e monotarefa

    Sistemas monotarefa Capazes de executar apenas uma tarefa de cada vez

    ! e.g.; MS-DOS

    Sistemas multitarefas: Capazes de executar vrias tarefas simultaneamente Existem dois tipos de sistemas multitarefa:

    ! Cooperativa! e.g.; Windows 3.x, Windows9x (aplicativos 16 bits)

    ! Preemptiva! e.g.; Windows NT, OS/2, UNIX, Windows9x (aplicativos 32 bits)

    Sistemas Operacionais 22

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Sistemas distribudos (1)

    Distribuir a realizao de uma tarefa entre vrios computadores Sistema distribudo:

    Conjunto de computadores autnomos interconectados de forma a possibilitara execuo de um servio

    Existncia de vrias mquinas transparente Software fornece uma viso nica do sistema Palavra-chave: transparncia

    A distributed system is one in which the failure of a computer you didnt evenknow existed can render your own computer unusable Leslie Lamport.

    Sistemas Operacionais 23

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Sistemas distribudos (2)

    Sistemas fracamente acoplados (loosely coupled system) Mquinas independentes Comunicao feita atravs de troca de mensagens entre processos

    Vantagens Compartilhamento de recursos Balanceamento de carga Aumento confiabilidade

    Sistemas Operacionais 24

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Sistemas de tempo real

    Empregado para o controle de procedimentos que devemresponder dentro de um certo intervalo de tempo e.g. experimentos cientficos, tratamento de imagens mdicas, controle de

    processos, etc Noo de tempo real dependente da aplicao

    Milisegundos, minuto, horas, etc

  • Sistemas Operacionais 25

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Sistemas paralelos (1)

    Mquinas multiprocessadoras possuem mais de um processador Sistemas fortemente acoplados (tightly coupled system)

    Processadores compartilham mmoria e um relgio comuns Comunicao realizada atravs da memria

    Vantagens: Aumento de throughput (nmero de processos executados) Aspectos econmicos Aumento de confiabilidade

    ! Graceful degradation! Sistemas fail-soft

    Sistemas Operacionais 26

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Sistemas paralelos (2)

    Symmetric multiprocessing (SMP) Cada processador executa uma cpia idntica do sistema operacional Vrios processos podem ser executados em paralelo sem perda de

    desempenho para o sistema A maioria dos sistemas operacionais atuais suportam SMP atravs do

    conceito de multithreading Asymmetric multiprocessing

    Cada processador executa uma tarefa especfica:! e.g,; processador mestre para alocao de tarefas a escravos

    Sistemas Operacionais 27

    I

    n

    s

    t

    i

    t

    u

    t

    o

    d

    e

    I

    n

    f

    o

    r

    m

    t

    i

    c

    a

    -

    U

    F

    R

    G

    S

    O

    l

    i

    v

    e

    i

    r

    a

    ,

    C

    a

    r

    i

    s

    s

    i

    m

    i

    ,

    T

    o

    s

    c

    a

    n

    i

    Leituras complementares

    R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. EditoraSagra-Luzzato, 2001. Captulo 1

    A. Silberchatz, P. Galvin, P. Gagne; Applied Operating SystemConcepts. Addison-Wesley, 2000, (1 edio). Captulo 1

    W. Stallings; Operating Systems. (4th edition). Prentice Hall, 2001. Captulo 2