- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统的课程设计
石 家 庄 经 济 学 院
信息工程学院操作系统课程设计
(计算机科学与技术专业用)
班 级 5040109031
学 号 403010903104
姓 名
指导教师
2006 年 1 月 13 日
课程设计任务书
班级姓学号
课程设计起止日期 2006 年1 月2 日至2006 年1 月13 日
260机房 152机房
主存储器的分配与回收
课程设计内容与要求
内容:模拟实现用同步机构避免发生进程执行时可能出现的与时间有关的错误。
模拟PV操作同步机构,且用PV操作解决生产者——消费者问题。
要求:首先进行软件设计,编写程序,并调试通过。
200 年 月 日一、课程设计目的
了解在不同的存储管理方式下应怎样实现主存空间的分配和回收。
二、软硬件环境
1. 硬件配置
内存512; CPU inter pentinum?4 2.80G赫兹。
2.软件配置
windows.xp、visual C++6.0。
三、系统设计及开发过程
1. 系统具体设计过程
(1).模拟PV操作同步机构,PV操作同步机构,有P操作原语和V操作原语组成,他们定义如下:
P操作原语P(S):将信号量S减去1,若结果小于0,则执行原语的进程被置成等待信号量S的状态。
V 操作原语V(S):将信号量S加1,若结果不大于0,则释放一个等待信号量S的进程。
(2).假定有一个生产者和一个消费者,生产者每次生产一件产品,并把生产的产品存入共享缓冲器以供消费者取走使用。消费者每次从缓冲内取出一件产品去消费。禁止生产者将产品放入以满的缓冲器内,禁止消费者从空缓冲器内取走产品。
(3).模拟处理器调度程序:每当执行一条模拟的指令后,保护当前进程的现场,让它成为非运行态,由处理器调度程序按随机数再选择一个就绪进程占用处理器运行。
(4).模拟处理器指令执行程序:按”指令计数器”PC之值执行指定的指令,且PC加1指向下一条指令。
2. 主要数据结构设计Int num 块数 //记录分配作业占用的块数
int job[10] 空闲块号 //记录作业占用的空闲块号
1 私有成员
(1)、整型变量i和j,分别记录位示图的行号和列号;
(2)、整型变量n,记录位示图中空闲块数;
(3)、函数locate()中整型变量h、k和L,分别记录分配作业占用的块数和作业页数;
(4)、函数ret()中的整型变量k和h,分别记录作业号和作业占用的块数;
(5)、主函数main()中的字符型变量用来选择操作,当ch=y时分配作业,当ch=n时回收作业;
2 公有成员
(1)、结构体数组work[10],用来记录作业占用的块数和块号;
(2)、二维数组a[5][5]存放位示图;
(3)、整型变量N
(2) 最先适应算法
为了记录空闲区的情况, 设计了空闲区控制块结构体pcb,包括项 Int start 起始地址 //记录空闲区的起始地址
int length 长度 // 记录空闲区的长度
struct pcb * next 后继指针 //指向链表的下一个结点
1私有成员
(1)、整型变量S,表示作业的起始地址;
(2)、整型变量L,表示作业的长度;
(3)、字符型变量ch,用来选择操作,当ch=y时给作业分配空间,ch=n时回收作业;
(4)、结构体类型的指针p0,p1,p2用来指向链表中的结点;
2公有成员
(1)、;
;
3. 算法设计
函数名 main()
功能 初始化位示图,调用打印函数print()打印位示图。根据输入的ch值调用分配函数locate()和回收函数ret()可对作业进行重复分配和回收。
入口参数 无
返回值 无
流程图如下所示:
主程序流程图
函数名 print()
功能 打印位示图并输出空闲块的个数。
入口参数 无
返回值 无
流程图如下所示:
图2 print()函数流程图
函数名 locate() 如图3流程所示。
功能 输入作业的长度,调用locate()函数对作业进行分配,并输出页表。
入口参数 无
返回值 无
流程图如下所示:
您可能关注的文档
最近下载
- 《汽车理论》课件.pptx VIP
- 设计进度计划及质量保证措施.docx VIP
- 成为自己的勇气:认知自我的情绪心理学.pptx VIP
- 2025年中考数学 (山西卷)真题详细解读及评析.docx
- 新起点、新扩建—新一轮高速公路改扩建的思考与展望NewBeginning.PDF VIP
- GB50235-2010 工业金属管道工程施工规范.pdf VIP
- T_CAOE T_CAOE72—2023(海滩养护拦沙堤设计技术导则).pdf VIP
- 《体重管理指导原则(2024年版)》解读PPT课件.pptx VIP
- 纤维支气管镜的清洗3、消毒与维护程序.ppt VIP
- T∕CAOE 21.2-2020 海岸带生态减灾修复技术导则 第2部分:红树林.docx VIP
文档评论(0)