![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 65
OsDepK
这个作者很懒,什么都没留下…
展开
-
Linux用信号量实现PV操作,生产者消费者实验
具体来说,生产者在生产物品时,需要先等待`empty`信号量,然后获取`mutex`信号量对缓冲区进行访问,生产完成后更新缓冲区状态,并通过V操作释放`mutex`和`full`信号量;消费者在消费物品时,需要先等待`full`信号量,然后获取`mutex`信号量对缓冲区进行访问,消费完成后释放`mutex`和`empty`信号量。`empty`信号量用于表示缓冲区中的空槽数量,`full`信号量用于表示缓冲区中的满槽数量,`mutex`信号量用于实现互斥访问缓冲区。原创 2024-04-22 13:45:58 · 533 阅读 · 1 评论 -
Linux进程观察-进程控制实验程序
6、进入文件夹后我们创建一个名为“2”的c文件并保存,我们可以使用vi或vim命令,根据自己的Linux进行使用,(vi在Linux/UNIX中就相当于是Windows系统中的文本编辑器)首先,新建一个终端窗口,可以右击终端程序“新建窗口”,我们先要找到该程序的进程标识,可以使用以下命令显示部分进程命令。7、进入“2.c”文件后,可使用键盘上的插入键,在主键盘区右边的“INS键”进行插入和替换操作,此时我们可以将以下程序复制到文件中,使用右击粘贴或者编辑器上方“编辑”选择粘贴。进入文件夹命令:cd w。原创 2024-04-20 14:21:46 · 358 阅读 · 1 评论 -
Linux进程的同步互斥实验
值得一提的是,尽管C语言中也可以实现文件锁的功能,但在实际的生产环境中,更常用的做法是借助更高级的工具或库来实现文件的锁定,如使用POSIX文件锁或者专门用于文件锁管理的库函数,那么,我们就下面就开始操作。程序使用了标准库函数`open`、`fork`、`write`、`sleep`、`lockf`、`lseek`和`close`,它的主要目的是展示多个进程对同一个文件进行加锁和解锁的过程。其它需要注意的是,这段代码中使用了`fork`函数创建子进程,而`wait`函数用于在父进程中等待子进程结束。原创 2024-04-21 14:34:50 · 446 阅读 · 0 评论