unix

28
UNIX e sistemas unix-like Raphael Cruzeiro - 2012 Sunday, November 25, 12

Upload: raphael-cruzeiro

Post on 09-Jul-2015

228 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Unix

UNIXe sistemas unix-like

Raphael Cruzeiro - 2012Sunday, November 25, 12

Page 2: Unix

O que é UNIX?

Sunday, November 25, 12

Page 3: Unix

O que é UNIX?

• Qual a diferença entre Unix, Unix-like, Linux, etc?

Sunday, November 25, 12

Page 4: Unix

O que é UNIX?

• Unix é um sistema operacional desenvolvido na década de 70 (a primeira versão saiu em 1969) pelo Ken Thompson no Bell Laboratories (divisão de pesquisa e desenvolvimento da AT&T).

• Originalmente escrito para o Digital PDP-7

Sunday, November 25, 12

Page 5: Unix

O que é UNIX?

Sunday, November 25, 12

Page 6: Unix

O que é UNIX?• As primeiras versões eram reescritas em Assembly para

maquinas especificas (série PDP)

• No início da década de 70, Dennis Ritchie criou a linguagem de programação C que permitiu que as próximas versões do Unix fossem portaveis e tornou o Unix um dos primeiros OS escritos em uma linguagem de alto-nível.

Sunday, November 25, 12

Page 7: Unix

O que é UNIX?• Como a AT&T possuia o monopólio de telecomunicações

nos EUA, eles não podiam vender software o que fez com que o Unix fosse distribuido por uma taxa simbólica.

• Universidades (principalmente Berkley e o MIT) adotaram o Unix por ser um sistema operacional barato e distribuido em código fonte o que permitia que ele fosse modificado para necessidades especificas (o que tornou o unix muito popular com a comunidade científica).

Sunday, November 25, 12

Page 8: Unix

O que é UNIX?• O desenvolvimento não era chefiado por um comitê, o que

permitiu que o Unix progredisse rápidamente porém fez com que as implementações divergissem com o tempo.

• No início da decada de 80 a legislação antitrust americana quebrou a AT&T que agora pôde vender o Unix porém a especificação aberta permitiu que várias distribuições independentes continuassem.

Sunday, November 25, 12

Page 9: Unix

O que é UNIX?• Atualmente Unix é uma marca registrada do Open Group e

um sistema operacional só pode ser marcado como Unix de tiver sido homologado pelo Open Group (um processo extremamente caro).

• Os sistemas operacionais que implementam as interfaces especificadas pelo Unix são conhecidos como unix-like. (entre esses sistemas podemos encontrar o Linux)

Sunday, November 25, 12

Page 10: Unix

OS Unix e unix-like

Sunday, November 25, 12

Page 11: Unix

Software Livre• Richard Stallman, um hacker do MIT, criou em 85 a Free

Software Foundation para promover os ideais do software livre.

• Uma das primeiras vitórias da FSF foi a criação da licença GPL que usa uma brecha nas leis de copyright para garantir que um determinado trabalho e todos os seus derivativos sejam distribuidos com a mesma licença (copyleft).

Sunday, November 25, 12

Page 12: Unix

Software Livre

• Foi iniciado o projeto GNU (GNU is not Unix) para criar uma implementação livre do Unix.

• O projeto GNU criou diversas versões livres dos programas disponíveis no Unix: GCC, Emacs, bash, glibc, etc

Sunday, November 25, 12

Page 13: Unix

Software Livre

• Faltava apenas uma coisa para tornar o GNU um sistema operacional completo: um kernel.

Sunday, November 25, 12

Page 14: Unix

O garoto de Helsinki

• 1991 - Linus Torvalds, um simples estudande finlandês resolveu escrever um sistema operacional por diversão.

• No final do ano o sistema já estava minimamente estável e conseguia rodar alguns programas do projeto GNU como: gcc, gnu-make, bash, compress, etc.

Sunday, November 25, 12

Page 15: Unix

O garoto de Helsinki

• Linus postou uma mensagem na Usenet mostrando o seu trabalho e procurando voluntários para ajuda-lo a dar continuidade. Assim nasceu o Linux.

Sunday, November 25, 12

Page 16: Unix

Linux

• Vem em diversas distribuições para as mais diversas necessidades e públicos.

• Sistema operacional mais usado em servers (85.2% de marketshare) e em super-computadores (92.4% de marketshare)

Sunday, November 25, 12

Page 17: Unix

File system• Primeiro OS a utilizar um sistema de arquivos hierárquico.

/

usrhomeetcbootbin

bash vmlinuz group passwd include

stdio.hsys

types.h

Sunday, November 25, 12

Page 18: Unix

File system• Em Unix tudo é um arquivo, até mesmo um diretório que

na verdade é apenas um arquivo com links para outros arquivos.

• Cada diretório contem obrigatóriamente ao menos duas entradas o . que aponta para o próprio diretorio e o .. que aponta para o diretório pai.

Sunday, November 25, 12

Page 19: Unix

Grupos e usuários• Em Unix podemos ter vários usuários. Cada usuário possui

um username único e um ID também único.

• Cada usuário pode pertencer a 1 ou mais grupos que servem para tornar mais facil a administração das permissões do usuário no sistema.

• Existe um super usuário denominado root que é imune a todas as checagens de permissão do sistema.

Sunday, November 25, 12

Page 20: Unix

Noções básicas• Bash (Bourne again shell) - Processador de comandos que

permite que o usuário digite comandos a serem executados pelo sistema.

Sunday, November 25, 12

Page 21: Unix

Noções básicas (demonstração)• Listagem de arquivos com o comando ls

• Navegação pelo file system com o comando cd

• Copia de arquivos com o comando cp

• Mover e renomear arquvios com mv

• Listar processos

• Matar um processo

• Editar arquivos no vim

Sunday, November 25, 12

Page 22: Unix

Permissões de arquivosPodemos listar todos os arquivos de um diretório juntamente com

suas permissões utilizando o comando ls -l:

Sunday, November 25, 12

Page 23: Unix

Permissões de arquivos• Cada arquivo possui o ID do usuário que é dono deste arquivo

e o ID do grupo ao qual o arquivo pertence.

• A permissão de acesso a um arquivo é dada em 3 categorias: owner, group e other. Por exemplo: é possivel dar acesso completo ao dono do arquivo, dar acesso somente leitura para o grupo e negar acesso a todos os outros.

Sunday, November 25, 12

Page 24: Unix

Permissões de arquivos

• As permissões são calculadas pelo sistema utilizando uma mascara de bits.

• Cada categoria de permissão é representada por uma triade de bits: Read, Write, Execute

Sunday, November 25, 12

Page 25: Unix

Permissões de arquivos RWESem permissão 0: 000Execute 1: 001Write 2: 010Write and Execute 3: 011Read 4: 100Read and Execute 5: 101Read and Write 6: 110Read, Write and Execute 7: 111

-----x-w--wxr--r-wrw-rwx

Sunday, November 25, 12

Page 26: Unix

Permissões de arquivosOwner / Group / OthersTriad 1 Triad 1 Triad 3

Exemplos:600 - Read e Write para o dono e nenhuma permissão para o grupo ou para os outros.750 - Read, write e execute para o dono, execute para o grupo e nenhuma permissão para os outros.

Sunday, November 25, 12

Page 27: Unix

Permissões de arquivos

Demonstração: utilizando os comandos chmod e chown

Sunday, November 25, 12

Page 28: Unix

Dúvidas?

Sunday, November 25, 12