SISTEMAS  OPERATIVOS Excelência na Formação e Consultadoria
Sistemas Operativos Para que serve um SO ? Transformar um conjunto diversificado de circuitos electrónicos, discos e periféricos numa máquina simples de utilizar Obter o máximo rendimento do Hardware através da sua utilização para o processamento de um grande conjunto de actividades. (optimização do custo, sempre presente em qualquer trabalho de engenharia  ) Sistema Operativo procura também apresentar ao utilizador uma interface coerente e amigável Aparece aos utilizadores de forma pouco clara   Considerado com frequência como um conjunto de interfaces complexas e não relacionadas
Sistemas Operativos Um sistema operativo é um programa que actua como intermediário entre o utilizador de um computador e o hardware do computador. Utilizador  Utilizador  Utilizador Aplicações  Editores  Compiladores Sistema Operativo Hardware
Sistemas Operativos Define a Interface com o utilizador Reparte o hardware pelos utilizadores Permite a utilização aparentemente simultânea de recursos atribuindo-os ordenadamente aos utilizadores. Facilita o Input / Output Permite a recuperação após erro Permite que os utilizadores repartam ou não informação entre si.
Sistemas Operativos Recursos habitualmente disponíveis Processadores Memória Periféricos
Sistemas Operativos Operating System Calls Chamadas ao Sistema Operativo por parte das aplicações Operating System Commands Chamadas ao Sistema Operativo por parte dos Utilizadores
Sistemas Operativos Evolução Histórica Há dois conceitos que nortearam o desenvolvimento dos SO nos últimos 30 anos: Criar uma máquina virtual de fácil utilização que esconda completamente a complexidade do hardware e dos periféricos. Obter o melhor desempenho do sistema de forma a rentabilizar o investimento no equipamento.
Sistemas Operativos Geração Zero – Serial Processing Fiabilidade do hardware   Inexistência de Sistema Operativo Programação em código máquina (Assembly & Hexadecimal) Carregar o Programa
Sistemas Operativos Geração Zero – Serial Processing Evolução Dá-se tanto ao nível do Software como do próprio Hardware Surgem os Primeiros: Translators (Tradutor p/ Linguagem Máquina) - Loaders (Carregador de programas em memória) Dispositivos de Input/Output (Impressoras, ...) - Debuggers
Sistemas Operativos Geração Zero – Serial Processing Evolução Aparecimento do Utilitário de nome Monitor Interpretador de uma linguagem de comando Compilador Editor de ligações (Linker) Carregador de programas em memória (Loader) Consola Leitor de Cartões Leitor / Perfurador de fita de papel Bandas Magnéticas
Sistemas Operativos Geração Zero – Serial Processing Problemas Morosidade 1 Erro -> Recomeçar !!! Baixa produtividade para vários utilizadores *
Sistemas Operativos Primeira Geração – Batch Processing Objectivo Reduzir diferença considerável entre o tempo de execução do  processador central e das operações de I/O sobre periféricos,  estas operações passam para mecanismos auxiliares  permitindo ao CPU executar um fluxo contínuo de trabalhos Sistema de funcionamento anterior era ineficiente, um só utilizador de cada vez. Grande parte do tempo o processador (CPU) estava inactivo à  espera de um comando do utilizador ou do fim de uma  operação por parte de um periférico.
Sistemas Operativos Primeira Geração – Batch Processing Processamento em batch (Grupo) Transição automática muito mais rápida, entre dois programas consecutivos Existência de declarações em JCL (Job Control Language) para traduzir os comandos ao Sistema Operativo, e interpretados pelo batch monitor. Assim os computadores começaram a tratar lotes de programas automaticamente
Sistemas Operativos Primeira Geração – Batch Processing Problemas Embora melhore bastante na execução, não é significativo na fase de desenvolvimento dos programas. O debug é feito em “off-line” Mais visíveis as discrepâncias de velocidade de execução do computador e dos periféricos (provocando paragens no CPU).
Sistemas Operativos Primeira Geração – Batch Processing Vantagens Início da técnica de SPOOLING (Simultaneous Peripheral Operations on Line) Usa o disco para armazenamento temporário de input e output dos programas O spooling monitor executa concorrentemente com os programas do utilizador. Era o “state of the art” na década de 50 …
Sistemas Operativos Segunda Geração – Multiprogramação Interrupções e canais de acesso directo à memória permitiram que as operações de I/O pudessem ser executadas em paralelo com os programas dos utilizadores. Objectivo Aproveitar todos os momentos de inactividade do processador. A multiprogramação vem permitir o desenvolvimento de sistemas de tratamento por lotes de grande eficácia   .
Sistemas Operativos Segunda Geração – Multiprogramação Com a multiprogramação a complexidade dos Sistemas Operativos aumenta, surgindo:   A Multiprogramação e Multiprocessamento Mecanismos de gestão de memória Escalonamento de tempo de CPU A independência face aos dispositivos de hardware O processamento interactivo (Time-Sharing) O aparecimento de sistemas de tempo real
Sistemas Operativos Terceira Geração – Tempo Partilhado A atribuição cíclica do tempo do processador aos vários utilizadores permitiu ultrapassar esta limitação dando a cada programador a ilusão de dispor de uma máquina própria.   Os Sistemas Operativos desta geração foram projectados para ser de uso geral (“General Purpose”) Utilizador N S.O, Utilizador N + 1 S.O, Utilizador N + 2 S.O,
Sistemas Operativos Terceira Geração – Tempo Partilhado Problemas A maior complexidade destes sistemas obrigou à existência de um nível de software entre o utilizador e o hardware obrigando o uso de Job Control Languages complexas para definir as características do trabalho e os recursos necessários.   Maior eficiência, à custa de maiores “dores de cabeça” para o utilizador.
Sistemas Operativos Quarta Geração – Gestão de Memória A criação de um espaço de endereçamento virtual, permite eliminar as restrições sobre o tamanho dos programas e facilitar a tarefa de gestão da memória física.   A evolução na interface com o utilizador conduziu aos sistemas “Menu Driven”.
Sistemas Operativos Quarta Geração – Gestão de Memória Outro tipo de sistema que ganhou muitos adeptos foi o que implementou as bases de dados, já que a sociedade está orientada pela informação (existem uns milhares de bases de dados acessíveis por rede).   Estabeleceu-se fortemente o conceito de  Sistemas Distribuídos  (computadores autónomos, ligados em rede que, partilham funções entre si).   É o Actual “State-of-Art”
Sistemas Operativos Resumindo Até ao início da década os vendedores consideravam que vendiam apenas o hardware das máquinas   Em 1970 a IBM decidiu separar o software do hardware, atribuindo a cada um, diferentes preços. Tal teve como consequência:   Exigências dos clientes quanto à correcta execução também do software Criou-se uma indústria independente de software O software tornou-se mais modular para que pudesse ser vendido como uma unidade independente da máquina Criou-se o mercado “IBM Compatível”
Sistemas Operativos Evolução Futura dos SO Custo hardware Velocidade de processamento Capacidade de memória Tamanho físico Multiprocessamento Paralelismo, concorrência Custo das comunicações de dados
Sistemas Operativos Evolução Futura dos SO Taxas de transmissões de dados Redes de computadores Uso de computadores pessoais Capacidade do computador pessoal Flexibilidade, modularidade
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos Quando existe uma situação em que ocorre um impasse. Dois ou mais processos ficam impedidos de continuar suas execuções, ou seja, ficam bloqueados Falamos de linha de execução. Forma dum processo dividir em duas ou mais tarefas em si mesmo, de modo que podem ser executadas simultaneamente
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos Tipos de Sistemas Operativos Sistemas Interactivos   Sistemas Paralelos Sistemas Distribuídos Sistemas Tempo – Real Recapitulando
Sistemas Operativos Sistemas Interactivos Frequência com que o sistema operativo muda entre tarefa a executar pelo CPU é tão elevada que os utilizadores podem interagir com cada tarefa/trabalho enquanto estes estão a correr.   Possibilita uma comunicação on-line entre o utilizador e o sistema Permite ainda que os utilizadores partilhem o computador simultaneamente.
Sistemas Operativos Sistemas Interactivos Gestão e protecção de memória Conceito de Memória Virtual Sistemas de Ficheiros on-line Gestão de discos Mecanismos de escalonamento Mecanismos de sincronização Mecanismos de comunicação
Sistemas Operativos Sistemas Paralelos Estes sistemas têm mais do que um processador em comunicação, que partilham o barramento, o relógio e algumas vezes a memória e os periféricos. Vantagens Aumento de desempenho do computador Uma diminuição de custos, podem partilhar periféricos Aumento de confiança num desempenho sem falhas, a falha de um processador não implica a paragem de todo o sistema.
Sistemas Operativos Sistemas Paralelos Multiprocessamento Simétrico Cada processador corre uma cópia idêntica do Sistema Operativo. Estas cópias do sistema operativo comunicam entre si conforme as necessidades   Multiprocessamento Assimétrico Cada processador é atribuída uma tarefa distinta. Um processador mestre controla todo o sistema
Sistemas Operativos Sistemas Distribuídos Estes sistemas não partilham memória nem relógio. Cada processador tem a sua memória local. Os processadores comunicam entre eles através de linhas de comunicação. Os processadores num sistema distribuído podem ser: Estações de trabalho Minicomputadores Grandes computadores genéricos Normalmente referidos por diversos nomes tais como sites ou nodes.
Sistemas Operativos Sistemas Distribuídos Razões da utilização deste tipo de SO Gestão de Recursos Aumento da velocidade de computação   Segurança/Estabilidade   Comunicação
Sistemas Operativos Sistemas Tempo - Real Sistemas são usualmente utilizados como dispositivos de controlo numa aplicação específica e dedicada   Existem sensores que enviam os dados para o computador.  O computador analisa os dados e em função deles possivelmente ajusta controlos de forma a alterar o Input do sensor.   Existem dois tipos de sistemas de Tempo-Real: Tempo Real Hard Tempo Real Soft.
Sistemas Operativos Sistemas Tempo - Real Tempo Real Hard Garantem que as tarefas críticas são terminadas no tempo previsto. Normalmente não se encontram nestes sistemas dispositivos de armazenamento secundário, sendo que os dados ficam armazenados em memória do tipo ROM   Tempo Real Soft.   Mantém praticamente as características dos sistemas operativos usuais só que as tarefas de tempo crítico têm uma prioridade superior às outras tarefas.
Sistemas Operativos Funções e Características de um SO Funções de um Sistema Operativo Sequenciação das tarefas Tratamento de erros Tratamento de I/O Tratamento das interrupções
Sistemas Operativos Funções de um Sistema Operativo – (cont) Scheduling (Escalonamento) -> decidir a próxima tarefa a ser executada Controlo de recursos Protecção Multi-Acesso Interface utilizador / máquina Contabilização dos recursos do computador
Sistemas Operativos Características de um Sistema Operativo Concorrência  Partilha de Recursos/Informação Evita desperdício de Recursos Conveniência de partir do trabalho realizado por outros Partilha de Dados Eliminação de Redundância Armazenamento a longo prazo   Indeterminação – deve responder a acontecimentos que ocorrem numa ordem imprevisível
Sistemas Operativos Características desejáveis de um SO Eficiência – pode ser avaliada por:  Tempo médio entre tarefas Tempo não usado de CPU Tempo de execução de tarefas em Batch Tempo de respostas Utilização de recursos Número de tarefas/hora Fiabilidade Manutenção Pequena Dimensão
Sistemas Operativos Design e Implementação Requisitos Funcionais Controle de processos (criação, remoção,...) Alocação de recursos Manter integridade (Segurança, Controle de Acesso, Prioridades) Intercomunicação entre processos
Sistemas Operativos Requisitos Funcionais – (cont) Escalonamento de processos Gestão de memória primária Gestão de memória secundária (swapping) Operações de I/O Gestão de ficheiros
Sistemas Operativos Implementação Devido à complexidade o problema deve ser abordado por níveis (layers), modulares entre si, e com interfaces bem definidas
Sistemas Operativos Alguns Conceitos Básicos Software Machine Language Programming   Assembler  Compilers  Spooling  IOCS (Input / Output Control System)   Emuladores
Sistemas Operativos Hardware Interrupts  Buffering Peripheral Devices Timers e Clocks   Input / Output Channels   Cycle Stealing   Virtual Storage   DMA (Direct Memory Acess)   Pipelining  Storage Hierarchy Memória Cache Memória Primária Memória Secundária Velocidade
Sistemas Operativos
Sistemas Operativos
Sistemas Operativos

