Quais recursos Darwin tem que outros Unix não ' t, ou vice-versa?
On Fevereiro 16, 2021 by adminO Darwin possui recursos específicos para ele? Outros Unixe (s) têm recursos que faltam em Darwin?
Resposta
OS X é o único sistema operacional remanescente 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 sair e comprar em uma máquina nova hoje.
O OS X tem o normal variedade de incompatibilidades de recursos do kernel que qualquer * ix possui. O maior problema que tive que contornar recentemente foi a falta de filas de mensagens do System V . (msgget(2)
e amigos.) Tivemos que substituir nosso código de fila de mensagens — que foi escrito para uma variante “real” do System V e posterior portado para Linux — com TCP / IP para fazer nosso software rodar no OS X. Para nosso aplicativo, as diferenças entre esses dois métodos IPC eram importantes no momento em que escolhemos ir com filas de mensagens, mas devido a mudanças arquitetônicas posteriores, acabou não sendo um grande problema mudar para TCP / IP.
Resposta
No final das contas, Darwin não é apenas uma fina camada BSD sobre Mach 2.0?
Eu costumava usar NeXTStep, não sei de quanto o MacOSX atual se afasta NeXTStep, mas …
Mach 2.0 ofereceu um conjunto diferente de abstrações no nível do kernel:
- Uma “tarefa”: isso “é um espaço de endereço + um conjunto de “portas”, possivelmente com um thread em execução.
- Threads. Esta era a unidade de execução programada. Uma tarefa (espaço de endereço) poderia h ave mais de 1 rodando nele. Eu acredito que os arquivos Mach-O (formato de arquivo executável do Mach) podem especificar mais de um thread no tempo de execução do processo: nenhuma função main () que inicie mais Cthreads, o sistema operacional iniciará um.
- Ports . Estas não são como as portas TCP ou UDP. Eles eram fluxos de mensagens digitados e ordenados. Em vez do tipo RPC. Você criou um arquivo de especificações de protocolo e o executou por meio de um compilador para obter stubs do lado do servidor e do cliente, rotinas de empacotamento e descompressão, etc.
- Pagers de memória de nível de usuário. Você poderia configurar uma tarefa + thread para lidar com a paginação de outras tarefas “espaços de endereço.
O pessoal do CMU Mach original usava essas abstrações para emular processos BSD Unix, Processos do MS-DOS e, em um fabuloso ajuste de maluquices, tarefas VMS. Cada tarefa VMS exigia 2 tarefas Mach, mais muitos threads. Alguém costumava vender um emulador Mac OS (pré-OSX) para NeXTStep que usava o espaço do usuário- pagers com bom efeito.
A antiga página de publicações do CMU Mach: http://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/documents_top.html
O artigo VMS-on-Mach: http://www.sture.ch/vms/Usenix_VMS-on-Mach.pdf
Comentários
- Mac OS X (e, portanto, Darwin) usa Mach 3.0.
Resposta
Isso não é exatamente uma resposta, mas, DTrace é uma ferramenta de depuração de sistema incrível que existe para Solaris, Darwin / OS X e * BSD, mas não Linux.
Comentários
- Oracle portou DTrace para Linux em 2011.
- Em outubro de 2011, a Oracle anunciou a portabilidade do DTrace do Solaris para o Linux, mas em 13 de outubro de 2014 ele permanece oficialmente indisponível. ( slideshare.net/brendangregg/from-dtrace-to-linux )
Resposta
Darwin tem um conjunto relativamente pequeno de tipos de sistemas de arquivos suportados. Além de especiais como devfs e tipos de rede como webdav, a lista é:
- HFS / HFS +
- UFS / FFS
- ISO-9660 / UDF / CDDA
- NTFS
- FAT
Desta lista, apenas UFS foi projetado para Unix, embora HFS + tenha sido atualizado para suportar todas as funcionalidades Unix necessárias. 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 ao Darwin. Por padrão, HFS + não faz distinção entre maiúsculas e minúsculas, embora a distinção entre maiúsculas e minúsculas possa ser solicitada no momento da criação. Embora o Mac OS X será executado em uma partição que diferencia maiúsculas de minúsculas, muitos aplicativos Mac de alto perfil não (por exemplo, Adobe CS).
Por um tempo, a Apple planejava substituir o HFS com ZFS , e até mesmo distribuiu o ZFS com algumas versões do Mac OS X, mas infelizmente esse experimento falhou devido a problemas de licenciamento insolúveis .
Comentários
- Acredito que OS X ‘ s / macOS ‘ é relatado como ainda com bugs, pois permanece experimental e nunca foi estabilizado, pelo que me lembro.
Resposta
Acho que é melhor descrever Darwin como apenas mais um sabor do UNIX . Solaris é um. HP / UX é outro. Existem muitos mais , talvez não tão “high- perfil “, mas eles estão lá. E com cada sabor vêm suas especificidades. É por isso que existem sabores em primeiro lugar. Algumas empresas pensam em algo que ajudaria a vendê-lo (ou simplesmente trabalhando com ele ou mesmo administrando-o) e o cria e dá um nome próprio.
Comentários
- UNIX (em maiúsculas) é uma marca registrada do The Open Group em muitos países; para algo ser ” UNIX ” (em maiúsculas), a certificação é necessária . Darwin isn ‘ t outro ” tipo de UNIX ” – mas o Mac OS X 10.10 no Intel x86-64 é certificado como outro UNIX.
Resposta
Se eu ouvi direito Darwin, conforme lançado pela Apple, não funciona mais como um independente sistema operacional, então eu diria que a maior diferença é o OS X acima dele.: D
Embora a integração entre o antigo Mac OS, o novo Mac OS X e coisas do NeXT às vezes é risível, pequenos utilitários como diskutil e hdiutil são ótimos. Talvez sejam alguns arquitetos antigos do kernel Mach que sobraram da NeXT que usam essas pequenas coisas e se preocupam com elas, que garantiram que o XCode fosse uma ferramenta tão boa também.
Resposta
Darwin é baseado no FreeBSD. Um recurso interessante que não está presente em outros sistemas operacionais Unix (na minha experiência) é o Berkeley Packet Filter , também conhecido como /dev/bpf
. Este é um dispositivo muito versátil que você pode usar para capturar pacotes.
Comentários
- Darwin isn ‘ t realmente baseado no FreeBSD, embora tome emprestado algumas coisas da área de usuário dele. Outros comentários aqui explicam isso melhor. bpf (4) isn ‘ t apenas Darwin e FreeBSD / NetBSD / OpenBSD, e eu ‘ tenho a sensação de que alguém pode ter até implementado para kernels Linux anteriores. SCO (in) famosamente tinha isso em sua oferta de Unixware.
Resposta
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 oferece suporte a Raid de software realmente grande, você pode ter JBOD, Strip e Mirror tipos de raid de software .. realmente o unix tem isso? nos seus sonhos !!; D
SystemProfiler – ótima ferramenta que exibe todas as id “s de hardware, nomes, modelos, sn” se coisas assim em um Maneira MUITO confortável.
O kernel darwin não é totalmente transparente como no Unix.
Darwin tem killall util = P unix não, apenas habilidade
sistema de arquivos diferente também .. HFS, HFS +
talvez mais tarde eu me lembrarei mais =)
Comentários
- Você quer dizer que Darwin tem ‘ killall ‘ e outras variantes do Unix don ‘ t? Isso ‘ não é verdade.
- esta resposta é suspeita de trolling. Não é necessário ser tão difamatório em suas declarações sobre * nix diferente de OS X. Além disso, da última vez que usei * NIX killall estava absolutamente presente em meu PATH. Além disso, o Linux tem perfis de sistema. Faça sua lição de casa. Não ‘ seja um d é uche. editar: Eu uso e gosto muito de OS X.
- Eu tenho killall no linux, então ‘ não é exclusivo de darwin
- Esta resposta é vaga e imprecisa. Quais recursos úteis falta ao fdisk? Linux RAID (mdadm) tem concatenação (LINEAR), striping (RAID0) e espelhamento (RAID1), entre outros. Linux também suporta HFS e HFS +.
- BTW: Linux-killall e Solaris-killall são bastante diferentes
Deixe uma resposta