Introducao a Sistemas Operacionais

3,430 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,430
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
76
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introducao a Sistemas Operacionais

  1. 1. Sistemas Operacionais Introdução
  2. 2. O que é um sistema operacional ? • Um programa que atua como intermediário entre o usuário e o hardware de um computador com propósito de fornecer um ambiente para execução de programas. Programas Sistema Operacional Hardware
  3. 3. Componentes Genéricos de um Sistema Computacional • Hardware: Memória, dispositivos de E/S, CPU, etc • Sistema Operacional: Coordena e controla o uso dos recursos do sistema entre os vários programas aplicativos e usuários • Programas aplicativos e de sistema • Usuários
  4. 4. Objetivos de um Sistema Operacional • Fornecer ao programador/usuário uma forma mais conveniente para a operação do computador – Esconde complexidade e detalhes internos inerentes à manipulação e controle dos componentes de hardware. – Reduz tempo de preparação de um programa. – Permite a execução do mesmo programa em ambientes diferentes – Permite várias aplicações trabalharem simultaneamente Controla a interação entre: Usuários e hardware Os diversos usuários • Utilizar o Hardware e demais recursos de um computador de forma eficiente – Potencial maior de utilização de recursos em decorrência da implementação de boas políticas de distribuíçao de recursos
  5. 5. E afinal o que é um sistema operacional ? • Uma máquina virtual – Esconde aspectos de Hardware de modo a facilitar a vida do programador, apresentando uma interface simplificada • A interface do usuário não corresponde ao hardware existente. • Permite executar o mesmo programa em vários ambientes diferentes. • Um Gerente/Alocador de Recursos – Decide que pedidos devem ser atendidos de modo que o sistema possa trabalhar de forma eficiente • Um Programa de Controle – Controla a execução de programas do usuário para evitar erros e inconsistênciap proteger usuários uns dos outros
  6. 6. Principais Serviços e Funções de um SO • Criação e execução de programas • Acesso a dispositivos de E/S • Controle de Acesso a arquivos • Acesso a recursos do sistema • Concorrência • Contabilidade • Detecção de erros (Hw/Sw)
  7. 7. Diferentes Visões de um SO Visão Usuário Final X Programador X Projetista de Sistema Operacional Usuário Programador Aplicativo Projetista SO Utilitários SO Hardware
  8. 8. Visão Usuário• Chamadas de Sistema - maneira usada pelo programa para solicitar um serviço do SO - semelhante a chamada de uma sub-rotina • Serviços executados pelo núcleo do SO Gerência de memória, gerência de dispositivos, gerência de arquivos e gerência de processadorProgramas de Sistema• Programas executados fora do núcleo do SO ( Utilitários), normalmente confundido com o próprio SO: compiladores, interpretadores de comandos, GUIVisão Projetista de SO• Forma pela qual o sistema implementa os serviços: interrupção, exceção, chamadas de Sistema
  9. 9. Revisão Histórica dos SO Fase primitiva • Sistema Operacional inexistente – Programação através de chaves no painel. – Conjuntos de cartões manualmente carregados pelo operador(programador)para executar os programas. – Toda atividade é sequencial: sem nenhuma sobreposição entre computação, E/S e tempo de ociosid do usuário Sistemas em Lote(Batch) • Introdução de operadores profissionais – Preparação de jobs ( tarefas ) - progama, dados e informações de controle) Jobs normalmente agrupados em lotes por necessidade semelhantes ( por exemplo, mesmo compilador) – Sequenciamento automático de jobs – Idéia rudimentar de um SO: manter um monitor residente em memória que é executado inicialmente. O monitor passa o controle para um job que retorna quando encontrar um sinalizador de finalização (cartão de controle) – Niveis elevados de ociosidade de CPU - diferença de velocidades entre CPU e Dispositivos de Entrada/Saída
  10. 10. Revisão Histórica dos SO Sistemas em Lote(Batch) • Introdução da multiprogramação – Com hardware para tratamento de interrupções e para armazenamento de vários jobs em disco é possível ter acesso direto aos jobs, o que viabiliza a escala de jobs em uma determinada ordem, de modo a aproveitar os tempos de cpu ociosa. – A idéia é manter vários programas em memória ao mesmo tempo. Enquanto um programa aguarda E/S, outro pode ser executado
  11. 11. Sistemas Time Sharing ( Tempo Compartilhado ) – Extensão lógica da multiprogramação que permite a interação do usuário com o sistema de computação• Permite a comunicação direta entre os usuários e o sistema através de uma conexão terminal- computador• Divisão do tempo de processamento entre os vários usuários• Requer tempo de resposta curto• São mais complexos que os sistemas operacionais multiprogramados A idéia básica surguiu com o Sistema Multics que evoluiu para o UNIX Escalonamento Proteção Tempo de resposta Ataques Sistema de arquivos.• Base dos SOs modernos.
  12. 12. Sistemas Monousuário – Projetados para serem usados por um único usuário, por exemplo,MS- DOS, Winsows 3.x, Windows 9xSistemas Multiusuário – Suportam várias sessões de usuário em um computador, por exemplo, UNIX, Windows-NTSistemas Monotarefa – Podem executar apenas uma tarefa de cada vez, por exemplo o MS-DOSSistemas Multitarefa – Permitem executar várias tarefas simultaneamente • Tarefas cooperativas, por exemplo, Windows 9x • Tarefas preemptivas, por exemplo UnIX, OS/2Sistemas de Computadores Pessoais• Inicialmente baratos e simples e depois beneficiados com as idéias dos sistemas para mainframes MS-DOS, Microsoft Windows, Apple Macintosh, OS/2
  13. 13. Sistemas Distribuídos – Conjunto de computadores autônomos interconecatados por uma rede, que colaboram para a execuçã de determinados serviçõs. Transparência em relação ao número de máquinas Software fornece uma visão única do sistemaSistemas de Tempo Real – Requisitos rígidos de tempo na operação de um processador ou de um fluxo de dados

×