Linux系统基础:从内核到用户空间
1. 系统稳定性与用户进程
在计算机系统中,用户进程的异常通常不会对整个系统造成严重破坏。例如,浏览器崩溃时,不太可能影响到后台运行了数天的科学计算任务。不过,这也取决于对“严重破坏”的定义以及进程的特定权限,因为有些进程被允许执行更多操作。比如,在获得正确权限的情况下,用户进程有可能完全破坏磁盘上的数据,但系统有相应的保护措施,大多数进程不被允许这样肆意破坏。
Linux 内核可以运行内核线程,如 kthreadd 和 kblockd,它们看起来像进程,但可以访问内核空间。
2. 硬件:理解主内存
主内存是计算机系统中最重要的硬件之一。它本质上是一个存储大量 0 和 1 的区域,每个存储 0 或 1 的位置称为一个位(bit)。运行的内核和进程都以大量位的形式存在于主内存中,所有外围设备的输入和输出也以位的形式流经主内存。CPU 则是对内存进行操作的部件,它从内存中读取指令和数据,并将处理后的数据写回内存。
在计算机系统中,经常会提到“状态”这个术语,严格来说,状态是位的特定排列。例如,内存中的四个位,0110、0001 和 1011 代表三种不同的状态。由于一个进程在内存中可能由数百万个位组成,因此在描述状态时,使用抽象术语会更方便,比如“进程正在等待输入”或“进程正在执行启动的第二阶段”。这里,“映像”指的是位的特定物理排列。
3. 内核
内核的大部分工作都围绕主内存展开。它的任务之一是将内存划分为多个子区域,并始终维护这些子区域的状态信息。每个进程都有自己的内存份额,内核要确保每个进程都不会越界使用内存。
内核负责管理四个主要系
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



