Unix/Linux

Histórico

UNIX é um sistema operacional de 32 bits, multitarefa e multiusuário, da década de 70 cujo código fonte divulgado foi mais tarde, de forma que surgiram muita 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 datam 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 ser tornado 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 é que foram integrados os softwares que implementam TCP/IP e sockets.
Em 1988 foi lançado o SVR4. Este sistema era um merge de releazes anteriores do SV, BSD e SunOs, uma implementação decendente de BSD.

Neste releaze 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 tão falados inodes nada mais são do que blocos especiais espalhados pelo disco que dão ao sistema varias 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 o usuário iniciante as acha 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).

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 de usuarios conectados cia 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 a serem considerados:

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: www.conteudoglobal.com.

Veja mais!!!
- Tutorial para lynx
- Download navegador de texto Lynx
- Navegador de modo texto Lynx
- Como instalar o Lynx no Mac Os X Lion
- Histórico do Solaris-Informática e Computadores

0 comentários:

Postar um comentário

 
Design by Wordpress Theme | Bloggerized by Free Blogger Templates | JCPenney Coupons