上传者: elaineleesnow
|
上传时间: 2019-12-21 19:41:56
|
文件大小: 296KB
|
文件类型: doc
实验目的
Linux操作系统中shell是用户与系统内核沟通的中介,它为用户使用操作系统的服务提供了一个命令界面。用户在shell提示符($或#)下输入的每一个命令都由shell先解释,然后传给内核执行。本实验要求用C语言编写一个简单的shell程序,希望达到以下目的:
用C语言编写清晰易读、设计优良的程序,并附有详细的文档。
熟悉使用Linux下的软件开发工具,例如gcc、gdb和make。
在编写系统应用程序时熟练使用man帮助手册。
学习使用POSIX/UNIX系统调用、对进程进行管理和完成进程之间的通信,例如使用信号和管道进行进程间通信。
理解并发程序中的同步问题。
锻炼在团队成员之间的交流与合作能力。
2. 实验要求
1. ysh解释程序的重要特征
本实验要实现一个简单的命令解释器,也就是Linux中的shell程序。实验程序起名为ysh,要求其设计类似于目前流行的shell解释程序,如bash、csh、tcsh,但不需要具备那么复杂的功能。ysh程序应当具有如下一些重要的特征:
能够执行外部程序命令,命令可以带参数。 . 。
能够执行fg、bg、cd、history、exit等内部命令。
使用管道和输入输出重定向。
支持前后台作业,提供作业控制功能,包括打印作业的清单,改变当前运行作业的前台/后台状态,以及控制作业的挂起、中止和继续运行。
除此之外,在这个实验中还须做到:
使用make工具建立工程。
使用调试器gdb来调试程序。
提供清晰、详细的设计文档和解决方案。