![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 65
willinux
github地址:https://github.com/stephenix
展开
-
文件锁-flock和fcntl
文件级的锁:对整个文件加锁,flock系统调用文件内范围的锁:对文件的某个范围加锁,fcntl库函数1. flockflock是系统调用,加的建议锁tips:flock的锁的语义:获取到的锁是与打开的文件描述符,而不是文件描述符或者inode相关联(1)对于open同一个文件多次,获取到的不同fd,flock会认为是不同的,所以再加flock会block(2)flock创建的锁是和fd相关的,所以复制dup(fd)和fork产生的fd,都是同一把锁demo:#include <std原创 2021-07-12 10:25:24 · 488 阅读 · 0 评论 -
IO多路复用select、poll、epoll
IO多路复用转载 2020-07-30 11:34:37 · 72 阅读 · 0 评论 -
进程&线程(持续更)
进程&线程(持续更)进程和线程的关系? Question:进程的每个线程可以共享进程的所有资源吗?线程都有哪些资源?哪些是私有的资源,其他线程看不到的?哪些又是可共享的资源?Answer:进程的所有信息对该进程的所有线程都是共享的,包括可执行的程序文本、程序的全局内存和堆内存、栈以及文件描述符;线程包含了表示进程内执行环境必需的信息,其中包括进程中标识线程的线程ID、一组寄存器值、栈、原创 2015-10-10 12:08:33 · 422 阅读 · 0 评论 -
死锁 银行家算法
死锁 银行家算法1. 死锁1.1 产生死锁的4个必要条件产生死锁的4个必要条件: 1. 互斥条件:每个资源要么已经分配给一个进程,要么就是可用的; 2. 占有和等待条件:已经得到了某个资源的进程可以再请求新的资源; 3. 不可抢占条件:已经分配给一个进程的资源不能强制性地被抢占,它只能被占有的进程显式地释放; 4. 环路等待条件:死锁发生时,系统中一定有两个或两个以上的进程组成一条原创 2015-09-21 20:40:02 · 1443 阅读 · 0 评论 -
虚拟内存 分页
虚拟内存 分页昨天参加XX头条笔试,关于内存管理的两道题,赞。 原题:程序读取数据时为什么用虚拟地址,而不直接用物理地址?为什么要分页?第1题:我当时想,是啊,为什么不直接用物理地址,用虚拟地址还要转换成物理地址,岂不是过程又慢了; 第2题:分页,刚开始是分段的,为什么变为段页式管理? 好了请看下文:1. 早期的内存分配机制在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序转载 2015-10-11 16:51:27 · 1200 阅读 · 0 评论