资源描述:
《北京邮电大学 操作系统实验 实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、操作系统实验实验报告实验日期:11月23日实验名称:实验一一、实验目的1.学习LINUX操作系统2.熟悉UNIX/LINUX的常用基本命令3.理解fork()与clone()函数的区别和联系4.深入理解生产者和消费者问题二、实验内容(1)安装LINUX:(2)熟悉UNIX/LINUX的常用基本命令如ls、who、wc、pwd、ps、pstree、top,cat,cd,chgrp,chmod,chown,comm,cmp,cp,rm,diff,mv,rmdir等,了解环境。(3)比较fork()和clone()的
2、功能,利用fork()生成子进程和clone()生成线程。(4)利用pthread库,通过其中的mutex来实现生产者和消费者问题。三、项目要求及分析基本要求:(1)安装LINUX:使用FEDORA11(2)熟悉UNIX/LINUX的常用基本命令如ls、who、wc、pwd、ps、pstree、top,cat,cd,chgrp,chmod,chown,comm,cmp,cp,rm,diff,mv,rmdir等,了解环境。(3)比较fork()和clone()的功能,利用fork()生成子进程和clone()生成
3、线程。(4)利用pthread库,通过其中的mutex来实现生产者和消费者问题。四、具体实现1.linux常用指令1.1目录操作和DOS相似,Linux采用树型目录管理结构,由根目录开始一层层将子目录建下去,各子目录以“/”隔开。用户login后,工作目录的位置称为homedirectory,由系统管理员设定。‘—’符号代表自己的homedirectory,例如:~/myfile是指自己home目录下myfile这个文件。Linux的通配符有三种:‘*’和‘?’用法与DOS相同,‘’代表区间内的任一字符,如te
4、st[05]即代表test0,test1,……,test5的集合。(1)显示目录文件ls执行格式:ls[atFlgR][name](name可为文件或目录名称)例:ls显示出当前目录下的文件lsa显示出包含隐藏文件的所有文件lst按照文件最后修改时间显示文件lsF显示出当前目录下的文件及其类型lsl显示目录下所有文件的许可权、拥有者、文件大小、修改时间及名称lslg同上lsR显示出该目录及其子目录下的文件注:ls与其它命令搭配使用可以生出很多技巧(最简单的如“ls-l
5、more”),更多用法请输
6、入ls--help查看,其它命令的更多用法请输入“命令名—help“查看。(2)建新目录:mkdir执行格式:mkdirdirectoryname例:mkdirdir1(新建一名为dir1的目录)(3)删除目录:rmdir执行格式:rmdirdirectoryname或rmdirectoryname例:rmdirdir1删除目录dir1,但它必须是空目录,否则无法删除Rmrdir1删除目录dir1及其下所有文件及子目录rm-rfdir1不管是否空目录,统统删除,而且不给出提示,使用时要小心(4)改变工作
7、目录位置:cd执行格式:cd[name]例:cd改变目录位置至用户login时的workingdirectorycddir1改变目录位置,至dir1目录cd~user改变目录位置,至用户的workingdirectorycd..改变目录位置,至当前目录的上层目录-4-操作系统实验指导书cd../user改变目录位置,至上一级目录下的user目录cd/dir-name1/dir-name2改变目录位置,至绝对路径(Fullpath)cd-回到进入当前目录前的上一个目录(5)显示当前所在目录pwd执行格式:pwd(
8、6)查看目录大小du执行格式:du[s]directory例:dudir1显示目录dir1及其子目录容量(以kb为单位)显示目录dir1的总容量dusdir1(7)显示环境变量echo$HOME显示家目录echo$PATH显示可执行文件搜索路径env显示所有环境变量(可能很多,最好用"env
9、more","env
10、grepPATH"等)(8)修改环境变量,在bash下用export,如:exportPATH=$PATH:/usr/local/bin想知道export的具体用法,可以用shell的help命令
11、:helpexport2、文件操作(1)查看文件(可以是二进制的)内容cat执行格式:catfilename或morefilename或catfilename
12、more例:以连续显示方式,查看文件file1的内容catfile1morefile1或catfile1
13、more以分页方式查看文件的内容(2)删除文件rm执行格式:rmfilename例:rmfile?rmf*(3)复制文件c