introdução ao sistema unix - lsi.usp.brvolnys/courses/linux/pdf-col/unix-col.pdf · volnys &...

37
Volnys & Midorikawa (c) 1 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/

Upload: buithu

Post on 26-Mar-2018

252 views

Category:

Documents


1 download

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) 3

História do sistema UNIX

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) 21

Arquitetura geral dosistema UNIX

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) 30

Shell

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) 34

Exercícios

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?

Volnys & Midorikawa (c) 36

Bibliografia

Volnys & Midorikawa (c) 37

Bibliografia

o Operating System - Design and ImplementationX Andrew Tanenbaum

o IEEE Software - Linux on the MoveX Terry Bollinger; Peter BeckmanX Jan/Fev 1999

o The Design of the UNIX Operating SystemX Maurice J. BachX Prentice-Hall Software Series, 1986