软 件 学 院上 机 实 验 报 告课程名称: 操作系统原理 实验项目: 实验一 Linux 环境下的进程管理 实 验 室: 耘慧 402 姓 名: 王欣鸿 学 号: 1320010724 专业班级: 软件 13—7 实验时间 : 2024/12/06 实验成绩评阅老师一、 实验目的及要求1
加深对进程概念的理解,明确进程和程序的区别;2
进一步认识并发执行的实质;3
分析进程争用资源的现象,学习解决进程互斥的方法;4
了解 Linux 系统中进程通信的基本原理
二、 实验性质验证性三、 实验学时4 学时四、 实验环境 Linux 系统开发环境五、实验内容及步骤1.给出实验内容具体描述; 1)进程的创建 编写一段程序,使用系统调用 fork()创建两个子进程
当此程序运行时一个父进程和两个子进程活动
让每一个进程在屏幕上显示一个字符;父进程显示字母子进程显示字母 b 和 c
2)进程的控制 修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象
2.用适当形式表达算法设计思想及算法实现步骤
系统调用: fork() 创建一个新进程
系统调用格式: pid=fork()参数定义: Int fork()fork()返回值的意义如下: 0 :在子进程中,pid 变量保存的 fork()返回值为 0,表示当前进程是子进程
>0:在父进程中,pid 变量保存的 fork()返回值为子进程的 id 值 —1:创建失败
假如 fork()调用成功,它向父进程返回子进程的 pid,并向子进程返回调用了一次,但返回了两次
此时 OS 在内存中建立一个新进程,所建的新进程是调用fork()父进程的副本,称为子进程
子进程继承了父进程的许多特新,并具有与父进程完全相同的用户级上文
父进程与子进程并发执行
核心为 fork()完成以下操作 1)为新