page 页 分页 分段
小结:
1、
页:磁盘和内存间传输数据的最小单位;
MySQL: What is a page?
https://stackoverflow.com/questions/4401910/mysql-what-is-a-page
https://baike.baidu.com/item/分页
- 性 质
- 磁盘和内存间传输数据块最小单位
- 学 科
- 计算机
- 领 域
- 计算机
-
简介
分页(英语:Paging),是一种操作系统里存储器管理的一种技术,可以使电脑的主存可以使用存储在辅助存储器中的数据。操作系统会将辅助存储器(通常是磁盘)中的数据分区成固定大小的区块,称为“页”。当不需要时,将分页由主存(通常是内存)移到辅助存储器;当需要时,再将数据取回,加载主存中。相对于分段,分页允许存储器存储于不连续的区块以维持文件系统的整齐。分页是磁盘和内存间传输数据块的最小单位。分页/虚拟内存能有助“大大地”降低整体及额外非必要的 I/O 次数,提高系统整体运作性能。因为这能有助提高 RAM 的读取命中率,也透过其内部的高效率算法来达到 I/O 数据流的预缓存工作,通过与之相关的等等手段也能很好地提高了 CPU 的使用效率,而拥有大物理内存的用户更可能考虑利用如Ramdisk、Supercache、SoftPerfect RAM Disk等模拟出硬盘分区来同时将虚拟内存/系统临时文件等设置其上以进一步加强系统性能,及达至保障硬盘的措施。分页是虚拟内存技术中的重要部分。概览
分页就是当数据并没有映射在随机存取存储器上时,操作系统必需控制使程序继续运行所会做的动作。一般来说,操作系统会将运行中程序的数据放至随机存取存储器上空的帧中,将不需要的数据从帧上清除,但如果随机存取存储器没有空的帧可用,操作系统会把一部分的数据存回辅助存储器然后释放。辅助存储器会用分页的方式将文件存在经过平均分配大小的页上,等到随机存取存储器需要使用时再写回。如果在随机存取存储器释放数据过后还需要更新数据,系统必须将数据先写回后更新,再存入辅助存储器中。高性能的系统需要在替换随机存取存储器上的数据时消耗较少的时间,所以一般的系统会采取最近最少使用算法(LFU)来达到较高的效果。命中和缺页
- 相对地,DRAM不命中称为缺页(page fault)。由于页帧由有效位和物理页号(或磁盘地址)构成,当有效位标记为0时,即表明该地址未在缓存中,调用该地址则会引发缺页异常,从而从磁盘中拷贝需要的内容,覆盖缓存中的一个牺牲页,从而能够命中。过多的缺页将导致反复的磁盘读取和写入,非常耗费计算时间。
系统颠簸
尽管在整个运行过程中程序引用的不同页面总数(也就是虚拟内存大小)可能超出物理存储器(DRAM)总大小,但是程序常常在较小的活动页面(active page)上活动,这个集合叫作工作集(working set)或常驻集(resident set)。在工作集被缓存后,对它的反复调用将使程序命中提高,从而提高性能。 [1]大部分的程序都可以在存储器获取数据和读取中达到稳定的状态,当程序达到稳定状态时,存储器的使用量通常都不会太大。虚拟内存虽然可以有效率的去控制存储器的使用,但解决大量的页缺失还是造成系统迟缓的主要因素。当工作集的大小超过物理存储器大小,程序将发生一种不幸的情况,这种情况被称为“颠簸(Thrashing)”,页面将不停地写入、释放、读取,由于大量的丢失(而非命中)而损失极大性能。用户可以增加随机存取存储器的大小或是减少同时在系统里运行程序的数量来降低系统颠簸的机率。页面调度
- 当需要用到数据时再向系统请求,使系统将数据由辅助存储器传入存储器上,这就叫“需求分页”。它使得系统不需要将全部的程序都放在存储器上,减少了所需要的存储器的数量。所有现代系统都使用按需页面调度(paging)的方式。
- 当系统查看分页表时认为某些数据可能需要用到,而先将数据传到存储器上的行为,就叫做“先行分页”, 当存储器够大的话通常会采取这种方式。
分享
在多任务处理或多用户的环境下,经常遇到不同的程序需要用到相同的数据,如果采用个别处理的话,很多的存储器会被浪费掉,分享的功用使不同的程序可以使用相同的存储器。分享功能还需注意的是系统必须要分离经过修改过后的数据以防止其他程序需要用到修改前的数据。实现
Ferranti Atlas
Windows 3.X和Windows 9x
微软为了要使1990年的Windows 3.x不像Windows 1.0或Windows 2.0一样需要大量的硬件资源,因而把分页系统加到Microsoft Windows内。系统会创造名为386SPART.PAR或WIN386.SWP的隐藏档来跟存储器交换档案,通常可以在根目录找到,有时候也会生成在WINDOWS文件夹中。此文件的大小决定页面文件的大小(可以在控制面板中调整),如果用户移动或删除这个文件会在下次引导时出现蓝屏死机。Windows NT
在Windows NT的系统中(如Windows XP、Vista、7、8等),页面文件名为pagefile.sys并存储在根目录中。有时在引导扇区会出现系统崩溃并出现存储器倾印的状况,Windows系统会将页面文件作为暂存用途,并在下次重起系统时释放页面文件的空间。Unix及类Unix系统
在Unix及类Unix系统中,系统会定期更新随机存取存储器与虚拟内存间的数据,其中有些系统会在硬盘上划一块专门的区块作为页面文件交换档案用,称为交换分区(swap partitions),有些系统还可以把这个区块用文件的形式出现。在Linux核心2.6以上中,因为系统可以直接绕过其他程序直接跟文件形式的分区交换,分区档的速度已经可以跟交换分区一样快了,且分区档可以自动被存放在硬盘读取最频繁的地方,不过红帽公司还是建议将硬盘划专门区块做使用。不过使用文件形式的分区的灵活度较高,可以自由存放在任一个磁盘,更改成任一大小,在硬盘划专门区块后除非使用特殊的工具,否则无法更动位置及大小。Linux可以创建无数个分区,并将文件排优先级,硬盘读取越频繁的地方通常越是系统优先使用该分区,因此要谨慎的排好优先级,否则会大大的降低系统的性能。OS X使用多重的分区文件,虽然它可以存到其他的地方,但默认就会将文件存到硬盘的根目录中。32位硬件限制
由于32位的硬件地址总线最高只能定址到4GB的位置,超过的部分将不能被电脑进行分页使用存储器。分段
计算机网络术语
应用层向传输层传递大量数据。传输层必须将数据拆分成小的片段,更适合传送。这些小的片段被成为分段。
page 页 分页 分段的更多相关文章
- Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php
)------翻页 分页 控件的实现java .net php 1. 关于翻页有关的几大控件::搜索框控件,显示表格控件,翻页器,数据源控件.. 1 2. 翻页的显示格式:: 1 2.1. 通常ui- ...
- 帝国cms 列表页分页样式修改美化【2】
上一篇(帝国cms 列表页分页样式修改美化[1])中我们已经对分页说了一个大概,下面我们就自己动手弄一个分页把: 第一步:进入帝国cms后台,点击系统设置->系统参数设置->信息设置:里面 ...
- 织梦DeDeCms列表分页和内容页分页错位解决办法
文章页分页代码在这里/include/arc.archives.class.php列表页分页/include/arc.listview.class.php 很多入门的站长会碰到这样的问题,织梦的通病, ...
- Python 调度算法 死锁 静动态链接 分页分段
1 select poll epoll的区别基本上select有3个缺点: 连接数受限查找配对速度慢数据由内核拷贝到用户态poll改善了第一个缺点 epoll改了三个缺点. (1)select,pol ...
- JAVA List集合转Page(分页对象)
/** * @version 1.0 * @author: fwjia */ import java.util.List; public class PageModel<T> { /*** ...
- Aspose.Words .NET如何实现文档合并的同页分页显示
当我们需要将一个文档添加到另一个文档时,经常会有不同的显示需求.为了文档的流畅,我们需要源文档和目标文档在内容上实现连续显示:而为了更好地区分文档,我们经常会希望两个文档的合并实现分页显示. 下面,就 ...
- springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验--异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档---jpa访问数据库及page进行分页---整合redis---定时任务
springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验-- 异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档 ...
- 帝国cms 7.5版列表页分页样式修改笔记
最近在用帝国改版我的个人博客站点,这个也是我第一次尝试用帝国来做博客,之前用过wordpress,每用一个新的程序,都会有些新的收获,也会学到一些新的东西. 在改用帝国之前,我也在网上大概了解了一下, ...
- dede列表页分页地址优化(不同url相同内容问题解决)<转自http://www.966266.com>
<注明,完全转自http://www.966266.com/seoblog/?p=75> 存在问题 DEDE默认分类分页地址存在不同URL相同内容问题,导致内容重复,对SEO非常不利.情况 ...
随机推荐
- Thinkphp 关联模型和试图模型区别
关联模型主要在多表操作时使用,比如 user表,user_role表,role表 user_role字段:uid,rid,它作为中间表,负责将user和role之间的,1对1,1对多,多对多的关系进行 ...
- 【九天教您南方cass 9.1】01 安装Cad和Cass9.1
同学们大家好,欢迎收看由老王测量上班记出品的cass9.1视频课程 今后会将cass的教程目录定期发布在测量空间中. 我是本节课主讲老师九天. [点击索取cass教程]5元立得 (给客服说暗号:“老王 ...
- 【iCore4 双核心板_ARM】例程十:RTC实时时钟实验——显示时间和日期
实验现象: 核心代码: int main(void) { /* USER CODE BEGIN 1 */ RTC_TimeTypeDef sTime; RTC_DateTypeDef sDate; ; ...
- 如何进行 iPhone 客户端的软件测试
如何进行 iPhone 客户端的软件测试客户端版APP主要是通过苹果的APP Store来进行安装的.在测试时,开发会先在本地苹果机上打好包,然后我们在Xcode上进行安装或者直接在开发提供的网址上下 ...
- fputc和putc和putchar函数的用法
功 能: 输出一字符到指定流中 putc()与fputc()等价.不同之处为:当putc函数被定义为宏时,它可能多次计算stream的值. 关于fputc(): 原型:int fputc(char c ...
- 使用echo $? 查看命令是否执行成功
shell中的特殊变量:变量名含义$0shell或shell脚本的名字$*以一对双引号给出参数列表$@将各个参数分别加双引号返回$#参数的个数$_代表上一个命令的最后一个参数$$代表所在命令的PID$ ...
- Java知多少(1) 语言概述
Java语言是SUN(Stanford University Network,斯坦福大学网络公司)公司1995年推出的一门高级编程语言,起初主要应用在小型消费电子产品上,后来随着互联网的兴起,Java ...
- Springboot学习笔记(二)-定时任务
springboot中要使用定时任务需要在配置类或启动类上标注注解@EnableScheduling,并在定时执行的无参方法上标注注解@Scheduled,程序启动后会根据@Scheduled所提供的 ...
- Android异步处理系列文章四篇之四 AsyncTask的实现原理
Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Loope ...
- vue.js 开发文档
一.安装 node.js 首先需要安装node环境,可以直接到中文官网http://nodejs.cn/下载安装包. 只是这样安装的 node 是固定版本的,如果需要多版本的 node,可以使用 nv ...