다윈은 다른 유닉스에없는 기능은 무엇입니까?


19

다윈에는 특정 기능이 있습니까? 다른 유닉스에 다윈에없는 기능이 있습니까?

답변:


20

OS X는 여전히 상업적으로 관련된 Mach 마이크로 커널기반으로 하는 유일한 운영 체제 입니다. 구식 기계의 생산 환경에서 의심의 여지가없는 연구 프로젝트와 구식 운영 체제가 몇 가지 있지만 오늘날 새 기계를 구입하거나 구입할 수있는 것은 없습니다.

OS X에는 모든 * ix에있는 일반적인 커널 기능 비 호환성이 있습니다. 내가 가장 최근에 해결해야했던 가장 큰 것은 System V 메시지 큐 가 없다는 것입니다 . ( msgget(2), 우리의 응용 프로그램의 OS X에서 실행 우리의 소프트웨어를 얻기 위해 TCP / IP와 - 리눅스에 "진짜"시스템 V 변종 용으로 작성하고 나중에 이식되었다 -.과 친구들) 우리는 우리의 메시지 큐 코드를 대체했다 이 두 IPC 방법의 차이점은 메시지 대기열을 선택할 때 중요했지만 나중에 아키텍처 변경으로 인해 TCP / IP로 전환하는 데 큰 문제가되지 않았습니다.


11

다윈은 마하 2.0 위에 얇은 BSD 레이어가 아닌가?

나는 NeXTStep을 사용했지만, 현재의 MacOSX가 NeXTStep에서 얼마나 많이 출발하는지 모르지만 ...

Mach 2.0은 커널 레벨에서 다른 추상화 세트를 제공했습니다.

  1. "작업": 주소 공간 + "포트"집합이며 스레드가 실행 중일 수 있습니다.
  2. 실. 이것은 예약 가능한 실행 단위였습니다. 작업 (주소 공간)에 둘 이상의 작업이있을 수 있습니다. Mach-O 파일 (Mach의 실행 파일 형식)은 프로세스 런타임에 둘 이상의 스레드를 지정할 수 있다고 생각합니다. 더 많은 Cthread를 시작한 main () 함수가 없으면 OS가 시작합니다.
  3. 포트. 이들은 TCP 또는 UDP 포트와 다릅니다. 그것들은 순서대로 분류 된 메시지 스트림이었다. 오히려 RPC와 비슷합니다. 프로토콜 사양 파일을 만든 다음 서버 및 클라이언트 측 스텁, 마샬링 및 비 정렬 화 루틴 등을 얻기 위해 컴파일러를 통해 파일을 실행했습니다.
  4. 사용자 레벨 메모리 호출기. 다른 작업의 주소 공간 페이징을 처리하기 위해 task + thread를 설정할 수 있습니다.

원래 CMU 마하 사람들은 이러한 추상화를 사용 에뮬레이션 BSD 유닉스의 프로세스, MS-DOS 프로세스, 그리고 freakiness, VMS 작업의 멋진 맞게된다. 각 VMS 작업에는 2 개의 마하 작업과 많은 스레드가 필요했습니다. 누군가 사용자 공간 호출기를 효과적으로 사용하는 NeXTStep 용 Mac OS (pre-OSX) 에뮬레이터를 판매했습니다.

구 CMU Mach 간행물 페이지 : http://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/documents_top.html

VMS-on-Mach 종이 : http://www.sture.ch/vms/Usenix_VMS-on-Mach.pdf


2
Mac OS X (및 Darwin)은 Mach 3.0을 사용합니다.
바하마

5

이것은 정답은 아니지만 DTrace 는 Solaris, Darwin / OS X 및 * BSD에는 존재하지만 Linux에는없는 훌륭한 시스템 디버깅 도구입니다.


3
오라클은 2011 년 DTrace를 Linux로 포팅했습니다.
MattBianco

1
2011 년 10 월 현재, Oracle은 DTrace를 Solaris에서 Linux로 포팅한다고 발표했지만 2014 년 10 월 13 일 현재 공식적으로 사용할 수 없습니다. ( slideshare.net/brendangregg/from-dtrace-to-linux )
scravy

4

Darwin은 지원되는 파일 시스템 유형이 비교적 작습니다. devfs와 같은 스페셜 및 webdav와 같은 네트워크 유형을 제외하고 목록은 다음과 같습니다.

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

이 목록 중 필요한 모든 Unix 기능을 지원하도록 HFS +가 업그레이드되었지만 UFS 만 Unix 용으로 설계되었습니다. Mac OS X 10.6부터는 루트 파티션에 UFS를 사용할 수 없지만이 제한은 다윈에는 적용되지 않습니다. 기본적으로 HFS +는 대소 문자를 구분하지 않지만 작성시 대소 문자 구분을 요청할 수 있습니다. Mac OS X은 대소 문자를 구분하는 파티션에서 실행되지만 많은 유명 Mac 응용 프로그램 (예 : Adobe CS)은 작동하지 않습니다.

