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. 一条SQL语句中算日销售额和月销售额

    刚刚做项目的时候用到的 用户表:用户ID,用户名,余额 流水表:时间,用户ID,用户名,类型(0充值,1消费),变更金额 现在要查每个用户的日销售额和月销售额,本来最简单的方法是先把所有用户查出来,然 ...

  2. (原创)C++11改进我们的程序之右值引用

    本次主要讲c++11中的右值引用,后面还会讲到右值引用如何结合std::move优化我们的程序. c++11增加了一个新的类型,称作右值引用(R-value reference),标记为T & ...

  3. vim学习笔记(10):vim命令大全

    进入vim的命令: vim filename :打开或新建文件,并将光标置于第一行首 vim +n filename :打开文件,并将光标置于第n行首 vim + filename :打开文件,并将光 ...

  4. CSAPP 读书笔记 - 2.31练习题

    根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1)  属于第一种情况 sum = x ...

  5. GNU make简介

    引言 接触开源项目有一段时间了,对自动化编译工具一直很好奇.近期有时间正好整理下GNU make.后续可以深入了解下. 本文主要整理GNU make的学习的基本资料,同时简要介绍make的功能.语法. ...

  6. Beginning SDL 2.0(6) 音频渲染及wav播放

    前面几篇关于SDL的文章介绍的是以画面为主,这里介绍下SDL中针对音频播放提供的机制,以及如何应用. 对于音频而言,有几个概念需要事先了解下,采样率.声道数.量化位数,如果你不清楚的话,麻烦先了解下这 ...

  7. Eclipse Git下载问题:Internal error; consult Eclipse error log

    在使用Git下载代码时偶尔会遇到  Internal error; consult Eclipse error log 这个报错. 简述下个人解决思路: Eclipse 错误日志报错为:org.ecl ...

  8. Sublime Text 3安装与使用,安装插件,快捷键,默认配置

    本文是Sublime Text 全程指引 by Lucida (http://www.cnblogs.com/figure9/p/sublime-text-complete-guide.html)的笔 ...

  9. 【emWin】例程三十三:窗口对象———Radio

    简介: 如同复选框一样,单选按钮也可用来选择选项.打开或选择单选按钮时,将出现 圆点.与复选框的差别是,用户一次只能选择一个单选按钮.选择一个按钮时,小工 具中的其他按钮将关闭. 触摸校准(上电可选择 ...

  10. junit import org.junit.Test 报错

    由于用的是父-子项目 在自项目中各种改都不行,还是报错,而且子项目中明明已经导入了还在报错,后面发现是父项目中的scope是test 注释掉就好了