UNIX – Uma breve história: da origem aos dias de hoje

A maioria dos sistemas operativos pode ser agrupada em duas famílias diferentes. Para além dos sistemas operativos baseados no Windows NT, quase tudo o resto tem as suas origens no UNIX. Linux, macOS, Android, iOS, Chrome OS… todos estes sistemas operativos são parentes e derivam do UNIX.

O sistema operativo UNIX introduziu uma gigantesca revolução no mundo dos sistemas operativos e é, ainda hoje, considerado uma das mais belas e influentes peças de software alguma vez desenvolvidas. Embarque nesta jornada que começou nos anos 70 e venha conhecer a história do famoso sistema operativo.

Antes de começar… O que é um sistema operativo?

Um sistema operativo, também conhecido por SO, é um programa que permite ao utilizador interagir com todo o software presente no computador. Basicamente, existem duas formas de o fazer: através da linha de comandos ou através de uma interface gráfica (GUI).

Antes da revolução gráfica, utilizava-se a linha de comandos. Sem dúvida, grande parte da juventude nunca viu uma linha de comandos e poderá nunca vir a ver. Mas era através dela que se dizia ao computador o que fazer. Por exemplo, no DOS, escrevia-se um comando específico e, de acordo com as instruções enviadas, o computador respondia.

Mas, entretanto, surgiu a Interface Gráfica que permitiu uma autêntica revolução no modo de utilização dos computadores. Através dela, o utilizador interage com o computador através das imagens e botões que lhe aparecem pela frente, usando o rato e o teclado.

Apesar das evoluções que se seguiram, tudo começou no UNIX…

Março de 1969 – O fim do Multics

Durante mais de 5 anos, a AT&T (American Telephone and Telegraph Company) investiu vários milhões de dólares num projeto chamado Multics e colocou alguns dos seus melhores cientistas e investigadores a trabalhar nele. Do lote de cientistas destacam-se Dennis Ritchie e Ken Thompson, que em 1983, viriam a ganhar o Turing Award (prémio mais importante a nível mundial na Área da Ciência de Computadores) pelo seu trabalho na teoria de sistemas operativos e desenvolvimento do UNIX.

O Multics (Multiplex Information and Computing Service) era um ambicioso sistema interativo de “Partilha de Tempo”, que permitia várias pessoas utilizarem o mesmo computador em simultâneo. Para além disso, o Multics permitia juntar a técnica de “Partilha de Tempo” com outras inovações e avanços tecnológicos da época. Assim, os utilizadores podiam telefonar para um computador a partir de terminais, ler e-mails, editar documentos, realizar operações matemáticas e muito mais.

Olá UNIX!

Mas este novo sistema estava muito à frente do seu tempo, o seu desenvolvimento estava a dar muitos problemas e, por isso, estava muito atrasado em relação aos prazos estabelecidos. Por isso, no fim, a AT&T decidiu abandonar o projeto. Quando isto aconteceu, coordenadores nos Laboratórios Bell, impediram a realização de mais investigação em volta de sistemas operativos para computadores, o que deixou grande parte dos investigadores que trabalhavam no Multics muito frustrados e desanimados.

Mas mesmo com ordens superiores para abandonar a investigação, Dennis Ritchie, Ken Thompson e outros colegas nos Laboratórios Bell ignoraram as indicações que lhes tinham sido dadas e continuaram a desenvolver sistemas operativos. Hoje, cerca de 40 anos mais tarde, devemos agradecer a todos os talentosos programadores, que ignoraram os seus patrões e continuaram a trabalhar naquilo que realmente gostavam e que culminou no desenvolvimento do UNIX – um dos melhores sistemas operativos de todos os tempos.

O nome UNIX e os primeiros utilizadores

O nome UNIX surgiu a partir de uma piada que um dos colegas de Ken Thompson fez. Como o novo sistema operativo criado por parte da equipa do Multics apenas suportava ser utilizado por um utilizador, ele viu que podiam alterar o nome original do Multics colocando “Un” atrás. Assim ficava: “Un-multiplexed Information and Computing Service” ou Unics. Mais tarde, o nome sofreu uma alteração ficando definitivamente UNIX.

