Darwin에는 다른 Unix에없는 ' 어떤 기능이 있습니까? 아니면 그 반대의 경우도 마찬가지입니까?
On 2월 16, 2021 by adminDarwin에 고유 한 기능이 있습니까? 다른 Unixe에 Darwin에없는 기능이 있습니까?
답변
OS X는 유일한 나머지 운영 체제입니다. Mach 마이크로 커널 기반 은 여전히 상업적으로 관련이 있습니다. 몇 가지 진행중인 연구 프로젝트와 노후화 된 OS가 여전히 오래된 머신의 프로덕션 설정에서 사용되고 있지만 현재 새 머신에서 구매할 수있는 것은 없습니다.
OS X에는 일반적인 것이 있습니다. * ix에있는 다양한 커널 기능 비 호환성. 가장 최근에 해결해야했던 가장 큰 문제는 System V 메시지 대기열 이 없다는 것입니다. (msgget(2)
및 친구들.) “실제”System V 변형 이상을 위해 작성된 메시지 대기열 코드 —를 교체해야했습니다. OS X에서 소프트웨어를 실행하기 위해 TCP / IP를 사용하여 Linux —로 포팅되었습니다. 애플리케이션의 경우이 두 가지 IPC 방법의 차이점이 우리가 선택을 할 때 중요했습니다. 메시지 대기열이 있지만 나중에 아키텍처 변경으로 인해 TCP / IP로 전환하는 것이 큰 문제가되지 않았습니다.
답변
바로 말하자면, “Darwin은 Mach 2.0 위에 얇은 BSD 레이어가 아닌가?
NexTStep을 사용 했었습니다. 현재 MacOSX가 얼마나 떨어져 있는지 모르겠습니다. NeXTStep,하지만 …
Mach 2.0은 커널 수준에서 다른 추상화 집합을 제공했습니다.
- “작업”: 주소 공간 + 집합입니다. 스레드가 실행 중일 수 있습니다.
- 스레드. 예약 가능한 실행 단위입니다. 작업 (주소 공간)은 1 개 이상 실행 중입니다. 나는 Mach-O 파일 (Mach의 실행 파일 형식)이 프로세스 런타임에 둘 이상의 스레드를 지정할 수 있다고 생각합니다. 더 많은 Cthread를 시작하는 main () 함수가 없으면 OS가 하나를 시작합니다.
- 포트 . 이들은 TCP 또는 UDP 포트와 다릅니다. 그들은 입력되고 순서가 지정된 메시지 스트림입니다. 오히려 RPC와 비슷합니다. 프로토콜 사양 파일을 만든 다음 컴파일러를 통해 실행하여 서버 및 클라이언트 측 스텁, 마샬링 및 언 마샬링 루틴 등을 얻었습니다.
- 사용자 수준 메모리 호출기. 다른 작업의 주소 공간의 페이징을 처리하기 위해 작업 + 스레드를 설정할 수 있습니다.
원래 CMU Mach 사람들은 이러한 추상화를 사용하여 BSD Unix 프로세스를 에뮬레이션 했습니다. MS-DOS 프로세스와 VMS 작업에 아주 적합합니다. 각 VMS 작업에는 2 개의 Mach 작업과 많은 스레드가 필요했습니다. 누군가 사용자 공간을 사용하는 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
댓글
h3>
- Mac OS X (따라서 Darwin)은 Mach 3.0을 사용합니다.
답변
정답은 아니지만 DTrace 는 Solaris, Darwin / OS X 및 * 용으로 존재하는 멋진 시스템 디버깅 도구입니다. BSD, Linux는 아닙니다.
댓글
- Oracle은 DTrace를 Linux로 포팅했습니다. 2011 년 10 월부터 Oracle은 Solaris에서 Linux 로의 DTrace 포팅을 발표했지만 2014 년 10 월 13 일 현재 공식적으로 사용할 수 없습니다. ( slideshare.net/brendangregg/from-dtrace-to-linux )
답변
Darwin은 지원되는 파일 시스템 유형이 비교적 적습니다. devfs와 같은 특수 기능 및 webdav와 같은 네트워크 유형 외에 목록은 다음과 같습니다.
- HFS / HFS +
- UFS / FFS
- ISO-9660 / UDF / CDDA
- NTFS
- FAT
한동안 Apple은 HFS를 ZFS , 심지어 일부 Mac OS X 버전과 함께 ZFS를 제공했지만, 슬프게도이 실험은 해결할 수없는 라이선스 문제 로 인해 실패했습니다.
댓글
- OS X ' s / macOS '의 NTFS 쓰기 지원은 제가 회상하는 것처럼 실험적이며 안정화되지 않았기 때문에 여전히 버그가있는 것으로 보고되었습니다 .
답변
다윈을 다른 UNIX의 풍미 . Solaris는 하나이고 HP / UX는 또 다른 하나입니다. 이상 이 많지만 “높음- 프로필 “이지만 그들은”있습니다. 그리고 모든 맛에는 고유 한 특성이 있습니다. 그것이 애초에 맛이있는 이유입니다. 일부 회사는 판매에 도움이 될 (또는 단순히 작업하거나 관리하는 데) 도움이 될 무언가를 생각하고 만들어서 자체 이름을 부여합니다.
의견
- UNIX (모두 대문자)는 여러 국가에서 The Open Group의 등록 상표이며 "입니다. UNIX " (모두 대문자), 인증은 필수 입니다. Darwin은 ' 다른 " UNIX 유형 "-그러나 Intel x86-64의 Mac OS X 10.10은 다른 UNIX로 인증되었습니다.
답변
Apple에서 발표 한대로 Darwin이 더 이상 독립적 인 역할을하지 않는다고 들었다면 그래서 가장 큰 차이점은 그 위에 OS X입니다. : D
이전 Mac OS, 새로운 Mac OS X, NeXT와의 통합이긴하지만 가끔 웃기지 만 diskutil 및 hdiutil 는 훌륭합니다. 아마도이 작은 것들을 사용하고 XCode를 좋은 도구로 만든 이들에게 관심을 기울이는 NeXT에서 남겨진 오래된 Mach 커널 아키텍트 일 것입니다.
Answer
Darwin은 FreeBSD를 기반으로합니다. 다른 Unix 운영 체제 (내 경험상)에는 존재하지 않는 멋진 기능 중 하나는 Berkeley 패킷 필터 , 일명 /dev/bpf
. 패킷 캡처에 사용할 수있는 매우 다양한 기기 입니다.
댓글
- Darwin은 실제로 FreeBSD를 기반으로하는 것은 아니지만 일부 사용자 영역을 차용합니다. 여기에 다른 의견이 더 잘 설명됩니다. bpf (4)는 ' Darwin 및 FreeBSD / NetBSD / OpenBSD 만있는 것이 아니며 ' 누군가가 이전 Linux 커널 용으로 구현했습니다. SCO는 유닉스웨어 제품으로 유명합니다.
답변
내 마음에 떠오르는 주먹 OSX가 콘솔에 가지고있는 모든 도구입니다. 유닉스에는 더 많은 유용한 명령이 있습니다. Diskutil은 쉘의 파티션 마법과 같습니다.이 도구는 디스크 작업에 대한 옵션이 너무 많아서 fdisk가이 짐승이 가진 것의 10 %에 불과합니다. btw osx는 JBOD, Strip 및 Mirror를 사용할 수있는 정말 훌륭한 Software Raid 지원을 지원합니다. 소프트웨어 레이드 유형 .. 정말 유닉스가 이걸 가지고 있나요? 당신의 꿈에 !!; D
SystemProfiler-모든 하드웨어 ID, 이름, 모델, sn “등을 표시하는 훌륭한 도구 매우 편안한 방법입니다.
darwin 커널은 “유닉스 에서처럼 완전히 투명하지 않습니다.
darwin은 killall util = P unix는 없습니다. > 기술
다른 파일 시스템도 .. HFS, HFS +
아마 후자는 더 많이 기억할 것입니다 =)
댓글
- Darwin에 ' killall '이 있고 기타 Unix 변형이 ' 아니요? 그것은 ' 사실이 아닙니다.
- 이 답변은 트롤링으로 의심됩니다. os X 이외의 * nix에 대한 귀하의 진술에서 그렇게 명예를 훼손 할 필요는 없습니다. 또한 제가 마지막으로 * NIX killall을 사용했을 때 제 PATH에 절대적으로 존재했습니다. 또한 Linux에는 시스템 프로파일 러가 있습니다. 너의 숙제를해라. ' d é 우세가되지 마십시오. 편집 : 저는 OS X를 사용하고 매우 좋아합니다.
- 저는 Linux에서 killall을 사용하므로 ' 다윈에만 국한되지 않습니다.
- 이 답변은 모호하고 부정확합니다. fdisk에는 어떤 유용한 기능이 없습니까? Linux RAID (mdadm)에는 연결 (LINEAR), 스트라이핑 (RAID0) 및 미러링 (RAID1) 등이 있습니다 . Linux는 HFS와 HFS +도 모두 지원합니다.
- BTW : Linux-killall과 Solaris-killall은 상당히 다릅니다.
답글 남기기