Arquivo da categoria ‘Unix’

Algumas Curiosidades Históricas

Publicado: 28/04/2012 em Unix

1) O Unix foi precedido por um sistema chamado Multics desenvolvido pela Bell Labs (AT&T), General Eletric e MIT, o Multics era um sistema monousuário e monotarefa e não conseguiu atingir seu propósito, ainda sim o último sistema rodando Multics só foi desativado em 30 de Agosto de 2000 exatamente as 17:08 UTC no Canadá.

2) Dois engenheiros da AT&T, Ken Thompson e Dennis Ritchie fanáticos por um jogo chamado Space Travel perderam acesso ao sistema e decidiram portar o jogo para um computador PDP-7 que estava parado, nascia um novo sistema operacional que a princípio foi chamado de Unics, o novo SO foi assim chamado pois ao contrário do Multics era multitarefa (time sharing) e multiusuário e Ken Thompson achou engraçado fazer essa alusão ao Multics, o mais interessante do Unics é que este foi idealizado para ser altamente “portável” e rodar em praticamente qualquer hardware existente, uma das premissas de sua criação era construir um SO de programador para programadores, mais tarde o Unics foi portado para uma máquina PDP-11, posteriormente o Unics foi escrito em linguagem C (linguagem também criada por Dennis Ritchie) e devido a essa particularidade finalmente o Unics se tornava realmente um sistema portável.

3) Não se sabe ao certo quando e porquê o Unics veio a ser chamado de Unix, algumas teorias dizem que foi por puro marketing, outros dizem que era uma limitação do sistema em usar um nome com 5 caracteres, a teoria mais plausível é a da própria Bell Labs que diz que o Unix assim como a Fenix ressurgiu das próprias cinzas graças ao esforço multiorganizacional de seus idealizadores em criar um sistema multitarefa seguro, esse trabalho em equipe e a filosofia em que o sistema foi concebido era algo inimaginável nos anos 60, desde então o Unics passou a ser chamado Unix herdando a letra “x” da “Fenix”.

4) Richard Stallman decidiu criar um SO do tipo Unix gratuito pq muitos programadores que contribuíram para o aperfeiçoamento do Unix foram injustiçados quando a AT&T decidiu se apropriar do sistema que fora fruto do trabalho destes.

5) Ao contrário do que muitos pensam Linus Torvalds não escreveu o Linux Kernel do zero, reza a lenda que Linus ao ver seu tio sofrendo na pobre interface shell do DOS decidiu escrever um sistema operacional mais flexível e poderoso, que fosse multi-tarefa e lhe permitisse explorar mais o hardware disponível.Para isso ele usou como base o Kernel do Minix (SO tipo Unix escrito por Andrew Tannenbaum)

6) Assim como acontece no GNU/Linux o Unix também possui muitas variantes, o que dificulta um pouco o trabalho dos profissionais dessa área, conceitualmente as variantes Unix se diferem das variantes GNU/Linux pois as primeiras são adaptadas ao hardware específico de um fabricante, temos como exemplo o HP-UX da HP, o AIX da IBM, o Solaris da SUN (que possui também versão para plataforma x86), o Irix da Silicon Graphics, entre outros.

7) Aqui acho que vou assustar muita gente, muitos associam a Microsoft só ao Windows mas até ela já teve seu Unix que se chamava Xenix, posteriormente esse foi vendido para a SCO mas ainda sim serviu de base para o desenvolvimento do MS-DOS, aliás o MS-DOS embora conceitualmente seja muito diferente do Unix estruturalmente possui várias semelhanças, como redirecionamento de dispositivos de I/O, pipes “|”, estruturas de arquivos e alguns comandos.

Naian Barros,  Fabricio Candido, Renan Aquino

Falaremos agora do intérprete de comandos Shell.

O “Shell” é um software responsável por receber comandos do usuário e interpretá-los, ou seja, o Shell executa programas ou comandos e ao final exibe os dados de saída em uma tela com caracteres individuais para o usuário semelhante ao MS-DOS. Ele é composto por alguns recursos: realizar tarefas repetidamente ou para programar uma ação para determinada ocasião.

Veja as camadas que constituem o Unix na figura:

Kernel (núcleo do Sistema Operacional); Shell (casca, interpretador de comandos); Commands (comandos feitos por usuários).

Tipos de Shell

Shell Bourne (sh): Ele é o mais comum, desenvolvido a partir do Shell original, escrito em 1975;

Shell C (csh): Estudantes da Universidade da Califórnia em Berkeley criaram o Shell C na linguagem de programação C;

Shell Korn: Criado por Dadid Korn da AT&T, ele uniu o Shell (sh) com o Shell (csh) e criou o Shell Korn,

Shell Bash ou Bourne (tcsh): É uma versão melhorada do Shell C, e que está presente atualmente no Linux e na maioria dos Unix.

