- 论坛徽章:
- 9
|
本帖最后由 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
.... |
|