sistemas operacionais aula 02 introducao
DESCRIPTION
Sistemas de informaçãoTRANSCRIPT
Na aula de hoje
• Histórico dos Sistemas Operacionais • Conceitos básicos de Sistemas Operacionais
INE5611 -‐ Prof. Márcio Castro 2
INTRODUÇÃO
3
Introdução
• O que se espera de um sistema de computação? – Execução de programas de usuários – PermiMr a solução de problemas – Problema de cada usuário será resolvido por um programa específico
• Programas – Possuem muito em comum: acesso ao disco, memória, E/S, ...
– Problema: programas podem apresentar necessidades conflitantes se uMlizados simultaneamente por um ou mais usuários (disputa de recursos)
INE5611 -‐ Prof. Márcio Castro 4
Introdução
• Sistema Operacional (S.O.) – Camada de soHware colocada entre o hardware e os programas que executam tarefas para os usuários – Controla e coordena o uso do hardware entre vários programas aplicaMvos e usuários
INE5611 -‐ Prof. Márcio Castro 5
Programas
Sistema Operacional (S.O.)
Hardware
Introdução
• Programas aplicaLvos – Programas os quais o usuário interage para resolver seus problemas – Exemplos: firefox, word, adobe photoshop, ...
• Programas de sistema – Programas de base do S.O. que fornecem serviços ou abstrações para os programas aplicaMvos – Exemplos: gerenciador de tarefas (Windows), ps (Linux)
INE5611 -‐ Prof. Márcio Castro 6
Introdução • Interação entre usuários, programas aplicaMvos e S.O
INE5611 -‐ Prof. Márcio Castro 7
Usuário 1
Usuário 2
Usuário 3
Usuário n
Compilador Editor de texto
Navegador Jogo
Sistema Operacional (S.O.)
Hardware
...
AplicaMvos
UMlitários
Sistema Operacional (S.O.)
Introdução
• ObjeLvos de um Sistema Operacional – Eficiência: maximizar o uso do hardware (distribuição dos recursos) – Conveniência: esconder os detalhes de baixo nível (abstração)
• Interface entre os usuários e o computador
INE5611 -‐ Prof. Márcio Castro 8
Usuário final
Hardware
Programador
ProjeMsta S.O.
Introdução
• Serviços oferecidos pelo S.O. – Carregamento/descarregamento de programas na memória – Gerência e sistema de arquivos (criar, ler, escrever, ...) – UMlização e gerência de periféricos (alocação, leitura, escrita) – Gestão de usuários – Proteção entre usuários – Contabilidade: estadsMcas e desempenho – Detecção de erros: hardware e programas
INE5611 -‐ Prof. Márcio Castro 9
HISTÓRICO DOS SISTEMAS OPERACIONAIS
10
Histórico dos S.Os.
• Primórdios – S.O. inexistente – Usuário é o programador e operador da máquina – Alocação do computador feito por planilha
• Problemas – Péssima uMlização dos recursos – Usuário era obrigado a ter um conhecimento aprofundado da máquina
INE5611 -‐ Prof. Márcio Castro 11
Histórico dos S.Os.
• Sistemas em lote (batch) – Introdução de operadores de máquina profissionais (usuário não era mais operador da máquina)
• Conceito de job – Programa a ser compilado e executado, juntamente com seus dados de entrada (na época eram cartões perfurados)
– Jobs eram organizados em lote (batch) de acordo com as suas necessidades (ex. jobs que uMlizavam o mesmo compilador, mesmos dados de entrada, ...)
• Alternância entre jobs – Ainda era manual
INE5611 -‐ Prof. Márcio Castro 12
Histórico dos S.Os. • Monitor residente – Evolução do sistema em lote à sequenciamento automáLco de jobs
– Programa que reside permanentemente na memória – Controle da máquina é transferido de um job a outro – Considerado o primeiro S.O. (rudimentar)
• Funcionamento: – No início, o monitor residente inicia sua execução na máquina
– Quando um job é submeLdo, este toma o controle da máquina (cartões de controle)
– No fim, o controle retorna ao monitor residente
INE5611 -‐ Prof. Márcio Castro 13
Histórico dos S.Os. • Sistemas mulLprogramados (mulLtarefa) – Problema do monitor residente: permite a execução de apenas um job por vez
– MulLprogramação • Vários programas na memória ao mesmo tempo • Enquanto um programa aguarda por um recurso (ex. operação de E/S) outro programa é executado • Melhor uLlização dos recursos
14
P1 P2 P3 P1
Tempo
CPU
Requisição E/S Término E/S
Com mulLprogramação
P1 P2 P3 P1
Tempo
CPU
Requisição E/S Término E/S
Sem mulLprogramação Desperdício de CPU
Histórico dos S.Os.
• Duas inovações possibilitaram o surgimento da mulMprogramação em S.Os. • Interrupções – Permitem a sinalização de eventos no S.O.
• Discos magnéLcos – Acesso randômico a diferentes programas no disco à melhor desempenho em acessos de leitura e escrita
INE5611 -‐ Prof. Márcio Castro 15
Histórico dos S.Os. • Sistemas de tempo comparLlhado (Lmesharing) – É um Mpo de sistema mulMprogramado – Usuários interagem com o programa em execução – Ilusão de possuir a máquina dedicada à execução do seu programa • Divisão do tempo de uso do processador entre os usuários • Tempo de resposta é importante
– São os S.Os. que usamos hoje em dia! INE5611 -‐ Prof. Márcio Castro 16
CONCEITOS BÁSICOS DE S.O.
17
Conceitos básicos de S.Os.
• Estrutura de um S.O. – Um S.O. não é um bloco único e fechado de so9ware executando sobre o hardware – É composto por diversos componentes com objeMvos e funcionalidades específicas
• Componentes básicos – Código de inicialização – Núcleo – Drivers – Programas uMlitários
INE5611 -‐ Prof. Márcio Castro 18
Conceitos básicos de S.Os. • Estrutura de um S.O. – Um S.O. não é um bloco único e fechado de so9ware executando sobre o hardware – É composto por diversos componentes com objeMvos e funcionalidades específicas
• Componentes básicos 1. Código de inicialização 2. Núcleo 3. Drivers 4. Programas uMlitários
INE5611 -‐ Prof. Márcio Castro 19
Conceitos básicos de S.Os.
1. Código de inicialização – A inicialização do hardware requer uma série de tarefas complexas, como reconhecer os disposiMvos instalados, testá-‐los e configurá-‐los adequadamente para seu uso posterior – Outra tarefa importante é carregar o núcleo do sistema operacional em memória e iniciar sua execução
INE5611 -‐ Prof. Márcio Castro 20
Conceitos básicos de S.Os.
2. Núcleo – É o coração do sistema operacional, responsável pela gerência dos recursos do hardware usados pelas aplicações – Ele também implementa as principais abstrações uMlizadas pelos programas aplicaMvos
INE5611 -‐ Prof. Márcio Castro 21
Conceitos básicos de S.Os.
3. Drivers – Módulos de código específicos para acessar os disposiMvos osicos – Existe um driver para cada Lpo de disposiLvo, como discos rígidos IDE, SCSI, portas USB, placas de vídeo, etc. – Muitas vezes o driver é construído pelo próprio fabricante do hardware e fornecido em forma compilada para ser acoplado ao restante do S.O.
INE5611 -‐ Prof. Márcio Castro 22
Conceitos básicos de S.Os.
4. Programas uLlitários – São programas que facilitam o uso do sistema, fornecendo funcionalidades complementares ao núcleo – Exemplos de uLlitários • Formatação de discos e mídias • Configuração de disposiMvos • Manipulação de arquivos • Interpretador de comandos (terminal) • Interface gráfica e gerência de janelas
INE5611 -‐ Prof. Márcio Castro 23
Conceitos básicos de S.Os.
INE5611 -‐ Prof. Márcio Castro 24
c� Carlos Maziero : Conceitos de hardware
Figura 3: Estrutura de um sistema operacional
5 Conceitos de hardwareO sistema operacional interage diretamente com o hardware para fornecer serviços
às aplicações. Para a compreensão dos conceitos implementados pelos sistemas operaci-onais, é necessário ter uma visão clara dos recursos fornecidos pelo hardware e a formade acessá-los. Esta seção apresenta uma revisão dos principais aspectos do hardware deum computador pessoal convencional.
Um sistema de computação típico é constituído de um ou mais processadores,responsáveis pela execução das instruções das aplicações, uma área de memória quearmazena as aplicações em execução (seus códigos e dados) e dispositivos periféricosque permitem o armazenamento de dados e a comunicação com o mundo exterior, comodiscos rígidos, terminais e teclados. A maioria dos computadores mono-processadosatuais segue uma arquitetura básica definida nos anos 40 por János (John) Von Neumann,conhecida por “arquitetura Von Neumann”. A principal característica desse modeloé a ideia de “programa armazenado”, ou seja, o programa a ser executado reside namemória junto com os dados. Os principais elementos constituintes do computadorestão interligados por um ou mais barramentos (para a transferência de dados, endereçose sinais de controle). A Figura 4 ilustra a arquitetura de um computador típico.
O núcleo do sistema de computação é o processador. Ele é responsável por continu-amente ler instruções e dados da memória ou de periféricos, processá-los e enviar osresultados de volta à memória ou a outros periféricos. Um processador convencionalé normalmente constituído de uma unidade lógica e aritmética (ULA), que realiza oscálculos e operações lógicas, um conjunto de registradores para armazenar dados detrabalho e alguns registradores para funções especiais (contador de programa, ponteirode pilha, flags de status, etc.).
11
Conceitos básicos de S.Os. • Sistemas monotarefa vs. mulLtarefa – Sistema monotarefa: capaz de executar somente um programa (tarefa) de cada vez. • Ex. MS-‐DOS
– Sistema mulLtarefa: capaz de executar vários programas (tarefas) simultaneamente. • Ex. Windows 98
• Dois Lpos de sistemas mulLtarefa – Não preempLvos: programas se executam do início ao fim sem serem interrompidos – PreempLvos: permite que programas em execução sejam interrompidos para que outros programas possam ser executados
INE5611 -‐ Prof. Márcio Castro 25