摘要: 引言:可以先看 存储层次结构 和 Linux 文件I/O,理解缓存读写方式和文件I/O,看这篇就很容易了。 一、sync、fsync、fdatasync 传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓 阅读全文
posted @ 2022-05-23 19:41 墨尔基阿德斯 阅读(207) 评论(0) 推荐(0) 编辑
摘要: fread就是通过read来实现的,fread是C语言的库,而read是系统调用。 差别在read每次读的数据是调用者要求的大小,比如调用者要求读取10个字节数据,read就会从内核缓冲区(操作系统开辟的一段空间用来存储磁盘上的数据)读10个字节数据到数组中,所以每次调用read会涉及到用户态与內核 阅读全文
posted @ 2022-05-23 16:20 墨尔基阿德斯 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 正如上一篇我们提到过,进程是Linux系统中仅次于文件的基本抽象概念。正在运行的进程不仅仅是二进制代码,而是数据、资源、状态和虚拟的计算机组成。我们今天主要介绍进程的概念,组成,运行状态和生命周期等。 1、进程的概念 进程就是处于执行器的程序(目标代码放在某种存储介质上)。 但进程并不仅仅局限于一个 阅读全文
posted @ 2022-05-23 16:17 墨尔基阿德斯 阅读(287) 评论(0) 推荐(0) 编辑