当前位置: 首页 > 编程日记 > 正文

软考总结——虚存管理



存储管理是操作系统的重要职能之中的一个,主要任务是对内存空间进行分配与回收。

因为计算机内存容量有限(如今一般都是32位或64位系统),而外存储设备的容量增长速度很快,比如移动硬盘已经到了T的级别,这时假设要訪问这块儿移动硬盘内的大数据,我们的计算机就有点力不从心了。

。。故在此基础上发展了虚拟存储系统。

 

虚存理念:利用有限资源尽可能的运行大程序。对用户程序和内存进行分块,将用户程序一块块拿到内存中来,一个运行完后释放内存,下一个继续运行。

 

虚拟存储通过将执行进程訪问的地址(逻辑地址、虚拟地址)与主存的物理地址(实际地址)分开,从而使得提供大于物理地址的逻辑地址空间成为可能。

 

虚存管理的组织结构例如以下图示

    



1.页式存储组织

    

       

    系统划分,逻辑地址=页号+页内地址。


    基本思想:内存分为固定大小的页。


    基本原理:将各进程的虚拟空间划分为若干个长度相等的页,把内存空间以与页相等的大小划分为大小相等的片或页面。採用请求调页或预调页技术实现内外存统一管理。



        已知程序逻辑地址为14位且前三位为011,页面大小2K,採用页式存储。


    已知逻辑地址14位,每一个页面2K=2^11,所以页内地址11位,页号为3位。

又前三位为011变为十进制为3,相应的物理块号为b。地址变换步骤例如以下图所看到的

       

      


    长处:利用率高,产生的内存碎片小,内存间分配及管理简单。


    缺点:要有对应的硬件支持,添加了系统开销。

请求调页的算法选择不当,有可能产生抖动现象。


2.段式存储组织


从用户角度划分,逻辑地址=段号+段内地址。


基本思想:程序按逻辑单位分成基本独立的段。


基本原理:系统为每个作业建立一个段表。其内容包含段号与内存起始地址的相应关系、段长和状态等。

   

    地址变换过程与页式变换同理,例如以下图所看到的

     



长处:便于多道程序共享内存,便于对存储器的保护,各段程序改动互不影响


缺点:内存利用率低。内存碎片浪费大。

     

3.段页式存储组织



逻辑地址=基号+段号+页号+页内地址


一个段表+一组页表。


段页式存储组织是段式存储组织和页式存储组织的组合。这样能够充分利用两者的长处,实存等分为页。程序按逻辑模块分成段。当中,基号作为用户标志号存在。

    


