Introdução ao Sistema UNIX

Propaganda
Volnys & Midorikawa (c)
Introdução ao Sistema UNIX
Volnys Borges Bernal
[email protected]
http://www.lsi.usp.br/~volnys
Edson Toshimi Midorikawa
[email protected]
http://www.lsi.usp.br/~emidorik
Laboratório de Sistemas Integráveis
http://www.lsi.usp.br/
1
Volnys & Midorikawa (c)
Agenda
o
o
o
História do sistema UNIX
Arquitetura Geral do Sistema UNIX
Shell
2
Volnys & Midorikawa (c)
História do sistema UNIX
3
Volnys & Midorikawa (c)
História do sistema UNIX
o
1965
X Projeto MULTICS
êMULTiplexed Information and Computing Service
êProjeto conjunto entre
u GE (General Eletric)
u MIT (Massachusetts Institute of Technology)
u AT&T
êObjetivo
u Desenvolvimento de um sistema operacional chamado
MULTICS
ÕSistema multi-usuário time-sharing
ÕSistema de arquivos hierárquico
ÕImplementado em uma linguagem de alto nível
u Para executar sobre computador GE-645
4
Volnys & Midorikawa (c)
História do sistema UNIX
o
1969
X Término do projeto MULTICS
êJá tinham uma versão primitiva do S.O MULTICS
êProblemas:
u Complexidade
u Lento
u Falta de um compilador estável
u Falta de poder computacional do GE-654
êEncerramento do projeto
5
Volnys & Midorikawa (c)
História do sistema UNIX
o
Pesquisadores da AT&T (Bell Labs):
X Ficam sem ambiente de desenvolvimento
X Ken Thompson e Dennis Ritche
êdesenvolvem um projeto de kernel simplificado
êpropõem a compra de um computador
êProposta rejeitada
X Ken Thompson
êDesenvolveu um jogo
u “Space Travel”
u Executava no sistema GECOS - Honwyell 635
u Muito lento
6
Volnys & Midorikawa (c)
História do sistema UNIX
o
Pesquisadores da AT&T (Bell Labs):
X Conseguiram um minicomputador PDP-7
êNão estava em uso
êBoa capacidade de processamento
êBom display gráfico
êPorém, não possuia um S.O adequado
X Porte do SpaceTravel para o PDP-7
êFoi criado um Sistema Operacional primitivo
êForam desenvolvidos vários softwares de apoio
7
Volnys & Midorikawa (c)
História do sistema UNIX
o
1969
X Primeira versão UNIX (AT&T)
êSistema operacional em assembler para o PDP-7
êNome UNIX
u Nome derivado de “MULTICS”
u Único usuário
o
1971
X UNIX (AT&T)
êPortado para um PDP-11
êMemória
u 16 kbytes sistema
u 8 kbytes programa
êDisco
u 512 kbytes
8
Volnys & Midorikawa (c)
História do sistema UNIX
o
Linguagem B
X
X
X
X
o
Criada por Ken Thompson
Linguagem Interpretada
Inspirada em BCPL (que por sua vez foi inspirada na PL/1)
Semelhante a um macro assembler
Linguagem C
X Baseada na Linguagem B
X Desenvolvida por Dennis Ritche
9
Volnys & Midorikawa (c)
História do sistema UNIX
o
1973
X UNIX (AT&T)
êReescrito em C
o
1974
X UNIX (AT&T)
êArtigo publicado por Thompson e Dennis Ritche
êDescrevia estruturas internas do sistema
êPopularidade no meio academico
ê“Communications of ACM”
10
Volnys & Midorikawa (c)
História do sistema UNIX
o
1977
X UNIX 1 BSD
êPrimeira versão UNIX BSD
êVariação UNIX realizada pela Universidade de Berkley
êBaseada na UNIX version 6 (AT&T)
êBSD: Berkley Software Distribution
o
1978
X UNIX version 7 (AT&T)
êLicenças:
u Para universidades
u Para instituições comerciais
êMais de 500 corporações utilizavam UNIX
u 125 eram universidades
ê Primeiro porte para outra arquitetura
u Interdata 8/32
11
Volnys & Midorikawa (c)
História do sistema UNIX
o
1979
X UNIX 4.0 BSD
o
1982
X UNIX System III (AT&T)
êPrimeira versão comercial
o
1983
X UNIX System V (AT&T)
êPrimeira versão com suporte da AT&T
12
Volnys & Midorikawa (c)
13
História do sistema UNIX
o
1983
X GNU Project
êManifesto “GNU is Not UNIX”
êPor Richard Stalman (MIT)
êObjetivo: Criação de utilitários e software “livres” para sistemas
UNIX
u Compiladores, Shells, utilitários (ls,pwd,cat,...)
êNão inclui o kernel do sistema operacional
o
“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/)
Volnys & Midorikawa (c)
História do sistema UNIX
o
1985
X X-Windows
êMIT
êDistribuído com restrições mínimas
14
Volnys & Midorikawa (c)
História do sistema UNIX
o
1987 - Minix
X “Mini UNIX”
X Desenvolvida pela equipe de Andew Tanenbaum
X Objetivo:
êDisciplina de Sistemas Operacionais
êLivro de Sistemas Operacionais + Fonte do kernel
X Compativel com “UNIX version 7”
êSimplicidade + Elegância
X Linguagem C e Assembler
ê12.000 linhas de código
X Plataforma
êIBM PC
X Não precisava de disco
êPodia executar com 2 disquetes
15
Volnys & Midorikawa (c)
História do sistema UNIX
o
1990
X Anúncio GNU Hurd
êInício do desenvolvimento de um “kernel” UNIX
êDe domínio público
êPela “Free Software Fundation” (GNU)
o
1991 - xxxBSD
X Artigos em “Dr. Dobb’s Journal”
êPor Williand e Lynne Jolitz
ê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
u FreeBSD
u NetBSD
u OpenBSD
16
Volnys & Midorikawa (c)
História do sistema UNIX
o
1991 - Linux
X Abril
êLinus Torvalds Inicia o desenvolvimento de um S.O
êBaseado no MINIX
êUtiliza ferramentas GNU
X Outubro
êPublica primeiros trechos de código
êUnix-like free-source kernel
êChama-o de Linux
X Dezembro
êversão 0.11
u Primeira versão do Kernel
17
Volnys & Midorikawa (c)
História do sistema UNIX
o
1992
X NetBSD release 2
êVersão PC do UNIX BSD
X 386BSD 0.1
êPor William e Lynne Jolitz
êPrimeira versão
êBaseada no NetBSD Release 2
êNão pode ser utilizado
u Batalha legal
u Existe código proprietário de Berkley?
18
Volnys & Midorikawa (c)
História do sistema UNIX
o
1993
X FreeBSD
êBaseado no 386BSD
êMuito estável
o
1994
X NetBSD 1.0
êLiberado
o
1995
X FreeBSD 2.0
19
Volnys & Midorikawa (c)
20
História do sistema UNIX
xxxBSD
BSD
1
3 4.0 4.1
4.2
4.3
SunOS
AT&T v6 v7
SystemIII
SystemV
R1.0 R2.0
R3.0
R4.0 R4.1 R4.2
Minix
Linux
76
78
80
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
Volnys & Midorikawa (c)
Arquitetura geral do
sistema UNIX
21
Volnys & Midorikawa (c)
Arquitetura geral do sistema UNIX
Aplicativos
Sistema Operacional
Componentes Físicos
22
Volnys & Midorikawa (c)
23
Arquitetura geral do sistema UNIX
Aplicativos
Utilitários do Sistema
Interface de
chamadas ao sistema
Processos de gerência
Núcleo
Sistema
Operacional
Device Drivers
Interface de
hardware
Hardware
Dispositivos
Componentes
Físicos
Volnys & Midorikawa (c)
24
Arquitetura Geral
Usuário
Aplicativos
shell
ls
Utilitários do Sistema
init
Interface de
chamadas ao sistema
inetd
nfsd
...
Processos de gerência
processos
Interface de usuário
via shell
Sistema
Operacional
Núcleo
Device Drivers
Interface de
hardware
Hardware
Dispositivos
Componentes
Físicos
Volnys & Midorikawa (c)
25
Arquitetura geral do sistema UNIX
o
Características
X
X
X
X
X
X
X
X
Portabilidade do Sistema Operacional para outras arquiteturas
Portabilidade de código fonte de aplicação para diferentes UNIX
Sistema de computação de uso geral
Multitarefa
Multiusuário
Sistema de arquivos hierárquico
Possui ambiente de janelas
Grande quantidade de ferramentas de desenvolviemento de
software
X Interoperabilidade
X Padronização
Volnys & Midorikawa (c)
Arquitetura geral do sistema UNIX
o
Portabilidade
X Disponível em todo tipo de sistema
êComputador pessoal
êEstações Gráficas
êServidores
êSupercomputadores
26
Volnys & Midorikawa (c)
Características do sistema UNIX
o
Padronização
X
X
X
X
X
IEEE POSIX
X/Open
OSF
SVID (System V Interface Definition) (AT&T)
Unix International
27
Volnys & Midorikawa (c)
Arquitetura Geral do sistema UNIX
o
Fabricantes de “Workstations” e suas versões UNIX
X
X
X
X
X
Sun:
SGI:
HP:
Digital:
IBM:
SunOS / Solaris
IRIX
HPUX
Digital UNIX (OSF)
AIX
28
Volnys & Midorikawa (c)
Arquitetura Geral
o
Versões UNIX para arquitetura PC
X Comerciais
êSunOS/Solaris para PC
êSCO UNIX
X De domínio público
êFreeBSD
êNetBSD
ê386BSD
êLinux
êMinix
29
Volnys & Midorikawa (c)
Shell
30
Volnys & Midorikawa (c)
Shell
o
Funções do shell:
X Interpretador de comandos
êInteração com o usuário através do terminal
êFunção principal
X Interpretador de uma linguagem de programação
êÉ capaz de executar uma seqüência de comandos (programa)
armazenadas em um arquivo e descrita na liguagem shell
apropriada
êEstes programas shell são chamados “shell scripts”
31
Volnys & Midorikawa (c)
32
Shell
Usuário
Interface de usuário
via shell
shell
ls -a
Processos
init
Interface de
chamadas ao sistema
inetd
nfsd
Núcleo
Device Drivers
Interface de
hardware
Hardware
Dispositivos
Componentes
Físicos
Volnys & Midorikawa (c)
Shell
o
Principais shells existentes atualmente:
X
X
X
X
X
sh
csh
ksh
bash
tcsh
Bourne Shell
C-Shell
Korn Shell
Bourne again Shell
T C Shell
Original UNIX
BSD UNIX
Mistura sh/ksh
Shell GNU
Baseado no C Shell
33
Volnys & Midorikawa (c)
Exercícios
34
Volnys & Midorikawa (c)
Exercícios
1 - O Linux é uma versão UNIX?
2 - Quais são os dois principais tipos de sistemas UNIX?
3 - O que é o shell no sistema UNIX?
35
Volnys & Midorikawa (c)
Bibliografia
36
Volnys & Midorikawa (c)
Bibliografia
o
Operating System - Design and Implementation
X Andrew Tanenbaum
o
IEEE Software - Linux on the Move
X Terry Bollinger; Peter Beckman
X Jan/Fev 1999
o
The Design of the UNIX Operating System
X Maurice J. Bach
X Prentice-Hall Software Series, 1986
37
Download