- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上海交通大学004-(2009-2010-2)CS371(教学班).PDF
上海交通大学004-(2009-2010-2)CS371(教学班)
《操作系统课程设计》任务说明书
主讲教师:方兴其
电子邮件:xqfang.sjtu@
一、 目的
目的
掌握操作系统原理之进程/ 线程管理、进程/ 线程间通信、若干算法的编程实现与应
用
掌握基于Linux 操作系统之系统调用进行编程的基本方法
掌握基于Linux 操作系统之线程库函数进行编程的基本方法
掌握基于Linux 操作系统之Socket 进行编程的基本方法
二、 内容
内容
1. Microsoft Windows / Virtual PC 环境下Linux操作系统的安装、配置与基本操作
参照《操作系统教程与实验》之“ 第 9 章 Linux 应用基础” ,在基于 Microsoft
Windows 操作系统的PC 上,安装Microsoft Virtual PC 虚拟机软件;然后,创建一个
虚拟机,并安装RedHat Linux 9.0( 内核版本号2.4.20)操作系统。
参照《操作系统教程与实验》之第9 章和第10 章,学习Linux 操作系统的基本操
作。
2. 其它开发环境
程序设计语言
唯一使用ANSI C ,即ANSI X3.159 - 1989 标准。
程序编译器
gcc ,版本号为3.2.2。
注意必须提供Makefile。
3. 第一阶段设计开发:单进程人机对话
总体功能描述
编写以单进程单线程方式实现的人机对话示意程序。
第1 页
上海交通大学004-(2009-2010-2)CS371 (教学班) 《操作系统课程设计》任务说明书 V1.9
初始化阶段
进程采用单线程架构,作为一个命令行程序启动后,首先通过其标准输出打印程
序的版本版权信息。
服务阶段
进程循环向其标准输出打印提示符,具体形式是新行行首开始的”%” ,然后等待用
户通过标准输入提出问题。
进程的常态为等待标准输入,尝试读入一个问题请求。每一个问题请求均为可打
印的ASCII 码字符串,且以回车换行”\r\n”结尾。进程根据接收到的问题请求,通过标
准输出打印相应的解答;对于未能识别的问题,打印” 问题请求不可识别” 。当前问题请
求解答结束后,再次以新行行首开始的”%” 的形式,提示用户输入下一个问题请求。
第一步必须实现支持如下表所示的问题请求。
问题请求形式 问题解答示意 是否必须实现
bye\r\n ”Bye…\r\n” 是
exit\r\n ”Exiting!\r\n” 是
”help\r\n” ”bye\r\nexit\r\nsquare of -1.1\r\n…” 是
”square of -1.1\r\n” ”1.21\r\n” 是
对于以上求平方的问题,请注意其原始的输入和输出都是字符串形式的浮点数,
应注意进行浮点数在字符串形式和IEEE 754 格式(float)之间的转换。
退出过程
如果进程接收到exit\r\n这样的问题请求,那么在回答该问题之后,还需要进一
步实际触发进程的退出过程。
另外,进程一旦接收到操作系统因为按了 Ctrl+C 这样的键组合而发来的信号
Signal ,也必须触发进程的退出过程,并向标准输出打印,提示所接收到的软中断信
号。
进程的退出过程应该释放有关资源,向标准输出打印经统计的问题总数以及求平
方问题的数量,最后在打印即将退出提示后调用exit()退出运行。
4. 第二阶段设计开发:父子进程通过消息队列通信的人机对话
文档评论(0)