操作系统——存储管理:分区、分页、分段、请求式分页和虚拟内存
操作系统——存储管理:分区、分页、分段、请求式分页和虚拟内存
1. 综述
突然把这么多概念弄到一起,让人有点儿困惑。自己的一些理解:
分区式管理:最简单直观的方式,在内存中分配一个区,将整个进程放入这个区。缺点是会产生外碎片,即时间长了会在分区之间产生难以被利用的小空间。
分页式管理:将内存分成固定大小的页,分配若干页将整个进程载入。页面可以不连续是其重要优点,不会产生外碎片,更有效地利用了内存,不过会产生一些内碎片,即分配给进程的最后一个页往往不能正好用完,不过在页面大小不是很大的时候可以接受。
分段式管理:将程序分为若干个段,如数据段和代码段,加以不同的保护。施加保护是分段式的优点,但其仍是向分区式管理一样的连续分配。
段页式管理:同样将程序分段,加以不同的保护,但是各段不再连续分配,而采用分页式离散分配。
以上四种全是实存管理。即进程要么全部载入内存中,要么就不能载入。
2. 请求式分页和虚拟内存
请求式分页:将进程放入虚拟内存中,由于一个进程的页面不会同时全部被用到,只将需要用到的页面调入物理内存。即进程并没有整个在物理内存中。
几个请求式分页的概念:(博客链接:请求式分页中的内存分配)
固定分配:物理内存中分配给进程的内存块数一定。
可变分配:物理内存先分配给进程一些内存块,如不够,可适当增加。
局部置换:发生在分配的内存块已用完,又发生了缺页时,只能置换本来就是自己的内存块。
全局置换:发生在分配的内存块已用完,又发生了缺页时,可以置换到操作系统保留的空闲页。这其实相当于增加了进程占有的内存块数。
三种分配方式:固定分配局部置换、可变分配全局置换、可变分配局部置换。固定分配、全局置换不能组合。
转载于:https://www.cnblogs.com/yongheng20/p/5869359.html
操作系统——存储管理:分区、分页、分段、请求式分页和虚拟内存相关推荐
- 一个请求式分页存储管理系统中计算机应用,操作系统概论自考2012年7月真题
操作系统概论自考2012年7月真题及答案解析 本试卷为单选题型,多选,填空题,简答题,综合等题型. 一.单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内.错选 ...
- 操作系统内存管理--简单、页式、段式、段页式
一.内存管理的目的和功能 内存一直是计算机系统中宝贵而又紧俏的资源,内存能否被有效.合理地使用,将直接影响到操作系统的性能.此外,虽然物理内存的增长现在达到了N个GB,但比物理内存增长还快的是程序,所 ...
- 操作系统——分页分段算法c++实现
具体如下:有问题请提出来吧,希望能帮到大家 #include<stdio.h> #include<algorithm> #include<cstring> #inc ...
- Python 调度算法 死锁 静动态链接 分页分段
1 select poll epoll的区别 基本上select有3个缺点: 连接数受限 查找配对速度慢 数据由内核拷贝到用户态 poll改善了第一个缺点 epoll改了三个缺点. (1)select ...
- Python 调度算法 死锁 静动态链接 分页分段(七)
1 select poll epoll的区别 基本上select有3个缺点: 连接数受限 查找配对速度慢 数据由内核拷贝到用户态 poll改善了第一个缺点 epoll改了三个缺点. (1)select ...
- 操作系统【五】分段内存管理+段页式内存管理
基本分段存储管理 与分页最大的区别:离散分配时所分配地址空间的基本单位不同 进程的地址空间:按照程序自身的逻辑关系划分为若干个段,每个段都有一个段名,每段从0开始编址 内存分配规则:以段位单位进行分配 ...
- 2.3.1操作系统-存储管理:页式存储、逻辑地址、物理地址、物理地址逻辑地址之间的地址关系、页面大小与页内地址长度的关系、缺页中断、内存淘汰规则
2.3.1操作系统-存储管理:页式存储.逻辑地址.物理地址.物理地址逻辑地址之间的地址关系.页面大小与页内地址长度的关系.缺页中断.内存淘汰规则 页式存储 逻辑地址.物理地址 如何判断物理地址和逻辑地 ...
- Linux内存管理:内存寻址之分段机制与分页机制
目录 Linux 内存寻址之分段机制 前言 分段到底是怎么回事? 实模式的诞生(16位处理器及寻址) 保护模式的诞生(32位处理器及寻址) IA32的内存寻址机制 寻址硬件 IA32的三种地址 MMU ...
- 浅谈APP流式分页服务端设计(转)
http://www.jianshu.com/p/13941129c826 a.cursor游标式分页 select * from table where id >cursor limit pa ...
最新文章
- C++中的new和delete操作符重载
- CF1155D Beautiful Array 贪心,dp
- 我们可以无损放大一个Transformer模型吗?
- dbeaver 连接hbase 数据库
- n1运行linux,斐讯N1折腾记:运行 Linux 及优化
- c语言如何查看内置函数,C中函数内部的函数
- 提高网站性能的常见方法
- 中单引号怎么转义_在JavaScript中组合字符串的4种方法
- Boostrap(2)
- SQL 2000质疑修复
- 学习哪一款EDA软件画PCB电路板比较好?AD、PADS与Allegro的比较
- JFreechart从入门到放弃
- 关于GTPv1协议解析
- java网络打印机_如何使用Java在网络打印机上进行打印?
- 汇率兑换——小象学院知识点
- 为什么mysql不建议执行超过3表以上的多表关联查询?
- 学习VTK9笔记(三)打开stl文件
- 高斯多种备份/迁移方式
- norflash的操作
- 论文笔记 | 基于深度学习的乳腺转移瘤识别(Deep Learning for Identifying Metastatic Breast Cancer)