免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: send_linux

[实践] 深度探索Linux:系统构建和原理解析大家谈!(获奖名单已公布-2013-11-14) [复制链接]

论坛徽章:
208
巨蟹座
日期:2013-09-02 09:16:36卯兔
日期:2013-09-02 20:53:59酉鸡
日期:2013-09-05 21:21:45戌狗
日期:2013-10-15 20:51:17寅虎
日期:2013-10-18 21:13:16白羊座
日期:2013-10-23 21:15:19午马
日期:2013-10-25 21:22:48技术图书徽章
日期:2013-11-01 09:11:32双鱼座
日期:2013-11-01 20:29:44丑牛
日期:2013-11-01 20:40:00卯兔
日期:2013-11-11 09:21:32酉鸡
日期:2013-12-04 19:56:39
发表于 2013-10-15 21:03 |显示全部楼层
不错啊,但到底是构建系统,还是内核啊,貌似前几位在讨论kernel

论坛徽章:
0
发表于 2013-10-15 23:49 |显示全部楼层
本帖最后由 程序员王柏生 于 2013-11-01 22:55 编辑

回复 1# send_linux

感谢 CU 给这样一个机会和大家交流。我谈不上什么老师了,只是一位普通的程序员。而且这本书也谈不上深度了,如同我们人起名字时,总要加一点寄托和希望,所以加了“深度”二字,但是还算有一点点儿广度。

我相信,如我一样有操作系统梦想的程序员不在少数,所以我们看到网络上有那么多程序员在尝试着写操作系统。但是很多都是以饱满的热情开始,但能善终者甚少。原因可能有很多,我认为其中重要的一个原因是因为操作系统是个系统工程,如果我们只是“模仿”了别人的代码写个小的内核,但是因为缺少一个系统的设计,后面自然不知走向何方,更不用提如何走了。

内核的一个主要功能是为上层应用提供服务,如果我们都不清楚上层需要什么样的服务,何谈设计内核?举个例子,大家都知道内核支持动态加载模块,但是如果我们只在内核中讨论,而不是与用户空间的工具(如udev,modprobe等)结合起来讨论,怎么能真正明白这个过程。所以,要学习内核,首先要从宏观上理解操作系统。换句话说,我们需要透彻理解内核要满足哪些需求,以目标为导向来研究内核。这就是为什么《深度探索Linux操作系统》一书以构建系统这个过程为载体,虽然书的副标题是“系统构建”,如果仅仅是构建一个小系统,lfs已经足矣了。这里构建过程只是一个载体,并不是目的,书中真正的目的是通过这个载体,尝试探讨整个操作系统。

我们更多时候一直是学习别人怎么做的,而很少的时候是思考别人为什么这么做。不知是因为我们的教育制度使然,还是因为NIKE的广告“Just do it”误导了我们。即使我们模仿了别人的实现又有什么意义?我们没有Linus Torvalds那样幸运,有Andrew S.Tanenbaum这样一位老师,那就让我们自己来探索,这也是本书的一个目的,让我们自己来找到其中的"why",希望有一天可以有我们自己的想法,设计我们自己的操作系统,软件...,而不是“模仿”、“山寨”别人的想法。


   

论坛徽章:
0
发表于 2013-10-16 00:47 |显示全部楼层
回复 11# 流氓无产者

系统构建只是一个手段。如果想学习内核,至少要先从宏观上非常理解整个系统。

   

论坛徽章:
0
发表于 2013-10-16 00:55 |显示全部楼层
本帖最后由 程序员王柏生 于 2013-10-16 01:11 编辑

回复 8# reyleon

个人认为,作为一名出色的运维人员,需要理解整个操作系统甚于理解内核。

至于内核的源码,我个人认为并不一定需要去读。但是最好理解内核代码的组成,以备不时之需。如果确实需要解决某部分问题时,再针对某一部分重点研究。即使我们理解其他人写的应用程序,也比较费力,所以,并不是因为内核的代码比应用程序的代码要晦涩难懂多少,根源还是因为我们没有宏观的概念,没有理解内核中某些部分的“目的”。为了读内核而读内核,即使每条代码都有注释,也没有太多意义。



   

论坛徽章:
0
发表于 2013-10-16 01:10 |显示全部楼层
本帖最后由 程序员王柏生 于 2013-10-16 01:13 编辑

回复 4# 瀚海书香

我倒是这么认为的:表面上内核不是热点,但是以热点云计算来为例,虚拟化是云计算的基础之一,但是如果操作系统都不了解,那么操作系统之上的操作系统能理解吗?根据个人的实际工作经验,如果你真正的理解了操做系统,这里我指的是整个操作系统,而不仅是内核,那么学习起虚拟化就会容易得多。

我举个实际的例子,因为虚拟机中的GPU一般是软件模拟的,所以图形都由CPU来渲染,图形性能非常差,那么如何解决这个问题?可行的方案之一是:偷梁换柱Guest的3D库,让其将请求转发给虚拟机中的一个模拟设备,再由这个模拟设备请求Host的3D库来绘制。通过这个例子,我们看到,解决这个问题需要系统中的多个组件共同协作,显然,只了解内核是不够的。

所以,我的观点是:至少目前看,要想做好这些所谓的热点,首先需要掌握好操作系统。


   

论坛徽章:
0
发表于 2013-10-16 03:05 |显示全部楼层
本帖最后由 skysmiler 于 2013-10-16 03:23 编辑

回复 15# 程序员王柏生


    支持柏生

1、说说您的Linux内核源码的学习经验和感受
    动手实践,多写多测试,内核很庞大的,可以挑一个子系统,仔细读代码。

2、对于普通的Linux程序员和运维人员,是否有必要学习Linux系统构成及源码等基础知识

    内核与系统的很多设计方法,有很多可以借鉴的地方;现在技术发展太快,不断发明各种名词;即使只是应用开发和运维,学习内核和系统构建,肯定可以帮助你快速、深刻的理解新技术。

论坛徽章:
4
CU大牛徽章
日期:2013-04-17 11:48:26CU大牛徽章
日期:2013-04-17 11:48:40CU大牛徽章
日期:2013-04-17 11:48:45摩羯座
日期:2013-12-06 18:10:04
发表于 2013-10-16 03:56 |显示全部楼层
1、说说您的Linux内核源码的学习经验和感受
动手+理论,缺一不可。你至少要学过《操作系统原理》,否则不要直接动手,没意义。
一开始尝试定制编译内核,可以学到很多东西,然后看一本Linux内核原理的书,就可以动手了。从设备驱动入手会是个好方法,什么内存子系统、网络子系统、进程管理子系统,一点经验都没有的话谁碰谁死。而且从实用与工作角度看,设备驱动也是需求最大的。


2、对于普通的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
发表于 2013-10-16 09:08 |显示全部楼层
这楼上几位都睡的好晚啊,凌晨3点多...

论坛徽章:
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
发表于 2013-10-16 09:08 |显示全部楼层
这楼上几位都睡的好晚啊,凌晨3点多...

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
发表于 2013-10-16 10:37 |显示全部楼层
回复 18# send_linux
这楼上几位都睡的好晚啊,凌晨3点多...

人家是美国东部时间
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP