06 Unix v5
06 Unix v5
06 Unix v5
Agenda
Shell
© 1997-2017 Volnys Bernal 3
o AT&T
Objetivo
o Desenvolvimento de um sistema operacional chamado
MULTICS com os seguintes desafios:
• Sistema multi-usuário time-sharing (que oferece
terminais aos usuários)
• Sistema de arquivos hierárquico
• Implementação em uma linguagem de alto nível
o Para executar sobre computador GE-645
© 1997-2017 Volnys Bernal 5
1969
o Lento
Encerramento do projeto
© 1997-2017 Volnys Bernal 6
Ken Thompson
Havia desenvolvido o jogo “Space Travel”
o Executava no sistema GECOS - Honwyell 635
o Único usuário
1971
UNIX (AT&T)
Portado para um PDP-11
Memória
o 16 kbytes sistema
o 8 kbytes programa
Disco
o 512 kbytes
© 1997-2017 Volnys Bernal 9
Linguagem B
Criada por Ken Thompson em 1969
Inspirada em BCPL (que por sua vez foi inspirada na PL/1)
Projetada para processamento não numérico, (lógica e
manipulação de valores inteiros e endereços de memória) com
suporte a recurção e independente de máquina.
Um dos usos da linguagem foi ser utilizada para o
desenvolvimento de código de sistema operacional.
Linguagem C
Desenvolvida por Dennis Ritche entre 1969 e 1973
Baseada na Linguagem B
© 1997-2017 Volnys Bernal 10
1973
UNIX (AT&T)
Reescrito em C
1974
UNIX (AT&T)
Artigo publicado por Thompson e Dennis Ritche
Descrevia estruturas internas do sistema
Popularidade no meio academico
“Communications of ACM”
© 1997-2017 Volnys Bernal 11
1982
UNIX System III (AT&T)
Primeira versão comercial
1983
UNIX System V (AT&T)
Primeira versão com suporte da AT&T
© 1997-2017 Volnys Bernal 13
1985
Free Sotware Fundation
Fundada por Richard Stallman
“Free Software”
Software não proprietário
Acesso público ao software (fontes)
Redistribuição do código fonte
“Free Software Foundation” (http://www.fsf.org/)
© 1997-2017 Volnys Bernal 14
1991
Versões derivadas do BSD UNIX
BSD - Berkeley Software Distribution
Artigos em “Dr. Dobb’s Journal”
o Por Williand e Lynne Jolitz
o Como realizar o porte do BSD UNIX em PCs 386
Início da família de sistemas operacionais “free-software” baseado na
versão BSD
o FreeBSD
o NetBSD
o OpenBSD
© 1997-2017 Volnys Bernal 17
o Baseado no MINIX
Outubro
o Publica primeiros trechos de código
o Chama-o de Linux
Dezembro
o versão 0.11
1994
NetBSD 1.0
Liberado
1995
FreeBSD 2.0
© 1997-2017 Volnys Bernal 20
SunOS
Minix
Linux
76 78 80 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
© 1997-2017 Volnys Bernal 21
Arquitetura geral do
sistema UNIX
© 1997-2017 Volnys Bernal 22
Aplicativos
Sistema Operacional
Componentes Físicos
© 1997-2017 Volnys Bernal 23
Aplicativos
Processos de Utilitários do
gerência Sistema
Interface de
Sistema
chamadas ao sistema
Núcleo Operacional
Device Drivers
Interface de
hardware Hardware Componentes
Dispositivos Físicos
© 1997-2017 Volnys Bernal 24
Arquitetura Geral
Usuário
Aplicativos
Interface de usuário
processos
via shell
shell ls
Utilitários do Sistema
Características do
sistema UNIX
© 1997-2017 Volnys Bernal 26
Portabilidade
Supercomputadores
Servidores
Estações gráficas
Computadores de uso corporativo
Computador pessoal
Celular (Ex: Android)
Sistemas embarcados
© 1997-2017 Volnys Bernal 28
Padronização
IEEE POSIX
X/Open
OSF
SVID (System V Interface Definition) (AT&T)
Unix International
© 1997-2017 Volnys Bernal 29
Comerciais
SunOS/Solaris para PC
SCO UNIX
De domínio público
FreeBSD
NetBSD
386BSD
Linux
Minix
© 1997-2017 Volnys Bernal 31
Shell
© 1997-2017 Volnys Bernal 32
Shell
Funções do shell:
Interpretador de comandos
Interação com o usuário através do terminal
Função principal
Shell
Usuário
Interface de usuário
via shell
shell ls -a
Processos
init inetd nfsd
Interface de
chamadas ao sistema Núcleo
Device Drivers
Interface de
hardware Hardware Componentes
Dispositivos Físicos
© 1997-2017 Volnys Bernal 34
Shell
Bibliografia
© 1997-2017 Volnys Bernal 36
Bibliografia
Sistemas Operacionais Modernos
Andrew Tanenbaum
Bibliografia complementar:
The Design of the UNIX Operating System
Maurice J. Bach
Prentice-Hall Software Series, 1986