Em primeira instância, o UNIX começou a ser usado por 3 pessoas que trabalhavam no departamento de patentes da AT&T para editar e formatar documentos de patentes. Foi um sucesso e o departamento decidiu adotar o novo sistema para ser usado por todos. Isto deu credibilidade aos cientistas que trabalhavam no UNIX. Assim, convenceram os seus superiores a investir num computador mais potente para continuar o desenvolvimento do sistema operativo.

Durante os primeiros tempos o UNIX estava sempre a evoluir, portanto, lançar versões não parecia muito prático na altura. Mas os investigadores lançavam novas edições do manual do programador periodicamente. A primeira edição deste manual foi terminada em 1971 e pode ser consultada aqui.

A Filosofia do UNIX

Os primeiros programadores do UNIX foram extremamente importantes, pois trouxeram para o ramo da Engenharia de Software conceitos fundamentais, como por exemplo: modularidade e reutilização. Como o passar do tempo, os programadores líderes do UNIX e os programas que corriam neste sistema operativo estabeleceram uma série de normas e valores culturais para o desenvolvimento de software; normas essas que se tornaram tão importantes e influentes como a tecnologia do próprio UNIX. São estas normas que constituem a “filosofia do UNIX”.

A “Filosofia do UNIX” aponta para a criação de código simples, curto, limpo, modular e que possa ser facilmente mantido e reutilizado por outros programadores que não os seus criadores. Originalmente, estes valores foram documentados por Doug McIlroy, em 1978 no “Bell System Technical Journal”.

De uma forma resumida esta é a Filosofia do UNIX:

  1. Escrever programas que façam uma coisa e que a façam bem
  2. Escrever programas que trabalhem bem em conjunto
  3. Escrever programas que manipulem texto, pois essa é uma interface universal

O UNIX é simples. Apenas é preciso ser um génio para perceber a sua simplicidade.

Dennis Ritchie

UNIX e a Linguagem de Programação C

Um dos desafios enfrentados pela equipa do UNIX foi fazer com que o sistema operativo fosse portátil, de modo a poder ser utilizado em várias máquinas. Antigamente, a maioria dos Kernels dos sistemas operativos eram escritos na linguagem Assembly que correspondia à arquitetura do processador utilizado em cada máquina.

Mas, neste caso, era necessária um linguagem próxima do processador (de baixo-nível) mas que fosse portátil. Na altura isto era impensável, pois ninguém imaginava o Kernel de um sistema operativo escrito noutra linguagem que não Assembly. Então Dennis Ritchie criou a linguagem de programação C para utilizar no UNIX.

Deste modo, podemos dizer que UNIX e o C são os dois lados da mesma moeda. A linguagem C foi criada apenas com o propósito de escrever o Kernel do UNIX.

A influência do UNIX

O UNIX tornou-se uma referência na comunidade tecnológica, em parte devido ao seu design elegante, à sua simplicidade e à sua portabilidade. Mas, ainda mais importante do que isso foi a comunidade de seguidores e utilizadores devotos que rapidamente cresceu à sua volta.

Nos anos 70, a popularidade do UNIX crescia à velocidade da luz; principalmente na indústria tecnológica e nas Universidades, e atingiu o seu ponto mais alto no início dos anos 90.

Sem dúvida, o UNIX é o sistema operativo mais influente alguma vez inventado e, por isso, tem centenas de outros sistemas operativos que derivaram de si. Por exemplo, um sistema operativo baseado em UNIX, a Berkeley Software Distribution (BSD) teve influência no desenvolvimento do macOS da Apple.

<iframe width=”560″ height=”315″ src=”https://www.youtube.com/embed/Ko4V3G4NqII” frameborder=”0″ allowfullscreen></iframe>

No entanto, foi nas distribuições de Linux que o UNIX teve mais influência. O próprio Linus Torvalds disse que provavelmente nunca teria criado o Linux, um sistema operativo baseado em UNIX, se na altura o UNIX estivesse disponível.

Por Tomás Santiago para Pplware.com

[Voltar]