Chinaunix首页 | 论坛 | 博客
  • 博客访问: 210421
  • 博文数量: 58
  • 博客积分: 2807
  • 博客等级: 少校
  • 技术积分: 610
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-09 14:18
文章分类

全部博文(58)

文章存档

2012年(1)

2011年(17)

2010年(40)

我的朋友

分类: LINUX

2010-10-09 15:53:54

Linux下(包括Unix)文件的涵义很广泛,文件概念不仅仅包含通常意义的保存在磁盘的各种格式的数据,还包含目录,甚至是各种各样的设备如键盘、鼠标、标准输出等,”Unix下一切皆文件“。

Linux下文件系统是对复杂系统进行合理抽象的一个经典例子,它通过一套统一的借口函数对不同的文件进行操作。如open()函数不仅可以打开ext2类型的文件,还可以打开fat32类型的文件,甚至是串口设备和显卡等。

Unix下文件主要分为以下几种:

普通文件: 如保存在磁盘上的C文件等,这种文件的特性是数据在存储设备上存放,内核提供了对数据的抽象访问,此种文件为一种字节流,访问接口完全独立于在磁盘上的存储数据。

字符设备文件:是一种能像文件一样被访问的设备,如控制台console、串口等

块设备文件:磁盘是此类设备文件的典型代表。与普通文件的区别是操作系统对数据的访问进行重新的格式设计。

socket文件:Unix中通过网络进行通信的方式,对网络的访问可以通过文件描述符的抽象实现,访问网络和访问普通文件类似。

Linux用户空间对各种文件的操作是类似的,因为虚拟文件系统VFS提供了同一套的API。
阅读(665) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-10-10 19:35:45

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com