网站大量收购闲置独家精品文档,联系QQ:2885784924

2025年操作系统实验课第二次作业详解与实践报告.docxVIP

2025年操作系统实验课第二次作业详解与实践报告.docx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

湖南大学

HUNANUNIVERSITY

操作系统试验汇报

目录

一、内容………………………错误!未定义书签。

二、目的………………………错误!未定义书签。

三、试验设计思想和练习题………………错误!未定义书签。

练习0:填写已经有试验………错误!未定义书签。

练习1:实现first-fit持续物理内存分派算法(需要编程)……………错误!未定义书签。

练习2:实现寻找虚拟地址对应的页表项(需要编程)……错误!未定义书签。

练习3:释放某虚地址所在的页并取消对应二级页表项的映射(需要编程)错误!未定义书签。

运行成果………………………错误!未定义书签。

四、试验体会…………………错误!未定义书签。

一、内容

本次试验包括三个部分。首先理解怎样发现系统中的物理内存;然后理解怎样建立对物理内存的初步管理,即理解持续物理内存管理;最终理解页表有关的操作,即怎样建立页表来实现虚拟内存到物理内存之间的映射,对段页式内存管理机制有一种比较全面的理解。

二、目的

1.理解基于段页式内存地址的转换机制;2.理解页表的建立和使用措施;

3.理解物理内存的管理措施。

三、试验设计思想和练习题

练习0:填写已经有试验

使用eclipse中的diff/merge工具将试验1的代码填入本试验中代码中有“LABI”的注释对应部分。

练习1:实现first-fit持续物理内存分派算法(需要编程)

在实现firstfit内存分派算法的回收函数时,要考虑地址持续的空闲块之间的合并操作。提醒:在建立空闲页块链

表时,需要按照空闲页块起始地址来排序,形成一种有序的链表。也许会修改default_pmm.c中的default_init,

default_init_memmap,default_alloc_pages,default_free_pages等有关函数。请仔细查看和理解default_pmm.c中的注释。

请在试验汇报中简要阐明你的设计实现过程。请回答如下问题:你的firstfit算法与否有深入的改善空间。

解答:

分析思绪:

(1)数据构造:

A.每个物理页运用一种Page构造体表达,查看kern/mm/memlayout.h包括:

ref:引用计数,即映射此物理页的虚拟页个数;

tusofthe

tusofthepageframe

unsignedintproperty;

flags:描述物理页属性,bit0设置为1,即为“被保留”项,bit1设置为1,即为空闲项;

property:记录某持续内存块的大小,即地址持续的空闲页的个数:

page_link:将多种持续内存链接在一起的双向链表指针,即构建双向链接各个Page构造的双向链表。

|[~/moocos/ucore_lab/labcodes/Lab2/kern/mm]

moocos-vimmemlayout.h

intref;struct

intref;

uint32_t

uint32_tflags;

fitpmmanager

list_entry_tpage_link;

};

//pageframesreferencecounter//arrayofflagsthatdescribethesta

//pageframesreferencecounter

//thenumoffreeblock,usedinfirst//freelistlink

B.所有的持续内存空闲块可用一种双向链表管理,运用一种free_area_t构造体表达,查看kern/mm/memlayout.h

包括:

list_entry:双向链表指针,指向空闲的物理页:

nrfree:记录目前空闲页的个数的无符号整形变量。

_

Itypedefstruct{

list_entry_tfree_list;//thelistheader

}fr_sai_ti;ntnr_free;

文档评论(0)

乐毅淘文斋 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8121131046000040

1亿VIP精品文档

相关文档