操作系统课程设计.docx
《操作系统课程设计.docx》由会员分享,可在线阅读,更多相关《操作系统课程设计.docx(8页珍藏版)》请在课桌文档上搜索。
1、孝甫理N大亨广州汽车学院GuangzhouAutoCollegeSouthChinaUniversityofTechnology操作系统课程设计说明书在Linux环境下模拟实现命令解释器年级:08级专业班级:08级软件工程1班姓名:宋金骥学号:200830912071班内序号:46一.程序概述L你的源程序及可执行程序保存在效劳器上的路径(此项不写清楚的必定要参加辩论)当输入.a.out的时候源程序的执行结果就显示如上图,这时候已经进入了该程序,输入命令“pwd”系统那么显示出源程序保存在效劳器上的路径为:home08446显然可知可执行程序也与源程序保存的路径一样。2.完成的功能本程序在不使用
2、system0系统调用的前提下实现了某些LinUX环境下的系统自带功能,如:1、PWd命令是显示当前所在目录的路径名。输入格式:PWd2、dir命令是列出指定目录名中的所有目录及文件。输入格式:dir输入格式:cd目录名或路径 输入格式:new 目录名输入格式:deldir目录名输入格式:exit3、Cd命令是改变当前工作目录。4、newdir命令是新建所输入的目录。5、deldir命令是删除所输入的目录。6、exit命令是退出命令解释程序二概念原理该命令解析器程序运用了C+与C语言相结合完成了题目所要求的几种功能,并充分调用了外部函数实现各项功能。如下是程序中运用较为重要的几个函数:1、在P
3、Wd函数里用到了getcwd()函数,该函数原型为:char*_getcwd(char*buffer,intmaxlen);功能:获取当前工作目录。参数说明:_getcwd()会将当前工作目录的绝对路径复制到参数buffer所指的内存空间中,参数maxlen为buffer的空间大小。所以需要显示当前所在目录的路径名只需要运用getcwd)函数就能直接获取出来。2、在dir()函数里用到了OPendirO函数,该函数原型为:DIR*opendir(constchar*path);功能:翻开一个目录。该函数的使用方便程序翻开当前目录或自己需要翻开的目录,如果翻开失败返回值为-1。3、readdir
4、()函数语法:structdirent*readdir(DIR*dir_handle);返回值:dirent结构函数种类:文件存取内容说明:本函数用来读取目录。返回是dirent结构体指针。4、closedir()是关闭目录句柄的函数,voidclosedir(resource$dir_handle)关闭由dir_handle指定的目录流。流必须之前被OPendir()所翻开。opendir()readdir()CIOSedir()三个函数的作用可以理解为当程序读取dir()函数的时候翻开当前的工作目录然后依次读取目录信息最后输出目录信息,三者都缺一不可,否那么不能完整的输出该目录的信息。5、
5、在cd()函数里用到了Chdir0函数,Chdir是C语言中的一个系统调用函数(同Cd)函数名称:_chdir(在TC2.0下可以写作chdir)功能:改变当前工作目录头文件:direct.h(在TC2.0下为dir.h)用法:int_chdir(constchar*path);返回值:成功返回O,失败返回-1当成功改变当前目录时那么返回0,假设目录不存在或改变不成功时返回-1。6、在新建目录函数newdirO里有一个重要的创立目录函数mkdir(),该函数的头文件库:#include#include函数原型:intmkdir(constchar*pathname,mode_tmode);函数
6、说明:mkdir()函数以mode方式创立一个以参数pathname命名的目录,mode定义新创立目录的权限。返回值:假设目录创立成功,那么返回0;否那么返回-1,并将错误记录到全局变量ermo中。7、与新建目录函数用法相同但意义相反的是在删除函数deldirO里的rmdir(),该函数名称:_rmdir(TC下为rmdir函数原型:int_rmdir(constchar*dimame);函数功能:删除一个目录,假设成功那么返回0,否那么返回-1。题目要求实现的根本命令已经实现,由于有些不懂的函数是在网上查询而来的所以该程序写法看上去有点乱,但分布有条理,让人看上去通俗易懂。还有就是该程序的登
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计
链接地址:https://www.desk33.com/p-979584.html