【好书推荐】奔跑吧 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-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
.... 2. cache 在 Linux 内核中有哪些应用?(一两个例子即可)
cache是为了解决通信双方速度(throughput)不匹配的问题, 有如下三大类
1 CPU和内存间不匹配, 因此有cpu cache
2 主机和块设备(设备)间不匹配,因此有块设备cache/buffer
3 不同进程/线程间不匹配,因此有进程间消息和通信缓存队列
3. cache coherency 和 memoryconsistency 有什么区别?
不懂 ,请高手回答
ARM64 比较犹豫。要是基于 x86_64 就直接买了。
市场上的书都在炒x86的冷饭,东抄西抄。
才注意到dirty COW都算作黑科技了…… 我第一个发帖的啊,顶上来
页:
[1]