Darwin 是一种Unix-like操作系统,整合数种的技术,包含开

Darwin LOGO

放原始码的XNU核心,一种以微核心为基础的核心架构来实作Machkernel。操作系统的服务和userland 工具是以4.4BSD(柏克莱软件套件的UNIX),特别是FreeBSDNetBSD) 为基础类似其他Unix-like 操作系统Darwin 也有对称多处理器的优点,高效能的网络设施和支援多种整合的档案系统。

通常来说,大多数的计算机制造商都把自己的操作系统(以及大多数的应用程序)看作是私人拥有不会公开的。将源代码向外界开发人员免费提供是为了鼓励所有的开发人员都来修正其中的问题,对其进行改善。在Darwin之外,OS X还包括了自己的用户接口所有权,以及其他一些没有提供开源的特性。
 
 
整合Mach microkernel到XNU核心的好处是可携性,或者是在不同形式的系统使用软件的能力。举例来说,一个操作系统核心整合了Mach microkernel,能够提供多种不同CPU架构的二进制格式到一个单一的档案 (例如 x86 和 PowerPC),这是因为它使用了Mach-O的二进制格式。Mach 整合的缺点则是增加了操作系统核心-kernel- 的复杂度。在过去的microkernel实作上,这种复杂度有时候会导致很难分离kernel 效能的问题。因此,采用Mach microkernel会伴随风险,但它有潜在的好处是广泛的可携性。以Darwin 可携性的具体例子来说,在2005年6月,苹果电脑宣布它会于2006年 在 Mac 电脑上开始采用 ntel 处理器。
 
 
1、下载并安装虚拟机软件(本人使用vmware6.0)
2、下载苹果OS的kernelDarwin
3、启动vmware,新建一台虚拟机
必须注意以下几点:
1)新建步骤中Virtual Machine configuration选择第二项Custom;
2)Guest操作系统类型选择windows NT;
3)分配给虚拟机虚拟硬盘应大于3G,选择IDE类型,并钩选预分配选项。
4、从2中下载的Darwin是压缩包,先解压成ISO文件。
5、更改已创建的虚拟机的参数,CDROM选择iso镜像(指向磁盘中放步骤4的iso文件的位置)
6、关键步骤:
1)启动虚拟机;
2)选择1将Darwin安装在第一个硬盘;
3)选择2手动分区;
4)输入Y初始化分区表
5)在fdisk#提示符下输入如下4个命令:
fdisk#auto hfs (to automatically create partitions using the HFS+ filesystem)
fdisk#update (otherwise it won't boot after installation)
fdisk#write
fdisk#quit
6)回答系统的其他问题(询问Root安装位置时照抄即可)
7)重启系统(屏幕出现"error: nknown filesystem type:" 时直接回车不用理睬)
8)重启后仍是选择1——第一块硬盘;
9)因为之前已经分区,所以这次出现自动分区和手动分区之外的第三个选项:使用已存在分区,选择3;
10)如同上次安装步骤一样回答系统提问,之后可以看到OS包解压安装的过程,而后重启;
11)启动时快速按下F2键进入虚拟机的bios,修改启动优先次序,改为硬盘第一。
 
 
 

如果您愿意花几块钱请我喝杯茶的话,可以用手机扫描下方的二维码,通过 支付宝 捐赠。我会努力写出更好的文章。 
(捐赠不显示捐赠者的个人信息,如需要,请注明您的联系方式) 
Thank you for your kindly donation!!


