忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT 徽章 文库 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
楼主: Godbach

[实践] 【专家坐镇,16本图书大礼】熟知内核及应用态,打通Linux编程任督二脉(获奖名单已... [复制链接]

论坛徽章:
1
技术图书徽章
日期:2014-04-24 15:46:21
发表于 2016-07-05 23:15 |显示全部楼层

我觉得自己是一个典型的C程序员,很没有安全感同时又很八卦,在学习Linux编程的时候,我经常会问自己一些比较牛角尖的问题:

1 如果多个信号同时到达,内核到底先递送那个信号给进程?
2 为什么很多人诟病传统的信号(比如Rebort Love Linux系统编程中提到的),传统信号到底哪里不好,后面出现的实时信号又做了哪些改进?
3 多线程编程中,互斥量是不是公平的,先到的互斥量加锁请求是不是一定会先获得互斥量?
4 POSIX信号量和System V信号量,谁的性能好,为什么, 以及两者之间到底存在哪些区别?
5 对于读写锁,如果同时存在读锁请求和写锁请求,哪个请求先得到满足?
6 UNIX系统编程 一书,很多系统调用,为什么一言不合就判断errno == EINTR?
7 为什么多线程程序不建议调用fork,我调用fork到底会怎样?
8  mmap映射文件,如果修改了文件的内容,还没来得及msync和munmap,对文件的修改是否能持久化。
9 多线程的进程收到了信号,到底哪个线程负责处理信号?

如果我调用一个函数,我不知道里面发生了什么事情,我就会觉得很慌,

有句话是这么说的:

      你以为你以为的就是你以为的。

学习阶段,要解决这些困惑,仅仅是RTFM(Read the fucking manual)并不够,还需要深入glibc源码,深入到内核源码,甚至要写一些测试的代码,验证你的理解到底对不对。当你调用某个函数时,你能初步地了解内核做了哪些事情,会带来哪些影响,这种感觉还是很好的。

Linux内核博大精深,自己对内核的理解确实有限,尤其是CU社区卧虎藏龙,Linux领域大牛甚多,我自己有很多东西都是跟着CU的大牛学的,不敢多说,做小板凳看小伙伴们发言。





评分

参与人数 2可用积分 +18 收起 理由
amarant + 10 赞一个!
Godbach + 8 赞一个!

查看全部评分

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2016-07-06 00:34 |显示全部楼层
回复 18# cxsvip

感谢分享!


   

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2016-07-06 00:35 |显示全部楼层
回复 21# Bean_lee

所谓学而不思则罔,要勤学勤思考。


   

求职 : Linux运维
论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:15:0815-16赛季CBA联赛之山东
日期:2016-10-31 10:40:10综合交流区版块每日发帖之星
日期:2016-07-06 06:20:00IT运维版块每日发帖之星
日期:2016-02-08 06:20:00数据库技术版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-10 06:20:00黄金圣斗士
日期:2015-11-24 10:45:10IT运维版块每日发帖之星
日期:2015-09-01 06:20:00IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-07-30 09:40:012015年亚洲杯之巴勒斯坦
日期:2015-05-05 10:19:03
发表于 2016-07-06 08:16 |显示全部楼层

微软的系统有通用性,但其稳定性和开放度远不是能评论的;IBM的AIX有非常好的稳定性,但其失去了通用性;苹果的OS通用性就更不用说了。如果从通用性、稳定性、开放性三个维度去测评,无疑自由软件Gnu/Linux是最棒的!!!

论坛徽章:
246
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
发表于 2016-07-06 08:22 |显示全部楼层
GFree_Wind 发表于 2016-07-05 21:41
回复 17# hellioncu

我举个例子吧。


麻烦再解释下这样做的实际意义吧

论坛徽章:
207
巨蟹座
日期: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亥猪
日期:2014-09-11 12:30:54
发表于 2016-07-06 09:45 |显示全部楼层
hellioncu 发表于 2016-07-05 14:29
我早先是做windows开发的,从客户端到服务端,后来服务端跨平台到了Unix/Linux,重点放在架构设计上,很少 ...

你们不是有个kernel team?
kernel.taobao.org
你问他们啊

论坛徽章:
0
发表于 2016-07-06 10:07 |显示全部楼层
厉害。元老级。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2016-07-06 13:37 |显示全部楼层
回复 24# niao5929

只有开放了,才更有利于大家的参与。

   

论坛徽章:
0
发表于 2016-07-06 13:53 |显示全部楼层
回复 25# hellioncu

透明代理,HA,等等


   

论坛徽章:
0
发表于 2016-07-06 13:54 |显示全部楼层
回复 29# GFree_Wind
当然,没有free bind选项,也可以通过其它方法实现。

但是有了这个,更方便


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

DTCC2018购票6.8折优惠进行时

中国数据库技术大会是国内数据库及大数据领域规模最大、最受欢迎的技术交流盛会。 2018年5月10-12日,第九届中国数据库技术大会将如约而至。本届大会以“数领先机•智赢未来”为主题,设定2大主会场及20个技术专场,邀请来自国内外互联网、金融、教育等行业百余位技术专家,共同探讨Oracle、MySQL、NoSQL、大数据等领域的前瞻性热点话题与技术。
----------------------------------------
优惠时间:2018年2月13日前

报名链接>>
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP