操作系统(八)

操作系统实验八实验报告 学堂在线-清华操作系统课程-实验七实验报告 阅读详情

大而稀疏的内存使用

对于大而稀疏的内存,在使用时不方便采用连续编址。必须使用不连续编制。通常有3种不连续编址方案:段式、段页式和页式稀疏编制。

总的来说,页式稀疏编址优于段式和段页式编制。现在操作系统都采用稀疏页编址。但是此处的不连续是针对进程逻辑空间(即进程虚址空间)的不连续性,不连续存放技术是针对物理空间的不连续。

在页式模式下,进程虚址空间的稀疏编制可能提供充裕的多处伸缩余地。用户可以不连续,可以非常稀疏,只要不冲突就行。

稀疏编址的实现是以二级页表为前提,这是因为二者都是在大虚存空间背景下采用的技术。

页分配技术

内存分配策略包括分配时机,分配数量,分配位置,调度策略

fetch 策略(何时分配与装入):有立即调页,有请调页,有预先调页3种。

  • 立即调页是在进程开始执行前(即初始建立进程时)分配与装入。
  • 请求调页(demand paging)是指在进程实际访问到某页时才通过发生缺页中断处理程序分配与装入该页。又称怠惰风格(lazy fashion)。
  • 预先调页是指由操作系统根据一定的算法,动态预测将来最近时间内可能要访问哪些页,并在这些页被实际访问之前就预先调用它们。尽量争取在进程的每一页被实际访问之前就调入。

虚存的页式大都使用后面两种方式,而实存页式都使用立即调页。

请求调页的优点是去报了只有用到的页才能进入内存,没有用到的也不会进入内存,缺点是可能发生的缺页中断太多。尤其是进程刚开始执行的那段时间里。由于每次缺页中断差不多要发生I/O操作。而进程总要等缺页中断发挥才能继续进行。期间要经历进程状态的转换。过多的缺页中断会严重影响进程的速度。

预先调页在减少缺页中断上的效果是显而易见的,预先调页的时机一般是在缺页中断时,在调入所缺页的同时调入以后最近时间内最可能要访问的那些页。如果预先调入的这些页确实很快就被访问到了。那么缺页中断次数就会明显减少。

 

写时复制:

 进程的创建是一个十分复杂的过程,通常的做法需要为子进程重新分配物理空间,并把父进程空间的内容全盘复制到子进程的空间中。但是这种做法的开销非常大。为了避免这些开销,现代操作系统通常采用写时复制(copy on write)。即不复制父进程的空间,而是复制父进程的页表,使父进程和子进程共享物理空间。并将这个空间的访问权限标记为只读。当父进程和子进程的某一方进行写操作时,操作系统检测到一个非法操作,这时才将要写的页进行复制。

 

页式实现专题讨论(5):页长和页簇化

页面大小通常为2的整数次幂,这可以简化地址映射过程中的逻辑地址分解(从逻辑地址得到逻辑页号和页内位移)和物理地址计算(从物理页号和页内位移得到物理地址)例如:如果如果页长为2的N次方b,则逻辑地址的低N位即为页内位移数,剩余的高位值即为逻辑页号。反之,从物理页号和页内位移之间得到物理地址亦然。

页面长的选择有以下考虑:页面大则内存交换区中的页内碎片也就越大,相应浪费的内存较多。但是相应的进程页表规模小,TLB表项数少。Cache 和TLB的不命中项数少。页面小则反之。

页面长由CPU(MMU)硬件规定的。不同CPU规定的页面长可能不同。目前以4KB长的页表为最常见。同一CPU规定的页面长可能有多个。

页淘汰:

页淘汰(page replacement)通常是由一个系统进程或线程来完成的,该进程成为页淘汰进程。

页淘汰的时机:当内存空间页面数低于系统所配置的最小阈值时,启动页淘汰进程,页淘汰进程被启动后就开始不停地选择和淘汰页知道内存的空闲页面数达到系统所配置的最大阈值时为止。此后,页淘汰进程进入睡眠状态,知道下次因为内存空闲页面数少于最小阈值而被再次唤醒。

操作系统实验八 终端设备的控制(哈工大李治军) 操作系统实验八 终端设备的控制(哈工大李治军) 操作系统实验详细过程 阅读详情

相关推荐

大开眼界的十大开源人工智能项目

这是一个强大的开源工具,能让你在不同框架之间自由切换,无需重写代码。它是一个开源工具,能用简单的SQL语言同时处理数据和AI模型,让一切变得有序而高效。Rasa是我开发智能聊天机器人时的首选,它让你轻松掌控机器人对话的每个细节。我经常用它快速验证模型在不同框架下的表现,省去了大量烦躁的调试过程。最近发现的Vapi是一个以API方式提供的语音AI工具,开发者友好程度超乎想象。KNIME是一个以拖拽方式构建数据分析流程的开源工具,仿佛是数据界的乐高积木。它像个忠诚的守门员,确保你的模型始终健康运行。

wjianwei666的专栏 1105

内存空间的连续性(逻辑地址、物理地址)

