Visão geral sobre sistemas computacionais e

Propaganda
Sistemas Operacionais e
Introdução à
Programação
Módulo 1 – Sistemas
Operacionais
1
Sistema computacional
Sistemas feitos para resolver problemas
● Problema: como obter determinado resultado, com base
em dados fornecidos
●
Sistema computacional composto por hardware e
software
● Hardware: parte “rígida”; circuitos e componentes
físicos
● Ex: Processador, memória, mouse, teclado,
monitor, ...
● Software: dados e instruções sobre como resolver o
problema
● Determinam o que o hardware deve fazer
● Ex: Sistema operacional, programas, ...
2
Sistema computacional
Usuário
Hardware
Software
3
Computadores atuais
Unidade Central de Processamento
Dispositivos
de Entrada
Registradores
ULA
Dispositivos
de Saída
Unidade
de Controle
Barramentos
Dispositivos
de
Armazename
nto
4
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.
5
Visão geral de um computador
Modelo de Computador
● Baseado no modelo definido por Alfred von Neumann
em 1945
● Conceito de programa armazenado em memória
6
Visão geral de um computador
●
Elementos básicos de um computador atual:
7
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
● ... ou barramentos do sistema
8
Visão geral de um computador
●
Estrutura típica de um PC:
9
Visão geral de um computador
●
Estrutura típica de um PC: placa-mãe
10
Visão geral de um computador
●
Memória principal:
● Armazenamento de dados
● Fundamental para o processamento
● Volátil: perde dados ao ser desenergizada
● RAM
● Não-volátil: não perde os dados
● Flash, ROM, EPROM
11
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)
12
Visão geral de um computador
●
●
●
Hierarquia de memória:
● Velocidade x Custo X Capacidade
Mais veloz:
● Mais cara
● Menor capacidade
Maior capacidade:
● Menor velocidade
● Mais barata
13
Visão geral de um computador
●
Processador: cérebro do computador
● 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
14
Visão geral de um computador
●
Processador:
● Circuito densamente
integrado
Velho Intel 8086
15
Visão geral de um computador
●
E/S:
● Dispositivos para entrada e saída de dados
● Discos, teclado, mouse, monitor, placa de rede,
scanner, ...
16
Visão geral de um computador
●
E/S:
● Primeiro mouse
17
Visão geral de um computador
●
E/S:
● Primeiro disco rígido (HD):
18
Visão geral de um computador
●
Diversas técnicas de E/S:
● E/S programada:
● Comanda-se todas as ações de E/S de um
dispositivo
● E/S orientada a interrupção
● Inicia-se uma operação de E/S no dispositivo, que
avisa quando a concluir
● Acesso direto à memória (DMA)
● Inicia-se uma operação de E/S no dispositivo, que
movimenta por conta própria os dados entre RAM e
E/S
19
Visão geral de um computador
●
Resumo do sistema computacional:
20
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
Exemplos de sistemas operacionais atuais:
● Linux (PCs e diversos outros computadores)
● IBM AIX (computadores IBM)
● Sun Solaris (PCs e computadores Sun)
● Microsoft Windows (PCs)
● MacOS (Apple Macintosh)
21
Sistema Operacional
●
Camadas de um sistema computacional
22
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
23
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
●
Comunicação em rede
●
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
24
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
25
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
26
Sistema Operacional
●
Estrutura de um sistema operacional Unix
tradicional:
27
Sistema Operacional
●
Estrutura de um sistema operacional Linux
28
Sistema Operacional
●
Estrutura de um sistema operacional Windows:
29
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
30
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
31
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
32
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
33
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
34
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
35
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
36
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, ...
37
Download