unix
TRANSCRIPT
UNIXe sistemas unix-like
Raphael Cruzeiro - 2012Sunday, November 25, 12
O que é UNIX?
Sunday, November 25, 12
O que é UNIX?
• Qual a diferença entre Unix, Unix-like, Linux, etc?
Sunday, November 25, 12
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
O que é UNIX?
Sunday, November 25, 12
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
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
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
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
OS Unix e unix-like
Sunday, November 25, 12
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
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
Software Livre
• Faltava apenas uma coisa para tornar o GNU um sistema operacional completo: um kernel.
Sunday, November 25, 12
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
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
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
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
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
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
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
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
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
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
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
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
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
Permissões de arquivos
Demonstração: utilizando os comandos chmod e chown
Sunday, November 25, 12
Dúvidas?
Sunday, November 25, 12