操作系统之内存管理
发如雪-ty
一个工作多年的程序员,一直从事C++开发方面的工作,曾有幸在安防行业深耕4年,并有幸在工业检测行业工作至今已有4年,主要负责系统软件的设计与开发,个人编程的信仰:不要盲目学习酷炫的东西,最重要的依然是内功。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
虚拟内存的应用
虚拟内存的应用一、共享内存二、写时拷贝三、内存去重 虚拟内存抽象使应用程序能够拥有一个独立而连续的虚拟地址空间,其通过页表与硬件的配合能够在对应用程序透明的前提下自动地进行虚拟地址到物理地址的翻译。除此之外,虚拟内存抽象还带来了其它的功能。一、共享内存共享内存允许通一个物理页在不同的应用程序中共享,如下图 应用程序A的虚拟页V1和应用程原创 2022-04-05 23:38:21 · 1036 阅读 · 0 评论 -
操作系统之线程与进程回顾
1. 为什么需要进程2.什么是进程3.进程在主存中的进程状态在主存中进程是一段连续存储的空间,这个空间称之为进程控制块,它包含内容如下:标识符状态程序计数器内存指针上下文信息IO状态信息:记账信息把左边的归结后分为右边的四个种类3.进程控制块(PCB):进程与线程线程:下面第一句话你细细品(注意进程是系统调度的基本单位)进程:...原创 2021-03-27 18:07:55 · 170 阅读 · 0 评论 -
操作系统内存管理之伙伴系统
伙伴系统是连续存储分配的一种办法。它比较好地折中了分配和回收过程中分配块的位置碎片和合并的问题。伙伴系统地概念如下图:整个可分配分区大小为2的幂次方,当需要的内存空间大于当前块的一半的时候就将整个分区分配给进程,如果小于当前分区的一半,就将当前分区对半分开,将其中一半继续与需要的内存大小进行比较,递归进行下去,直到满足所需内存大小大于分区一半。可以看到这种分配方式内部碎片最大为分区大小的一半减一。...原创 2021-03-27 16:02:42 · 1895 阅读 · 0 评论 -
操作系统内存管理之换页与缺页异常
换页机制思想:该机制的基本思想是当物理内存容量不够的时候,操作系统应该把若干物理页的内容写到类似于磁盘这种容量更大更加便宜的存储设备中,然后就可以回收这些物理页供其他程序使用了。 举个例子,有一个程序A,其中A的一个物理页为P(对应于程序A虚拟内存中的虚拟页V)时,当操作系统希望从程序A那里回收P时,操作系统就需要将物理页P中的内容写到磁盘的一个位置,并且在程序A的页表中,去除虚拟页V的映射,同时记录该物理页被换原创 2021-03-27 12:22:14 · 3786 阅读 · 0 评论 -
操作系统内存管理之段式管理、页式管理、段业式管理回顾
操作系统是如何管理进程的空间呢?1.基础字是内存中的最小单位,这些是计算机组成原理的知识,不知道的可以自行百度。CPU中的重要部件内存管理单元(MMU),负责虚拟地址到物理地址的转换。MMU将虚拟地址翻译为物理地址的主要机制有两种:分段机制和分页机制。2. 段式存储管理段式管理时,虚拟地址由两部分组成,第一个部分表示段号,标识着该虚拟地址属于整个虚拟地址空间中的哪一段。第二部分表示段内地址,也称为段内偏移,及相对于该段起始地址的偏移量。因为段不仅有段号,还有长度,所以是二维的。总结:在原创 2021-03-25 23:32:45 · 512 阅读 · 1 评论 -
操作系统内存管理之内存的分配和回收
分配与回收的目的内存分配的过程单一连续分配(已经过时)固定分区分配动态分区分配动态分区空闲表数据结构:0-没有使用,1-使用了动态分区空闲链数据结构:连续的合并在一起,这样可以减少空闲链表的节点数。动态分区分配算法1. 首次适应算法第一个空闲区不满足则下一个,2,3为一个,满足需求。缺点:大材小用2. 最佳适应算法避免了大材小用的浪费3. 快速适应算法内存回收的过程回收区有四种情况第一种(回收区在空闲区的后面):这里的增大是空闲区1增大后包含回收区。原创 2021-03-25 17:13:24 · 4532 阅读 · 0 评论 -
操作系统之内存管理
操作系统究竟是如何让不同的应用程序能够高效又安全的共同使用物理内存的?现代操作系统的一个普遍的做法是在应用程序与物理内存之间加入一个虚拟内存。 应用程序是面向虚拟内存编写的,而不是面向物理内存编写的;应用程序在运行时只能使用虚拟地址。 CPU负责将虚拟地址翻译为物理地址,操作系统负责设置虚拟地址与物理地址之间的映射。原创 2021-03-23 22:11:07 · 199 阅读 · 0 评论
分享