About darwin OS的更多相关文章

  1. os模块sys模块-sys.argv命令行参数

    提供对操作系统进行调用的接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于s ...

  2. python之platform模块

    python之platform模块 ^_^第三个模块从天而降喽!! 函数列表 platform.system() 获取操作系统类型,windows.linux等 platform.platform() ...

  3. EOS搭建

    http://mp.weixin.qq.com/s/RcDFCFCWpMIIAshJMqkxxw ,地址实效,请关注公众号 一下引用,只是技术记录交流 目前来讲,学习任何EOS相关技术的资料都来自ht ...

  4. rocketmq那些事儿之入门基础

    分布式消息队列中间件作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性,其复杂性可见一斑,作为核心组件,有必要去深入了解学习 前言 分布式消息队列中间件主要具有以下优势: 削峰 ...

  5. Cocos2dLua3.17.2集成FairyGUI之 lua绑定 (二)

    上一章中将fairyGUI集成到C++工程,由于本人使用的是cocoslua,还需要将C++的绑定到lua中使用,本章记录一下过程,由于是过了一段时间,有些步骤忘记了,大概记录一下,诸位大大做个临时参 ...

  6. iOS Hook

    HOOK 译为"钩子"或挂钩.在 iOS 逆向中指改变程序运行流程的一种技术. iOS 中 hook 技术的几种方式 Method Swizzle 利用 OC 的 Runtime ...

  7. 【工具】 memtester内存压力测试工具

    作者:李春港 出处:https://www.cnblogs.com/lcgbk/p/14497838.html 目录 一.简介 二.Memtester安装 三.使用说明 四.测试示例 一.简介 mem ...

  8. 分布式消息队列RocketMQ(一)安装与启动

    分布式消息队列RocketMQ 一.RocketMQ简介 RocketMQ(火箭MQ) 出自于阿里,后开源给apache成为apache的顶级开源项目之一,顶住了淘宝10年的 双11压力 是电商产品的 ...

  9. ansible 四常用模块

    常用模块 Ansible默认提供了很多模块来供我们使用.在Linux中,我们可以通过 ansible-doc -l 命令查看到当前Ansible支持哪些模块,通过 ansible-doc -s [模块 ...

随机推荐

  1. [svc]centos7的服务治理-systemd

    经常用到的高频命令小结 - 所有服务unit放在这里 ll /usr/lib/systemd/system - 默认启动级别 [root@n1 ~]# ll /etc/systemd/system/d ...

  2. 【Unity】第8章 GUI开发

    分类:Unity.C#.VS2015 创建日期:2016-04-27 一.简介 前面的章节中实际上已经多次使用了GUI,只不过用法都比较简单,这一章系统地介绍Unity 5.x自带的GUI(称为Uni ...

  3. nginx配置ssl双向证书

    CA根证书制作 # 创建CA私钥 openssl genrsa -out ca.key 2048 #制作CA根证书(公钥) openssl req -new -x509 -days 3650 -key ...

  4. 菜鸟学Java(十四)——Java反射机制(一)

    说到反射,相信有过编程经验的人都不会陌生.反射机制让Java变得更加的灵活.反射机制在Java的众多特性中是非常重要的一个.下面就让我们一点一点了解它是怎么一回事. 什么是反射 在运行状态中,对于任意 ...

  5. VS2015终极卸载方法

    今天打开VS2015发现出问题了,总是停止响应,去控制面板里卸载结果像下面这样,卸载出错!于是我有开始折腾了,重新安装一遍然后,还是有问题,在卸载还是出错于是我决定通过安装介质卸载,结果,悲剧的是,启 ...

  6. 每日英语:Chinese Show Global Real-Estate Appetite

    Chinese investors have been snapping up real estate in the world's most important cities this year. ...

  7. TensorFlow学习路径【转】

    作者:黄璞链接:https://www.zhihu.com/question/41667903/answer/109611087来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  8. Java类的成员初始化顺序

    Java类的成员初始化顺序 2017-06-01 代码: public class InitializeSequence { public static void main(String[] args ...

  9. linux输入子系统

    linux输入子系统(linux input subsystem)从上到下由三层实现,分别为:输入子系统事件处理层(EventHandler).输入子系统核心层(InputCore)和输入子系统设备驱 ...

  10. goto语句的升级版,setjmp,longjmp

    我们知道goto语句是不能跳过函数的,但是在我么C语言的应用中,在不使用汇编的情况下,遇到需要跳出深层循环比如检错机制的时候,有确实想要跨函数跳转,有没有上面办法可以做到呢? 这就是今天要讲的两个库函 ...