Sistemas Operacionais e
Introdução à
Programação
Módulo 1 – Sistemas
Operacionais
1
SOP
Competências:
1. Compreender as abstrações de um sistema operacional e
operar um sistema operacional Unix/Linux como usuário
avançado.
2. Desenvolver pequenos programas em linguagem de alto nível,
acessando a Interface de Programação de Aplicações (API) do
sistema operacional.
2
Visão geral de um computador
Computador comum: máquina que executa programas
● Programas são receitas com instruções
Início do programa:
Leia linha do teclado;
Compare texto lido com usuários
cadastrados;
Se encontrou um usuário então mostre
seus dados na tela,
senão mostre mensagem de “Usuário
desconhecido”;
Fim do programa.
3
Visão geral de um computador
Elementos básicos de um computador:
●
●
●
●
Processador: controla a operação do computador e
processa os dados (executa as instruções)
Memória principal: armazena dados e programas;
tipicamente volátil
E/S: transfere dados entre o computador e seu ambiente
externo (ex: discos, monitor, teclado, mouse, ...)
Interconexão do sistema: estruturas e mecanismos para
comunicação entre os componentes acima
4
Visão geral de um computador
●
Elementos básicos de um computador:
5
Visão geral de um computador
●
Memória principal:
● Como uma tabela onde estão guardadas palavras de
tamanho fixo (em bits)
● Cada palavra possui seu endereço: linha da tabela onde
está a palavra
985600FF
E3712024
Palavra “00641198”: endereço 3
A6F0DE71
Palavra “985600FF”: endereço 0
00641198
5B394501
886A2355
• Palavras são números (aqui em hexadecimal)
6
Visão geral de um computador
●
Hierarquia de memória:
● Velocidade x Custo X Capacidade
7
Visão geral de um computador
●
Processador:
● Executa instruções que estão
armazenadas em memória principal
● Cada instrução é buscada (“fetch”) da
memória sequencialmente
● Um registrador especial contém
endereço da próxima instrução a ser
buscada
8
Visão geral de um computador
●
E/S:
● Dispositivos para entrada e saída de dados
● Discos, teclado, mouse, monitor, placa de rede,
scanner, ...
9
Visão geral de um computador
●
Diversas técnicas de E/S:
● E/S programada
● E/S orientada a interrupção
● Acesso direto à memória (DMA)
10
Visão geral de um computador
●
Resumo do sistema computacional:
11
Sistema Operacional
●
Conceituação básica:
● Um programa que controla a execução de programas
aplicativos
● Uma interface entre o usuário e a máquina
● Esconde os detalhes do hardware
12
Sistema Operacional
●
Camadas de um sistema computacional
13
Sistema Operacional
●
Objetivos de um sistema operacional
●
●
●
Conveniência: tornar um computador mais fácil de
usar
Eficiência: aproveitar de forma eficiente os recursos
do hardware
Capacidade de evoluir: poder incorporar novas
funcionalidades
14
Sistema Operacional
●
Serviços providos por um SO:
●
Criação e execução de programas
●
Acesso a dispositivos de E/S
●
Acesso controlado a arquivos
●
Acesso ao próprio sistema
●
Detecção e tratamento de erros (hardware e software)
●
Contabilização para monitoramento de desempenho e
de uso de recursos
15
Sistema Operacional
●
SO é também um programa (software):
●
Dirige o processador no uso dos recursos da máquina
●
Dirige o processador para a execução de programas
16
Sistema Operacional
●
Abstrações típicas de SO:
●
●
●
●
●
Processos: programa em execução
Arquivos e diretórios: repositórios de dados
identificados por nomes
Memória virtual: memória secundária (disco) usada
como se fosse memória principal
E/S: dispositivos vistos como se fossem arquivos
especiais
Rede: conexões de rede e facilidades para envios de
mensagens
17
Sistema Operacional
●
História dos sistemas operacionais
●
1a geração: 1945-1955
●
●
2a geração: 1955-1965
●
●
CIs e multiprogramação (timesharing)
4a geração: 1980 – 1995
●
●
Transistores e sistemas em lote (jobs)
3a geração: 1965-1980
●
●
Válvulas e painéis de programação
Computadores pessoais
5a geração: 1995 – presente
●
Computadores em rede e Internet
18
Sistema Operacional
●
História dos sistemas operacionais
●
Antigos sistemas em lote
●
Insere cartões perfurados na leitora de fita
●
Lê cartões para a fita
●
Coloca fita na CPU para processamento
●
Coloca fita na leitora de fita que imprime a saída
19
Sistema Operacional
●
História dos sistemas operacionais
●
Multiprogramação – 3a geração
●
Sistema com 3 jobs na memória
●
Uso de interupções
●
Surgimento de discos magnéticos
20
Sistema Operacional
●
História dos sistemas operacionais
●
Uniprogramação: apenas um processo executa por vez (e
até o fim)
●
Uso ineficiente dos recursos da máquina
●
Processo em espera por E/S prende o processador
21
Sistema Operacional
●
História dos sistemas operacionais
●
Multiprogramação: vários processos executam por vez
●
●
Uso eficiente dos recursos da máquina
Processo em espera por E/S libera o processador para
outro processo
22
Sistema Operacional
●
História dos sistemas operacionais
●
Características de SO para multiprogramação
●
●
●
●
Deve saber escolher algum dos processos ativos para
usar o processador
Deve cuidar para que um processo não interfira no
funcionamento de outros processos
Deve alocar a memória da melhor forma entre os
processos
Deve coordenar o acesso dos processos aos dispositivos
de E/S
23
Sistema Operacional
●
História dos sistemas operacionais
●
Computadores pessoais – 4a geração
●
Dispositivos de E/S: mouse, impressora, teclado, monitor
●
Baseado em microprocessador
●
Microprocessador Intel 8080 (CP/M): 1974
●
IBM PC-DOS (MS-DOS): 1980
●
Pode rodar diferentes tipos de SO: Windows, Linux, MSDOS
24
Sistema Operacional
●
História dos sistemas operacionais
●
Computadores em rede – 5a geração
●
Comunicação em rede incorporada ao computador e ao
sistema operacional
●
●
SO com funcionalidades de sistemas distribuídos
Acesso a dispositivos remotos: discos de rede
(compartilhamentos), impressoras
●
Execução de processos remota: Terminal Service, X11
●
Aplicações cliente-servidor: web, FTP, email, ...
●
Aplicações P2P: BitTorrent, eMule, ...
●
SOs: Linux, Windows, MacOS, Sun Solaris, ...
25
Download

Sistema Operacional