chap4(33-34).pptVIP

  • 15
  • 0
  • 约5.5千字
  • 约 39页
  • 2017-03-26 发布于贵州
  • 举报
chap4(33-34)chap4(33-34)

段表始址 段表长度 + 1k 6k 600 4k 500 8k 200 9200 段号 段长 基址 0 1 2 3 段号 2 位移量 100 + 8292 越界 4、4 基本分段存储管理方式 地址变换过程 越界 段长 基址 将下列逻辑地址转换成物理地址 (1)STORE R1,[0,70] (2)STORE R1,[1,20] (3)LOAD R1,[3,20] (4)LOAD R1,[3,100] (5)JMP [2,100] 段号 内存始址 段长 存取控制 其他信息 0 1 2 3 4 500 1000 3000 8000 5000 100 30 200 80 40 W R E R R 分页与分段的主要区别: 相似之处:采用离散分配方式,且都通过硬件地址变换机构来实现逻辑地址到物理地址的变换。 区别: 页是信息的物理单位,分页的目的是为了提高内存的利用率。段是信息的逻辑单位,分段的目的是为了能更好地满足用户的需要。 4、4 基本分段存储管理方式 页的大小固定且由系统决定,而段的长度不固定,决定于用户编写的程序。 分页的逻辑地址空间是一维的,线性的,而分段的作业地址空间是二维的。 信息共享 分段比分页更容易实现信息的共享。 可重入码(纯代码):允许多个进程同时访问的代码,并且不允许任何进程对它进行修改,在内存中只有一个副本。 4、4 基本分段存储管理方式 例如:某系统中40个用户,每个人有40K的私有数据,并共享一个大小为160K的程序(editor),若该程序为可重入码,计算这40个用户共占用多少内存? 分页系统实现信息共享:多用户系统中的每个用户,分别在自己的页表中为共享部分代码建立相应页表项(多页则建立多个表项),记录共享代码所在的物理块号。(例如共享程序editor,假定一个页面的大小为4KB) 4、4 基本分段存储管理方式 分页系统中共享editor 的示意图: 进程1 ed1 ed2 … ed40 data1 … data10 进程2 ed1 ed2 … ed40 data1 … 页表 21 22 … 59 60 61 … 70 21 22 … 60 71 … 80 主存 ed1 ed2 … ed40 data 1 …… data 10 data 1 …… data 10 分段系统实现信息共享:只需在每个进程的段表中为共享代码设置一个段表项。 注意:不同的进程可以使用不同的段号共享同一段代码 4、4 基本分段存储管理方式 分段系统中共享 editor 的示意图: 进程1 editor Data 1 进程2 editor Data 2 进程1段表 段号 段长 基址 0 160K 120K 1 4K 200K 进程2段表 X 段号 段长 0 3K 基址 100K 1 160K 120K 2 4K 210K 主存 X 段 editor Data 1 Datd 2 分段系统中存储保护的实现: 将逻辑段号与段表寄存器中的段长进行比较,以确定段号是否合法。 将段内位移与相应段的段长进行比较,以确定段内位移是否合法。 将本次进行的操作与该段的存取控制进行比较,以确定本次操作是否合法。 4、4 基本分段存储管理方式 基本分页—页面和物理块 内存 1.划分成大小相等的物理块 2.从0开始按顺序编号 3.大小为2n 用户作业 0 1 2 3 1. 分成与物理块相等的页面 2.也是从0开始编号 3.最后一页可能不满一页 0 1 2 … 8 9 10 … 0 页表 0 8 1 1 10 2 2 2 3 页内碎片 3 9 基本分页—页表:实现页号和物理块号的映射 内存 1.系统为内存中的每个进程都配备一张页表。 2.页表中记录逻辑页面所存储的物理块号及该页面的存取控制。 3.所有页表都存放在内存的物理块中。 4.系统设置页表寄存器(PTR)记录正在执行进程页表的起始地址和长度; 5.未执行进程的页表始址和长度存在其PCB中。 0 8 1 10 7 3 9 0 21 1 53 2 19 0 1 … 7 … 7 3 PTR 基本分页—地址转换机构 内存 0 8 R 10 W 2 7 E 3 9 R 0 1 … 1 3 PTR 逻辑地址A(2进制、16进制) 页号 页内位移 ≥? 不合法,出错 合法 + 判断操作是否合法 7 页内位移 物理地址 根据物理地址到内存中读取数据 读取数据

文档评论(0)

1亿VIP精品文档

相关文档