Na ultima live que aconteceu ontem, debati a afirmação de que os BSDs e o MacOSX (também chamado OSX) não são Unix... Baseado em nada e em coisa nenhuma. O estranho foi afirmar que o FreeBSD não é por não possuir a Single Unix Specification (também abreviado para SUS) enquanto que MacOSX, mesmo possuindo a SUS, está distante do que o Unix é.... Torna-se totalmente contraditório. Então vamos a o que interessa baseado em pontos históricos e técnicos (e que comece o mimimi).
Mesmo sendo um clone do Unix, Linux é um verdadeiro Unix (caso queria saber mais sobre clones do Unix, quem forjou esse termo e qual foi o primeiro clone da história, fiz um video alguns anos atrás explicando melhor sobre o assunto).
Como descrito no próprio site kernel.org, "Linux é desenvolvido de acordo com a API POSIX e a Single UNIX Specification".
Também está descrito no artigo diferenças entre Linux e Unix escrito por Phil Estes no site Open Source.com que:
"Por conta dos padrões e conformidades POSIX, programas escritos no Unix podiam ser compilados para um sistema operacional Linux com uma quantidade habitualmente limitada de esforço de port. Shell scripts podiam ser utilizados diretamente no Linux na maioria dos casos. Enquanto algumas ferramentas tinham levemente opções diferentes em flag/command-line entre Unix e Linux, a maioria operavam o mesmo em ambos."
A principio tratava-se do desenvolvimento de um sistema operacional que deveria parecer-se com o Minix (por isso o e-mail "Um Minix melhor do que o Minix") para substituí-lo no seu uso pessoal diário já que o Minix não fazia tão bem todas as tarefas que as pessoas precisavam. Porém seu novo sistema operacional (que ia se chamar Freax e não Linux*) começou a entrar em uma metamorfose, tonando-se algo muito maior e mais poderoso e foi aí que Linus teve a seguinte ideia:
"Por que não transformar meu sistema operacional em um Unix?"
Então Linus disparou a seguinte mensagem que todos já conhecem:
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)Newsgroups: comp.os.minixSubject: Gcc-1.40 and a posix-questionMessage-ID:Date: 3 Jul 91 10:00:50 GMT
Olá netlanders,
Devido a um projeto que estou trabalhando (em minix), estou interessando na definição do padrão posix. Alguém poderia por favor me indicar um formato (preferencialmente) de leitura de máquina das ultimas regras posix? Sites ftp seria legal.
Depois que lhe enviaram o manuais, Linus trabalhou para implementar todas as características POSIX necessárias (cerca de 98%) para se ter um kernel Unix. É claro que nem todas as características puderam ser implementadas logo em seu lançamento inicial; mas as pessoas já tinham acesso a um Unix. As demais características foram sendo gradativamente implementas em seus próximos lançamentos. Uma exemplo dessas características que ainda não havia sido implementada e que Linus relata em sua biografia foi o init system:
" Okay, tradicionalmente em um real sistema Unix o primeiro programa que você executa é chamado init, mas o init realmente precisa de um monte de infraestrutura para que funcione. Ele é tipo um controlador para o que acontece. Mas quando você realmente não tem algo que funcione, não há sentido ter init. Então ao inves de iniciar o init, a primeira coisa que meu kernel fazia era iniciar o shell. Eu tinha implementado cerca de 25 system calls e, como mencionei, esse foi o primeiro programa real que eu estava tentando executar."
Tais outros recursos foram sendo adicionados gradativamente ao longo de cada nova versão. E somente para confirmar que seu sistema operacional era um Unix, Linus decidiu compilá-lo utilizando o GCC com a logica de que, já que o compilador seguia tais normas, se conseguisse compilar seu kernel com o GCC, logo ele conseguiu desenvolver um Unix. Foi pelo mesmo motivo que Linus Torvalds decidiu fazer uso também de outras ferramentas do GNU (como Bash e Emacs) e do BSD. Desta forma, as pessoas olhavam para o Linux e enxergavam um Unix.
Moral da história, estamos tratando de um verdadeiro Unix. O que define um Unix é ele ser um Unix e não possuir um certificado de especificação ou uma opinião.
https://www.opengroup.org/membership/forums/platform/unix
https://www.opengroup.org/openbrand/register/
https://www.opengroup.org/openbrand/register/index2.html
https://www.kernel.org/category/about.html
https://www.kernel.org/linux.html
https://www.opengroup.org/membership/forums/platform/unix
https://www.opengroup.org/openbrand/register/
https://www.opengroup.org/openbrand/register/index2.html
https://www.kernel.org/category/about.html
https://www.kernel.org/linux.html
Nenhum comentário:
Postar um comentário
Viu algum erro e quer compartilhar seu conhecimento? então comente aí.
Observação: somente um membro deste blog pode postar um comentário.