免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: send_linux
打印 上一主题 下一主题

深入理解内核系列之---Mac OS X和iOS内核初探有奖交流(获奖名单已公布-2014-6-26) [复制链接]

论坛徽章:
2
水瓶座
日期:2014-06-12 08:22:39IT运维版块每日发帖之星
日期:2015-08-05 06:20:00
51 [报告]
发表于 2014-06-05 18:36 |只看该作者
回复 1# send_linux


    正好由于工作原因,接触过一段时间的IOS/MAC OSx。
   因为本人主要做linux开发这块,所以在接触苹果OS的过程中,不是那么艰难,自己在空闲的时间研究过OS。上手的时间不是很长,也就几个月吧。。。
先说说相似之处:
1. 都是UNIX系列的操作系统,所以使用上比较相近(Mac OS 和 Linux)。
2. 开发上也有很多相似之处。Linux下使用GCC很久,到MAC OS,也有GCC版本。GDB是两边都有。
  
  以上对于linux,Mac Os X,IOS三个系统都差不多。
不同之处:
1. 开发工具。Linux用vim其实没那么好用。苹果系统下Xcode是相当地方便,自动补全和错误提示功能相当有用,不过感觉Xcode也算是这方面的优秀者吧。
  Xcode的图形调试系统比单纯的gdb命令要方便一些,这个大约和VS系列相似。
  Xcode的帮助文档确实很系统和方便,另有一些教程类的文章集成在开发环境里,方便搜索和模仿。这一点比linux下又要方便一些。
2. 图形界面的开发,其实这个不具可比性。Xcode本来就善于做这个。而我在linux下尝试用QT,则会有额外的一些配置工作。并且个人感觉QT的开发没有Xcode的界面功能方便。
3. 线程上Xcode提供了一个NSThread,这个东西使用方便,但可控制的地方比较少。根据我的个人经验,这个东西似乎是基于pthread的一个封装,在简单地分发任务时会比较方便。
4. GCC工具上,Linux肯定是保持最新的,可以随时更新。但Xcode上更新较慢。
   Xcode带的gcc由于版本低一些,所以对标准支持不完善,这个方面在linux就好多了。
IOS 就是基于 apple 的 OSX ,OSX 分两部分,一部分是 NEXT 图形环境,以及地底层的 darwin 。
NEXT 是老乔出走时的公司开发的产品,他被请回 apple 时带回了 NEXT 。darwin 听说是基于 FreeBSD ,不过内核是最新的微内核理念的 Mach 。
Linux 的内核是宏内核。Linux 的上层软件基本是 GNU  项目以及其他软件。至少从表面来看,IOS 应该属于基于 UNIX 的系统。
Linux 只是一个内核而已。Linux 系统应该叫做 GNU/Linux 系统,不过并不绝对,因为GNU 软件是可以替换的。替换后的一个例子就是 Android 。

     我在ios系统上做的工作不多,只是在空闲的时间自己研究下。因此无法全面评价两者的差异。个人玩的最多的也还是Linux,个人更喜欢Linux,毕竟是开源的,苹果系统的封闭性,他肯定还会长期局限在一些特定的应用环境里,以消费为主。而Linux涉及的行业就太多了,所以其发展趋势应该是更广阔一些。

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
52 [报告]
发表于 2014-06-05 18:45 |只看该作者
陌路巨额投入 发表于 2014-06-05 18:36
回复 1# send_linux


感谢参与啊,呵呵

论坛徽章:
2
水瓶座
日期:2014-06-12 08:22:39IT运维版块每日发帖之星
日期:2015-08-05 06:20:00
53 [报告]
发表于 2014-06-05 20:15 |只看该作者
回复 52# send_linux


    嘿嘿  好活动 支持一下

论坛徽章:
0
54 [报告]
发表于 2014-06-06 10:54 |只看该作者
非自由软件x ,ios会走多远? 是否要防止隐私被窃取,有自己的OS

论坛徽章:
0
55 [报告]
发表于 2014-06-07 19:53 |只看该作者
由于不是Apple的员工,作者的观点比较中立;样章翻译的也不错,读起来很舒服。内容方面比较全面,是一本介绍OS X和iOS底层难得的好书!

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
56 [报告]
发表于 2014-06-08 15:19 |只看该作者
陌路巨额投入 发表于 2014-06-05 20:15
回复 52# send_linux

感谢支持~

论坛徽章:
0
57 [报告]
发表于 2014-06-09 22:53 |只看该作者
回复 1# send_linux

1、谈谈您在现在的开发工作,以后是否会转移到OS X或者iOS平台上来?


