- 7
- 0
- 约 30页
- 2017-08-10 发布于河北
- 举报
Linux网络编程读书笔记.doc
LINUX网络编程的读书笔记
笔记是该书内容的精简,适当之处加上我个人的观点。联系:zhangyv163@
笔记整理:ZhangYv 日期:2005-1-15
书名:Linux网络编程 作者:林宇 郭凌云 出版社:人民邮电
难度:入门到进阶
第一章 文件系统和进程系统
1.1文件系统的总体结构
从文件系统的实现角度来看,按层次可以分成应用程序、系统调用、文件子系统、高速缓冲、设备驱动和具体的存储设备等几个层次,如下图:
在UNIX系统中,程序不管核心按照什么样的格式来组织文件,只是把文件看作一个无格式的字节流来看待。对文件的存取语法是由系统定义的,数据的语义是由程序加上去的。
应用进程通过系统调用来访问文件系统,分配给应用程序一个标准的通用接口, 便于屏蔽不同文件系统的差异。文件系统不能直接访问硬件设备,通过调用设备驱动进程来操作具体设备。对高速设备的访问,通常通过高速缓冲机制来提高设备和内存的数据交换。设备驱动进程用来屏蔽不同物理设备的操作差异。
文件系统的总体结构是:引导块、超级块、索引节点表,数据区。
·引导块在文件系统的最前面,它和操作系统引导有关。有且只有一个引导块有效。
·超级块也叫管理块,存放文件系统的管理信息,如文件系统大小、空闲块大小、空闲块链表节点头等信息。
·索引节点表,每个文件都对应着一个索引节点,里面反正用户的存取权限、信息等。通过路径访问文件,内核把文件路径经过转换映射到索引节点表中对应节点去。
·数据区。文件系统实际存放数据的磁盘空间。
·空闲数据块表。超级块中空间很小,所以把空闲数据块的信息写在数据区中。
VFS(Virtual Filesystem Switch)
LINUX通过虚拟文件系统转换来实现多文件系统的支持。LINUX把对文件操作的系统调用转为对不通过文件系统操作的子程序调用,这些子程序都针对具体文件系统而编写。虚拟文件系统不是真正的文件系统,而是一种映射机制来屏蔽下层的差异为上层提供方便。
1.2 文件结构和目录结构
LINUX中的每个文件都对应虚拟文件系统的一个索引节点,里面存放有直接或多级指针能够记录文件的数据,这样设计是为了存取大文件。
目录也能抽象成文件,也通过索引节点表来描述,并且把目录表中的目录项存放在数据区中。目录表的基本构成单位是目录项,有“文件名-索引节点号”构成。文件节点索引表中并不包含文件名这个信息,文件名被填写在目录文件中。
·硬连接和符号(软)连接的区别:
硬连接能实现的功能符号连接都能实现。硬连接只能用在文件(非目录)和同一个文件系统,但是符号连接适用在目录,也适用在不同的文件系统间。但是符号连接比硬连接更消耗内核资源,因为符号连接的转换规则是在内核中实现的,而硬连接则直接指向索引节点。
硬连接是文件名和索引节点的对应关系;符号连接是指向文件的路径
·文件系统相关编程:
从系统的实现角度来看,文件内在表示是唯一确定的索引节点。如果从编程角度来看,文件可以通过文件描述符和文件指针来表示。UNIX I/O库中有open,write,read,close,ioctl等系统调用来操作文件描述符。
在C库函数中,有fopen, fprintf, fread, fwrite, fclose等文件操作函数对文件指针进行处理,它们是对系统调用的再次封装。
从系统角度来说:文件句柄就是文件的一种标志,是文件描述符表中的索引号。进程的标志输入、输出和错误输出的文件描述符分别是0,1,2在unistd.h中将它们定义为STDIN_FILENO, STDOUT_FILENO和STDERR_FILENO。
从C函数库角度来说:文件句柄是一个指向文件结构的指针。。进程的标志输入、输出和错误输出在stdio.h中被定义为stdin, stdout, stderr。可以使用系统调用fileno()将一个文件指针转为文件描述符。
1.3 进程系统
·程序并行执行中的问题:
静态程序的概念不能很好描述并行环境下的规律,因此引入的进程的概念。单道程序设计中,环境是封闭的,资源总被独占;而在并行环境中由于封闭性和资源的独占性被破坏,这将导致很多问题。
·进程和程序的区别:
程序是指令和数据的集合,是一个静态文本,存放在一个普通的文件中,该文件在索引节点表中的文件标志为“可执行”。
进程是程序在一个包括指令段、系统和用户数据的环境中,为了完成预定的任务而运行一次的过程。进程被撤销后就不再存在,而程序的文本依然留在系统中。
·进程的物理表示:
为了描述动态变化的进程,我们把进程静态的分为3个部分:程序部分、数据部分、进程控制块——统一称为进程映像。
进程的程序部分可以被多个程序所共享,共享代码段应该被编写成纯代码puer code,即该程序段的功能不随着调用的
您可能关注的文档
最近下载
- 大学英语六级词汇表-带音标.pdf VIP
- 第二章成本性态分析与变动成本法_管理会计.doc VIP
- 山东省春季高考英语真题与.docx VIP
- 山东省2024年春季高考考试语文试卷试题真题_可搜索.pdf VIP
- 2025年山东省春季高考英语试卷试题真题(含答案).pdf VIP
- 2021年山东省春季高考数学真题-【含答案】.docx VIP
- 【新教材】人教PEP版(2024)四年级下册英语全册教案(含教学计划).docx
- 2024年山东省春季高考数学试卷试题及答案详解.pdf VIP
- 2024年山东省春季高考数学试卷试题真题(含答案) (2).pdf VIP
- 2024年山东省春季高考数学试卷试题真题(含答案).pdf VIP
原创力文档

文档评论(0)