
操作系统实验
文章平均质量分 74
Re:从零开始的代码生活
菜鸟一个
展开
-
实验五 进程通信-管道通信
实验五 进程通信-管道通信原创 2022-12-11 18:16:22 · 3249 阅读 · 1 评论 -
实验四 软中断信号及处理
要求:使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按ctrl-c键);问题4:请在该程序上添加一个signal()函数捕捉信号,并进行信号处理,使程序显示“I have been waken up”。问题3:程序的运行结果是什么,为什么运行结果中没有最后一个printf语句的输入内容?运行了多次,没有出现什么情况,可能主进程会先于子进程结束(但我没有运行出这个结果)问题1:红色部分的含义是什么?问题2:程序的运行结果是什么?原创 2022-11-21 17:53:03 · 1248 阅读 · 5 评论 -
实验三 进程管理
wait()调用后立即阻塞自己,直到当前进程的某个子进程退出。其参数用来保存被收集进程退出时的一些状态,它是一个指向int类型的指针。但如果我们对这个子进程是如何死掉的毫不在意,只想把这个僵尸进程消灭掉,我们就可以设定这个参数为NULL。问题2:wait(NULL)起到了什么作用,如果删除会出现什么情况,为什么?exit(0)表示进程正常终止,exit(1)表示进程运行有错,异常终止。问题2:如果程序中出现出现exit(0)和exit(1)代表什么意思?问题1:该程序中的pr变量的值代表的什么含义?原创 2022-10-30 09:55:09 · 2270 阅读 · 1 评论 -
实验二 进程创建
第一次ps命令显示有3个名字中含demo22的程序,第一行状态为S+,表明当前程序正在睡眠,但可被某些讯号唤醒,第二行状态为Z+,表示该程序应该已经终止,但是其父程序却无法正常的终止他,造成僵尸程序的状态,第三行状态为R+,表示该程序目前正在运作,或者是可被运作。不理解什么是“面向任务的格式”,这里用了长格式,也不理解什么是“个人用户中bash命令中的所有实例”,所以这里列出了名字中含bash的进程,可以看出,该进程父进程的id为4147。(1)显示所有进程,找出使用当前进程的进程ID号,查看其状态。原创 2022-10-26 16:27:20 · 1894 阅读 · 4 评论 -
实验一 Linux基本环境
运行a.out文件(a.out是gcc默认生成的文件,如果想要起别名,可以使用后一种方法)2)将当前日期和时间存放到新建文件file1中。1)以root用户登录,使用adduser在超级用户下为自己创建一个用户;4)将 /bin 目录以下所有目录及档案详细资料列出,按照修改时间排序;4)建立目录dir1和dir2,将dir1移动到dir2的目录下。6) 自系统启动以来,发生的所有的中断的次数。1)运行pwd命令,确定你当前的工作目录;6)将工作目录改到根目录(/)上。1)将工作目录改到你的主目录上。原创 2022-10-05 16:01:20 · 3777 阅读 · 2 评论