我目前做iOS开发相关的工作,也就是说已经进入到iOS这个平台中了。除了基本iOS开发工作,还在研究iOS中关于私有API的扫描工具研发。因为苹果不允许开发者提交使用了私有API的APP,所以如果你的应用不慎使用了私有API,你的应用就会被拒绝上架,因此这个工具对于开发人员还是有很大帮助的。它可以快速帮助定位是否有私有API 的使用。关于私有API的扫描,需要你也了解OC的runtime机制,以及底层的关于Mach-O格式,Mach的调用,及sandbox等。除此,还要class-dump iOS的系统库Framwork,把其中的API扫描出来,来构建私有API库,因为编译好的二进制文件格式是Mach-O格式的,要扫描二进制文件就需要对Mach-O非常的了解才行。为了学习这方面的知识读过iOS Hacker’s Handbook,主要介绍的些iOS Hack方面的知识,没有此书介绍的全面详细,特别是Mach-O方面的。对于开发语言OC,我还是很喜欢这门语言的,虽然刚接触的时候感觉 特别扭,但习惯之后,感觉也不错,就是写起来函数很长,不过有Xcode就不用担心了,自动提示很棒,在OS X平台上开发相对容易些,现在的各种软件也会相应出 OS X平台的了。

2、阅读样章后,谈谈您对OS X和iOS的看法,以及他们和Linux、Windows的区别。


OSX 和 iOS还是有很多共同之处的,毕竟iOS是由OSX精减移殖过来的。而且从最新iOS 8及OS X 10.10来看,他们之间是越来越多的融合,通过电脑来接听电脑,电脑上的任务瞬间搬到iOS来进行,这些都体现了他们之间在进行无缝融合,这也都归功于iOS从OS X衍生而来,因为有太多相似之处,苹果也在竭力打造一个更加完整的生态圈,虽然今年WWDC大会上提到的那些需要你有Mac 及iPhone手机,这正是苹果想要的结果,都来用他们家的产品才能体验到那种效果。从当前苹果的产品动向上看,OS X与iOS会有更多的融合的。相信还会有更多惊艳的产品诞生。
与Linux平台相比,从普通用户方面来说,主要感觉是用户体验上要OS X要甩Linux好几条街,Linux的Gnome,KDE用起来都不如Cocoa做出来的效果好,OSX上的那些动画效果也是很棒的,之前也用过Ubuntu,Debian但是都感觉忽来忽去的,跟OS X比差太多了。从开发者角度来讲,不考虑界面效果,差别没有那么大,都是*nix系的,文件目录,环境变量都非常的相似,对于程序员切换没有太大的障碍。苹果能把OS X做得如此出色真的不一般啊,也非常感谢苹果为世人提供了这样的系统。
在来比较下同时基于*nix系的移动操作系统,苹果的iOS, Google的Android,iOS从OS X衍生而来,Android是基于Linux,同样在用户体验上也是差别很大,虽然Android正在缩短与iOS的距离,但是差别还是能感觉出来的,Android生态是在拼硬件,看现在的Android机动不动就是说4核,8核的,2G RAM的,但是硬件这么高跑起来真就能比得过iOS吗?答案显而易见,iOS在用着较低硬件配置的平台上依然如此流畅,这就说明只有硬件好也是不行的,软件也要好才行。
再来与Windows平台比较,这个平台我们都用了好些年了,国内用户还是非常多的,而且很多用户还停留在XP时代,用户体验不能算好,只能说提供图形界面,用户操作起来还知道自己在做什么。相应的软件也很多。不过现在针对OS X的软件也比较多了,而且同样功能的软件,在OS X体验会比Windows上的要好很多。对开发人员来说就比较蛋疼了,装个软件好是麻烦,Linux一条命令搞定,Windows要折腾很久还不一定搞定,用开发人员很不友好。对于Windows的移动平台 Windows Phone也是体验起来不如iOS的。
从大的方面来看,苹果是做一个完整的生态,硬件,软件都自己来,提供的服务也是非常的好,才推出的关于健康,家居的新服务也将掀起一股新的浪潮,虽然Jobs不在了,但苹果还是一直引领时代的潮流。苹果率先推出64位移动操作系统,使计算更加快速。其他的产品想超过苹果真的是很难很难的。

   

评分

参与人数 1可用积分 +6 收起 理由
send_linux + 6 很给力!

查看全部评分

论坛徽章:
20
CU大牛徽章
日期:2013-04-17 11:48:26羊年新春福章
日期:2015-03-10 22:39:202015年中国系统架构师大会
日期:2015-06-29 16:11:282015亚冠之平阳省
日期:2015-07-31 09:19:042015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-09-30 06:20:002015亚冠之柏太阳神
日期:2015-10-19 20:29:5915-16赛季CBA联赛之天津
日期:2016-11-29 14:03:4315-16赛季CBA联赛之北控
日期:2016-12-24 20:51:492015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-12 20:58:532014年中国系统架构师大会
日期:2014-10-14 15:59:00
58 [报告]
发表于 2014-06-13 08:48 |只看该作者
Mac OSX 10.10 Yosemite beta版本已经于2014年的WWDC上面发布了,IOS8预览版也已经发布,Mac OSX和IOS的融合也越来越紧密。

论坛徽章:
0
59 [报告]
发表于 2014-06-17 13:42 |只看该作者
这个活动到期了

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
60 [报告]
发表于 2014-06-18 08:48 |只看该作者
buptdream 发表于 2014-06-17 13:42
这个活动到期了


谢谢,这两天有事没有在公司,这两天就会请合作方评选出来
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP