- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系統软件课程设计(操作系统)大纲
课程设计大纲课程编号G2051272适用专业计算机课程名称系统软件课程设计课程性质必修英文名称The course design of system software学时/学分80/2选用教材计算机操作系统(第3版) 汤小丹、梁红兵、哲凤屏、 汤子瀛 西安电子科技大学出版社考核方式上机+课程报告先修课程操作系统执笔人叶琪教学基本目标 本设计的目的是实现操作系统和相关系统软件的设计,其中涉及进程编程、I/O操作、存储管理、文件系统等操作系统概念。教学基本内容1.Shell编程:掌握Linux O.S.环境,掌握基本环境等2.Linux系统调用:掌握系统调用的执行流程,增加一个新的系统调用。3.Linux二级文件系统:编写程序实现模拟Linux文件系统详见附录。教学进度安排课程设计要求说明 4学时 软件设计 16学时上机编程 32学时调试 4学时检查考核 8学时课程设计报告要求1.对进行认真分析,列出实验具体步骤,写出符合题目要求的程序清单,准备出调试程序使用的数据。2.以完整的作业包的形式提交原始代码、设计文档和可运行程序。提交的软件应当包括:设计题目,程序清单,运行结果分析,所选取的算法及其优缺点,以及通过上机取得了哪些经验。程序清单要求格式规范,注意加注释(包含关键字、方法、变量等),在每个模块前加注释,注释不得少于20%。课程设计要求同时上交打印文档,设计报告包括设计题目,算法分析,关键代码及其数据结构说明,运行结果分析以及上机实践的经验总结。考核方式与成绩评定方法根据以下几方面情况评定实验成绩:1.分析与设计能力2.系统实现能力3.系统文档以及设计报告的规范性4.是否在规定时间内完成设计5.工作态度参考书1.操作系统:精髓与设计原理(第7版)(英文版) 蒲晓蓉、周瑞、斯托林斯 (William Stallings)、 威廉?斯托林斯 (William Stallings) 电子工业出版社 (2013-07) 2. 计算机操作系统(第3版) 汤小丹、梁红兵、哲凤屏、 汤子瀛 西安电子科技大学出版社 (2007-08) 3.计算机操作系统教程(第3版) 张尧学、史美林、 张高 清华大学出版社 (2006-10)七、审核:(系主任签字)审核:(实验室主任签字)批准:(副院长签字)实验一 Shell编程一、实验目的学习如何编写一个Linux的外壳——Shell,即命令解释程序。学习怎样接受命令、解释命令、执行命令,特别是采用创建子进程的方式来执行一个程序,以及父进程如何继续子进程的工作。二、实验内容1、编写一个C语言程序作为Linux内核的shell命令行解释程序,所执行的结果需和系统命令行方式保持一致,从而使学生了解系统是怎样进行命令的解析和执行的。同时,还提供认识进程创建、进程等待、进程执行、前/后台执行、管道和I/O重定向含义的机会。基本运行方式如下:用户敲入命令行identifier [identifier[identifier……]]shell应该解析命令行参数指针数组argv[argc]。使用Linux的系统调用fork()、wait()和execv()等完成。2、对用户编写的shell增加后台运行功能。即用户可以使用””作为一个命令结束,以启动下一个命令。3、修改程序,增加I/O重定向功能。即用户可以使用””、””和”|”符号改变程序/文件的输入和输出。三、实验提示1、 基本的Shell (1)命令行工作方式每个shell都有自己语言的语法和语义。在标准Linux shell中,一个命令行具有以下形式:命令名 参数1 参数2……shell的工作是找到与命令名对应的可执行程序(命令),为其准备参数,并使用参数执行命令。shell程序需具有以下几种功能和健壮性:⑴ 支持目录检索功能,即文件不存在,继续打印提示符⑵ 支持以“”结束的输入,进行并发执行(前台与后台)⑶ 支持输入输出重定向,“”,“”为标志符⑷ 支持以“|”进行进程间通信操作(管道功能)⑸ 支持一定的错误输入处理,例如:多于空格的出现,输入命令不存在,空输入等等 考虑shell为了完成工作必须采取以下步骤:⑴ 打印提示符存在一个默认的提示符,有时在硬化shell中,如单字符串%、#或。当shell启动时,它查找在其上运行的机器名并将该字符串加到标准提示符前,如kiowa。Shell也可以被设计为打印当前目录作为提示符的一部分,也即每次用户键入cd改变到不同的目录时,提示字符串也会相应变化。一旦提示字符串确定下来,每当shell准备接受一个命令行时便把它打印到stdout。⑵ 得到命令行为了得到一个命令行,shell执行一个阻塞读操作让执行shell的进程进入睡眠状态,直到用户键入一个命令行作为对提示符的相应。一旦用户键入命令行(以一个NEWLINE(“\n
文档评论(0)