深入理解计算机系统 第十章 系统级I/O

Posted stone94

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入理解计算机系统 第十章 系统级I/O相关的知识,希望对你有一定的参考价值。

 

很多高级语言都提供了执行 I/O 的较高级别的函数。为什么我们还要学习 Unix I/O?

原因:
1、由于 I/O 和其他系统概念之间有循环依赖关系,故了解 Unix I/O 将帮助我们理解其他的系统概念

2、有些特殊情况,只能或最好使用 Unix I/O。比如标准 I/O 库没有提供读取文件元数据(文件大小和文件创建时间)的方式

 

由于所有的 I/O 设备都被模型化为文件,所有的输入和输出都被当做对相应文件的读和写来执行。使得所有的输入和输出都能以一种统一且一致的方式来执行。

一般有以下几种输入输出操作:
1、打开文件

2、改变当前的文件位置

3、读写文件

4、关闭文件

 

Linux 文件的类型包含以下几种:

1、普通文件

2、目录

3、套接字

Linux 内核将所有文件都组织成一个目录层次结构,由名为 / 的根目录确定

 

进程通过 open 函数打开一个已存在的文件或者创建一个新的文件,通过 read 和 write 函数来执行输入和输出。

 

应用程序能够通过调用 stat 和 fstat 函数,检索到关于文件的信息(有时也称为文件的元数据)

应用程序可以用 readdir 系列函数来读取目录的内容

 



以上是关于深入理解计算机系统 第十章 系统级I/O的主要内容,如果未能解决你的问题,请参考以下文章

深入理解计算机系统(第二版)----之一

第十章 系统级I/O

关于异常控制流和系统级 I/O:进程

深入理解计算机系统 第十二章 并发编程

《深入理解计算机系统》学习指南

《深入理解计算机系统(原书第2版)》pdf