操作系统——存储管理:分区、分页、分段、请求式分页和虚拟内存

操作系统——存储管理:分区、分页、分段、请求式分页和虚拟内存

1. 综述

  突然把这么多概念弄到一起,让人有点儿困惑。自己的一些理解:

  分区式管理:最简单直观的方式,在内存中分配一个区,将整个进程放入这个区。缺点是会产生外碎片,即时间长了会在分区之间产生难以被利用的小空间。

  分页式管理:将内存分成固定大小的页,分配若干页将整个进程载入。页面可以不连续是其重要优点,不会产生外碎片,更有效地利用了内存,不过会产生一些内碎片,即分配给进程的最后一个页往往不能正好用完,不过在页面大小不是很大的时候可以接受。

  分段式管理:将程序分为若干个段,如数据段和代码段,加以不同的保护。施加保护是分段式的优点,但其仍是向分区式管理一样的连续分配。

  段页式管理:同样将程序分段,加以不同的保护,但是各段不再连续分配,而采用分页式离散分配。

  以上四种全是实存管理。即进程要么全部载入内存中,要么就不能载入。

2. 请求式分页和虚拟内存

  请求式分页:将进程放入虚拟内存中,由于一个进程的页面不会同时全部被用到,只将需要用到的页面调入物理内存。即进程并没有整个在物理内存中。

  几个请求式分页的概念:(博客链接:请求式分页中的内存分配)

  固定分配:物理内存中分配给进程的内存块数一定。

  可变分配:物理内存先分配给进程一些内存块,如不够,可适当增加。

  局部置换:发生在分配的内存块已用完,又发生了缺页时,只能置换本来就是自己的内存块。

  全局置换:发生在分配的内存块已用完,又发生了缺页时,可以置换到操作系统保留的空闲页。这其实相当于增加了进程占有的内存块数。

  三种分配方式:固定分配局部置换、可变分配全局置换、可变分配局部置换。固定分配、全局置换不能组合。

时间: 2024-08-10 16:12:03

操作系统——存储管理:分区、分页、分段、请求式分页和虚拟内存的相关文章

分段管理和分页管理的区别

分页和分段系统有许多相似之处. 比如,两者都采用离散分配方式,且都要通过地址映射机构来实现地址变换. 但在概念上两者完全不同,主要表现在下述三个方面. 1. 页是信息的物理单位,用户透明,长度固定. 分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率. 可以说分页仅仅是由于系统管理的需要而不是用户的需要. 段是信息的逻辑单位,用户可见,长度可变.它含有一组其意义相对完整的信息. 分段的目的是为了能更好地满足用户的需要. 2. 页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两

jquery easyui datagrid 分页数据请求

jquery easyui datagrid内置了分页的功能,当设置为 pagination: true 以后就能够启用分页功能. 启用分页以后,jquery easyui datagrid发送的数据请求中会包含两个参数: int iPageIndex = Convert.ToInt32(this.Request["page"]); int iPageSize = Convert.ToInt32(this.Request["rows"]); 这两个参数分别是当前页码

瀑布流式分页(滑动分页)

瀑布流式分页(滑动分页) Masonry Pinterest jQuery Scroll Pagination

默认加载数据分页,点击分页后再次异步数据

一.前言 现在主流的分页插件很多是一次性把数据加载完成,再本地分页,切换时候是Tab效果,数据量大or网络不通畅的时候,就会很卡影响加载效果. 实现每页加载固定条数及点击分页再次请求数据,假设共100条数据,一页10条的话共10页.需要后端配合每页显示全部的条数及每页条数. 二.后端数据 根据pageNum=1查询,返回json数据 count数据总数 pageNum 第一页 pageSize 每页10条 三.代码 分页代码: function(e) { function s() { this.

mybatis常用分页插件,快速分页处理

在未分享整个查询分页的执行代码之前,先了解一下执行流程. 1.总体上是利用mybatis的插件拦截器,在sql执行之前拦截,为查询语句加上limit X X 2.用一个Page对象,贯穿整个执行流程,这个Page对象需要用java编写前端分页组件 3.用一套比较完整的三层entity,dao,service支持这个分页架构 4.这个分页用到的一些辅助类 注:分享的内容较多,这边的话我就不把需要的jar一一列举,大家使用这个分页功能的时候缺少什么就去晚上找什么jar包即可,尽可能用maven包导入

MvcPager 概述 MvcPager 分页示例 — 标准Ajax分页 对SEO进行优化的ajax分页 (支持asp.net mvc)

该示例演示如何使用MvcPager最基本的Ajax分页模式. 使用AjaxHelper的Pager扩展方法来实现Ajax分页,使用Ajax分页模式时,必须至少指定MvcAjaxOptions的UpdateTargetId属性,该属性值即是分页后要通过Ajax来更新的 DOM 元素的 ID. Ajax.Pager()方法返回AjaxPager对象,您可以通过Ajax.Pager()方法的重载来传递PagerOptions和MvcAjaxOptions参数,也可以通过新的AjaxPager的Opti

oracle 的分页与 mySQL'的分页转化

oracle 分页:  关键字ROWNUM SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO FROM ( SELECT A.*, ROWNUM RN FROM (SELECT EMPNO, ENAME, JOB, MGR, TO_CHAR(HIREDATE,'yyyy-MM-dd') HIREDATE, SAL, COMM, DEPTNO FROM EMP ORDER BY EMPNO) A WHERE ROWNUM <= <

无刷新分页代码,jQuery分页完整示例

<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>jQuery分页演示效果</title><script type="text/javascript" src="/ajaxjs/jquery1.3.2.js">&l

关于php,mysql,html的数字分页和文本分页的两种分页样式供大家参考

请勿盗版,转载请加上出处http://blog.csdn.net/yanlintao1 请勿盗版,转载请加上出处http://blog.csdn.net/yanlintao1 首先进行样式展示希望对大家有所帮助,也希望大家给出意见和建议: 第一种:数字分页 第二种:为文本分页 php分页函数(我写在下面引入的common.inc.php公共文件中): /* *_page()分页的相关参数 *@param int $_pagesize 每页存有几个好友 *@param $_sql 获取所有字段 *