`

Curiosidade: O que é UNIX???

Postado por em 13 de junho de 2009 | Geral

Administrador

Poucos já tiveram a oportunidade de conhecer esse robusto sistema operacional que roda em servidores de empresas que precisam de um SO robusto e confiável para seus aplicativos, que serviu de base para os sistemas GNU/Linux.
Vamos conhecer um pouco da história do UNIX.

Histórico

UNIX é um sistema operacional de 32 bits, multitarefa e multiusuário, da década de 70 cujo código fonte  foi divulgado mais tarde, de forma que surgiram muitas variantes (versões) tanto comerciais, feitas por empresas de software quanto free, muitas vezes feitas por grupos de alunos em universidades.
As raízes do UNIX são dos meados dos anos 60, quando a AT&T, Honeywell, GE e o MIT embarcaram em um massivo projeto para desenvolvimento de um utilitário de informação, chamado Multics (Multiplexed Information and Computing Service).
Multics era um sistema modular montado em uma bancada de processadores, memórias e equipamentos de comunicação de alta velocidade. Pelo desenho, partes do computador poderiam ser desligadas para manutenção sem que outras partes ou usuários fossem afetados. O objetivo era prover serviço 24 horas por dia 365 dias por ano – um computador que poderia se tornando mais rápido adicionando mais partes.
Em 1969, o projeto estava muito atrasado em relação ao seu cronograma e a AT&T resolveu abandona-lo. O projeto continuou no MIT.
Neste mesmo ano, Ken Thompson, um pesquisador da AT&T que havia trabalhado no Projeto Multics, pegou um computador PDP-7 para pesquisar algumas idéias do Multics por conta própria. Logo Dennis Ritchie, que também trabalhou no Multics, se juntou a ele. Enquanto Multics tentava fazer várias coisas, UNIX tentava fazer uma coisa bem: rodar programas.

Este pequeno escopo era todo ímpeto que os pesquisadores precisavam. Em 1971 saiu a primeira versão do UNIX, V1, muitos meses antes do Multics, em assembler em um computador PDP-11 da Digital. Incluía sistema de arquivos, fork(), roff, ed. Era utilizado como uma ferramenta de processamento de texto para a preparação de patentes. Pipe() apareceu na V2.
Os típicos sistemas operacionais da época eram extremamente grandes e todos escritos em Assembly. Em 1973 o UNIX foi reescrito em C, com uma quantia relativamente pequena do Kernel escrita em Assembly, talvez o fato mais importante da história deste sistema operacional. Isto significava que o UNIX poderia ser portado para novo hardware em meses, e que mudanças eram fáceis, pois era necessário alterar apenas uma parte do Kernel em torno de 10%. A linguagem C foi projetada para o sistema operacional UNIX, e portanto há uma grande sinergia entre C e UNIX.
Em 1975 foi lançada a V6, que foi a primeira versão de UNIX amplamente disponível fora dos domínios do Bell Laboratories, especialmente em universidades. Este foi o início da diversidade e popularidade do UNIX. Nesta época a Universidade de Berkley comprou os fontes do UNIX e alunos começaram a fazer modificações ao sistema.
Em 1978 Berkley Software Distribuition lança a série 2.xBSD para PDP – 11 (a versão 2.11 foi lançada em 1992). Nesta versão saiu o csh. Neste ano também saiu a série 3BSD.
Em 1979 saiu a V7 e o Unix foi portado para o novo VAX da Digital. Esta versão incluia C K&R completo, uucp, Bourne Shell. O kernel tinha meramente 40 bytes! Esta foi a primeira versão vendida comercialmente do sistema, mas usada principalmente por universidades.
Em 1983 é lançado o System V da AT&T e o 4.2 BSD. O SV incluía o pacote IPC (shm, msg, sem) para comunicação entre processos. Surgiram outras versões do SV com a inclusão de novas características como sharedlibs no SVR4.
O 4.2BSD foi talvez uma das mais importantes versões do UNIX. O seu software de conexão de redes tornava muito fácil a tarefa de conectar computadores UNIX a redes locais. Nessa versão foram integrados os softwares que implementam TCP/IP e sockets.
Em 1988 foi lançado o SVR4. Este sistema era um merge de releases anteriores do SV, BSD e SunOs, uma implementação decendente de BSD.
Neste release foram incorporados as seguintes características:
BSD: TCP/IP, sockets, csh, …
SVR3: sysadmin, …
SunOs: NFS, OpenLook GUI, X11/NeWS, virtual memory subsystem with memoy mapped files, shared libraries (!= SVR3)
ksh

O 4.4BSD foi lançado em 1992 para várias plataformas: HP 9000/300, Sparc, 386, DEC e outras, mas não em VAX. Entre as novas características estão:
• Novo sistema de memória virtual baseado em Mach 2.5
• Suporte ISO/OSI (baseado em ISODE)

A Sun Microsystem também lançou a sua versão do UNIX a partir do BSD. Isto ocorreu até a versão SunOs 4.x. A nova versão, SunOs 5.x está baseada no SVR4, embora tenha herdado algumas características do SunOs 4.x. O novo sistema operacional da Sun, Solaris 2.x, é um SO que engloba SunOs 5.x, Open Network Computing e Open Windows. É o solaris que provê o pacote de compatibilidade entre os BSD/SunOs e o SVR4/SunOs 5.x.
A Microsoft também lançou uma versão do UNIX, chamada XENIX, que rodava em PCs. Este sistema era inicialmente baseado na Versão 7, depois herdou características dos SIII e depois do SV.
Ainda é possível ter acesso ao código fonte do UNIX, possibilitando que ele seja estudado e alterado, utilizando-se um simples PC. Existem dois sistemas de domínio público (MINIX e o LINUX) que podem ser copiados pela Internet ou comprados pelo correio por quantias simbólicas. O MINIX foi desenvolvido pelo professor Andrew Tanenbaum da Vrije Universiteit em Amsterdam, na década de 80, sendo utilizado em inúmeras universidades do mundo com fins educacionais. O LINUX foi desenvolvido na década de 90 pelo finlandês Linus Torvalds e em pouco tempo passou a ser utilizado tanto para fins acadêmicos como também para fins comerciais.

Sistema de arquivos

UNIX é o precursor de muitos sistemas de arquivo em árvore de hoje, inclusive MS-DOS, VMS, e Macintosh. Estes sistemas de arquivo consistem em uma árvore de diretórios e sub-diretórios. Há comandos (ou um click no mouse) que lhe permitem mudar a estrutura de diretório. Estes comandos são geralmente bastante semelhantes entre sistemas. Em UNIX estes comandos são como segue:
• cd ou chdir – muda de diretório
• pwd – diz o nome do diretório atual
• mkdir – faz um diretório novo
• ls – lista os conteúdos do diretório (como dir em MS-DOS)

O sistema de gravação e leitura de arquivos do UNIX é bastante eficiente, tendo algumas semelhanças com o HPFS do OS/2, nos inodes, e algumas coisas semelhantes a FAT do DOS, como a ilist.
No UNIX o sistema é dividido em quatro partes:
• O Bloco de Inicialização contém as informações necessárias ao boot do computador.
• O Super Bloco possui informações sobre o sistema, como o espaço livre em disco, os inodes livres, o espaço total do disco, e outras.
• Os Blocos de Informações são os blocos onde os dados são armazenados, cada um tem capacidade de 5k.
• A Ilist (a lista de inodes) informa o endereço de inodes no disco.

Os falados inodes nada mais são do que blocos especiais espalhados pelo disco que dão ao sistema várias informações sobre os arquivos, inclusive o seu tamanho, sua localidade. Toda vez que um arquivo é criado ou copiado, é criado um inode em um bloco anterior a ele. Cada inode possui até “treze ponteiros”, os dez primeiros apontam quais os próximos que estão ocupados pelo respectivo arquivo, os outros três apontam blocos intermediários que indicam mais blocos de modo que um só arquivo em UNIX possa chegar a pouco mais de um Gigabyte.

Interface
Até agora, não houve nenhuma menção da interface de usuário para UNIX. UNIX é um sistema operacional bom para programadores experientes. O sistema operacional foi projetado e foi implementado por programadores experientes assim todas as necessidades de um programador experientes estão presentes mas não muito mais. Um exemplo perfeito disto é a documentação on-line chamada man-pages ou páginas manuais. O material é apenas referência orientada, com muito pouca informação de tutorial. Programadores acham as man-pages muito úteis, mas os usuários iniciantes  acham elas muito complicadas.
Nos últimos anos, houve trabalho extenso para melhorar a interface de usuário para UNIX. O esforço mais dramático foi a adição de interfaces de windowing em cima de UNIX como X-windows, Suntools, NextStep, Motif, OpenLook, etc. Estas interfaces de windowing não mudam o próprio UNIX, mas são construídas em cima do UNIX para prover uma interface mais intuitiva. Cada uma das interfaces de usuário têm algumas vantagens e algumas desvantagens. Atualmente, o intensivo esforço de desenvolvimento está sendo feito nestas Interfaces Gráficas de Usuário (Graphical User Interface ou simplesmente GUIs).

Exemplos da Interface do AIX (IBM):

Tela do Konsole (Terminal)

Tela do Konsole (Terminal)

Desktop AIX

Desktop AIX

Firefox para AIX

Firefox para AIX

AbiWord para AIX (Editor de textos amigável)

AbiWord para AIX (Editor de textos amigável)

Hardware

O Unix foi originalmente desenvolvido para rodar em computadores da DEC, e mais tarde passou a ser utilizado em mainframes.
O UNIX Solaris roda em x86 (486 ou maior) e na linha RISC, da Sun, baseada em plataformas Sparc. Dentre os fabricantes de UNIX, somente a Sun oferece um produto multiplataforma.
O linux, roda na maioria dos processadores, como varias espécies de x86, a família PowerPC, a série Alpha e os chips MIPS. Ele suporta a maior parte dos periféricos com algumas armadilhas. Tipicamente os desenvolvedores de drivers para Linux são eles mesmos usuários do Linux. Se uma pessoa quer que um periférico funcione, ela ou escreve o driver ou espera que alguém o faça.

Confiabilidade
A arquitetura de memória protegida da Sun garante a estabilidade e faz com que seja difícil o travamento completo do SO e o sistema de arquivo atualizado diariamente significa que a recuperação de travamentos é suave. (Solaris)

Rede
• Gerenciamento
Seja em um console do servidor com interface gráfica ou em um terminal VT100 que está a mais de dois mil quilômetros de distância, é possível administrar o sistema Solaris. O Solaris já vem com ferramentas gráficas próprias de administração para quase todos os seus serviços. A maior parte destas ferramentas gráficas são feitas com o uso de HTML. Portanto, você em breve estará administrando o Solaris a partir de um navegador Web. Entretanto isso não significa que as ferramentas de linha-de-comando do UNIX desapareceram. (Solaris)

• Segurança
O Solaris está em conformidade com as especificações C2. Entretanto o UNIX possui muitos buracos na segurança, como o deamon de sendmail. Existem patches conhecidos, mas o seu uso estará nas mãos do administrador.

• Performance
O Solaris da SunSoft suporta até 64 processadores. Um Linux poderia suportar uma dúzia de usuários conectados via terminais seriais, mais alguns usuários conectados através de uma rede utilizando Xwindow, mais um punhado de PCs Windows que utilizam o Linux como servidor de arquivos e de impressão, simplesmente acrescentando mais um processador e deixando que o SO execute SMP (Symmetrical Multiprocessing – Multiprocessamento Simétrico) para a carga ser distribuida.

• Portabilidade
A portabilidade é a possibilidade dos softwares que operam em uma máquina operarem em uma outra diferente. Há dois tipos de portabilidade que podem ser consideradas:

Portabilidade do sistema operacional

Portabilidade dos aplicativos
Mais de 90% do programa kernel está escrito em C e menos de 10% em linguagem de máquina. Assim, na pior das hipóteses, apenas 10% do programa kernel terá de ser reescrito ao se deslocar o kernel para uma máquina com arquitetura diferente. Os programas aplicativos escritos em linguagem de nível mais alto, como C, são facilmente portáveis para vários sistemas UNIX. Basta que sejam recompilados, exigindo, as vezes, poucas alterações.” – fonte: http://www.conteudoglobal.com/

E você? Já teve ou tem algum contato com UNIX?
Quais a versões que você conhece?
Compartilhe conosco a sua opnião.

1 comentario ate o momento

um comentario ao “Curiosidade: O que é UNIX???”

  1. Gabriel

    Boa Noite,

    Gostei muito e nunca tive um contato com o Unix, atualmente estou realizando uma pesquisa para o curso sobre o mesmo. Gostaria de utilizar o material. E precisaria do nome de quem publicou para referências.

    Obrigado.

    13 de abril de 2012 at 22:59

Retornar a postagem | Comentarios RSS

Deixe um comentario