Sistemas Operativos

  • 1.
    SISTEMAS OPERATIVOSExcelência na Formação e Consultadoria
  • 2.
    Sistemas Operativos Paraque serve um SO ? Transformar um conjunto diversificado de circuitos electrónicos, discos e periféricos numa máquina simples de utilizar Obter o máximo rendimento do Hardware através da sua utilização para o processamento de um grande conjunto de actividades. (optimização do custo, sempre presente em qualquer trabalho de engenharia ) Sistema Operativo procura também apresentar ao utilizador uma interface coerente e amigável Aparece aos utilizadores de forma pouco clara Considerado com frequência como um conjunto de interfaces complexas e não relacionadas
  • 3.
    Sistemas Operativos Umsistema operativo é um programa que actua como intermediário entre o utilizador de um computador e o hardware do computador. Utilizador Utilizador Utilizador Aplicações Editores Compiladores Sistema Operativo Hardware
  • 4.
    Sistemas Operativos Definea Interface com o utilizador Reparte o hardware pelos utilizadores Permite a utilização aparentemente simultânea de recursos atribuindo-os ordenadamente aos utilizadores. Facilita o Input / Output Permite a recuperação após erro Permite que os utilizadores repartam ou não informação entre si.
  • 5.
    Sistemas Operativos Recursoshabitualmente disponíveis Processadores Memória Periféricos
  • 6.
    Sistemas Operativos OperatingSystem Calls Chamadas ao Sistema Operativo por parte das aplicações Operating System Commands Chamadas ao Sistema Operativo por parte dos Utilizadores
  • 7.
    Sistemas Operativos EvoluçãoHistórica Há dois conceitos que nortearam o desenvolvimento dos SO nos últimos 30 anos: Criar uma máquina virtual de fácil utilização que esconda completamente a complexidade do hardware e dos periféricos. Obter o melhor desempenho do sistema de forma a rentabilizar o investimento no equipamento.
  • 8.
    Sistemas Operativos GeraçãoZero – Serial Processing Fiabilidade do hardware Inexistência de Sistema Operativo Programação em código máquina (Assembly & Hexadecimal) Carregar o Programa
  • 9.
    Sistemas Operativos GeraçãoZero – Serial Processing Evolução Dá-se tanto ao nível do Software como do próprio Hardware Surgem os Primeiros: Translators (Tradutor p/ Linguagem Máquina) - Loaders (Carregador de programas em memória) Dispositivos de Input/Output (Impressoras, ...) - Debuggers
  • 10.
    Sistemas Operativos GeraçãoZero – Serial Processing Evolução Aparecimento do Utilitário de nome Monitor Interpretador de uma linguagem de comando Compilador Editor de ligações (Linker) Carregador de programas em memória (Loader) Consola Leitor de Cartões Leitor / Perfurador de fita de papel Bandas Magnéticas
  • 11.
    Sistemas Operativos GeraçãoZero – Serial Processing Problemas Morosidade 1 Erro -> Recomeçar !!! Baixa produtividade para vários utilizadores *
  • 12.
    Sistemas Operativos PrimeiraGeração – Batch Processing Objectivo Reduzir diferença considerável entre o tempo de execução do processador central e das operações de I/O sobre periféricos, estas operações passam para mecanismos auxiliares permitindo ao CPU executar um fluxo contínuo de trabalhos Sistema de funcionamento anterior era ineficiente, um só utilizador de cada vez. Grande parte do tempo o processador (CPU) estava inactivo à espera de um comando do utilizador ou do fim de uma operação por parte de um periférico.
  • 13.
    Sistemas Operativos PrimeiraGeração – Batch Processing Processamento em batch (Grupo) Transição automática muito mais rápida, entre dois programas consecutivos Existência de declarações em JCL (Job Control Language) para traduzir os comandos ao Sistema Operativo, e interpretados pelo batch monitor. Assim os computadores começaram a tratar lotes de programas automaticamente
  • 14.
    Sistemas Operativos PrimeiraGeração – Batch Processing Problemas Embora melhore bastante na execução, não é significativo na fase de desenvolvimento dos programas. O debug é feito em “off-line” Mais visíveis as discrepâncias de velocidade de execução do computador e dos periféricos (provocando paragens no CPU).
  • 15.
    Sistemas Operativos PrimeiraGeração – Batch Processing Vantagens Início da técnica de SPOOLING (Simultaneous Peripheral Operations on Line) Usa o disco para armazenamento temporário de input e output dos programas O spooling monitor executa concorrentemente com os programas do utilizador. Era o “state of the art” na década de 50 …
  • 16.
    Sistemas Operativos SegundaGeração – Multiprogramação Interrupções e canais de acesso directo à memória permitiram que as operações de I/O pudessem ser executadas em paralelo com os programas dos utilizadores. Objectivo Aproveitar todos os momentos de inactividade do processador. A multiprogramação vem permitir o desenvolvimento de sistemas de tratamento por lotes de grande eficácia .
  • 17.
    Sistemas Operativos SegundaGeração – Multiprogramação Com a multiprogramação a complexidade dos Sistemas Operativos aumenta, surgindo: A Multiprogramação e Multiprocessamento Mecanismos de gestão de memória Escalonamento de tempo de CPU A independência face aos dispositivos de hardware O processamento interactivo (Time-Sharing) O aparecimento de sistemas de tempo real
  • 18.
    Sistemas Operativos TerceiraGeração – Tempo Partilhado A atribuição cíclica do tempo do processador aos vários utilizadores permitiu ultrapassar esta limitação dando a cada programador a ilusão de dispor de uma máquina própria. Os Sistemas Operativos desta geração foram projectados para ser de uso geral (“General Purpose”) Utilizador N S.O, Utilizador N + 1 S.O, Utilizador N + 2 S.O,
  • 19.
    Sistemas Operativos TerceiraGeração – Tempo Partilhado Problemas A maior complexidade destes sistemas obrigou à existência de um nível de software entre o utilizador e o hardware obrigando o uso de Job Control Languages complexas para definir as características do trabalho e os recursos necessários. Maior eficiência, à custa de maiores “dores de cabeça” para o utilizador.
  • 20.
    Sistemas Operativos QuartaGeração – Gestão de Memória A criação de um espaço de endereçamento virtual, permite eliminar as restrições sobre o tamanho dos programas e facilitar a tarefa de gestão da memória física. A evolução na interface com o utilizador conduziu aos sistemas “Menu Driven”.
  • 21.
    Sistemas Operativos QuartaGeração – Gestão de Memória Outro tipo de sistema que ganhou muitos adeptos foi o que implementou as bases de dados, já que a sociedade está orientada pela informação (existem uns milhares de bases de dados acessíveis por rede). Estabeleceu-se fortemente o conceito de Sistemas Distribuídos (computadores autónomos, ligados em rede que, partilham funções entre si). É o Actual “State-of-Art”
  • 22.
    Sistemas Operativos ResumindoAté ao início da década os vendedores consideravam que vendiam apenas o hardware das máquinas Em 1970 a IBM decidiu separar o software do hardware, atribuindo a cada um, diferentes preços. Tal teve como consequência: Exigências dos clientes quanto à correcta execução também do software Criou-se uma indústria independente de software O software tornou-se mais modular para que pudesse ser vendido como uma unidade independente da máquina Criou-se o mercado “IBM Compatível”
  • 23.
    Sistemas Operativos EvoluçãoFutura dos SO Custo hardware Velocidade de processamento Capacidade de memória Tamanho físico Multiprocessamento Paralelismo, concorrência Custo das comunicações de dados
  • 24.
    Sistemas Operativos EvoluçãoFutura dos SO Taxas de transmissões de dados Redes de computadores Uso de computadores pessoais Capacidade do computador pessoal Flexibilidade, modularidade
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
    Sistemas Operativos Quandoexiste uma situação em que ocorre um impasse. Dois ou mais processos ficam impedidos de continuar suas execuções, ou seja, ficam bloqueados Falamos de linha de execução. Forma dum processo dividir em duas ou mais tarefas em si mesmo, de modo que podem ser executadas simultaneamente
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
    Sistemas Operativos Tiposde Sistemas Operativos Sistemas Interactivos Sistemas Paralelos Sistemas Distribuídos Sistemas Tempo – Real Recapitulando
  • 61.
    Sistemas Operativos SistemasInteractivos Frequência com que o sistema operativo muda entre tarefa a executar pelo CPU é tão elevada que os utilizadores podem interagir com cada tarefa/trabalho enquanto estes estão a correr. Possibilita uma comunicação on-line entre o utilizador e o sistema Permite ainda que os utilizadores partilhem o computador simultaneamente.
  • 62.
    Sistemas Operativos SistemasInteractivos Gestão e protecção de memória Conceito de Memória Virtual Sistemas de Ficheiros on-line Gestão de discos Mecanismos de escalonamento Mecanismos de sincronização Mecanismos de comunicação
  • 63.
    Sistemas Operativos SistemasParalelos Estes sistemas têm mais do que um processador em comunicação, que partilham o barramento, o relógio e algumas vezes a memória e os periféricos. Vantagens Aumento de desempenho do computador Uma diminuição de custos, podem partilhar periféricos Aumento de confiança num desempenho sem falhas, a falha de um processador não implica a paragem de todo o sistema.
  • 64.
    Sistemas Operativos SistemasParalelos Multiprocessamento Simétrico Cada processador corre uma cópia idêntica do Sistema Operativo. Estas cópias do sistema operativo comunicam entre si conforme as necessidades Multiprocessamento Assimétrico Cada processador é atribuída uma tarefa distinta. Um processador mestre controla todo o sistema
  • 65.
    Sistemas Operativos SistemasDistribuídos Estes sistemas não partilham memória nem relógio. Cada processador tem a sua memória local. Os processadores comunicam entre eles através de linhas de comunicação. Os processadores num sistema distribuído podem ser: Estações de trabalho Minicomputadores Grandes computadores genéricos Normalmente referidos por diversos nomes tais como sites ou nodes.
  • 66.
    Sistemas Operativos SistemasDistribuídos Razões da utilização deste tipo de SO Gestão de Recursos Aumento da velocidade de computação Segurança/Estabilidade Comunicação
  • 67.
    Sistemas Operativos SistemasTempo - Real Sistemas são usualmente utilizados como dispositivos de controlo numa aplicação específica e dedicada Existem sensores que enviam os dados para o computador. O computador analisa os dados e em função deles possivelmente ajusta controlos de forma a alterar o Input do sensor. Existem dois tipos de sistemas de Tempo-Real: Tempo Real Hard Tempo Real Soft.
  • 68.
    Sistemas Operativos SistemasTempo - Real Tempo Real Hard Garantem que as tarefas críticas são terminadas no tempo previsto. Normalmente não se encontram nestes sistemas dispositivos de armazenamento secundário, sendo que os dados ficam armazenados em memória do tipo ROM Tempo Real Soft. Mantém praticamente as características dos sistemas operativos usuais só que as tarefas de tempo crítico têm uma prioridade superior às outras tarefas.
  • 69.
    Sistemas Operativos Funçõese Características de um SO Funções de um Sistema Operativo Sequenciação das tarefas Tratamento de erros Tratamento de I/O Tratamento das interrupções
  • 70.
    Sistemas Operativos Funçõesde um Sistema Operativo – (cont) Scheduling (Escalonamento) -> decidir a próxima tarefa a ser executada Controlo de recursos Protecção Multi-Acesso Interface utilizador / máquina Contabilização dos recursos do computador
  • 71.
    Sistemas Operativos Característicasde um Sistema Operativo Concorrência Partilha de Recursos/Informação Evita desperdício de Recursos Conveniência de partir do trabalho realizado por outros Partilha de Dados Eliminação de Redundância Armazenamento a longo prazo Indeterminação – deve responder a acontecimentos que ocorrem numa ordem imprevisível
  • 72.
    Sistemas Operativos Característicasdesejáveis de um SO Eficiência – pode ser avaliada por: Tempo médio entre tarefas Tempo não usado de CPU Tempo de execução de tarefas em Batch Tempo de respostas Utilização de recursos Número de tarefas/hora Fiabilidade Manutenção Pequena Dimensão
  • 73.
    Sistemas Operativos Designe Implementação Requisitos Funcionais Controle de processos (criação, remoção,...) Alocação de recursos Manter integridade (Segurança, Controle de Acesso, Prioridades) Intercomunicação entre processos
  • 74.
    Sistemas Operativos RequisitosFuncionais – (cont) Escalonamento de processos Gestão de memória primária Gestão de memória secundária (swapping) Operações de I/O Gestão de ficheiros
  • 75.
    Sistemas Operativos ImplementaçãoDevido à complexidade o problema deve ser abordado por níveis (layers), modulares entre si, e com interfaces bem definidas
  • 76.
    Sistemas Operativos AlgunsConceitos Básicos Software Machine Language Programming Assembler Compilers Spooling IOCS (Input / Output Control System) Emuladores
  • 77.
    Sistemas Operativos HardwareInterrupts Buffering Peripheral Devices Timers e Clocks Input / Output Channels Cycle Stealing Virtual Storage DMA (Direct Memory Acess) Pipelining Storage Hierarchy Memória Cache Memória Primária Memória Secundária Velocidade
  • 78.
  • 79.
  • 80.

Notas do Editor