Skip to content

huyikun/LinuxBig

Repository files navigation

LinuxBig

设计文档

本程序由三个 C 文件组成,其中 main.c 为主文件,其中包含信号控制函数,内存映射初始化,然后开两个进程,并通过 execl 函数各自运行 chef1.c 和 chef2.c 文件,chef1.c 的目标是完成菜肴的准备工作,通过内存映射获得订单,然后开多个线程,并进行菜肴的准备工作,各线程之间由互斥锁完成同步同步,然后将其通过信号量传至 chef2.c 完成菜肴的最后工作。本程序的订单为一个结构体,结构体中包含一个循环数组,两个指针分别指向当前要完成的订单,将要放入新订单的数组位置,以及一个标志订餐过程是否结束的标志位。

程序使用过程

先将三个 C 文件全部编译为同名文件,然后运行 main 文件,然后通过发送用户自定信号 USR1 和 USR2 来下订单,然后通过结束信号,完成订单过程,之后结束程序。

About

Linux并发编程作业

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages