2、内存管理:

内存管理方式:

  块式管理:主存分为一大块一大块。易于管理,浪费太大;

  页式管理:主存分为一页一页的,每一页比一块要小得多。显然其空间利用率比块式高很多。分页用户不可见。

  段式管理:二维逻辑地址,包括段号和段内位移。段内位移一定连续,但段间地址不一定连续。

  段页式管理:先将进程的地址空间按逻辑结构划分成段,再把每一段划分成长度相等的页。段不连续,页连续。访问内存三次:段号,段内页号,页内偏移。

分段和分页的比较:

  分段:信息的逻辑单位,含有一组意义相对完成的信息,用户可见,段的长度不固定,取决于用户编写的程序。段起始地址可从任何主存地址开始,可满足用户模块化程序设计的需要。

  分页:信息的物理单位,和源程序的逻辑结构无关,用户不可见。页长由系统(硬件)决定,只能从页大小的整数倍地址开始。可实现离散分配并提高主存利用率。

虚拟内存:离散存储方法才可实现虚拟存储管理

  不必装入进程的全部信息,仅将当前的使用部分装入主存,其余部分存放磁盘,待使用时由系统自动撞进来。如果处理器访问的程序或数据不在主存,为了继续执行,由系统自动将这部分信息从磁盘装入,即“部分装入”;若此刻没有足够的空闲物理空间,便将主存中暂时不用的信息移动至磁盘,即“部分替换”。

  虚拟内存是计算机内存管理的一种技术,相对于物理内存而言的。实际上,其被分割成多个屋里内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。

虚拟内存的优点:扩大地址空间(假装,实际靠调换);内存保护(各进程运行在自己的虚拟内存地址空间);公平分配内存;进程通信可通过虚拟内存共享实现;

虚拟内存的缺点:管理需要建立很多的数据结构,它们也要占用额外的内存;地址转换,增加了时间;页面的换入换出需磁盘I/O的话很耗时;等……

内存碎片:多次内存分配后造成。

内碎片:分配给程序的存储空间没有用完

外碎片:空间太小,无法分配

虚拟地址:程序产生的由段选择符合段内偏移地址组成的地址。

逻辑地址:段内偏移地址。又是也作虚拟地址。

线性地址:虚拟地址到物理地址变换之间的中间层。

物理地址:CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果。

Cache替换算法:

随机算法(RAND)、先进先出(FIFO)、近期最少使用(LRU)、最优替换、近期最多使用(LFU)

转载于:https://www.cnblogs.com/weiyi-mgh/p/6691114.html

操作系统知识点_内存管理相关推荐

  1. 利用图文和代码深度解析操作系统OS的内存管理实现原理机制和算法

    利用图文和代码深度解析操作系统OS的内存管理实现原理机制和算法. 内存作为计算机系统的组成部分,跟开发人员的日常开发活动有着密切的联系,我们平时遇到的Segment Fault.OutOfMemory ...

  2. C语言知识点 -- 动态内存管理、文件操作

    C语言知识点 – 动态内存管理.文件操作 文章目录 C语言知识点 -- 动态内存管理.文件操作 一.动态内存管理 1.malloc 2.free 3.calloc 4.realloc 二.文件操作 1 ...

  3. 从零手写操作系统之RVOS内存管理模块简单实现-02

    从零手写操作系统之RVOS内存管理模块简单实现-02 内存管理分类 内存映射表(Memory Map) Linker Script 链接脚本 语法 基于符号定义获取程序运行时内存分布 基于 Page ...

  4. java的内存管理_操作系统实验——java内存管理

    1.Test.java import java.util.Scanner; public class Test { public static void main(String[] args) { T ...

  5. 虚拟存储器管理c语言_内存管理;虚拟内存

    内存管理 内存管理 操作系统的内存管理主要是做什么? 操作系统的内存管理主要负责内存的分配与回收(malloc 函数:申请内存,free 函数:释放内存),另外地址转换也就是将逻辑地址转换成相应的物理 ...

  6. 【操作系统】考研の内存管理方法(看不懂你来打我~!)

    文章目录 1 内存管理概述 1.1 存储层次结构 1.2 指令数据绑定到内存地址 1.3 逻辑地址 2 连续内存管理 2.1 单独分区分配 2.2 固定分区分配 2.3 动态分区分配 2.4 可重定位 ...

  7. 操作系统原理之内存管理(第四章第二部分)

    一.基本分页存储管理方式 1.分⻚存储管理的基本原理: 页:将⼀个进程的逻辑地址空间分成若⼲个⼤⼩相等的⽚ 页框:将物理内存空间分成与⻚⼤⼩相同的若⼲个存储块 分⻚存储:将进程中的若⼲⻚分别装⼊多个可 ...

  8. 操作系统原理之内存管理(第四章第一部分)

    内存管理的⽬标:实现内存分配和回收,提高内存空间的利用率和内存的访问速度 一.存储器的层次结构 寄存器:在CPU内部有一组CPU寄存器,寄存器是cpu直接访问和处理的数据,是一个临时放数据的空间. 高 ...

  9. 【操作系统】分页内存管理

    分页 对于操作系统,最简单的内存分配方式是连续分配,但这不够好. 分页内存管理方案允许进程的物理地址空间可以是非连续的. 早期的分页一直由硬件来支持,然而现在都是通过将硬件和操作系统相配合来实现分页. ...

最新文章

  1. cojs 简单的数位DP 题解报告
  2. (68)自旋锁 , cmpxchg8b 指令
  3. java的比较运算符是_Java 基础(比较运算符,逻辑运算符,三元运算符)
  4. python画五角星填充不同颜色_不同颜色牡丹怎么画?3种牡丹图解教你画,适合0基础学习,收藏...
  5. 关于Spring 任务调度之task:scheduler与task:executor配置的详解
  6. VMware 修复 Fusion 和 Horizon 中的两个提权漏洞
  7. Dockerfile best practices
  8. Oracle数据库数据恢复方法
  9. 校赛题解(部分)+反思
  10. 信息储存服务器有没有辐射,服务器存储主机存在辐射吗
  11. 一个有效管理者的11 面镜子(ZT)
  12. 大数据bi工具有哪些
  13. SDK完整环境下载安装及ADB常用命令
  14. R7 5800H 3060 ubuntu20 配置全纪录(一)主要包括:N卡驱动、网卡驱动、virtualenv、CUDA and pytorch
  15. Objective-C
  16. Proxmark3的编译
  17. Unity5.1 新的网络引擎UNET(十五) Networking 引用--中
  18. 原神机器人Yunzai Bot搭建
  19. 昭阳K2450笔记本安装Linux,可能是最难拆的笔记本:lenovo 联想 昭阳K2450 升级固态硬盘的艰难历程...
  20. php 屏蔽浸膏,干浸膏含水量每100g约为

热门文章

  1. python中的pip是什么_python中的pip
  2. if condition 大于_EXCEL中IF函数由浅入深实例分析
  3. git 回退上一个版本
  4. 不染用计算机数字,2013年计算机等级考试一级B知识预测题(6)
  5. php随机访问文章,zblog PHP调用热门文章、随机文章和热评文章代码
  6. matlab怎么求三阶导数,三阶样条插值(一阶导数边界条件) matlab程序
  7. php期末考试题机考_phP基础知识期末考试题
  8. 支持向量所在超平面方程_深入浅出机器学习算法:支持向量机
  9. php读取pdf文件乱码,使用php读取pdf文件
  10. cacheable 表达式_Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用