Introdução - Site de Thiago Leite

Propaganda
Sistemas Operacionais
Introdução
Thiago Leite
[email protected]
Bibliografia
•
TANENBAUM, Andrew
S. SISTEMAS
OPERACIONAIS
MODERNOS. 3ª Edição.
Pearson Education do
Brasil LTDA. São Paulo.
2003.
Bibliografia
•
SILBERSCHATZ,
Abraham; GALVIN,
Peter; GAGNE, Greg.
FUNDAMENTOS DE
SISTEMAS
OPERACIONAIS, 8a.
Edição, Editora LTC,
2010.
Bibliografia
•
MACHADO, Francis;
MAIA, Luiz.
ARQUITETURA DE
SISTEMAS
OPERACIONAIS. 3ª
Edição. LTC. Rio de
Janeiro. 2002.
Ementa
1. Introdução
2. Processos e threads
3. Gerenciamento de memória
4. Sistemas de arquivos
Avaliação
• 3 avaliações individuais em sala (2.5 pontos
cada)
• Serão consideradas as duas maiores notas
• Não há reposição das avaliações
• Datas a serem definidas
• Prova Regimental Integralizada (5 pontos)
• Não há arredondamento de notas
Presença em Sala de
Aula
• Limite de 20 faltas
• 4 faltas por dia de aula (aulas duplas)
• Presença do aluno será cobrada
Ferramenta de Trabalho: SOSim
http://www.training.com.br/sosim/index_v12.htm
Instituto de Tecnologia
de Massachusetts
• Acesso a todo o material da universidade
• MitOpenCourseWare
• http://ocw.mit.edu
• Acesso a parte do conteúdo em português
• Parceria entre MIT e Universia
• http://mit.universia.com.br
Cursos Stanford
University
• Cursos online gratuitos
• Livre para qualquer pessoa se inscrever
• Entrega de certificado da Universidade de
Stanford
Cursos Piazza
• Cursos online gratuitos pela plataforma
Piazza
• https://piazza.com/itunesu
• disponível em plataforma Web e Mobile
Introdução
• O que é um computador básico?
Processa
Introdução
• O que é um computador moderno?
• Processador
• Memória
• Temporizadores
• Discos
• Dispositivos de apontamento
• Interfaces de rede
• Impressoras
• ...
Introdução
• O que é um Sistema Operacional?
• Shell é o Sistema Operacional?
• GUI é o Sistema Operacional?
Shell
Graphical User Interface
Introdução
• Shell e GUI são softwares de interação
com o Sistema Operacional
Onde está o Sistema Operacional?
Modo Usuário e Modo Núcleo
Exemplo de comando:
Modo Usuário ou Modo Núcleo?
Exemplo de comando:
Modo Usuário ou Modo Núcleo?
Introdução
• Instruções no nível do Sistema Operacional
• Ex: read e write em disquetes
de blocos de dados, número de setores, modo de
• Endereços
gravação, etc...
• Entrada:
• 13 parâmetros
• 9 bytes
• Saída:
• 23 campos de status
• 7 bytes
Abstrações de Instruções
Introdução
• Sistema Operacional organiza o acesso ao
meio
• Dois usuários querendo imprimir ao
mesmo tempo
• Vários pedidos de escrita no mesmo
arquivo
• Aplicativos que recebem a mesma entrada
Introdução
• Sistema Operacional organiza o
compartilhamento de diferentes tipos de
recursos
Mesa de controle de rede na regional mineira do Serpro
História da Computação
Introdução
• Primeira concepção de computador digital
• Charles Babbage (1792-1871)
• Ada Lovelace (1815-1852)
• Primeira “programadora” do mundo
• Deu nome a linguagem Ada
Introdução
•
Primeira Geração (1945-1955)
•
Primeiro computador digital
•
•
•
•
•
Universidade de Iowa
John Vincent Atanasoff
300 válvulas
não programável
segundos para realizar
operações simples
Atanasoff–Berry
Computer
Introdução
• Segunda geração (1955-1965)
• Transistor
• Mainframes
• Linguagem de programação
• Sistema em lote (batch)
• Início primitivo dos Sistemas Operacionais
Transistor
•
Dispositivo
semicondutor
•
Usado para amplificar ou
armazenar um estado
Introdução
• Sistema em Lote (Batch)
• Programas executados sequencialmente
• Armazenamento temporário em disco ou
fita
• Processamento em grupo
Sistema em Lote (Batch)
Programa em Cartões
Introdução
•
Terceira geração (1965-1980)
•
Compatabilidade
•
System/360
•
•
•
•
•
•
Z Series
Circuitos integrados
Multiprogramação
Spooling
Timesharing
Unix (1961)
Circuitos Integrados
Multiprogramação
Tarefa 3
Tarefa 2
Tarefa 1
Sistema Operacional
Partições
de memória
Introdução
• Quarta geração (1980-presente)
• Circuito integrado em larga escala
• Computadores pessoais
• Intel 8080 (1974)
• Sistema Operacional CP/M (Control
Program for Microcomputers)
• disco flexível
Introdução
•
Apple I (1976)
•
•
200 unidades vendidas
•
muito complexo para
uso, restrito ao
campo acadêmico
vendido com um kit
de montagem
Emulador de Apple I
Introdução
•
Apple II (1977)
•
•
•
hardware completo
Linguagem BASIC
controladores de
hardware
extremamente
simples para a época
Introdução
•
IBM PC (1980)
•
•
Linguagem BASIC
•
Digital Research não
aceitou licenciar o
CP/M para o IBM PC
Sistema Operacional
DOS
Introdução
•
Mouse (1963)
•
•
Douglas Engelbart
•
dispositivos para
capturar movimentos
humanos
•
nunca recebeu nada por
seu invento
primeiro protótipo do
mouse
Introdução
•
Xerox
•
GUI (Graphical User
Interface)
•
Apple Lisa e Apple
Macintosh
•
•
“Usuário não precisa
conhecer comandos”
Filme “Piratas do Vale do
Silício”
Introdução
•
Apple Lisa (1983)
•
Acrônimo para “Local
Integrated System
Architecture”
•
Primeiro computador
com GUI
•
Steve Jobs abandonou
o projeto para se
dedicar ao Macintosh
Introdução
• Microsoft expande o projeto do MS-DOS
• Windows (baseado em GUI)
• Utiliza o DOS como plataforma (1985-1995)
• Arquitetura 16 bits da Intel
• Microsoft Windows NT (New Technology)
• 32 bits
• Windows NT 5.0 ou Windows 2000...
Evolução do Windows
Introdução
• Ambiente Unix
• MIT desenvolve o sistema X
• Suporte a janelas dinâmicas
• Gnome ou KDE
• “Macintosh like”
Evolução e Tipos de Unix
Introdução
• Afinal, qual Sistema Operacional é melhor?
• Mac OS?
• Windows?
• Linux?
Epic Rap Battles of
History
• Qual o melhor Sistema Operacional?
Epic Rap Battles of History
Epic Rap Battles of
History
• Conceitos apresentados
• GUI
• Steve Jobs abandonado quando criança
• Steve Jobs absorveu muita tecnologia da Xerox
• Steve Wozniak era o desenvolvedor e Steve Jobs o
idealizador
• Microsoft comprou parte da Apple
• Softwares de estúdio utilizam muito computadores Apple
• Vírus em computadores Apple
Epic Rap Battles of
History
• Conceitos apresentados
• Steve Jobs e Bill Gates eram amigos
• Unix foi base para Windows e Mac OS
• Unix também é desenvolvido na linguagem C
• Unix está em todo lado hoje em dia (smartphones, tablets,
relógios, armas militares...)
• Teste de Turing - determinar se um computador pode exibir
comportamento humano
• http://www.inbot.com.br/sete/
• Linux pode rodar em Mac e PC
Introdução
• Tipos de Sistemas Operacionais
• Sistemas operacionais de rede
• Sistemas operacionais distribuídos
• Sistemas operacionais de computadores de grande porte
• Sistemas operacionais de servidores
• Sistemas operacionais de multiprocessadores
• Sistemas operacionais de computadores pessoais
• Sistemas operacionais de computadores portáteis
• Sistemas operacionais embarcados
• Sistemas operacionais de nós sensores
• Sistemas operacionais de tempo real
• Sistemas operacionais de cartões inteligentes
•…
Introdução
• Hardware básico de Computadores
• Processador
• Memória
• Dispositivos de E/S
• Controladores
• Barramento
Hardware de Computadores
Introdução
• Processador
• Busca instruções em memória e executa
• Cada arquitetura possui diferentes
conjuntos de instruções
• Ex: SPARC é diferente de Pentium
• Registradores
• acesso temporário de dados da memória
Introdução
•
Registradores especiais
•
Ponteiro de pilha
•
•
endereço do topo
da pilha da rotina
Contador de
programa
•
próxima instrução
a executar
Pilha
Introdução
• Registradores especiais
• PSW (Program Status Word)
• bits de status de operações
• resultado da operação resultou em zero
• o número é maior do que uma palavra
• resultado maior que o tamanho do
registrador
• etc...
Introdução
• Sistema Operacional está ciente de todos
os registradores
• Quando um novo processo (re)inicia, o
estado dos registradores é salvo
Introdução
• CPUs modernas possuem diferentes
unidades de busca, decodificação e
execução (pipeline)
• Diversas instruções em simultâneo
• buscar instrução n
• decodificar instrução n+1
• executar instrução n+2
Unidade de
busca
Unidade de
decodificação
Pipeline
Unidade de
execução
Unidade
de busca
Unidade de
decodificação
Unidade de
execução
Buffe
Unidade
de busca
Unidade de
decodificação
Superescalar
Unidade de
execução
Introdução
• PSW define o modo de execução (usuário
ou núcleo)
• núcleo - pode fazer uso de qualquer
instrução do processador
• usuário - pode fazer uso apenas de um
subconjunto de instruções
Introdução
• Como o usuário faz uso de operações que
requerem acesso a alguma instrução
protegida?
• Chamadas de sistema (system calls)
• Micro-instrução TRAP
• “chaveia” entre os modos
Diferentes tipos de arquiteturas
(a) Quad-core com memória L2 compartilhada
(b) Quad-core com memória L2 dedicada
Introdução
• Processadores possuem evolução rápida
• Lei de Moore
• transistores dobram a cada 18 meses
Lei de Moore
Introdução
• Memória
• hierarquia de memórias
• memórias mais rápidas são mais caras
• memórias mais lentas são mais baratas
Hierarquia de Memórias
Introdução
• Memória
• cache
• dividida em fileiras
• uso com os dados mais utilizados
• possuem níveis de velocidades e
tamanhos
• cache L1 e cache L2
Introdução
• Memória
• Memória principal
• abordada com detalhes no próximo
capítulo
Introdução
• Discos
• Memória de acesso aleatório barata
• Dispositivo mecânico
Discos Rígidos
Discos Rígidos
Organização dos dados nos discos
A) trilha B) setor geométrico
C) setor de trilha D) blocos
Arredondamento da capacidade
Introdução
• Discos
• Memória virtual
• Alto custo
• Gerenciado pela MMU
Introdução
•
Fitas
•
Última na escala
hierárquica das
memórias
•
Acesso
extremamente
demorado
•
Normalmente
utilizada para backup
Robô de Backup IBM 3584
Introdução
• Dispositivos de E/S
• Cada dispositivo geralmente possui um
controlador associado
• Interface simplificada
• Ex: controladora SATA (Serial ATA Attachment)
Introdução
• Dispositivos de E/S
• Sistema Operacional utilizam os drivers
• Dentro do Sistema Operacional
• Como são acoplados ao SO?
Introdução
• Dispositivos de E/S
• Drivers
1. Religar o núcleo com o novo driver e
reinicializar. Ex: alguns Unix
2. Mapear o endereço do driver ao SO e
reinicializar. Ex: Windows
3. Instalar sem a necessidade de reinicializar.
Ex: USB e IEEE 1394
driver
controladora
acopla
SO
driver
aponta
SO
driver
SO
Ligação do Driver ao Sistema
Operacional
Introdução
• Dispositivos de E/S
• Todos os controladores possuem
registradores próprios
• Espaço de porta de E/S
Introdução
• Dispositivos de E/S
• Espera ocupada
• CPU interroga dispositivo a todo
instante se a operação finalizou
Introdução
• Dispositivos de E/S
• Interrupção
• Apenas interrompe quando houver
terminado a operação
• CPU salva seu estado para voltar ao
processo original (Contador de Programa
e PSW)
• Controlador de interrupções
Controlador de Interrupções
Introdução
• Dispositivos de E/S
• DMA (Direct Access Memory)
• Controla o fluxo entre a memória e
algum controlador sem a CPU
• Após finalizar as tarefas agendadas, a
DMA realiza uma interrupção
Introdução
• Barramentos
• Um único barramento não é mais suficiente
• ISA
• PCI
• PCI Express
• USB
• SCSI
• IEEE 1394 (Firewire)
Barramentos em um sistema
Pentium
Introdução
• Barramentos
• Cada E/S possui um nível de requisição e
endereços específicos para seus
registradores
• Exemplo da leitora de disquetes:
interrupção 6 e endereços 0x60 e 0x64
Introdução
• Barramentos
• Microsoft e Intel desenvolveram o padrão
plug and play
• Centraliza informações sobre os
dispositivos de E/S
Inicializando o computador
Série IOs: Iniciando o computador
Série IOs: Iniciando o
computador
• Elementos apresentados no vídeo
• processador
• gerência de memória
• disco rígido
• “finado” fax modem
• sistema de som
• ...
Introdução
• Inicializando o computador
• BIOS (Basic Input Output System)
• Rotinas para inicialização do hardware
• Teste de RAM
• Teste de teclado e mouse
• Teste dos barramentos
• ...
Introdução
• Inicializando o computador
• O BIOS determina o dispositivo de
inicialização (boot)
• Busca pelo primeiro dispositivo disponível
• Primeiro setor do dispositivo é carregado
em memória
• Examina a tabela de partições e carrega o
sistema
Introdução
• Conceitos sobre sistemas operacionais
• Processos
• Espaços de endereçamento
• Arquivos
• Entrada e saída
• Segurança
• O interpretador de comandos (shell)
Revisão
• Sistema Operacional
• Modo usuário e modo núcleo
• Shell e GUI
• Computadores de grande porte
• Sistema em lote (batch)
• Circuitos integrados
• Lei de Moore
• Multiprogramação
• Tipos de sistemas operacionais
• Processador
• Registradores
• Dispositivos de E/S
• Barramentos
• Controladores
• Contador de programa
• Ponteiro de pilha
• PSW
• Pipeline
• Superescalar
• Chamada de sistema
• Hierarquia de memórias
• Trilha e cilindro
• Driver
• Interrupção
• Controladora de interrupção
• Inicializando o computador
Download