[ APUE ] 第三章 文件系统】的更多相关文章

1. 文件描述符 打开或创建一个文件时,内核向进程返回一个文件描述符,当读.写一个文件时,用open()或creat()返回的文件描述符标识该文件,将其作为参数传递给write.read. stdin标准输入 fd = 0 stdout标准输出 fd = 1 stderr标准错误 fd = 2 ​ 为了可读性可以用 STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO宏来表示.这些宏在<unistd.h>中定义. ​ 文件描述符的变化范围 :0~OPEN_MAX-1…
原文网址:http://www.cnblogs.com/fusae-blog/p/4256794.html APUE第三章的最后面给出的函数,现在还用不着,所以,先留个名字,待到时候用着了再补上好了. dup和dup2函数:用来复制文件描述符的 sync函数,fsync函数和fdatasync函数:大致的功能是将缓冲区的数据刷进队列中,等待写入到硬盘中. fcnti函数:可以改变已打开文件的性质. ioctl函数:控制设备. 习题: 1.当读/写磁盘文件时,本章中描述的函数是否有缓冲机制?请说明…
APUE第三章的最后面给出的函数,现在还用不着,所以,先留个名字,待到时候用着了再补上好了. dup和dup2函数:用来复制文件描述符的 sync函数,fsync函数和fdatasync函数:大致的功能是将缓冲区的数据刷进队列中,等待写入到硬盘中. fcnti函数:可以改变已打开文件的性质. ioctl函数:控制设备. 习题: 1.当读/写磁盘文件时,本章中描述的函数是否有缓冲机制?请说明原因. 答:是没有的.上述提到的函数是open,read,write等基于POSIX的函数,是直接调用内核中…
文件共享 UNIX系统支持在不同进程中共享打开的文件,首先先用一幅apue的图来介绍一下内核用于I/O文件的数据结构: 如图所见,一个进程都会有一个记录项,记录项中包含有一张打开文件描述符表,每个描述符占用一项. 描述符包括:(a)文件描述符标志(fd标志),(b)指向一个文件表项的指针(文件指针). 而文件表包括:(a)文件状态标志,(b)当前文件偏移量,(c)v节点指针 v节点包括:文件类型和对此文件进行各种操作的函数的指针,大部分v节点还包括年i节点(索引节点,第四章详细介绍) 如果两个进…
read函数 调用read函数从打开的文件中读数据. #include <unistd.h> ssize_t read(int filedes, void *buf, size_t nbytes); 返回值:若成功则返回读到的字节数,若文件已到结尾则返回0,出错返回-1 有多种情况可使实际读到的字节数少于要求读的字节数 1.读普通文件时,在读到要求字节数之前已到达了文件尾端.例如,若在到达文件尾端之前还有30个字节,而要求读100个字节,则read返回30.下一次再调用read时,它将会返回0…
以下内容是我看<APUE>第二版第三章的笔记,有错还希望指出来,谢谢. unbuffered I/O,跟buffered I/O相对,buffered I/O就是 ISO C标准下的标准输入输出函数,而unbuffered I/O就是POSIX下的函数. 文件描述符,个人理解就相当于Linux下的UID,GID那样具有系统标识性的数字.系统对哪个哪个文件操作主要认的就是文件描述符.按照惯例,在UNIX的shell下,0代表标准输入,1代表标准输出,2就代表标准出错输出.在遵从POSIX的应用程…
第三章进程管理 进程是Unix操作系统抽象概念中最基本的一种.我们拥有操作系统就是为了运行用户程序,因此,进程管理就是所有操作系统的心脏所在. 3.1进程 概念: 进程:处于执行期的程序.但不仅局限于程序,还包含其他资源(打开的文件,挂起的信号,内核内部数据,处理器状态,一个或多个具有内催音社的内存地址空间及一个或多个执行线程,存放全局变量的数据段等) 内核需要有效又透明地管理所有细节. 线程:执行线程的简称,是在进程中活动的对象.每个线程有一个独立的程序计数器.进程栈和一组进程寄存器.内核调度…
第三章 数据存取 当前的很多大数据处理工作,一次计算产生几十个GB.或者几十个TB的数据已是正常现象,驱动数百.数千.甚至上万个计算机节点并行运行也已经不足为奇.但是在数据处理的后面,对于这种在网络间传输.数量巨大.且发生频率日益增加的数据处理,需要大数据系统具备极高的稳定性和可靠性才能保证完成计算任务.这是一项极其复杂的工作,需要兼顾好数据处理的每一个环节,而在这些环节中,最底层的一环:数据存取,又基本决定了大数据处理的整体效率. 在这一章里,我们将从数据的一些本质特征谈起,从多个角度去阐述数…
apue第七章学习总结 1.main函数 程序是如何执行有关的c程序的? C程序总是从main函数开始执行.main函数的原型是 int main(int argc,char *argv[]); 其中,argc是命令行参数的数目,argv是指向参数的各个指针所构成的数组. 当内核执行C程序时(使用一个exec函数),在调用main前先调用一个特殊的启动例程.可执行程序文件将此启动例程指定为程序的起始地址--这是由连接编辑器设置的,而连接编辑器则由C编译器(通常是cc)调用.启动例程从内核取得命令…
第三章:基本的bash shell命令 bash程序使用命令行参数来修改所启动shell的类型 参数 描述 -c string 从string中读取命令并处理他们 -r 启动限制性shell,限制用户在默认目录下活动 -i 启动交互性shell,允许用户输入 -s 从标准输入读取命令 环境变量PS1.PS2 PS1:控制默认命令行提示符格式 PS2:控制后续命令行提示符格式   bash shell提示符字符串中使用的特殊字符 字符 描述 \a 报警字符 \d “日 月 年”格式显示的日期 \e…