- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统实验一、二实验报告
实验目的
熟悉Linux系统,掌握Linux系统的登入、退出等操作;
熟悉Linux命令及进程管理;
学会使用Linux下C语言编程的基本知识;
加深对进程概念的理解,明确进程和程序的区别;
进一步认识并发执行的实质;
分析进程争用资源的现象,学习解决进程互斥的方法。
实验内容
1、Linux基本操作
2、文件与目录操作3、进程查看及在线帮助4、全屏幕文本编辑器Vi的熟悉5、Linux下C语言编程基础知识
6、运行以下附录部分中给出的程序,查看自己运行的结果,并进行分析
7、编写程序,要求见附录部分
代码及运行结果分析
实验一:熟悉Linux系统
1、Linux基本操作,Linux系统的登入
初始
2、文件与目录操作
显示文件目录命令
改变当前目录命令
新建目录hhh 并用ls命令查看
删除目录hhh
删除文件123.c
文件改名a.c改为as.c
文件复制:将sy1复制到lin,并用ls语句查看
显示文件的内容more或者less
查找文件find
3、进程查看
who命令
ps命令
top命令,用Ctrl+c命令退出
4、在线帮助
man命令
help命令
whereis命令
全屏幕文本编辑器Vi及Linux下C语言基础编程
5.1 Hello Linux!
文本编辑器vi,创建文件hong.c
[localhost $ vi hong.c
按下i,输入文本
按下esc,shift+“:”后输入wq命令保存文件
编译hong.c生成hong可执行文件,并运行可执行文件hong
5.2 getpid
新建文件jia.c,并输入文本
[localhost $ vi jia.c
保存并编译运行文件jia.c
5.3 fork
新建文件678.c,输入程序
[localhost $ vi 678.c
保存并编译运行文件678.c
分析:fork系统调用的作用是复制一个进程。当一个进程调用它,完成后就出现两个几乎一模一样的进程,我们也由此得到了一个子进程。fork调用的奇妙之处是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值:
1.在父进程中,fork返回新创建子进程的进程ID;
2.在子进程中,fork返回0;
3.如果出现错误,fork返回一个负值;
Fork出错可能有两种原因:
当前的进程数已经达到了系统规定的上限;
系统内存不足。
pid=fork();当pid0时,说明出现问题;当pid=0时,此时是子进程,返回的是0;否则,此时进行的是父进程,返回的是新创建的子进程的ID值。
5.4 exit
新建文件01.c,输入程序
[localhost $ vi 01.c
保存并编译运行文件01.c
分析:程序运行到exit(0);后会退出,则之后的printf()语句不会执行,因此程序运行之后只输出this process will exit!
5.5 wait
新建文件02.c,并输入程序
[localhost $ vi 02.c
保存文件并编译运行文件
分析:sleep的作用是让进程休眠指定的秒数,在这60秒内,子进程已经退出,而父进程正忙着睡觉,不可能对它进行收集,这样,我们就能保持子进程60秒的僵尸状态。
5.6 sleep
新建文件03.c,并输入程序
[localhost $ vi 03.c
保存文件并编译运行程序
分析:可以明显注意到,在第2行结果打印出来前有10秒钟的等待时间,这就是设定的让子进程睡眠的时间,只有子进程从睡眠中苏醒过来,它才能正常退出,也就才能被父进程捕捉到。
实验二:进程管理
1、运行并分析
程序1:
新建文件201.c,并输入程序
[localhost $ vi 201.c
保存并编译运行文件
程序执行的进程树:
父进程
父进程
进程号:24678
I=24678
I=24678
子进程
子进程
进程号:24678
I=0
I=0
分析:程序1运行后,i初值为0,if语句条件不满足,程序执行else中的语句,k=0,输出两个语句中的内容,i=24678,执行if语句中内容,程序输出父进程的ID等。
程序2:
新建文件202.c,并输入程序
[localhost $ vi 202.c
保存并编译运行文件202.c
程序执行的进程树:
父进程
父进程
进程号:24921
P1=24922,P2=24923
P1=2
您可能关注的文档
- ZTM免拆外模板性能指标和施工方案.doc
- 最新整理2017年小古文100篇(上下册)+配图注释.doc
- 2017河南中考数学试卷及答案(高清版).doc
- 安徽省芜湖市第十二中学2010届高三文科综合能力测试(四).doc
- 2015浙江省湖州市中考科学试卷及答案.doc
- IV-CV测试差异说明.doc
- 2018年长沙中考数学试题及答案(高清版).doc
- 中国联通2009年移动网络第三方测试评估服务技术规范书v1.doc
- 综合布线施工规范.doc
- 2018年高考江苏地理卷.doc
- 2025四川天府银行社会招聘备考题库(攀枝花)含答案详解(最新).docx
- 2025四川银行首席信息官社会招聘备考题库及完整答案详解1套.docx
- 2025四川天府银行社会招聘备考题库(攀枝花)带答案详解.docx
- 2025四川天府银行社会招聘备考题库(成都)含答案详解(a卷).docx
- 2025四川广元市利州区选聘社区工作者50人备考题库及答案详解(基础+提升).docx
- 2025天津银行资产负债管理部总经理或副总经理招聘1人备考题库含答案详解(典型题).docx
- 2025四川天府银行社会招聘备考题库(西充)附答案详解(考试直接用).docx
- 2025年中国民生银行南宁分行招聘2人备考题库及答案详解(全优).docx
- 2025天津银行高级研究人才招聘备考题库附答案详解(达标题).docx
- 2025大连银行营口分行招聘2人备考题库及参考答案详解一套.docx
原创力文档


文档评论(0)