十天玩转操作系统之内存管理初体验,柠笙带你走进内存世界!!


       操作系统(OS)这门学科在计算机领域有着很重要的作用,作为计算机硬件和软件的临界者,对计算机发展有着很重要的意义,随着时代的不断发展,越来越多的操作系统进入大众视野,无论是大家耳熟能详的Windows、MAC,抑或是程序员口中经常念叨的Linux。除了电脑操作系统,手机中的鸿蒙、苹果、安卓也是大家关注的热点,因此要想在计算机领域有所造诣,操作系统是必须要了解掌握的一门学科,因此在这里借助平台,跟大家分享一下我学习操作系统的经验和笔记,用十天的时间来和大家梳理和整理这门学科,让我们一起探索其中的奥秘,享受知识带给我们的快乐吧!!!

内存

请添加图片描述内存基础单位换算:
2^10=1K (千)
2^20=1M (兆、百万)
2^30=1G (十亿,千兆)

源程序 到 可执行程序过程:编译、链接、装入

三种装入方式:
(1)绝对装入
逻辑地址与实际内存地址完全相同,不进行任何修改直接将程序和数据装入内存
(2)可重定位装入
根据内存情况,将装入模块装入内存的适当位置。程序中的其他地址都是相对于始址的。
(3)动态运行时装入
动态定位,在程序要执行时进行地址转换,装入内存后的所有地址都为相对地址,需要一个重定位寄存器

三种链接方式:
(1)静态链接
装入前链接完整装入模块
(2)动态链接(装入时)
运行前边装入边链接
(3)动态链接(运行时)
运行时需要目标模块时才装入并链接

内存管理

1、操作系统负责内存空间的分配与回收
2、操作系统需要提供某种技术从逻辑对内存空间进行扩充
3、操作系统需要提供地址转换功能,负责程序的逻辑地址与物理地址的转换
4、操作系统需要提供内存保护功能。保证各进程在各自存储空间内运行,互不干扰
内存保护:
【1】设置一对上、下限寄存器,存放用户作业在主存中的下限和上限地址,每次访问判断有无越界
【2】采用重定位寄存器( 基址寄存器)和 界地址寄存器(限长寄存器)实现保护,重定位寄存器含最小物理地址,界地址寄存器含最大逻辑地址。

覆盖与交流

覆盖技术:解决“程序大小超过物理内存总和”的问题
按照自身逻辑结构,让那些不可能同时访问的程序段共享一个覆盖区

交换技术:解决内存空间紧张问题
系统将内存中某些进程暂时换出外存,把外存中某些已具备运行条件的进程换入内存(进程在内存与磁盘间动态调度)

  • 把磁盘空间分为文件区和对换区两部分,文件区追求空间利用率,采取离散分配方式。对换区追求换入换出速度,采用连续分配方式
  • 优先换出阻塞进程或者进程优先级低的进程(PCB长存内存)

连续分配管理方式

(1)单一连续分配
内存被分为系统区和用户区。内存中只能有一道用户程序
实现简单,无外部碎片;存储器利用率极低,只能用于单用户、单任务操作系统

(2)固定分区分配
用户空间划分为若干个固定大小的分区,在每个分区中只装入一道作业。
请添加图片描述
建立一个数据结构——分区说明表,来实现各个分区的分配与回收。每个表项包括分区的大小、起始地址、状态

(3)动态分区分配
可变分区分配,根据进程的大小动态地建立分区,分区大小和数目是可变
两种常用数据结构:空闲分区表、空闲分区链
动态分区分配没有内部碎片,但是有外部碎片

内部碎片:分配给某进程的内存区域中,如果有些部分没有用上
外部碎片:是指内存中的某些空闲分区由于太小而难以利用
紧凑技术来解决外部碎片

动态分区算法

(1)首次适应算法(First Fit)
算法思想:每次都从低地址开始查找,找到第一个能满足大小的空闲分区
实现方法:空闲分区以地址递增的次序排列,每次分配内存顺序查找空闲分区链(表)
(2)最佳适应算法(Best Fit)
算法思想:尽可能多留下大片的空闲区,优先使用更小的空闲区
实现方法:空闲分区按容量递增次序链接,每次分配内存顺序查找空闲分区链(表)
(3)最坏适应算法(Worst Fit)
算法思想:尽可能多留下小的空闲区,优先使用更大的空闲区
实现方法:空闲分区按容量递减次序链接,每次分配内存顺序查找空闲分区链(表)
(4)临近适应算法(Next Fit)
算法思想:每次都从上次查找结束的位置开始检索,减少搜索负担
实现方法:空闲分区以地址递增顺序排列,每次分配内存从上次查找结束位置开始查找空闲分区链(表)


      第六天的学习到这里就结束了,不知道小伙伴们收获如何呢?欢迎评论区交流学习,也恳请各位批评指正!!

      操作系统其实就是计算机中的一个大管家,这个大管家有着很多很厉害的角色(就像谍战片里面的大府中的老管家一样),因此学习操作系统这门课,就像是在欣赏一部谍战片,要想理解角色内涵,你就必须站在其角度去思考,思考其可能会遇到的危险以及应对策略(bug与bug的修复),这样你才能在凶险的代码江湖生存下来,成为一代英雄,留下你的印记,期待与各位在江湖的相遇,也希望大家能给作品一个三连!!


本文参考教材:王道考研——操作系统(配套PDF文件,点赞留言后私信我发你)
教材配套讲解视频:b站链接


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

柠笙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值