虚拟化(Virtualization)—— CPU虚拟化

时间:2024-05-21 21:09:39

CPU虚拟化是通过分时(time sharing)将cpu时间划分为固定大小的时间片,每个程序在CPU运行一个时间片,时间片一到便切换运行到下一程序。

进程

虚拟化(Virtualization)—— CPU虚拟化
程序:指令和数据的集合,一般作为目标文件保存在磁盘中。
进程:程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。
可执行程序位于磁盘中,需要将静态程序加载到内存生成动态的进程,CPU才可以不停地取指执行。程序在硬盘中主要包含代码(code)及静态数据(static data),而相比之下,进程多了堆(heap)和(stack)。这是怎么来的呢?下面将从虚拟地址空间开始逐一阐明。

1. 虚拟地址空间

虚拟化(Virtualization)—— CPU虚拟化
虚拟内存:内存管理的一种方式, 磁盘上划分出一块空间由操作系统管理,物理内存耗尽时可以充当物理内存来使用。
虚拟地址空间:在多任务操作系统中,每个进程都运行在属于自己的内存沙盘中,这个沙盘就是虚拟地址空间(virtual address space)。虚拟地址空间由内核空间(kernel space)和用户模式空间(user mode space)两部分组成。 虚拟地址会通过页表(page table)映射到物理内存[1]。

2.进程控制块(Process Control Block)

3.进程地址空间(Process Address Space)

虚拟化(Virtualization)—— CPU虚拟化

参考文献

[1] IT_LOVER_ 虚拟地址,虚拟地址空间, 交换分区
[2] 操作系统 向勇 清华大学