Breve Histórico do Unix e do Linux
Versão original desenvolvida por Ken Thompson (Bell)
Estudo de Caso: Sistema
Operacional Unix
Prof. Alexandro M. S. Adário
URI – Campus de Erechim
Assembly para PDP-7, logo portada para o PDP-11
Baixa Portabilidade → Mudança para código em “B”
Denis Ritchie desenvolve o C, escreve o compilador
Unix é licenciado para universidades pela AT&T
Berkeley desenvolve o 1BSD que evolui para produtos de
grande sucesso (4BSD e releases)
Microsoft lança o Xenix
AT&T consegue entrar no mercado e evolui até o System V
POSIX (Portable Operating System) é uma iniciativa de
padronização
Minix: versão didática desenvolvida por Tanenbaum
Linux é baseado no Minix, como um clone do Unix.
Camadas de um Sistema Unix
Estrutura do Núcleo do 4.4BSD
Interface de
usuário
Chamadas ao sistema
Usuários
Interface de
biblioteca
Interface de
chamadas
ao sistema
Tratamento de
terminais
Programas-padrão utilitários
(shell, editores, compiladores, etc.)
Modo
usuário
Biblioteca-padrão
(open, close, read, write, fork, etc.)
Sistema Operacional Unix
(gerenciamento de processo, gerenciamento de memória,
sistema de arquivos, E/S, etc.)
Hardware
(CPU, memória, discos, terminais, etc.)
Sinais Exigidos pela Norma POSIX
Modo
kernel
Terminais
tty
Terminais preparados
tty naturais
Tratamento
de linhas
Dispositivos de
caracteres
Interrupção e traps
Sockets
Nomeação Mapea- Faltas
de
de arquivos mento página
Protocolos de rede
Sistemas Memória
de arquivos Virtual
Cache de
buffer
Roteamento
Drivers de Rede
Cache de
páginas
Drivers de disco
Criação e
Tratamento
término de
de sinais
processos
Escalonamento de
processos
Despacho de
processos
Hardware
Chamadas de Sistema – Gerenc. Processos
1
Exemplo de Chamadas de Sistema
Implementação de Threads POSIX
Implementa uma shell básica simplificada
Execução de um “ls” na Shell
Fila de Escalonamento Unix
Processos esperando
no modo kernel
O escalonador do Unix é baseado em uma estrutura de fila multinível
Gerência de Memória e File Sharing
Sistema de Paginação do 4BSD
Usado quando o
bloco de página está
na lista de livres
2
Sistema de Paginação do Linux
Entrada e Saída no Unix
O Linux usa tabelas de páginas de três níveis
3
Download

1 Estudo de Caso: Sistema Operacional Unix