![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 74
子在梦中曰
程序是蓝色的诗
展开
-
《现代操作系统》(第三版)P76页 生产者消费者模型的程序的理解
Pthread提供许多可以用来同步线程的函数。其基本机制是使用一个可以被锁定和解锁的互斥量来保护每个临界区。一个线程如果想要进入临界区,它首先尝试锁住相关的互斥量。如果互斥量没有加锁,那么这个线程可以立即进入,并且该互斥量被自动锁定以防止其他线程进入。如果互斥量已经被加锁,则调用线程被阻塞,直到该互斥量被解锁。 …… 除互斥量外,pthread提供了另一种同步机制:条件变量。互原创 2016-12-03 02:38:13 · 788 阅读 · 0 评论 -
C语言模拟终端执行shell命令
程序只支持ls、cat和ps三个命令,思路是在用户输入一条命令之后fork一个新的进程,在新的进程里面执行命令。在我理解中,Mac的终端思路应该是类似的。在打开终端之后,程序会读取配置文件中目录下可执行的命令,然后根据用户的命令判断命令是否存在,如果存在,则fork出一个新的进程执行,否则返回“command not found”。本来觉得代码不复杂,但是写了很长时间,主要是两个问题,一个原创 2017-08-10 15:30:27 · 2134 阅读 · 0 评论 -
Mac 下编译 PHP 扩展遇到的一些问题
MacOS 每次更新都会给编译 PHP 扩展带来一些麻烦,今天在安装 PCNTL 扩展的时候又遇上了,所以记录一下。 我的系统版本是 macOS High Sierra 10.13.3,PHP 版本是 PHP-7.1.7。 首先我从官网下载跟我系统版本相同的 PHP,默认下载到 Downloads 目录下面,之后运行 phpize,提示如下错误:grep: /usr/inclu...原创 2018-02-09 15:52:19 · 1214 阅读 · 0 评论