![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
KD_
这个作者很懒,什么都没留下…
展开
-
并发编程 - lost wakeup
Java中wait()方法为什么要放在同步块中?(lost wake-up 问题):https://www.cnblogs.com/sunweiye/p/11055550.htmllost wakeup问题sleep 和 wakeup使用于等待某事发生,用于阻塞和唤醒线程的情形中。所以sleep的使用逻辑是:检查状态,不符合则调用sleep阻塞当前线程;wakeup的使用逻辑是:改变状态,调用wakeup唤醒对应线程。lost wakeup问题:(1)线程1首先检查状态,发现不符合。(2)线程2改原创 2022-04-02 21:15:41 · 724 阅读 · 2 评论 -
Memory ordering - 内存屏障
CPU缓存会导致两个关于内存的并发问题:可见性有序性可见性描述的是多个线程的问题,一个线程修改变量之后,另一个线程却无法查看变量最新值的问题。有序性描述的是一个线程的问题,一个线程内的读写操作发送了重排序。但是这个现象一定是通过另外一个线程观察到的,因为对于同一个线程具有as-if-serial的性质。有序性问题可分为两大类:编译重排序和CPU指令并行执行重排序:指令的执行顺序在物理时间上发生了真正意义上的的重排序,即代码上位于后面的指令,却先执行了。CPU读写缓冲区重排序:指令的执行顺原创 2022-03-06 21:35:43 · 385 阅读 · 0 评论 -
磁盘IO总结:顺序读写、随机读写、4K对齐
对于不同类型的磁盘,顺序读写均优于随机读写,且4K对齐读写效率更高。但是其中的原因却不尽相同。机械硬盘IO方式 :顺序读写 > 随机读写机械硬盘寻道时间无法忽略,顺序读写减少了磁盘寻道的时间。顺序读写在操作系统页缓存的作用(预读和回写)下,也会有更高的读写效率。IO单位 :64KB >= 4KB > 1KBIO单位越大,读写相同的数据,系统调用的次数就越少。读操作:在机械硬盘的时代,在读取数据少的时候,很可能寻道时间远超过传输时间,那么基本上就是读取次数固定,比如硬盘如果io原创 2021-11-25 00:34:42 · 8890 阅读 · 0 评论 -
磁盘IO对齐
https://blog.csdn.net/FL63Zv9Zou86950w/article/details/116279367转载 2021-11-02 17:37:56 · 154 阅读 · 0 评论 -
CPU 寄存器
https://segmentfault.com/a/1190000037478310https://zhuanlan.zhihu.com/p/272135463转载 2021-11-02 11:08:09 · 76 阅读 · 0 评论 -
进程/线程上下文切换
Linux内核进程上下文切换深入理解操作系统(四) – 用户级线程与核心级线程(线程的切换)原创 2021-05-06 09:59:41 · 84 阅读 · 0 评论 -
linux文件IO (MMAP和DIRECT IO区别)
转载 http://blog.chinaunix.net/uid-27105712-id-3270102.html转载 2021-02-11 15:24:33 · 338 阅读 · 0 评论 -
IO多路复用的三种机制Select,Poll,Epoll
https://www.jianshu.com/p/397449cadc9a转载 2020-10-09 19:43:29 · 101 阅读 · 0 评论