免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
1
技术图书徽章
日期:2014-04-24 15:46:21
1 [报告]
发表于 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 赞一个!

查看全部评分

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP