目录
第二章:时间切片
简介
假设您正在构建一个操作系统,并且希望用户能够同时运行多个程序。但是您没有花哨的多核处理器,因此您的 CPU 一次只能运行一条指令!
幸运的是,您是一位非常聪明的操作系统开发人员。您发现可以通过让进程轮流使用 CPU 来伪造并行性。如果您循环执行这些进程并运行每个进程中的几条指令,它们都可以响应,而不会有任何单个进程占用 CPU。
但是,您如何从程序代码中收回控制权以切换进程?经过一番研究,您发现大多数计算机都配有定时器芯片。您可以对定时器芯片进行编程,使其在经过一定时间后触发切换到操作系统中断处理程序。
更多文章内容为会员专属,请您先登录/注册后方可查看。
第三章:如何运行程序
简介
到目前为止,我们已经介绍了 CPU 如何执行从可执行文件加载的机器代码、什么是基于环的安全性以及系统调用的工作原理。在本节中,我们将深入研究 Linux 内核,首先弄清楚程序是如何加载和运行的。
我们将专门研究 x86-64 上的 Linux。为什么?
- Linux 是一款功能齐全的生产操作系统,适用于桌面、移动和服务器用例。Linux 是开源的,因此只需阅读其源代码即可轻松进行研究。我将在本文中直接引用一些内核代码!
- x86-64 是大多数现代台式计算机使用的架构,也是许多代码的目标架构。我提到的特定于 x86-64 的行为子集将很好地推广。
我们学到的大部分知识将很好地推广到其他操作系统和架构,即使它们在各种具体方面有所不同。
更多文章内容为会员专属,请您先登录/注册后方可查看。