introdução ao sistema unix - lsi.usp.brvolnys/courses/linux/pdf-col/unix-col.pdf · volnys &...
TRANSCRIPT
Volnys & Midorikawa (c) 1
Introdução ao Sistema UNIX
Volnys Borges [email protected]
http://www.lsi.usp.br/~volnys
Edson Toshimi [email protected]
http://www.lsi.usp.br/~emidorik
Laboratório de Sistemas Integráveis
http://www.lsi.usp.br/
Volnys & Midorikawa (c) 2
Agenda
o História do sistema UNIXo Arquitetura Geral do Sistema UNIXo Shell
Volnys & Midorikawa (c) 4
História do sistema UNIX
o 1965X Projeto MULTICS
êMULTiplexed Information and Computing ServiceêProjeto conjunto entre
u GE (General Eletric)u MIT (Massachusetts Institute of Technology)u AT&T
êObjetivou 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
Volnys & Midorikawa (c) 5
História do sistema UNIX
o 1969X Término do projeto MULTICS
êJá tinham uma versão primitiva do S.O MULTICSêProblemas:
u Complexidadeu Lentou Falta de um compilador estávelu Falta de poder computacional do GE-654
êEncerramento do projeto
Volnys & Midorikawa (c) 6
História do sistema UNIX
o Pesquisadores da AT&T (Bell Labs):X Ficam sem ambiente de desenvolvimentoX 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 635u Muito lento
Volnys & Midorikawa (c) 7
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
Volnys & Midorikawa (c) 8
História do sistema UNIX
o 1969X 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 1971X UNIX (AT&T)
êPortado para um PDP-11êMemória
u 16 kbytes sistemau 8 kbytes programa
êDiscou 512 kbytes
Volnys & Midorikawa (c) 9
História do sistema UNIX
o Linguagem BX Criada por Ken ThompsonX Linguagem InterpretadaX Inspirada em BCPL (que por sua vez foi inspirada na PL/1)X Semelhante a um macro assembler
o Linguagem CX Baseada na Linguagem BX Desenvolvida por Dennis Ritche
Volnys & Midorikawa (c) 10
História do sistema UNIX
o 1973X UNIX (AT&T)
êReescrito em C
o 1974X UNIX (AT&T)
êArtigo publicado por Thompson e Dennis RitcheêDescrevia estruturas internas do sistemaêPopularidade no meio academicoê“Communications of ACM”
Volnys & Midorikawa (c) 11
História do sistema UNIXo 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 1978X UNIX version 7 (AT&T)
êLicenças:u Para universidadesu Para instituições comerciais
êMais de 500 corporações utilizavam UNIXu 125 eram universidades
ê Primeiro porte para outra arquiteturau Interdata 8/32
Volnys & Midorikawa (c) 12
História do sistema UNIX
o 1979X UNIX 4.0 BSD
o 1982X UNIX System III (AT&T)
êPrimeira versão comercial
o 1983X UNIX System V (AT&T)
êPrimeira versão com suporte da AT&T
Volnys & Midorikawa (c) 13
História do sistema UNIX
o 1983X GNU Project
êManifesto “GNU is Not UNIX”êPor Richard Stalman (MIT)êObjetivo: Criação de utilitários e software “livres” para sistemas
UNIXu 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) 14
História do sistema UNIX
o 1985X X-Windows
êMITêDistribuído com restrições mínimas
Volnys & Midorikawa (c) 15
História do sistema UNIX
o 1987 - MinixX “Mini UNIX”X Desenvolvida pela equipe de Andew TanenbaumX 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
Volnys & Midorikawa (c) 16
História do sistema UNIXo 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 - xxxBSDX 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 BSDu FreeBSDu NetBSDu OpenBSD
Volnys & Midorikawa (c) 17
História do sistema UNIX
o 1991 - LinuxX 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
Volnys & Midorikawa (c) 18
História do sistema UNIX
o 1992X NetBSD release 2
êVersão PC do UNIX BSDX 386BSD 0.1
êPor William e Lynne JolitzêPrimeira versãoêBaseada no NetBSD Release 2êNão pode ser utilizado
u Batalha legalu Existe código proprietário de Berkley?
Volnys & Midorikawa (c) 19
História do sistema UNIX
o 1993X FreeBSD
êBaseado no 386BSDêMuito estável
o 1994X NetBSD 1.0
êLiberado
o 1995X FreeBSD 2.0
Volnys & Midorikawa (c) 20
História do sistema UNIX
SunOS
AT&T
Minix
Linux
BSD
xxxBSD
99989796959493929190898887868584838276
v7 SystemIII SystemVR1.0 R2.0 R3.0 R4.0 R4.1 R4.2
3 4.1 4.2 4.31
78 80
v6
4.0
Volnys & Midorikawa (c) 22
Arquitetura geral do sistema UNIX
Aplicativos
Sistema Operacional
Componentes Físicos
Volnys & Midorikawa (c) 23
Arquitetura geral do sistema UNIX
Utilitários do Sistema
Hardware
Aplicativos
Processos de gerência
Núcleo
Device Drivers
SistemaOperacional
ComponentesFísicosDispositivos
Interface dechamadas ao sistema
Interface dehardware
Volnys & Midorikawa (c) 24
Arquitetura Geral
Utilitários do Sistema
Hardware
Aplicativos
Processos de gerência
Núcleo
Device Drivers
SistemaOperacional
ComponentesFísicosDispositivos
Interface dechamadas ao sistema
Interface dehardware
init inetd nfsd ...
shell
Usuário
Interface de usuáriovia shell
pro
cess
os
ls
Volnys & Midorikawa (c) 25
Arquitetura geral do sistema UNIX
o Características
X Portabilidade do Sistema Operacional para outras arquiteturasX Portabilidade de código fonte de aplicação para diferentes UNIXX Sistema de computação de uso geralX MultitarefaX MultiusuárioX Sistema de arquivos hierárquicoX Possui ambiente de janelasX Grande quantidade de ferramentas de desenvolviemento de
softwareX InteroperabilidadeX Padronização
Volnys & Midorikawa (c) 26
Arquitetura geral do sistema UNIX
o Portabilidade
X Disponível em todo tipo de sistemaêComputador pessoalêEstações GráficasêServidoresêSupercomputadores
Volnys & Midorikawa (c) 27
Características do sistema UNIX
o Padronização
X IEEE POSIXX X/OpenX OSFX SVID (System V Interface Definition) (AT&T)X Unix International
Volnys & Midorikawa (c) 28
Arquitetura Geral do sistema UNIX
o Fabricantes de “Workstations” e suas versões UNIX
X Sun: SunOS / SolarisX SGI: IRIXX HP: HPUXX Digital: Digital UNIX (OSF)X IBM: AIX
Volnys & Midorikawa (c) 29
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
Volnys & Midorikawa (c) 31
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 shellapropriada
êEstes programas shell são chamados “shell scripts”
Volnys & Midorikawa (c) 32
Shell
Hardware
Núcleo
Device Drivers
Processos
ComponentesFísicosDispositivos
Interface dechamadas ao sistema
Interface dehardware
init inetd nfsd
shell
Usuário
ls -a
Interface de usuáriovia shell
Volnys & Midorikawa (c) 33
Shell
o Principais shells existentes atualmente:
XX shsh Bourne Shell Original UNIXXX cshcsh C-Shell BSD UNIXXX kshksh Korn Shell Mistura sh/ksh
XX bashbash Bourne again Shell Shell GNUXX tcshtcsh T C Shell Baseado no C Shell
Volnys & Midorikawa (c) 35
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?