文件是什么--是对信息载体的形式抽象

文件:信息存储载体的单元;抽象为字符序列、数据流;

抽象的结果是简化所有IO设备的操作描述;

 

UNIX 是第一个把 I/O 抽象成一个统一的概念和一系列原语的系统。

https://juejin.im/post/5b652d346fb9a04fc03129e6

 

字节流==数据流

 

IO设备:文档、目录、磁盘驱动器、CD-ROM、调制解调器、键盘、打印机、显示器、终端。

IO设备的抽象:

传统上,计算机上用于 IO 的设备大致可以分成两大类,块(block)设备和流(stream)设备。前者可以抽象成一组数据块,读写必须数据块为单位。后者可以抽象成一个数据流,你可以一个字节一个字节的读写,但写出去的数据就是写出去了,没法再改。

https://www.cnblogs.com/feng9exe/p/10222076.html

 

文件操作原语:

in Unix, everything is a file.This simplifies the manipulation of data and devices into a set of core system calls: open(), read(), write(), lseek(), and close().

https://www.cnblogs.com/feng9exe/p/10221729.html

 

 

1、在linux中,一切皆为文件,所有不同种类的类型都被抽象成文件。如:普通文件、目录、字符设备、块设备、套接字等

2、当一个文件被进程打开,就会创建一个文件描述符。这时候,文件的路径就成为了寻址系统,文件描述符成为了字节流的接口

3、相对于普通文件这类真实存在于文件系统中的文件,tcp socket、unix domain socket等这些存在于内存中的特殊文件在被进程打开的时候,也会创建文件描述符。所以"一切皆文件"更准确的描述应该是"一切皆文件描述符"

https://www.cnblogs.com/feng9exe/p/10221087.html

 

posted @ 2019-06-12 15:07  zzfx  阅读(790)  评论(0编辑  收藏  举报