堆分配的内存空间到底是连续的还是不连续的,如malloc/new分配的内存空间是连续的吗? 堆分配的空间在逻辑地址上是连续的,但在物理地址上是不连续的(因为采用了页式内存管理,windows下有段机制、分页机制),如果逻辑地址空间上已经没有一段连续且足够大的空间,则分配内存失败。 堆包含一个链表来维护已用和空闲的内存块。不同进程对堆内存申请和销毁是不同步的,这就会导致一段内存区间中,部分段使用中,部分段已经空闲。 在堆上新分配(用 new 或者 malloc)内存是从空闲的内存块中找到一些满足要求.

fengdijiang的专栏 5538

团体程序设计天梯赛竞赛题--登顶题【L3-039 攀岩】

登顶级 3 道题,每道题 30 分,满分为 90 分。

Pretty Boy Fox的博客 654

页式存储管理(不连续存储)

连续存储管理不足 对空间要求高 会形成很多碎片 通过移动技术减少碎片会增加系统的开销 页式存储管理 基本思想 页式存储管理就是把内存物理空间划分成大小相等的若干区域,一个区域称为一块. 把逻辑地址空间划分为大小相等的若干页,大小与块大小相等 “页”是逻辑单位,”块”是物理单位 逻辑地址是指由程序产生的与段相关的偏移地址部分...

sHuXnHs 1万+

R语言基于机器学习三分类结果、计算三分类混淆矩阵、计算每一个类别对应的特异度(specificity)、灵敏度(sensitivity)、PPV、NPV

R语言基于机器学习三分类结果、计算三分类混淆矩阵、计算每一个类别对应的特异度(specificity)、灵敏度(sensitivity)、PPV、NPV

data+scenario+science+insight 649

EMC意义下的共模(Common Mode)和差模(Differential Mode)

在电子产品中,信号或电源通过两根导线传输。对比维度差模(DM)共模(CM)电流方向一进一出,相等相反同向、相等回流路径两根导线组成的闭合回路地或外壳EMC影响较小容易辐射干扰,重点治理类型定义有用信号干扰信号抑制方法常规滤波器、电感、电容共模电感、磁环、屏蔽、接地技术等。

weixin_43199439的博客 1248

操作系统章节练习5

A. 对象的区别:交换不要求给出覆盖结构,主要是在进程或作业之间进行,而覆盖则主要是在同一个进程或作业之间进行。B. 作用的区别:交换可以在较小的存储空间中运行较多的作业或进程,覆盖可以在较小的存储空间中运行比其容量大的作业或进程。C. 交换技术指将系统暂时不用的程序或数据部分或全部从主存中调出,以腾出更大的存储空间,同时将系统要求使用的程序和数据调入主存中,并将控制权转交给它,让其在系统上运行。

长风破浪 498

Python数据分析师必备:OpenClaw开启Pandas清洗脚本自动生成新时代

本文介绍了OpenClaw这一AI智能体框架如何帮助Python数据分析师高效完成数据清洗工作。OpenClaw通过自然语言交互理解用户需求,自动生成Pandas清洗脚本,显著提升了数据清洗效率,降低了技术门槛。文章详细阐述了OpenClaw的工作原理、实战应用步骤及其在电商、金融、医疗等行业中的成功案例。相比传统手动编写脚本方式,OpenClaw能快速生成规范准确的清洗代码,使数据分析师能更专注于业务洞察。该工具为数据驱动决策提供了可靠支持,是数据分析领域的重要创新。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 230

操作系统——内存管理(非连续)

一、分页存储管理的基本概念 将内存空间分为一个个大小相等的分区(比如:每个分区4KB),每个分区就是一个页框或页帧或内存块或物理块。每个页框有一个编号,即页框号或内存块号或页帧号或物理块号,从0开始。将用户进程的地址空间也分为与页框大小相等的一个个区域,称为页或页面。每个页面也有一个编号,即页号,页号也是从0开始。注意:页框不能太大,否则可能产生过大的内部碎片操作系统以页框为单位为各个进程分配内存空间。进程的每个页面分别放入一个页框中。也就是说,进程的页面与内存的页框有一一对应的关系。 各个页面不必连续存放

xiaowanziddd的博客 1679

8.2 发展趋

分子泵技术正处在一个快速变革的时代,面对日益增长的应用需求和不断涌现的技术挑战,其发展呈现出多元化、智能化和高度集成化的趋势。这些发展趋势不仅代表着技术创新的方向,也预示着分子泵在未来工业体系中将要扮演的更加重要的角色。

技术工作者 116

multisim14.3无法访问数据库...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 4472

操作系统原理:页式存储管理

操作系统原理:页式存储管理 内存分区存储管理的一个特点是连续性,每个程序都分有一片连续的内存区域。这种连续性导致碎片问题,包括 固定分区中的内碎片和可变分区中的外碎片。为了解决这些问题,人们又提出了“页式存储管理方案”。它的基本出发点 是打破存储分配的连续性,使一个程序的逻辑地址空间可以分布在若干个离散的内存块上,从而达到充分利用内存,提高 内存利用率的作用。 页式存储管理的基本思路是:

