摘要: 文件操作 大多数情况下,只需知道5个基本的函数--open,close,read,write,ioctl(将控制信息传递给设备驱动程序)。在Linux中,一切都是文件。文件除了本身包含的文件内容以外,它还会有一个名字和一些属性,也就是文件的管理信息,包括文件的创建/修改日期和文件的访问权限等。这些属性都被保存在文件的inode节点中,它是文件系统中的一个特殊的数据块,它同时还包含文件的长度和文件在磁盘上的存放位置。系统使用的是文件的inode编号,目录结构为文件起个名字仅仅是为了人们使用方便。 可以通过ln命令在不同的目录中创建指向同一个文件的链接,删除一个文件的时候,实质上市删除了该文件.. 阅读全文
posted @ 2012-07-01 20:36 鼻子很帅的猪 阅读(356) 评论(0) 推荐(0) 编辑
摘要: Memory mapped I/O就是把磁盘上的file映射到内存上,当我们从内存上fetch byte时,对应的file就被读取。同样的,当我们在内存上存储字节的时候,对应的file就被写入。这就让我们不需通过read和write系统调用而去操作I/O。 mmap内存映射建立一段可以被多个进程读写的内存段。共享内存。 mmap函数作用是告诉内核把给定的文件file映射到内存的一块空间,mmap函数原型如下:#include <sys/mmam.h>void *mmap(void *addr, size_t len, int prot, int flag, int... 阅读全文
posted @ 2012-07-01 13:47 鼻子很帅的猪 阅读(4773) 评论(0) 推荐(0) 编辑
摘要: poll函数和select函数非常相似,但是函数接口不一样。 int poll(struct pollfd fdarray[], nfds_t nfds, int timeout); int select(int maxfdp1, fd_set *restrict readfds, fd_set *restrict expectfds, struct timeval * restrict tvptr); 其中poll函数中,结构pollfd如下: struct pollfd{ int fd; //file descriptor short event;//event o... 阅读全文
posted @ 2012-07-01 12:20 鼻子很帅的猪 阅读(16864) 评论(0) 推荐(0) 编辑