持续更新
记录操作系统相关的常识。
1. 常识
1.1 cache 与 buffer
以下参考自:《Cache 和 Buffer 都是缓存,主要区别是什么?》 [1]。
cache 用于处理系统两端的速度不匹配,比如 cpu 和 memory 的速度差距越来越大,所以就利用局部性原理,通过 memory hierarchy (分级存储)的策略减少这种差距造成的影响。
buffer 用于处理系统两端的速度不平衡,减少短时间内突发 I/O 的影响,起到流量整型的作用。
1.2 XSI
XSI 是 X/Open 组织对 unix 接口定义的一套标准 (X/OPEN System Interface)。
但目前使用得比较多的是 POSIX(Portable Operating System Interface),它并不局限于 Unix,其他的一些操作系统也支持 Posix,包括 Windows,Dec。
另外还有一个 SUS,即 Single UNIX Specification,它相当于 POSIX 的超集,定义了一些额外附加的接口。
1.3 linux 下的共享内存
创建共享内存有几种方式。
参考:
两种Linux共享内存
Linux: shm_xx系列函数使用详解
shmget和shm_open的区别,分别写一个示例代码
C语言之共享内存之shmget进程间通信(二十三)
1.3.1 mmap
1.3.2 shmget
1.3.3 shm_open
1.3.4 shmget 与 shm_open 的区别
2. 参考
[1] Quokka. Cache 和 Buffer 都是缓存,主要区别是什么. Available at https://www.zhihu.com/question/26190832/answer/32387918, 2017-02-15.