Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
SISTEMAS OPERACIONAIS
Conteúdo
Introdução ao S.O
Gerenciamento de processos.
Gerenciamento de memória.
Dispositivos de Entrada/Saída.
Sistemas de arquivos.
Definição do problema
Um sistema de computação consiste de diversos
dispositivos.
Todos os dispositivos são complexos de manipular.
Escrever programas que fazem usos desses
dispositivos é uma tarefa difícil.
Como solucionar o problema?
Utilizar uma camada de software chamada
sistema operacional.
Ele gerencia todos esses dispositivos e fornece uma
interface de mais alto nível para acesso ao
hardware.
O que é um Sistema Operacional?
É um software que realiza duas funções:
Estende a máquina, isto é, esconde do programador a
“verdade” sobre a programação do hardware e
apresenta uma forma mais simples de acessar o
hardware.
Gerencia recursos, isto é, controla todo o hardware e
controla a concorrência entre os diversos processos que
tentam usar esse hardware.
Exemplo de acesso ao hardware
Queremos gravar dados em um disquete sem um
S.O:
O controlador do disquete tem 16 funções de baixo
nível;
Funções de leitura/escrita têm 13 parâmetros;
Retornam 23 informações de status.
É preciso verificar o status do motor.
Resumindo...
Sistema operacional é um software utilizado para
facilitar a utilização do hardware, fornecendo ao
usuário uma abstração maior, evitando que o
programador acesse as instruções de hardware.
O SO gerencia os recursos de hardware, como por
exemplo: endereçamento de memória, fila de
processos para execução, concorrência entre
processos.
Estrutura de um computador moderno
Estrutura de um computador moderno
Dispositivos físicos: circuitos, unidades de disco
etc.
Microprogramação: constituída por softwares
capaz de interpretar e executar as instruções de
máquina recebidas da camada superior.
Estrutura de um computador moderno
Linguagem de máquina: instruções que movem os
dados pela maquina efetuando operações lógicas
e aritméticas.
Sistema operacional: esconde a complexidade do
hardware e gerencia os recursos compartilhados.
Estrutura de um computador moderno
Utilitários: compiladores, editores texto,
interpretador de comando.
Aplicativos: navegador web, bate-papo etc.
Evolução dos S.O
Os sistemas operacionais evoluíram com o passar
dos anos, acompanhando a arquitetura dos
computadores que executavam.
1ª geração (1940 – 1955)
Foi marcada pelo invento das válvulas.
Computadores eram formados por milhares de
válvulas ocupando salas imensas.
Não havia conceito de sistema operacional.
O acesso era feito diretamente nos painéis do
equipamento, onde o usuário programa seus
cálculos.
Surge o ENIAC, onde a programação era por fios e
pinos.
1ª geração (1940 – 1955) (cont.)
Computador baseado em válvulas
Computador ENIAC
2ª geração (1955 – 1965)
Marcada por três avanços:
Utilização dos transistores em grande quantidade.
Sistema de processamento em batch.
Surgimento de linguagens de programação de alto
nível (Fortran, Algol e Cobol).
Criação de mainframes.
Programas deixam de ter relação direta com o
hardware.
2ª geração (1955 – 1965)
Processamento em batch:
Programas eram gravados em cartões perfurados.
Após a leitura, eles eram salvos em uma fita
magnética de entrada.
A fita de entrada era colocada no computador de
grande porte (IBM 7094). Ao final do processamento,
gravava o resultado em uma segunda fita (de saída).
A segunda fita (de saída) era colocada em um
computador (IBM 1401) que lia a fita de saída e
imprimia seu conteúdo.
2ª geração (1955 – 1965) (cont.)
Sistema de processamento batch
3ª geração (1965 – 1980)
Surgimento dos circuitos integrados.
Surgimento das técnicas de:
Multiprogramação: execução de vários programas por
meio da divisão de memória em partes.
Timesharing: divide o tempo de uso do processador
entre todos os programas.
4ª geração (1980 – 1990)
Surgimentos dos PCs (personal computers).
Surgimento dos sistemas operacionais mais
modernos:
MS-DOS: linha de comando.
Novel network : sistemas operacional de rede.
Macintosh: baseado em janelas.
5ª geração (1990 – ...)
Surgimento da computação distribuída
Um programa em execução que pode ser dividido em
subprocessos para serem executados em outros
computadores na rede.
Surgimento do protocolo TCP/IP, padrão Ethernet e
o modelo cliente/servidor.
Surgimento da computação ubíqua.
Conceitos básicos de S.O
Monotarefa
Os primeiros S.O executavam um programa de
cada vez.
Os outros programas deveriam esperar o termino
para poder executar.
Todos os recursos ficavam dedicados a uma única
tarefa.
Multitarefa
Suporta a execução concorrente de vários
programas, dividindo os recursos.
Classificado como:
Monousuário e Multiusuário.
Pode ser:
Cooperativo: o processo libera a CPU voluntariamente
(i.e não há interrupções)
Preemptivo: quando o sistema gera uma interrupção e
dá lugar a outro processo na CPU.
Processos
É uma abstração de um programa em execução.
Cada programa tem ao menos um processo
concorrendo os recursos de sistema.
Possui um espaço de endereçamento na memória.
Pode assumir três estados:
Execução
Bloqueado
Pronto
Multiprocessamento
Sistemas com múltiplos processadores.
Compartilham a mesma memória e dispositivos de
entrada.
Aumentam a capacidade computacional.
Interpretador de comandos (Shell)
Interface entre o usuário e o sistema operacional.
É onde o usuário solicita a execução de programas.
Chamadas do sistema
(System Calls)
Interface entre softwares aplicativos e o sistema
operacional.
Exemplo:
Criar arquivos.
Acessar drive de disquete, CD-Rom etc.
Sistemas Operacionais e suas
Características