操作系统实验一分析.ppt

操作系统实验一分析

操作系统实验课 主讲人: 仲志成 实验一 进程与线程 - Linux进程与线程通讯 实验目的 深刻理解线程和进程的概念,掌握线程与进程在组成成分上的差别,以及与其相适应的通讯方式和应用目标。 Linux系统的fork()保持了UNIX的经典语义,被创建进程具有独立于父进程的地址空间,二者之间的通讯通常可采用pipe机制。clone()是Linux系统特有的系统调用,可以通过参数确定父子之间是否共享存储空间等资源,在地址空间等资源共享的情况下clone实质相当于创建了一个轻进程或线程,这是clone的通常用法。实际在Linux系统中,fork以及用户级线程pthread都是基于clone实现的。 实验内容 以Linux系统进程和线程机制为背景,掌握fork()和clone()系统调用的形式和功能,以及与其相适应的高级通讯方式。由fork派生的子进程之间通过pipe通讯,由clone创建的线程之间通过共享内存通讯,对于后者需要考虑互斥问题。 以生产消费问题为例,通过实验理解fork()和clone()两个系统调用的区别。程序要求能够创建4个进程或线程,其中包括两个生产者和两个消费者,生产者和消费者之间能够传递数据。 实验准备 fork系统调用 pid=fork() 创建一个子进程,子进程是父进程的完整复制,正常返回值为非负整数,对于父进程来说该数大于0,是子进程的编

文档评论(0)

1亿VIP精品文档

相关文档