iPhoneOS浅浅浅浅析(3)
由于某司太过信息安全,当然我更多的是出于职业道德的考虑,既然拿了老板的钱,就要给老板赚钱,就不要损害老板的利益。所以,在我的个人博客上的技术文章从未涉及到我周一至周五每天早上9点至晚上八点四十埋头苦思的内容。这就好比,在武林大会上,一个剑客偏偏不能使剑,威力自然是大大打了折扣。所以,我这里的技术文章都显得很是小儿科,不要见怪。
我这个系列叫做《iPhoneOS浅浅浅浅析》,但是,你会发现,这里面的内容和iPhone真是八竿子打不着。嗯,这个系列其实是写的mac,但是,你懂得,要标题党,不然吸引不了您的关注。呼呼。
这篇文章就轻松愉悦一些。说一说mac一些很好玩的东西。
众所周知,mac的应用程序比较匮乏,其娱乐性及实用性均被windows给甩出了几条街,其相比于windows唯一的优势便是它的标新立异,这也是我买mac的主要原因,好奇、新鲜感。其实用性差的地方不胜枚举,比如,我要通过网银给我妈寄钱,可惜没有mac下的网银客户端,没办法,只能打开我的thinkpad了。在日常娱乐中给我很不爽的是,下载电影很不方便,由于mac的浏览器是safari,我最常用的下载网站goxiazai就只能通过迅雷来下载电影,而该网站又不支持非IE内核调用迅雷。于是,我只好使用我的thinkpad下载电影,然后在mac上通过samba服务来访问thinkpad,然后使用mplayer来看下载的电影,在mac上看电影还是很炫的说。
综上所述,不难发现,windows就像老婆,是每个男人必备的,而mac就像是小蜜,只能用来调剂情操。你可能觉得小蜜很是讨你欢心,但是关键时刻还得靠你老婆。
既然mac电脑有如此多的粉丝,自然有它与众不同的地方。mac的touchpad就很个性化,它的touchpad是这样子的:
mac的touchpad仅仅是一个面板,没有左右按键,也没有侧边滑动框。简洁的才是最好的,这句话在这得到很充分的体现。虽然它没有这些东西,然而并不妨碍它有这些功能,mac用软件的方式来实现了在windows下需要硬件来完成的功能,而且,你一点也不会觉得麻烦,你会觉得使用起来非常的舒服。mac的touchpad是支持多点触摸的,两个手指同时按下就实现了鼠标右键的功能,两个手指同时滑动就实现了滑动的功能。它最多可以支持4个手指同时滑动,这也是很合理的,一个touchpad最多也就只能同时容纳四个手指嘛,四个手指同时滑动的效果就是misson control的功能。估计这种touchpad被apple申请了专利,所以windows机器才会使用那么丑陋的touchpad吧。
mac电脑让我使用的最舒服的地方是它的misson control功能,就是F3按键的功能。我在电脑做一件事件时一般都是全屏操作,而有时候打开了很多东西,需要来回的切换,miss control就很方便的实现了我的这个需要。也许你会说windows的alt+tab同样可以,嗯,确实可以,不能否认比亚迪和兰博基尼都是汽车、都能开。
对于技术宅没来说,mac最大的优点还是它的shell,yeah,你可以像linux一样使用mac。mac使用的是BSD的内核,和linux一样,都是由unix发展来的,所以mac和linux有很多相通的地方。MacOS的内核是darwin,darwin是一个混合内核,包括Mach 3微内核和FreeBSD组件。
Mach 提供了操作系统最重要的部分,它管理处理器资源比如CPU的使用、内存、调度、内存保护以及以消息传递为核心的进程间通信基础设施。 Darwin提供了一个面向对象的框架用来开发设备驱动,这个框架叫做I/O Kit. Darwin对BSD的应用包括很多POSIX API,上层应用程序可以通过这些接口来实现基本的应用程序功能。BSD为MacOS X的文件系统和网络设施提供基础的服务。1
简单说下Darwin的历史。Darwin于1989年由NeXT公司发布(源码由Apple公司在2000年公开)。Darwin继承自NeXTSTEP(后来的OPENSTEP)操作系统。然而NeXT公司经营状况并不乐观,在1996年12月Apple花费4亿美金买下NeXT,Apple想要用NeXTStep来构成一个新的现代操作系统的基础,因为Apple当时的操作系统差得每当启动Netscape的Navigator的时候都会崩溃。从此NeXT技术进入Apple。Mac OS X Server 1.0应该才是开始以Darwin为核心开发的操作系统。
Darwin有一个开源版本叫做OpenDarwin,OpenDarwin的计划是要为开源开发者提供资源来进行与Mac OS X的互动并为其生产产品。这个项目的其中一个主要方面就是使对Mac OS X感兴趣的开发者能够得到,修改,build并分发操作系统的变化。但是OpenDarwin这个项目最终over了,因为没有开发者参与进来。与此同时,GNU Darwin项目仍然继续。它的目标是创建一个基于Darwin的与Mac OS X兼容的操作系统,而不使用像CoreAudio 和CoreVideo这样的Mac OS X私有库.
Darwin源码是用svn进行管理的,其地址为:http://svn.macosforge.org/repository/darwinbuild/trunk/ 。 使用svn co http://svn.macosforge.org/repository/darwinbuild/trunk/ 将其check到本地后,会发现它是一个xcode工程。使用xcode将其打开后如下所示:
具体分析,详见下回分解…
1https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/SystemTechnology.html