同步机制
荒野之萍
个人主页: https://icoty.github.io
Github: https://github.com/icoty
展开
-
另类P、V操作问题-详细图解
文章目录问题模型分析 问题模型 有一个系统,定义如下P、V操作: P(s): s.count--; if s<0 then 将本进程插入相应队列末尾等待; V(s): s.count++; if s<=0 then 从相应等待队列队尾唤醒一个进程,将其插入就绪队列; 思考并回答: a. 这样定义P、V操作是否有问题? b. 试用这样的P、V操作实现N个进程竞...原创 2019-04-26 14:23:46 · 4409 阅读 · 0 评论 -
基于共享内存、信号、命名管道和Select模型实现聊天窗口
问题模型 A、B两个进程通过管道通信,A 进程每次接收到的数据通过共享内存传递给A1进程显示,同理,B进程每次接收到的数据通过共享内存传递给B1进程显示; 对于A、B 进程,采用ctrl+c(实际为SIGINT信号)方式退出,A、B进程通过捕捉SIGINT信号注册信号处理函数进行资源清理,A1、B1进程手动关闭即可。 特别注意 A、B通过管道通信,如果首先通过ctrl+c退出A进程,那么B...原创 2019-04-18 09:17:53 · 556 阅读 · 0 评论 -
Nachos-Lab3-同步与互斥机制模块实现
文章目录源码获取内容一:总体概述内容二:任务完成情况任务完成列表(Y/N)具体Exercise的完成情况Exercise1 调研Exercise2 源代码阅读Exercise3 **实现锁和条件变量**Exercise4 **实现同步互斥实例**生产者-消费者问题(Condition实现)生产者-消费者问题(Semaphore实现)Challenge1 实现barrier(至少选做一个Chall...原创 2019-05-14 20:26:28 · 1706 阅读 · 0 评论 -
基于线程池、消息队列和epoll模型实现并发服务器架构
文章目录引言需求原型需求分解详细设计文档效果源码获取目录结构参考文献 引言 并发是什么?企业在进行产品开发过程中为什么需要考虑这个问题?想象一下天猫的双11和京东的618活动,一秒的点击量就有几十万甚至上百万,这么多请求一下子涌入到服务器,服务器需要对这么多的请求逐个进行消化掉,假如服务器一秒的处理能力就几万,那么剩下的不能及时得到处理的这些请求作何处理?总不能让用户界面一直等着,因此消息队列应运...原创 2019-06-07 23:26:46 · 792 阅读 · 0 评论 -
XV6源代码阅读-同步机制
Exercise1 源代码阅读 锁部分:spinlock.h/spinlock.c以及相关其他文件代码 // Mutual exclusion lock. struct spinlock { uint locked; // 0未被占用, 1已被占用 // For debugging: char *name; // Name of lock. struct cpu...原创 2019-06-09 16:50:02 · 1524 阅读 · 0 评论