读书笔记之-unix操作系统设计---Demand Paging

原创 2004年09月21日 10:18:00
今天讲讲Demand Paging,以前的UNIX操作系统在PDP-11上使用的是Swapping,而不是Demand Paging,这是因为Demang Paging需要硬件的支持(restartable instructions )和操作系统的支持。现在的操作系统,如bsd unix使用的是Demand Paging,原理是程序访问的局部性,因此经常访问的页面组成一个集合,叫做工作集,(working set)。 Demand Paging需要的数据结构包括1)page table entries,2)disk block descriptors,3)page frame data table,4)swap-use table。 page frame data table是操作系统初始化时分配的全局的用于管理物理页面的数据结构,它使用hash list和free list,类似于文件系统中的buffer cache。 进程的context中包含per process region talbe,其中的每个entry对应一个region(如bss region,data region,stack region,shared region等等),每个entry包含此region在整个虚拟地址空间中的起始位置和大小,以及region的属性,如是可写的还是read-only(如text region是read-only的),以及一个指向这个region的页表的指针,这个页表完成对虚拟地址到物理地址的映射,<虚拟地址的索引,实际的物理地址的索引>,这个索引是以一个物理页的大小为单位的。未完待续。。。。。。

linux内存管理2:内存映射和需求分页(英文名字:demand Paging,又叫:缺页中断)

当某个程序映象开始运行时,可执行映象必须装入进程的虚拟地址空间。如果该程序用到了任何一个共享库,则共享库也必须装入进程的虚拟地址空间。实际上,Linux 并不将映象装入物理内存,相反,可执行文件只是被...
  • zhangxinrun
  • zhangxinrun
  • 2010年09月09日 13:19
  • 3806

享受 UNIX操作系统设计 一书

  一口气把>一书读完了,这一口气大概是从06年6月开始呼入,于07年4月才呼出,哈哈。  看完这本书非常受益,首先,解答一些朋友和同事的疑问,看这本书并不是为了研究LINUX内核才看的,当然,为了更...
  • kwiner
  • kwiner
  • 2007年04月28日 11:55
  • 1864

《unix操作系统设计》习题--第3章 数据缓冲区高速缓冲

1.(1)什么是最理想的散列函数?            最理想的散列函数指的是使块能够均匀地分布在一组散列队列中,并且必须简单,以使性能不受损失。      (2)散列函数在它的计算中应该使用逻...
  • liumingkong
  • liumingkong
  • 2011年11月29日 23:28
  • 760

Demand paging on Nand Flash

从08A开始, MTK代码引入了Demand paging 的功能.原理: 类似于PC中的虚拟内存.Page fault handler:1. Prefetch Abort   or  Data Ab...
  • nwpu053883
  • nwpu053883
  • 2011年03月31日 16:48
  • 621

机器学习(十一)机器学习系统设计的细节问题

1、初期:如何提炼特征?头脑风暴 2、前期: 1)首先实现一种简单算法,能快速使用交叉检验测试,然后画学习曲线,再决定是否要更多数据、特征变量等,避免前期过度优化。 2)将交叉检验分错的部分人工分析一...
  • lonelyrains
  • lonelyrains
  • 2015年10月23日 22:29
  • 907

《Unix内核源码剖析》读书笔记(一)

**第一部分** 就如同第一部分扉页上所写的三点:**UNIX V6内核具有哪些功能**、**内核如何向用户程序提供功能的**、**运行UNIX V6的系统由怎样的硬件构成**,理解这三者,有利于理解...
  • xieweiyang
  • xieweiyang
  • 2016年12月28日 19:11
  • 187

《sed & awk》读书笔记之 sed 篇

Sed&awk笔记之sed篇:简单介绍 最近在阅读《sed & awk(第二版)》,这本书是sed和awk相关书籍中比较经典的一本。我在读书的时候有一个习惯,就是会作一些笔记,如果有条件我会放到博客中...
  • chenyulancn
  • chenyulancn
  • 2014年01月02日 15:24
  • 553

UNIX网络编程卷2进程间通信读书笔记-管道

一.管道        管道的名称很形象,它就像是一个水管,我们从一端到水然后水从令一端流出。不同的是这里说的管道的两边都是进程。从一端往管道里写数据,其它进程可以从管道的另一端的把数据读出,从而实...
  • zxasqwedc
  • zxasqwedc
  • 2014年09月24日 10:45
  • 629

我读经典(1):读《数学之美》有感

一提到“数学”,很多人也许就会感到头痛。确实,在大学的所有课程中,凡是与“数学”有关的课一般逃课率都比较高,当然挂科率也比较的高。可见,大家对“数学”是多么的“厌恶”。         但是,我们每天...
  • zhouzxi
  • zhouzxi
  • 2013年05月26日 21:25
  • 3051

《UNIX网络编程 卷2》读书笔记(二)

      如何知道进程在一个空消息队列中放入一个消息?如果阻塞在msgrcv调用中,则除了等待无法做其他事情,如果给msgrcv指定非阻塞标志(IPC_NOWAIT),尽管不阻塞了,但必须持续调...
  • phinecos
  • phinecos
  • 2008年05月27日 16:50
  • 458
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:读书笔记之-unix操作系统设计---Demand Paging
举报原因:
原因补充:

(最多只允许输入30个字)