yejia80550708 发表于 2017-11-02 12:03

【好书推荐】奔跑吧 linux 内核

话题背景:
伴随计算机层次化体系结构的更迭,操作系统、编译系统和数据库作为IT、互联网及物联网的基石,多年来不断演进。而 Linux 内核自 1991 年发起至今,集数万人智慧结晶,承上启下,早已成为学术界与工业界协作与创新的重要平台。我们经常提及手机的操作系统安卓(Android)、智能家居、车载系统等,许多产品都在应用 Linux 及开源软件。社会在奔跑,技术也在奔跑,Linux 内核发展至今已经越来越复杂、越来越庞大。许多新技术、新算法、新补丁不断融入到 Linux 内核之中 讨论话题:
1.      linux内核有哪几大模块?2.      cache 在 Linux 内核中有哪些应用?(一两个例子即可)3.      cache coherency 和 memoryconsistency 有什么区别?4.      如何理解Linux一切皆是文件?
活动时间:11月2日—12月2日
活动奖励:本次活动我们将选出5位优秀回答者赠送技术图书《奔跑吧 linux 内核》一本
作者:张天飞出版社:人民邮电出版社版次:第一版开本:787*1092
样章试读:



--------------------------------------------------------------------------------------------------------欢迎大家发帖讨论,分享是美德,也希望CU这个平台带给大家进步和成长,有任何问题,请站短联系!


技术讨论,请加QQ群:203848540

mordorwww 发表于 2017-11-02 18:05

本帖最后由 mordorwww 于 2017-11-03 08:14 编辑

1.      linux内核有哪几大模块?
    内存子系统
         内存管理和服务,    包括不同进程间内存(地址空间)的隔离,即进程和内核虚拟内存的分配,释放等API以及,
                虚拟内存管理和物理内存管理,其中包括虚拟内存到物理内存的映射的处理
         
         
         ....
      CPU/进程/线程子系统
         CPU管理和服务
               CPU管理
               线程调度
                   进程组调度
                   ....
         进程/线程管理和服务
            进程/线程创建(API)
                  进程/线程退出(API)
                  进程/线程间通信(API)
                  ...
      
      IO子系统
            存储管理和服务
                   文件系统,包括文件访问API, vfs,各种文件系统
                   块存储管理, 包括块设备管理和相应API,块设备分配和释放,io调度等
                   ...
                  
                网络IO管理和服务
                   网络服务(socket API)
                   网络协议栈
                   网络IO调度和分配
                     ...
                        
                人机接口管理服务
                   命令行api, 即TTY
                   input子系统
                   显卡子系统
                     ....
               
                io管理框架
                   各类型设备管理,包括块设备,字符设备,网络设备等的管理,包括设备的发现和加入内核(也包括中断/轮询接收函数,发送函数等函数注册)、设备卸载等(API)
                   总线和驱动管理, 包括总线服务API
                   ...
               
               
2.      cache 在 Linux 内核中有哪些应用?(一两个例子即可)
3.      cache coherency 和 memoryconsistency 有什么区别?
4.      如何理解Linux一切皆是文件?
          一个文件代表可以由CPU/进程访问和读写的(数据)资源
                  1 文件
                        2 设备,例如块设备,
                        3 网络socket
                        4 系统参数等,信息例如sysfs, procfs
                        ....

mordorwww 发表于 2017-11-02 18:28

2.      cache 在 Linux 内核中有哪些应用?(一两个例子即可)
   cache是为了解决通信双方速度(throughput)不匹配的问题, 有如下三大类
   1 CPU和内存间不匹配, 因此有cpu cache
   2 主机和块设备(设备)间不匹配,因此有块设备cache/buffer
   3 不同进程/线程间不匹配,因此有进程间消息和通信缓存队列
   
3.      cache coherency 和 memoryconsistency 有什么区别?
   不懂 ,请高手回答

wait_rabbit 发表于 2017-11-02 22:45


ARM64 比较犹豫。要是基于 x86_64 就直接买了。

市场上的书都在炒x86的冷饭,东抄西抄。

nswcfd 发表于 2017-11-07 11:36

才注意到dirty COW都算作黑科技了……

mordorwww 发表于 2017-12-07 09:26

我第一个发帖的啊,顶上来
页: [1]
查看完整版本: 【好书推荐】奔跑吧 linux 内核