操作系统课件
文章平均质量分 92
世界已黑白
这个作者很懒,什么都没留下…
展开
-
读写优先问题
关于读写问题的读优先代码如下:Mutex WR =1; Mutex CountMutex =1; int count=0; //首先编写write的大概框架; void write(){ //由于读写以及写写之间需要互斥,所以使用WR隔离; //保证了写与写以及读与写之间的互斥; P(WR); write operation; V(WR); } // read的大概原创 2017-10-09 09:34:21 · 1760 阅读 · 0 评论 -
c++实现简单的读写锁
#include<unistd.h> #include <pthread.h> #include<iostream> class RWLock{ // 读写锁 public: RWLock(); ~RWLock(); void read_lock(); void read_unlock(); void write_loc...原创 2017-12-08 20:45:41 · 2084 阅读 · 0 评论 -
TCP专题
原创 2018-05-09 11:32:42 · 124 阅读 · 0 评论 -
关于静态库的连接问题
内功心法: 如果想理解大型程序的构建必须完全理解linker阶段到底做了哪些工作;一下抛砖引玉,一些个人的理解。 提前知识:linxu下目标文件格式(ELF): 1.可重定位目标文件; //你可以暂时理解为通常说的.o 2.可执行目标文件; //你可以单纯的理解为.exe 3.共享库; 首先对于基本的程序编译步骤大致可以分为如下: ...原创 2018-06-04 14:56:31 · 1114 阅读 · 0 评论 -
linux thread Implementation
linux下三种实现线程模型的方式: M to one : 线程在用户空间,内核感知不到,这样所有关于线程的一切操作可以在用户空间下做,包括创建,消除,上下文切换,以及加解锁,效率很高。 缺点也显而易见:当当前某个线程因为特定事件,比如IO等待时,就会出现所有线程全部阻塞住,因为,内核能看到的只有进程,而无法对进程进行切换。 one to one: M to N:...原创 2018-08-03 09:05:47 · 142 阅读 · 0 评论 -
git来龙去脉 与 使用总结
git 分布式版本控制系统 为了更好理解git首先理解几个概念: 图1.1 如上图所示 1 . 工作区: 这里是你实际编写代码的地方,你可以简单理解为工作目录,你所编写的代码放在这。 2 . 版本库: 工作区里会有一个隐藏目录: .git,这里面存放了很多东西,是版本控制的核心,版本库中又有两个比较重要的...原创 2018-08-13 18:12:23 · 148 阅读 · 0 评论