O Mac OS X é um clone licenciado Unix ou Unix que está em conformidade com a especificação Unix?

0

O Mac OS X é desenvolvido em um Unix licenciado ou é um clone semelhante ao Unix que, diferente do Linux, está em conformidade com a especificação Unix o suficiente para ser registrado como um sistema operacional Unix. Não até o Leopard, o Mac OS X não obteve a certificação Unix. Mas no Leopard, o Terminal ainda imprime:

GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)

Mas o GNU é o GNU não é o Unix e o Mac OS X é registrado como Unix. Isso me deixa confuso se o OS X é unix ou unix-like.

Em outras palavras, é o OS X escrito em cima do Unix ou uma reescrita do Unix que é o mais Unix possível. Pode ser ao longo da resposta que alguém pode fornecer informações sobre a linhagem ou outras informações básicas.

    
por KMC 22.06.2012 / 16:35

4 respostas

3

O UNIX original foi criado na AT & T. Eles fizeram um sistema operacional para trabalhar no processamento de texto, mas não conseguiram vendê-lo devido a algumas restrições que estavam sofrendo. Como não podiam vendê-lo, eram generosos em permitir que as universidades acessassem as fitas-fonte. Várias Unis fizeram mudanças, sendo as mais famosas a Universidade da Califórnia em Berkeley (também conhecida como UCB), que divulgou mudanças como a Berkeley Software Distribution, ou BSD. A variante BSD do UNIX fez várias adições importantes ao que é chamado de UNIX, incluindo o modelo de memória virtual, sockets BSD (think TCP / IP), vi e CSH - o primeiro shell projetado para uso interativo.

O BSD UNIX começou como correções para o código AT & T UNIX. O pessoal de Berkeley limpou e removeu o código AT & T, e a fonte BSD livre de direitos autorais AT & T-T acabou sendo lançada. Isso gerou o 386BSD, que gerou o NetBSD, FreeBSD, OpenBSD e FireflyBSD (e outros). Eventualmente, as bases de código AT & T e BSD foram puxadas para o "UNIX Oficial" e isso foi chamado de SVR4.

O kernel do MacOS X Darwin é baseado em elementos do NetBSD e do FreeBSD, e também em algum código do Mach. Você pode dizer que é um UNIX, tem uma linhagem de código através da UC Berkeley até o AT & T original.

Mas o que significa o UNIX? É uma linhagem de volta para a AT & T? Se assim for, o BSD se qualifica, assim como o Solaris, e um monte de outros. É uma API na qual você pode executar o código UNIX? Então, aqueles qualificam-se, assim como o Linux, que é uma gravação do zero para o corpo da API do UNIX. Para a maioria dos códigos, o Cygwin se qualificaria como um destino para o código UNIX, portanto, também é um UNIX, embora seja executado no topo do kernel do Windows e o "kernel" do UNIX seja uma DLL no espaço do usuário. É um distintivo que você pode colocar na sua caixa? Se assim for, a Apple finalmente pagou o dinheiro por isso no Leopard. Hmm, mas a Microsoft pagou pelo crachá para o subsistema POSIX do Windows NT4. Sim, o Windows NT foi marcado como "UNIX" antes do Solaris. No entanto, o NetBSD, que é um descendente direto de fontes do UNIX, nunca pagou pelo crachá, e não faz. Chame-se UNIX .

No que diz respeito ao bash, eu não usaria o GNU como um padrão como se o Mac OS X fosse UNIX. O bash é comum em plataformas UNIX (e o IIRC com o bash é um dos requisitos para o SVR4 UNIX), mas também pode ser portado para os não-UNIX. O 'GNU não é coisa do UNIX' é mais sobre o GNU Hurd, que deveria ser um concorrente do UNIX no espaço do sistema operacional. O Hurd deveria ser um microkernel que poderia fazer coisas maravilhosas, assim como executar o código UNIX. O kernel do Hurd não fez muito, mas ter o objetivo do Hurd gerou uma enorme quantidade de software incrivelmente útil que roda no UNIX, incluindo o bash, o emacs, o gcc e muitos outros.

    
por 22.06.2012 / 17:56
2

O OSX é Unix simplesmente porque a Apple pagou para que ele fosse certificada , pelo The Open Group, conforme a especificação Unix. O Open Group certificou isso porque a Apple realmente colocou o trabalho necessário para torná-lo em conformidade.

Eu suspeito que apenas a Apple saiba quanto o código AT & T Unix licenciado, se houver, permanece no OSX, via BSD e outras origens.

O OSX também pode incluir programas "userland" do GNU, como o bash. Isso não diminui a conformidade com as especificações do Unix. Se você retrocedeu o bash para o SVR4, o SVR4 ainda seria o Unix.

    
por 22.06.2012 / 16:52
1

Extraído de wikipedia :

OS X is based upon the Mach kernel. Certain parts from FreeBSD's and NetBSD's implementation of Unix were incorporated in NeXTSTEP, the core of Mac OS X.

OS X's core is a POSIX compliant operating system (OS) built on top of the XNU kernel, with standard Unix facilities available from the command line interface. Apple has released this family of software as a free and open source operating system named Darwin. On top of Darwin, Apple layered a number of components, including the Aqua interface and the Finder, to complete the GUI-based operating system which is OS X.

The Darwin sub-system in Mac OS X is in charge of managing the filesystem, which includes the Unix permissions layer.

    
por 22.06.2012 / 16:49
0

Se você está perguntando se o OS X foi desenvolvido usando o código base, por exemplo, do System V, a resposta é não. A linhagem do OS X remonta a BSD e Mach.

Mas isso não significa que não seja um verdadeiro Unix. Tanto quanto eu sei a certificação realmente não significa nada, exceto que a Apple decidiu pagar por isso para o Leopard.

    
por 22.06.2012 / 16:53

Tags