计算机技术博客 5134

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

操作系统实验八

本次实验仅仅是在模板代码的基础上实现了一些最基本的功能,要完整的理解岁所有的代码,编写出更复杂的系统模块,还需要付出更多的时间来进行。本次实验实现了编写内核模块,并利用它实现增加文件、写入信息的功能。程序代码中的字符串写入了对应文件夹的对应位置,因此能够被读取文件的命令顺利读取出来.可以看到代码中的文字输出在控制台中,这是由于该模块将前文。文件的内核模块,进一步理解系统调用的相关知识。的文件,只读,读出的内容是读它的进程的情况。下的函数和功能实现有一定了解。的文件,读出加入其中的文件。

qq_44458671的博客 652

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

你管这叫操作系统源码(八)

本篇本应讲fork,但这个是创建新进程的过程,是一个很能体现操作系统设计的地方,所以我们先别急着看代码,就先头脑风暴下,如果让你来设计整个进程调度,你会怎么搞?

wq_0708的博客 1266

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

nachos操作系统(八)

那么你就要知道,如何在一个程序里面运行下一个程序,完成之后还能回到这个程序? 就对于linux系统而言,它还是多进行 ,肯定 是linux永远执行的,其他程序依次调用进cpu,cpu肯定只有一个,它调用一个程序,那么linux系统此时肯定不执行,难道就是说,一旦某一个程序在cpu里面卡住,它还能不执行了不成? 因此,从这个角度来看,linux与其他进程无异,就是其他程序 运行完毕后,调用中断给li...

HeroIsUseless的博客 664

Java面试知识点总结⑧——操作系统

大纲 [x] 一、Java基础(语言、集合框架、OOP、设计模式等) [x] 二、Java高级(JavaEE、框架、服务器、工具等) [x] 三、多线程和并发 [x] 四、Java虚拟机 [x] 五、数据库(Sql、MySQL、Redis等) [x] 六、算法与数据结构 [x] 七、计算机网络 [x] 八、操作系统(OS基础、Linux等) [x] 九、其他 八、操作系统(OS基础、Li...

dooduoaixuexi的博客 703

初始Linux操作系统_八查看

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论。****:查看历史命令 (!最全的Linux教程,Linux从入门到精通。

2401_83946044的博客 670

操作系统学习(八)——同步

在操作系统和并发编程中,同步(Synchronization)是指协调多个线程或进程之间的执行顺序,以保证程序的正确性与一致性。 同步的核心目的在于解决共享资源访问、线程调度顺序等问题,避免竞态条件(Race Condition)、数据不一致或死锁。

weixin_45857378的博客 1131

操作系统(八)死锁

操作系统(八)死锁

qq_40212968的博客 585

八:操作系统设备管理之RAID

正是这些RAID技术在操作系统层面的有效管理和使用,构筑了我们今天所依赖的快速、可靠的数据存储基础,确保了从个人电脑到大型服务器的数据安全与高效访问。无论是通过硬件RAID控制器还是软件RAID实现,操作系统都负责管理这个由多个物理硬盘组成的阵列,并向应用程序提供一个统一的、高性能或高可靠性的存储接口。在计算机的世界里,数据是核心。而数据的长期存储则依赖于存储设备,最常见的就是硬盘。然而,单个硬盘存在固有的局限性:它的访问速度相对较慢,而且是系统的单点故障——一旦硬盘损坏,其上的所有数据都可能丢失。

柳絮飘扬 862

操作系统【八】文件管理

文件:一组有意义的信息/数据集合 文件的属性: 文件名:由创建文件的用户决定文件名,主要是为了方便用户找到文件。同一个目录下不允许有重名文件 标识符:一个系统内的个文件标识符唯一,对用户来说毫无可读性。因此标识符只是操作系统用于区分各个文件的一种内部名称 类型:指明文件的类型 位置:文件的存放路径、在外存中的地址(操作系统使用,对用户不可见) 创建时间 上次修改时间 文件所有者信息 保护信息:对文件进行保护的访问控制信息 文件组织形式 无结构文件 有结构文件:由记录组成 目录也是一种特殊的有结构文件

T_T233333333的博客 299

北邮 操作系统(八)

用户对操作系统的使用都是以文件为基础的,无论是用户编辑的文档、执行的指令还是使用的外部设备在OS中都是文件。

Tintoki的博客 746

操作系统 实验八

Windows应用程序接收到控制台应用程序发送的设置窗口标题信息后,将窗口标题设置为控制台应用程序的设置值。static const char m_szName[]="窗口";{HDC hDC;{break;SetWindowText(hWnd,"收到");break;break;}}{TextOut(hDC,15,15,"请在此窗口输入1或2",18);TextOut(hDC,25,55,"用户输入1",9);}

zhanghanqmx的博客 287

操作系统杂项(八)

主要对linux系统的零碎知识点进行介绍。

欢迎各位大佬光临“寒舍”!请多多指点,共同进步! 902
上一篇: 操作系统(七)
下一篇: 操作系统(九)
starshift
博客等级 码龄21年 66粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值