Que recursos o Darwin não tem outros Unixes, ou vice-versa?

20

O Darwin tem algum recurso específico? Outro (s) Unixe (s) tem características que Darwin não possui?

    
por Am1rr3zA 11.08.2010 / 00:10

9 respostas

20

OS X é o único sistema operacional restante baseado no microkernel Mach , que também ainda é comercialmente relevante. Existem alguns projetos de pesquisa em andamento e sistemas operacionais obsoletos que, sem dúvida, ainda estão sendo usados em configurações de produção em máquinas antigas, mas nada que você possa comprar em uma nova máquina hoje.

O OS X tem a variedade usual de incompatibilidades de recursos do kernel que qualquer * ix possui. O maior deles que eu tive recentemente de contornar foi a falta de filas de mensagens do System V . ( msgget(2) e amigos.) Tivemos que substituir o nosso código de fila de mensagens - que foi escrito para uma variante "real" do System V e depois portado para o Linux - com TCP / IP para que o nosso software rodasse no OS X. aplicação, as diferenças entre esses dois métodos de IPC importavam no momento em que fizemos a escolha de ir com filas de mensagens, mas devido a mudanças de arquitetura posteriores, acabou não sendo um grande problema mudar para o TCP / IP.

    
por 11.08.2010 / 04:28
10

Quando se trata disso, o Darwin não é apenas uma fina camada de BSD no topo do Mach 2.0?

Eu costumava usar o NeXTStep, eu não sei o quanto o MacOSX atual sai do NeXTStep, mas ...

A Mach 2.0 ofereceu um conjunto diferente de abstrações no nível do kernel:

  1. Uma "tarefa": é um espaço de endereçamento + um conjunto de "portas", possivelmente com um encadeamento em execução.
  2. Tópicos. Esta foi a unidade de execução escalonável. Uma tarefa (espaço de endereço) pode ter mais de 1 em execução. Acredito que os arquivos Mach-O (formato de arquivo executável do Mach) poderiam especificar mais de um encadeamento no tempo de execução do processo: nenhuma função main () que iniciou mais Cthreads, o sistema operacional iniciaria um.
  3. Portas Não são como portas TCP ou UDP. Eles foram digitados, ordenou fluxos de mensagens. Um pouco como o RPC. Você criou um arquivo de especificação de protocolo e o executou por meio de um compilador para obter stubs do lado do servidor e do cliente, rotinas de ordenação e desmarque, etc.
  4. Pagers de memória no nível do usuário. Você pode configurar um thread de tarefas + para manipular a paginação de espaços de endereço de outras tarefas.

O pessoal original da CMU Mach usou essas abstrações para emular processos BSD Unix, processos do MS-DOS e, em um fabuloso ajuste de freakiness, tarefas VMS. Cada tarefa VMS levou 2 tarefas Mach, além de muitos threads. Alguém costumava vender um emulador do Mac OS (pré-OSX) para o NeXTStep que usava os pagers do espaço do usuário com bons resultados.

A antiga página de publicações da CMU Mach: link

O papel VMS-on-Mach: link

    
por 25.08.2010 / 21:36
5

Esta não é bem uma resposta, mas O DTrace é uma incrível ferramenta de depuração do sistema que existe para o Solaris, o Darwin / OS X e * BSD, mas não Linux.

    
por 11.08.2010 / 00:41
4

O Darwin tem um conjunto relativamente pequeno de tipos de sistemas de arquivos suportados. Além de especiais como devfs e tipos de rede como o webdav, a lista é:

  • HFS / HFS +
  • UFS / FFS
  • ISO-9660 / UDF / CDDA
  • NTFS
  • FAT

Desta lista, apenas o UFS foi projetado para o Unix, embora o HFS + tenha sido atualizado para suportar todas as funcionalidades necessárias do Unix. A partir do Mac OS X 10.6, o UFS não pode ser usado para a partição raiz, embora essa restrição provavelmente não se aplique a Darwin. Por padrão, o HFS + não faz distinção entre maiúsculas e minúsculas, embora a diferenciação entre maiúsculas e minúsculas possa ser solicitada no momento da criação. Embora o Mac OS X seja executado em uma partição que faz distinção entre maiúsculas e minúsculas, muitos aplicativos Mac de alto perfil não o farão (por exemplo, Adobe CS).

Por um tempo, a Apple estava planejando substituir o HFS pelo ZFS , e até mesmo enviava o ZFS com algumas versões do Mac OS X, mas infelizmente esta experiência acabou por falhar por causa de problemas de licenciamento não resolvidos .

    
por 10.09.2010 / 23:28
3

Acho melhor descrever Darwin apenas como outro sabor do UNIX . Solaris é um deles. HP / UX é outro. Há muito mais , talvez não tão "alto perfil", mas eles estão lá. E com cada sabor vem seus próprios detalhes. É por isso que existem sabores em primeiro lugar. Algumas empresas imaginam algo que ajudaria a vendê-lo (ou simplesmente trabalhar com ele ou até mesmo administrá-lo), cria-lo e dá seu próprio nome.

    
por 11.08.2010 / 16:40
0

Se eu soube que o Darwin, liberado pela Apple, não funciona mais como um sistema operacional independente, então eu diria que a maior diferença é o OS X em cima dele. : D

Embora a integração entre o antigo Mac OS, o novo Mac OS X e o NeXT seja às vezes ridícula, pequenos utilitários como diskutil e hdiutil são ótimos. Talvez alguns arquitetos antigos do kernel Mach que sobraram da NeXT usem essas pequenas coisas e se importem com eles, que também fizeram do XCode uma ferramenta tão boa.

    
por 19.08.2010 / 05:51
-1

O Darwin é baseado no FreeBSD. Um recurso interessante que está não presente em outros sistemas operacionais Unix (na minha experiência) é o Filtro de Pacotes Berkeley , também conhecido como /dev/bpf . Este é um dispositivo muito versátil que você pode usar para captura de pacotes.

    
por 19.08.2010 / 21:45
-2

A principal característica do Darwin que realmente importa é que o OS X o utiliza, realmente.

    
por 19.12.2010 / 04:09
-10

Punho que vem à minha mente são todas as ferramentas que o OSX tem no console .. existem toneladas de comandos mais úteis que o unix tem. Diskutil é como partição mágica no shell, esta ferramenta tem tantas opções para operações de disco que o fdisk é realmente apenas 10% do que esta besta tem ... btw osx suporta realmente grande suporte Raid Software você pode ter JBOD, tipos de raid de software Strip e Espelho .. realmente unix tem isso? nos seus sonhos!! ; D

SystemProfiler - excelente ferramenta que exibe todos os identificadores de hardware, nomes, modelos, sn's e coisas assim de uma maneira muito confortável.

o kernel do darwin não é totalmente transparente como no unix.

darwin tem killall util = P unix não, só habilidade

sistema de arquivos diferente também .. HFS, HFS +

talvez mais tarde eu me lembre mais =)

    
por 11.08.2010 / 01:29

Tags