操作系统NO.2 | 详解操作系统的非连续内存管理(清华大学 操作系统原理)

 创作不易,来了的客官点点关注,收藏,订阅一键三连❤😜   


系列文章目录

操作系统NO.1 | 了解操作系统的基础知识


概述

操作系统NO.2 |  详解操作系统的非连续内存管理,通过本期内容你将了解内层的层次结构、分页、分段等知识。


目录

系列文章目录

概述

操作系统思维导图

计算机系统基本结构和工作原理

计算机系统的基础结构

计算机硬件系统工作原理

内存的层次结构

内存分层体系

内存管理目标

在操作系统中管理内存的不同方法

地址空间和地址生产

地址空间的定义

地址的生成

地址安全检查

连续内存分配

内存碎片问题

分区的动态分配

第一匹配分配

最优适配分配

最差适配分配

碎片整理方法

非连续内存管理

何为非连续内存管理?

非连续内存管理的优缺点

分段

段访问机制

分段寻址方案

分页

分页地址空间

帧(frame)

页(page)

页寻址机制

页表

分页机制存在的问题

TLB(Translation Look-aside Buffer)

反向页表

分页和分段的区别


 操作系统思维导图


 

计算机系统基本结构和工作原理

计算机系统的基础结构

计算机系统是由硬件系统软件系统两大部分组成。

计算机硬件: 计算机硬件由五个基本部分组成:运算器、控制器、存储器、输入设备和输出设备。硬件是构成计算机系统各功能部件的集合。是由电子、机械和光电元件组成的各种计算机部件和设备的总称,是计算机完成各项工作的物质基础。计算机硬件是看得见、摸得着的,实实在在存在的物理实体。

计算机软件:指与计算机系统操作有关的各种程序以及任何与之相关的文档和数据的集合。其中程序是用程序设计语言描述的适合计算机执行的语句指令序列。

CPU:程序执行的地方

内存:防止程序的代码和需要处理的数据

设备:主要是外设,例如硬盘、鼠标等

计算机硬件系统工作原理

(1)计算机内部采用二进制来表示程序和数据。

(2)采用“存储程序”的方式,将程序和数据放入同一个存储器中(内存储器),计算机能够自动高速地从存储器中取出指令加以执行。

工作原理


内存的层次结构

内存分层体系

运行内存(主存) / 磁盘(虚拟内存). 主存是在运行程序时所需要保存的数据空间,而磁盘是用于持久化数据保存的数据空间

CPU可以访问的内存包括两大类 : 寄存器 / cache(L1缓存 / L2缓存)

层次如下:

微处理器(CPU访问)

|___CPU寄存器 / L1缓存

|___L2缓存

主存(程序访问)

磁盘(程序访问)

CPU寄存器到磁盘,读写速度不断降低,单位成本不断降低,大小不断增大。

内存管理目标

抽象:逻辑地址空间。应用程序在内存中运行有利于操作系统的有效管理,让操作系统不要考虑太多底层的原理,只需要访问一个连续地址空间,即逻辑地址空间

保护:独立地址空间。内存中可以运行多个不同的应用程序,应用程序相互之间可以访问别的进程的地址空间,可能造成破坏,为了保护进程间的地址空间,需要进行隔离,因此需要独立的地址空间

共享:访问相同内存。进程之间也需要交互,因此需要操作系统提供一个共享的空间,让进程来访问相同的内存

虚拟更多的地址空间。当我们在内存运行了较多进程后,内存可能不够,此时我们可以将最需要最必要的程序(进程)放到内存中,而其他程序(进程,不需要进行访问的程序)放到硬盘(磁盘)上,通过此方法可以实现更多的地址空间

图解:从图中可以看到,在操作系统管理下,有四个放在内存中的程序(P1、P2、P3、P4),而正在运行的程序是P1,而其他等待中,尤其是P4可能由于当前正在等待某个进程需要一段时间后发生,因此P4的数据没有必要放到内存中,操作系统就将P4导入到硬盘中(虚拟),这样也有利于P1、P2、P3程序的进行。


在操作系统中管理内存的不同方法

地址空间和地址生产

地址空间的定义

地址空间:地址空间分为物理地址空间和逻辑地址空间。

物理地址空间:硬件支持的地址空间。比如内存条代表的主存,以及硬盘代表的存储空间,这两种存储空间即为物理内存。物理内存的控制和管理是由硬件来完成的。( address : [0, Max_sys] )

逻辑地址空间:一个运行的程序所看到的地址空间,一维的线性地址空间。( address : [0, Max_prog] )

地址的生成

  • 18
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chaochao️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值