“操作系统课程设计”解析.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统课程设计 实验讲义 黑龙江大学计算机科学技术学院 软件学院 2004年-2015年 目 录 TOC \o 1-3 \h \z \u HYPERLINK \l _Toc413142362 第一部分 课程目的与任务 PAGEREF _Toc413142362 \h 1 HYPERLINK \l _Toc413142363 一、课程基础 PAGEREF _Toc413142363 \h 1 HYPERLINK \l _Toc413142364 二、适应对象 PAGEREF _Toc413142364 \h 1 HYPERLINK \l _Toc413142365 三、教学目的 PAGEREF _Toc413142365 \h 1 HYPERLINK \l _Toc413142366 四、内容提要 PAGEREF _Toc413142366 \h 1 HYPERLINK \l _Toc413142367 第二部分 主要内容及基本要求 PAGEREF _Toc413142367 \h 2 HYPERLINK \l _Toc413142368 一、进程控制 PAGEREF _Toc413142368 \h 2 HYPERLINK \l _Toc413142369 二、分页式存储管理 PAGEREF _Toc413142369 \h 4 HYPERLINK \l _Toc413142370 三、设备管理 PAGEREF _Toc413142370 \h 6 HYPERLINK \l _Toc413142371 四、文件管理 PAGEREF _Toc413142371 \h 11 HYPERLINK \l _Toc413142372 五、进程调度 PAGEREF _Toc413142372 \h 15 HYPERLINK \l _Toc413142373 六、总结报告模板 PAGEREF _Toc413142373 \h 16 HYPERLINK \l _Toc413142374 第三部分 “操作系统课程设计”读书工程环节方案 PAGEREF _Toc413142374 \h 20 HYPERLINK \l _Toc413142375 一、目的与要求 PAGEREF _Toc413142375 \h 20 HYPERLINK \l _Toc413142376 二、考核方式 PAGEREF _Toc413142376 \h 20 HYPERLINK \l _Toc413142377 三、参考书目 PAGEREF _Toc413142377 \h 20 HYPERLINK \l _Toc413142378 四、读书报告模板 PAGEREF _Toc413142378 \h 25 PAGE \* MERGEFORMAT 92 第二部分 主要内容及基本要求 一、进程控制 ●基本要求:利用简单的结构和控制方法模拟进程结构、进程状态和进程控制。 ●参考学时:9学时 ●实验提示: 用PCB表示整个进程实体,利用随机数方法或键盘控制方法模拟进程执行中产生的事件,或者利用基于图形界面的鼠标或者键盘操作控制进程管理内容。 定义PCB:包括理论PCB中的基本内容,如内部ID、外部ID、队列指针。由于很难实现真正的进程创建功能,在实验中只需建立PCB节点,并用它代表一个完整的进程。每创建一个进程时,可动态分配PCB节点,对相应内容赋值,并链接到适当的队列上。 可参考如下数据结构(动态形式): struct PCB{ char name[10]; struct PCB*next; }; struct PCB *ready,*blocked,*running; 创建进程时: struct PCB *p=(struct PCB *)malloc(sizeof(struct PCB)); 并将此进程添加到就绪队列末尾: add(ready,p); 其中,ready为就绪队列头节点,并在开始处分配了空间;add函数是链表中添加节点函数,代码可以为: void add(struct PCB *head,struct PCB*process){ struct PCB*tmp=head; while(tmp-next!=NULL) tmp=tmp-next; tmp-next=process; process-next=NULL; } 定义进程状态转换方式:真实的进程状态转换是由进程内部操作或操作系统的控制引起的。由于模拟程序中无法实现这些功能,我们可以采用随机数方法或键盘控制方法模拟,并实现对应的控制程序。随机方法指产生1-5的随机数,分别代表创建进

文档评论(0)

yaocen + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档