한동안 애플은 HFS를 ZFS 로 대체 할 계획을 세우고 일부 버전의 Mac OS X과 함께 ZFS를 제공하기까지했지만 슬프게도이 실험은 해결 불가능한 라이센싱 문제로 인해 실패 했다 .


OS X / macOS의 NTFS 쓰기 지원은 여전히 버그 가있는 것으로보고 있습니다.
RandomDSdevel

3

다윈 을 유닉스의 또 다른 풍미 로 묘사하는 것이 가장 좋습니다 . 솔라리스는 하나입니다. HP / UX는 또 다른 제품입니다. 아마도 "높은 프로필"은 아니지만 많이 있습니다. 그리고 모든 맛에는 고유 한 특성이 있습니다. 그렇기 때문에 처음에는 맛이 있습니다. 일부 회사는 판매 (또는 단순히 작업 또는 관리)에 도움이 될만한 무언가를 생각하고이를 만들어 자체 이름을 부여합니다.


2
UNIX (모두 대문자)는 여러 국가에서 The Open Group의 등록 상표입니다. "UNIX"(모든 대문자)가 되려면 인증이 필요합니다 . 다윈은 또 다른 "유닉스의 맛"은 아니지만 인텔 x86-64의 Mac OS X 10.10은 다른 UNIX로 인증되었습니다.
user314104

0

Apple에서 발표 한 Darwin이 더 이상 들리지 않는다면 더 이상 독립 운영 체제로 작동하지 않으므로 가장 큰 차이점은 OS X입니다. :디

구식 Mac OS, 새로운 Mac OS X 및 NeXT와의 통합은 때로는 웃기지 만 diskutilhdiutil 과 같은 작은 유틸리티 는 훌륭합니다. 아마도 NeXT에서 남은 오래된 마하 커널 설계자들이이 작은 것들을 사용하고 XCode를 훌륭한 도구로 만든 사람들을 돌볼 것입니다.


-1

다윈은 FreeBSD를 기반으로합니다. 다른 유닉스 운영 체제에 없는 멋진 기능 중 하나 는 버클리 패킷 필터 (일명 Berkeley Packet Filter ) /dev/bpf입니다. 이것은 패킷 캡처에 사용할 수 있는 매우 다양한 장치 입니다.


1
다윈은 실제로 FreeBSD를 기반으로하지는 않지만, 일부 사용자 영역을 빌려줍니다. 여기에 다른 의견이 더 잘 설명되어 있습니다. bpf (4)는 다윈과 FreeBSD / NetBSD / OpenBSD만이 아니며, 누군가 이전 리눅스 커널을 위해 구현했을 수도 있다는 느낌이 들었습니다. SCO는 유닉스웨어로 유명했습니다.
jrg

-11

내 마음에 오는 주먹은 OSX가 콘솔에 가지고있는 모든 도구입니다. 유닉스가 가지고있는 더 유용한 명령이 많이 있습니다. Diskutil 그것은 쉘의 파티션 마술과 같습니다.이 도구는 디스크 작업을위한 많은 옵션을 가지고 있습니다 .fdisk는 실제로이 짐승의 10 %입니다 ... btw osx는 정말 훌륭한 소프트웨어를 지원합니다. 유형 .. 정말 유닉스가 있나요? 당신의 꿈에서 !! ;디

SystemProfiler-모든 하드웨어 ID, 이름, 모델, Sn 및 이와 유사한 것을 매우 편안한 방식으로 표시하는 훌륭한 도구입니다.

다윈 커널은 유닉스처럼 완전히 투명하지 않습니다.

다윈은이 killall는 폴더의 유틸리티 = P 유닉스하지 만 기술을

다른 파일 시스템 .. HFS, HFS +

아마 후자는 더 많은 것을 기억할 것이다 =)


2
다윈에 'killall'이 있고 다른 유닉스 변종에는 그렇지 않다는 것을 의미합니까? 그건 사실이 아니야.
kbyrd

2
이 답변은 트롤링이 의심됩니다. os X 이외의 * nix에 대한 귀하의 진술에서 그렇게 명예를 훼손 할 필요는 없습니다. 또한, 지난번에 * NIX killall을 사용한 적이있을 때는 절대 PATH에있었습니다. 또한 리눅스에는 시스템 프로파일 러가 있습니다. 너의 숙제를해라. 장인이되지 마십시오. 편집 : 나는 OS X를 사용하고 매우 좋아합니다.
Eli Frey

2
그것은 다윈에 고유하지 그래서 나는 리눅스에서 killall는이
xenoterracide

2
이 답변은 모호하고 정확하지 않습니다. fdisk에는 어떤 유용한 기능이 없습니까? 리눅스 RAID (mdadm를)을 하지 다른 사람의 사이에서, (RAID0)를 스트라이핑과 (RAID1)을 미러링 (LINEAR)를 연결 있습니다. Linux는 또한 HFS와 HFS +를 모두 지원합니다.
Matthew Flaschen

3
BTW : Linux-killall과 Solaris-killall은 상당히 다릅니다
EricSchaefer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.