Precisamos dizer também que a escolha do Shell depende única a exclusivamente das preferências pessoais do usuário, pois os principais recursos estão presentes em todos os Shells.

Bibliografia:
http://www.ferrari.pro.br/home/documents/FFerrari-O-Shell-Unix.pdf

Renan Aquino

Nascimento do Unix

Publicado: 24/02/2012 em Unix

Em meados de 65 formou-se um grupo de pesquisadores e programadores de diferentes empresas, tais como AT&T (Bell Labs), General Eletric (GE) e M.I.T. (Massachussets Institute of Technology) para o desenvolvimento de um S.O. para atender um grande número de usuários em tempo compartilhado. Porém havia uma grande incompatibilidade de interesses das empresas para dar continuidade no projeto Multics e também por ter sido escrito em PL/L, uma linguagem pesada e com o compilador muito ineficiente o Multics não obteve muito sucesso.

Mais tarde, Ken Thompson (Bell Labs), reescreveu o Multics em um PDP-7 sem muitas pretensões, renomeado por Brian Kernighan de Unics. Dennis Ritchie uni-se a Thompson, e partir daí, o novo Unix evoluiu para modernas máquinas. Thompson reescreve o Unix em uma linguagem B, porém é muito limitada e Ritchie desenvolve na linguagem C, e escreveu um compilador para ela.

Por volta dos anos 70 e 80, após a publicação de Ritchie e Thompson e o reconhecimento no Turing Award, o Unix passou a ser interesse de universidades, e depois da versão padrão 6, e logo em seguida a 7 era muito utilizado em microcomputadores de empresas. Porém até então o Unix sempre rodou em máquinas PDP-11, ao tentarem rodar em um Inderdata 8/32 notaram que vários fatores contruibuiram para a incompatibilidade sendo um deles o compilador C. Steve Jhonson (Bell Labs) criou o compilador C portátil, que poder ser configurado para gerar código objeto para rodar em qualquer máquina.

Em 1975, Ken Thompson trabalhando como professor assistente na Universidade da Califórnia, em Berkeley, continuou a desenvolver o Unix desenhado no Bell Labs. Outros professores e alunos desenvolveram melhorias, e tais melhorias originaram um novo S.O. com algumas mudanças do Unix da Bell Labs. Algumas empresas se interessaram e começaram a comercializar esta nova versão, sendo a mais conhecida a SUN-OS  da SUN Microsystems.

Em 1979, a AT&T (Bell Labs)  lança comercialmente o Unix conhecido pela versão 7, em 1982 essa versão apresenta problemas e foram corrigidos na versão seguinte chamada de System III. Depois dessa nova versão havia dois tipos de Unix comercializados no mercado, um da AT&T e outro da Universidade Berkeley da Califórnia.

Ainda assim, o Unix era visto como um S.O. para serviços acadêmicos e uso de cientistas e não para usuário comercial, então em 1983 a AT&T cria uma nova versão chamada de System V visando criar uma série de características e facilidades para fins comerciais e não científicos.

Por volta de 1989 as maiores empresas de computação no mercado criam 2 consórcios para padronização do Unix, para o S.O. Unix ter uma portabilidade de todas as aplicações. Ainda assim, até hoje existem diferenças de implementação de comandos no Unix. Mas Existem diretórios específicos onde os comandos diferentes são guardados, bastando ajustar o sistema para que ele use os comandos necessários.

Fonte:

http://pt.wikipedia.org/wiki/Unix

http://www.angelfire.com/co/eltonsanders/socap8.html

http://www.ppgia.pucpr.br/~laureano/puc_2007/asu/sistema_historico.html

Renan Farias

Principais Características do Unix.

Publicado: 19/02/2012 em Unix

Nesse post iremos colocar algumas das principais características do Unix:

Sistema Multitarefas: Pode executar uma ou mais tarefas ao mesmo tempo. Os processos são executados sequencialmente de forma tão rápida que parecem estar sendo executados simultaneamente.

Sistema Multiusuário: Ou seja, pode ter mais de um usuário que podem usar o mesmo computador simultaneamente por meio de terminais.

Arquivos de Dispositivo: Quase todos os dispositivos são tratados como arquivos e, como tais, seu acesso é obtido mediante a utilização das chamadas de sistema Open, Read, Write e Close.

Interativo:  O usuário requisita os comandos e obtém os resultados de sua execução através do terminal.

Diretório Home: Cada usuário possui um diretório chamado Home, que é o lugar que se localizam os arquivos, e-mails e configurações por exemplo.

Fonte:
http://www.ppgia.pucpr.br/~laureano/puc_2007/asu/caracteristicas.html
http://pt.wikipedia.org/wiki/Unix 

 

Naian Barros