- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统实验指导书V2013
目 录
《操作系统》实验教学大纲 1
实验一 进程管理 1
实验二 SPOOLing技术实现 12
《》实验教学大纲
一、基本信息
课程编码课程学时 课程类别 实验总学时 开出学期 开出单位 适用专业 二、实验安排
序号 实 验 项 目 实验学时 每组人数 实验类型 开出要求 1 验证 必做 2 设计 必做 三、实验目的、内容与要求
掌握C语言编程实现,上机调试运行得出实验结果;
3.写出预习报告和实验报告。
实验二 SPOOLing技术实现
(一)实验目的
1.加深对SPOOLing系统的理解;
2.进一步认识SPOOLing技术的实质;
3.分析、设计SPOOLing系统的实现方法;
4.了解Linux系统中SPOOLing的基本原理。
(二)实验内容
设计并运行一个简单的SPOOLing系统来模拟实际的SPOOLing输入/输出过程,以掌握这种以空间换时间的技术。要求将SPOOLing输入/输出处理程序编成一个独立的进程模块并与其他请求输入/输出的进程并发运行。SPOOLing进程负责把从输入设备输入的信息送到外存输入井中,或把外存输出井中的信息送到打印机等输出设备上输出。其余进程只要求编写输入/输出部分的程序。要求定义实施算法的相关数据结构,实现设备分配和SPOOLing算法。
(三)实验要求
1.掌握C语言编程实现,上机调试运行得出实验结果;
3.写出预习报告和实验报告。
四、考核方式
五、建议教材与教学参考书
大学出版社[1] 汤小丹.计算机操作系统.第三版.西安: 西安电子科技大学出版社[2] 徐虹. 操作系统实验指导. 北京: 清华大学出版社.2004
[3] 屠祁. 操作系统基础.第三版.北京: 清华大学出版社.2000
[4] 冯耀霖. 操作系统. 西安: 西安电子科技大学出版社.2001
[5] 左万历.计算机操作系统教程.第二版.北京:高等教育出版社.2004
六、编制说明
编制者: 组长:
执笔人: 编制时间:2009年3月实验一 进程管理
实验目的
1.学会在Linux中利用系统调用fork()创建进程。
2.加深对进程概念的理解,明确进程和程序的区别。
3.进一步认识在系统内进程并发执行的实质。
4.分析进程竞争资源的现象,学习解决进程互斥的方法。
5.掌握Linux中进程通信的基本原理。
实验类型
验证性实验。
实验预备知识
1.阅读Linux的sched.h源码文件,加深对进程管理概念的理解。
2.阅读Linux的fork.c源码文件,分析进程的创建过程。
实验内容
1.进程的创建
【任务】
编写一段程序,使用系统调用fork()创建两个子进程,当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符;父进程显示字符“a”,子进程分别显示字符“b”和“c”。试观察记录屏幕上的显示结果,并分析原因。
【程序】
#include stdio.h
main()
{
int p1,p2;
while((p1=fork())= =-1); /*创建子进程p1,失败时循环*/
if(p1= =0) /*子进程p1创建成功*/
putchar(‘b’);
else /*父进程返回*/
{
while((p2=fork())= =-1); /*创建另一个子进程p2,失败时循环*/
if(p2= =0) /*子进程p2创建成功*/
putchar(‘c’);
else
putchar(‘a’); /*父进程执行*/
}
}
【执行结果】
同学自己得到实验结果。
【分析原因】
同学自己分析多次执行产生不同实验结果的原因。
2.进程的控制
【任务】
修改已编写的程序,将每个进程的输出由单个字符改为一句话,再观察程序执行时屏幕上出现的现象,并分析其原因。如果在程序中使用系统调用lockf()来给每个进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。
【程序1】
#include stdio.h
main()
{
int p1,p2,i;
while((p1=fork())= =-1);
if(p1= =0)
for(i=0;i50;i++)
pri
您可能关注的文档
- 彬县车站锅炉房塑钢门窗安装工程技术交底.doc
- 形成性考试1(2014秋及以后)结构力学.doc
- 弱电施工手册.docx
- 徐州经济开发区高一经济生活第四单元测试题.doc
- 弱电系统培训教程(安防_门禁_).doc
- 弱电系统毕业设计.doc
- 微机原理与接口技术实习报告.doc
- 御园高层基坑支护施工方案.doc
- 微机原理题库答案(1x终极版).doc
- 微波在片烟包松散中的应用与发展.docx
- 第十八章平行四边形单元复习专题四边形创新作图--2024-2025学年人教版初中数学八年级下册.pptx
- 北师大版(2019)高中数学必修1第8章2.数学建模的主要步骤.pptx
- 统编版八年级语文下册第六单元虽有嘉肴.pptx
- 统编版初中语文七年级上册第3课雨的四季.pptx
- 人教版初中英语2024学年江西省中考专题复习阅读理解技巧指导.pptx
- 人教版(2019)高中英语必修3 Unit 4 Space Exploration Reading and Thinking.pptx
- 5.3 实际问题与一元一次方程(销售问题)-2024-2025学年人教版初中数学七年级上册.pptx
- 统编版小学语文五年级下册快乐读书吧《红楼梦》名著品读.pptx
- 人教版初中英语九年级全册 unit6 When was it invented Section B 2a-2e.pptx
- 第十七章专题复习活用勾股定理,巧解翻折问题-2024-2025学年人教版初中数学八年级下册.pptx
文档评论(0)