地址变换过程公式:


    (((x+s+p*2^n +d


当中,X表示基号,(x)表示基寄存器中地址为x的单元的内容。S为段号。P表示页号,d表示页内地址。n表示页内地址的位数。


 长处:空间浪费小,存储共享easy、存储保护easy、能动态连接。


缺点:因为软件的添加。复杂性和开销添加。须要的硬件以及占用的内存添加,运行速度大大下降。


 

页面置换算法(从要运行的元素自身開始算起)


在開始页面置换之前,要了解一个概念,页面置换是相对缺页现象来讲的。缺页,简单的来理解,就是因为实际主存是小于虚存的。因此可能会发生主存中已满,而要使用的页不在主存中,这时就会出现缺页现象。

 

      最优算法


             查看后面的序列,最后被使用的元素被替换掉


      随机算法


             随机淘汰,没有一定的约束性。


      先进先出


             最先进入主存的元素先被淘汰。


      近期最少使用算法


             查看前面的序列,最后被訪问的元素被替换掉




      


初始keyword  

2

4

6

5

3

4

2

最优置换

2

2

2

2

2

2

2

 

 

4

4

4

4

4

4

 

 

 

6

5

3

3

3

缺页(*

*

*

*

*

*

 

 


 解析:


    主存初始加入页2,4,6,直接依次放入就可以,可是都会出现缺页现象。


加入页5。主存中没有5。所以会出现缺页现象,依据最优置换的规定,5后面又依次出现了34,2所以6被替换掉。


加入页3。主存中没有3。出现缺页现象。3后面出现了42,5被替换掉


加入页4。主存中2,4,3包括3。没有缺页现象。不用进行最优置换。



初始keyword  

2

4

6

5

3

4

2

先进先出

2

2

2

5

2

2

2

 

 

4

4

4

3

3

3

 

 

 

6

6

6

4

4

缺页(*

*

*

*

*

*

*

 


解析:


主存初始加入页2,4,6,直接依次放入就可以。可是都会出现缺页现象。


加入页5,主存中没有5,所以会出现缺页现象,依据先进先出的规定。主存中已有页出现顺序为2,4,6,所以2被替换掉


加入页3,主存中没有3。出现缺页现象。主存中已有页出现顺序为4,6,5,所以4被替换掉


加入页4,主存中没有4。出现缺页现象。主存中已有页出现顺序为6,2,3,所以6被替换掉


加入页2,主存中有2。没有缺页现象。




总结:


没有学不会的知识,仅仅有不愿意学的知识。再简单的知识点,不学习不总结。也掌握不好;再难的知识点,仅仅要想学、愿意学、会学,那么也能够掌握。

点滴积累吧!






转载于:https://www.cnblogs.com/claireyuancy/p/6964824.html

相关文章:

微信小程序与H5相互跳转和传递数据

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 这是小程序和web-vew的H5相互传参&#xff0c;H5使用小程序的微信支付的代码 H5部分 <!DOCTYPE html> <html><head><meta charset"utf-8" /><!--<meta name&…

【算法】弗洛伊德(Floyd)算法

这个算法主要要弄懂三个循环的顺序关系。 弗洛伊德&#xff08;Floyd&#xff09;算法过程&#xff1a;&#xff11;、用D[v][w]记录每一对顶点的最短距离。&#xff12;、依次扫描每一个点&#xff0c;并以其为基点再遍历所有每一对顶点D[][]的值&#xff0c;看看是否可用过该…

二次开发photoshop_Photoshop 101:Web开发人员简介

二次开发photoshop介绍 (Introduction) Often, when working as web developer, we need to integrate templates. They can be from Photoshop or other software. In this article, we will have a look at the basics of Photoshop for web developers.通常&#xff0c;在作…

html 提交表单,图片和文字一起提交,图片存入服务器,图片地址和表单信息存入数据库,带后端php代码

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 html <!DOCTYPE html> <html><head><meta name"viewport" content"widthdevice-width, initial-scale1.0, user-scalableno, minimum-scale1.0, maximum-scale1.0…

mysql-理想的索引

1.查询频繁 2.区分度高 例如&#xff1a;数据库表字段&#xff1a;sex 存储&#xff1a;男女&#xff0c;区分度就不高。 3.长度小 索引的长度直接影响索引文件的大小&#xff0c;影响增删改的速度&#xff0c;并间接影响查询速度。 4.尽可能覆盖常用字段 转载于:https://www.c…

使用java的Calendar对象获得当前日期的上几个度开始、结束时间

思路&#xff1a; 先获得当前季度的开始和结束日期&#xff0c;在当前日期的基础上往前推3个月即上个季度的开始和结束日期 /*** param flag true&#xff1a;开始日期&#xff1b;false&#xff1a;结束日期* return*/public static String getLastQuarterTime(boolean flag){…

快速 开发平台 架构_快速介绍清洁架构

快速 开发平台 架构by Daniel Deutsch由Daniel Deutsch 快速介绍清洁架构 (A quick introduction to clean architecture) In an open source project I started to contribute to, the concept of “clean architecture” was brought to me.在一个我开始参与的开源项目中 &a…

linux uart m200平台波特率500kbps乱码问题和输入不响应问题

[问题] linux uart m200平台波特率500kbps乱码问题 [解答] [问题] linux uart m200平台波特率500kbps输入不响应问题 [解答]转载于:https://www.cnblogs.com/harvis/p/6972196.html

VS2013中, 无法嵌入互操作类型“……”,请改用适用的接口的解决方法

使用VS2013&#xff0c;在引用COM组件的时候&#xff0c;出现了无法嵌入互操作类型“……”&#xff0c;请改用适用的接口的错误提示。 查阅资料&#xff0c;找到解决方案&#xff0c;记录如下&#xff1a; 选中项目中引入的dll&#xff0c;鼠标右键&#xff0c;选择属性&#…

JS根据两点的经纬度坐标得到驾车行驶距离

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 html <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8"><meta name"viewport" content&quo…

three.ar.js_我们如何通过AR.js使产品吉祥物栩栩如生

three.ar.jsby Mateusz Tarnaski由Mateusz Tarnaski 我们如何通过AR.js使产品吉祥物栩栩如生 (How we brought our product mascot to life with AR.js) Short answer: using a browser-based Augmented Reality (AR) application. For the long answer, read below.简短答案&…

利用tuning-primer脚本优化MySQL数据库

脚本下载网址&#xff1a; http://www.day32.com/MySQL/tuning-primer.sh #!/bin/sh # vim: ts8########################################################################## ## MySQL performance tuning primer script ## Writen by: Matthew Montgomery ## Report bugs t…

自定义View步骤学习笔记

用途 : 一个View内部的子控件比较多的时候可以自定义一个View,把它内部的子控件屏蔽起来(就像苹果的导航栏上面的UIBarButton,你是通过BarButtonitem来修改显示的内容) 1.重写 initWithFrame 和 awakeFromNib(一般两个都要写),然后在写一个初始化的方法,在初始化方法中添加子控…

小程序给视频加默认图片封面,点击播放视频并停止播放上一个视频

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 实现的功能&#xff1a; 微信小程序视频组件添加图片封面, 点击图片播放视频, 点击下一个视频的封面图自动停止播放当前视频并播放点击的视频。 效果GIF图&#xff1a; 实现代码&#xff1a; WXML …

一天 用户旅程_439天的旅程改变了我的生活

一天 用户旅程by Daniel Lemay丹尼尔勒梅(Daniel Lemay) 439天的旅程改变了我的生活 (The 439 day Journey that Changed my Life) It was Spring of 2017. I was beyond displeased with my current work situation. I dreaded going into work every day and being a punchi…

实现音乐播放器

音乐播放器 首先声明一下&#xff0c;本例是直接采用课本中范例122的方法。 效果图如下: 1、activity_main.xml布局 1 //四个按钮2 <LinearLayout3 android:layout_width"fill_parent"4 android:layout_height"wrap_content"5 …

学习ASP.NET MVC系列 - 还有比这更简炼的吗?把复杂的事情变简单了,贡献啊!...

转自学习ASP.NET MVC系列&#xff1a; 学习ASP.NET MVC(一)——我的第一个ASP.NET MVC应用程序 学习ASP.NET MVC(二)——我的第一个ASP.NET MVC 控制器 学习ASP.NET MVC(三)——我的第一个ASP.NET MVC 视图 学习ASP.NET MVC(四)——我的第一个ASP.NET MVC 实体对象 学习ASP.NET…

微信小程序开通腾讯云开发实践流程附详细图解

微信小程序开发交流qq群 173683895 云开发流程&#xff1a; 1.关联账户 关联腾讯云账号与微信公众号平台账号。前往关联账号时&#xff0c;请选择微信公众号。错误关联账号请在腾讯云账号中心重新绑定。 已关联账号 2.安装开发者工具 下载与安装客户端微信开发者工具并使…

github组织存储库使用_为什么我不使用您的GitHub存储库

github组织存储库使用by Sam Westreich, PhD由Sam Westreich博士 为什么我不使用您的GitHub存储库 (Why I’m not using your GitHub repository) As a bioinformatician, I reside in an interesting middle ground between developers and end users. My background trainin…

PHP导入excel到mysql数据库完整代码附效果图

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 1.新建一个数据库 ImportXlsx 并在里面添加表名 IsXlsx. 2.下载 phpExcel 插件 点击下载 3.导入文件和xlsx 。 4.获取xlsx表的对象并存入数据库 效果图&#xff1a; PHP 实现 demo <?phph…

黑马程序员—易混淆的知识

------- android培训、java培训、期待与您交流&#xff01; ---------- String和StringBuffer类区别1.String 是定长的例如&#xff1a;String s1"abc";s1"egf";StringBuffer类:是变成字符串&#xff0c;因为它具有&#xff08;buffer&#xff09;缓冲区&a…

简谈 Java 中的泛型通配符

很好的一篇文章https://zhuanlan.zhihu.com/p/26681625 转载于:https://www.cnblogs.com/hihtml5/p/6978651.html

播客#47:劳伦斯·布拉德福德

On todays episode, I interview Laurence Bradford. Shes the creator of the LearnToCodeWith.me blog and podcast, and the Newbie Coder Warehouse Facebook group.在今天的一集中&#xff0c;我采访了劳伦斯布拉德福德。 她是LearnToCodeWith.me博客和播客以及Newbie Cod…

如何使用 DBCC MEMORYSTATUS 命令来监视 SQL Server 2005 中的内存使用情况

https://technet.microsoft.com/en-us/solutionaccelerators/dd537566.aspx 注意&#xff1a;这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的…

{code:-1,error:`QcloudSecretId`不能为空,请确保 SDK 配置已正确初始化}解决方法

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 微信小程序云开发登录报错&#xff1a;{"code":-1,"error":"QcloudSecretId不能为空&#xff0c;请确保 SDK 配置已正确初始化"} 遇到这个错误的原因是&#xff1a;腾讯不…

[转载] Tmux 速成教程:技巧和调整

原文: http://blog.jobbole.com/87584/ 决定从 screen 转向 tmux 了, 非常喜欢 tmux 的窗格功能. 简介 有些开发者经常要使用终端控制台工作&#xff0c;导致最终打开了过多的标签页。如果你也是他们当中的一员&#xff0c;或者你正在实践结对编程&#xff0c;那么我推荐你读一…

css在兼容模式下无法引用_如何在CSS中使用深色模式

css在兼容模式下无法引用by Frank Lmmer由FrankLmmer 如何在CSS中使用深色模式 (How to get dark mode working with CSS) I have been playing around with MacOS Mojave’s dark mode lately. It’s not 100% pleasing to my eyes, yet. But it’s especially useful when n…

COJ 0995 WZJ的数据结构(负五)区间操作

WZJ的数据结构&#xff08;负五&#xff09;难度级别&#xff1a;C&#xff1b; 运行时间限制&#xff1a;1000ms&#xff1b; 运行空间限制&#xff1a;262144KB&#xff1b; 代码长度限制&#xff1a;2000000B 试题描述请你设计一个数据结构&#xff0c;完成以下功能&#xf…

接入网易云信IM即时通讯的微信小程序聊天室

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 接入流程&#xff1a; 初次接触网易云通信IM服务&#xff0c;您可以通过以下产品介绍文档了解我们的产品功能、相关概念、业务限制&#xff1a; 产品简介主要功能帐号集成与登录接口及业务限制 1. 创建…

vue颜色选择器_如何制作? Vue的颜色选择器!

vue颜色选择器by ZAYDEK由ZAYDEK 如何制作&#xff1f; Vue的颜色选择器&#xff01; (How to make a ? color picker with Vue!) 注意&#xff1a;颜色看起来可能比实际颜色更可爱&#xff01; (Caution: colors may appear cuter than they are!) Before I get to the arti…