虚拟磁盘技术和Linux的内存管理
一、 虚拟磁盘技术
A、说明:
(1)、物理磁盘虚拟为逻辑磁盘;
(2)、C、D、E等逻辑盘;
(3)、使用起来更加安全、方便;
B、为什么需要进程
(1)、操作系统包括处理器资源、存储器资源、IO设备资源、文件资源;
(2)、没有配置OS之前,资源属于当前运行的程序;
(3)、配置OS之后,引入多道程序设计的概念;
(4)、合理的隔离资源、运行环境、提升资源利用率;
C、进程的异步性
(1)、进程的执行并不是一气呵成,而是走走停停的;
(2)、进程以不可预知的方式来执行;
D、source:进程是系统进行资源调度和分配的基本单位;
E、进程实体包括:标识符、状态、优先级、程序计数器、内存指针、上下文数据、IO状态信息、记账信息。
F、PCB是常驻内存的进程控制块;
G、进程和线程的比较:
| 进程 | 线程 | |
|---|---|---|
| 资源 | 资源分配基本单位 | 不用有资源 |
| 调度 | 独立调度的资本单位 | 独立调度的最小单位 |
| 系统开销 | 进程系统开销大 | 线程系统开销小 |
| 通信 | 进程IPC | 读写统一进程数据通信 |
H、进程的五种状态

(1)、就绪:
A、当进程被分配到除了CPU以外所有必要的资源后;
B、主要再获得CPU的使用权,就可以立即执行;
C、其他资源都准备好,只差CPU资源的状态为就绪状态;
二、Linux的存储管理
(a)、Buddy(伙伴)内存管理算法
算法基于计算机处理二进制的优势具有极高的效率;
算法主要是为了解决内存外碎片的问题;
(b)、内存碎片分类:
页内碎片:已经被分配出去(能明确指出属于哪个进程)的内存空间大于请求所需的内存空间,不能被利用的内存空间就是内部碎片,也叫页内碎片;
页外碎片:外部碎片是指还没有分配出去(不属于任何进程),但是由于大小而无法分配给申请内存空间的新进程的内存空闲块;
(c)、Buddy的目标就是努力让内存分配与相邻内存合并能快速进行;
(d)、内存分配原则(原理):向上取整为2的幂次大小
70K-->128K 129K-->256K 666K-->1024K
(e)、Buddy的回收:内存外碎片转移成内存内碎片;
(f)、Linux的交换空间是冷启动的;
(g)、swap空间和寻你内存的比较
| swap空间 | VS | 虚拟内存 |
|---|---|---|
| swap空间存在于磁盘 | 虚拟内存存在于磁盘 | |
| swap空间与主存发生置换 | 虚拟内存与主存发生置换 | |
| swap空间是操作系统概念 | 虚拟内存是进程概念 | |
| swap空间是解决系统物理内存不足的问题 | 虚拟内存是解决进程物理内存的问题; |
文章转载自智慧大数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




