7. 访问操作系统对象

我们已经知道,进程从 execve 后的初始状态开始,可以通过 mmap 改变自己的地址空间,通过 fork 创建新的进程,再通过 execve 执行新的程序——我们慢慢已经开始理解 “操作系统上的应用生态“ 并没有魔法了。

本讲内容:操作系统还必须给应用程序提供访问操作系统对象的机制。当然,我们可以直接以 API 的形式提供,例如 Win32 API 包含 “RegOpenKeyEx” 访问注册表。这节课我们学习 UNIX 的 “Everything is a file” 带来的方便 (和不便)。

💬
Prompt: 有哪些对象 serialization 的通用机制?

7.1 文件描述符

7.2 访问操作系统中的对象

7.3 一切皆文件

💬
Prompt: 什么是 glob patterns? 有什么实际中常用的扩展?

7.4 总结

Take-away Messages: 操作系统必需提供机制供应用程序访问操作系统对象。对于 UNIX 系统,文件描述符是操作系统中表示打开文件 (操作系统对象) 的指针;而 Windows 则更直接地提供了 handle 机制。