wangduanduan / wangduanduan.github.io

Wubba Lubba dub-dub
https://wdd.js.org
27 stars 7 forks source link

现代体系结构上的UNIX系统 #243

Closed wangduanduan closed 5 years ago

wangduanduan commented 5 years ago

UNIX 内核模型

UNIX系统在逻辑上分为两层,内核(kernel)和用户程序(user program)。内核向用户程序提供系统调用接口。

内核在内核级上运行,用户程序程序在用户级上运行。内核不仅仅可以控制硬件,还可以控制用户程序。

Jietu20190331-194728

程序 进程

Jietu20190331-195502

Jietu20190331-195730

虚拟地址空间

内核为每个进程提供虚拟的地址空间,虚拟地址并不是真实物理地址。并且其他进程不能直接访问该进程的虚拟地址空间。

但是在进程内的线程,都可以访问进程内的虚拟地址。

Jietu20190331-200807

地址空间映射

地址空间映射由内存管理单元(Memorg Managerment Unit, MMU)负责管理

Jietu20190331-201542

上下文切换

每个进程在占用CPU一段时间后,CPU会切换其他进程来执行。进程切换需要三步

  1. 保存当前进程的状态,以便将来恢复
  2. 选择一个新的进程
  3. 将新的进程的状态载入到硬件中

Jietu20190331-202300