linux文件IO之整理笔记(一)
以下是个人觉得比较详细而且易于理解的几篇文章,所以把它一起贴出来做为笔记(一)、(二)、(三),也希望对过路者提供一点方便。
第3章文件I / O
3.1 引言
本章开始讨论U N I X系统,先说明可用的文件I / O函数——打开文件、读文件、写文件等等。大多数U N I X文件I / O只需用到5个函数:o p e n、r e a d、w r i t e、lseek 以及c l o s e。然后说明不同缓存器长度对r e a d和w r i t e函数的影响。本章所说明的函数经常被称之为不带缓存的I / O(u n b u ffered I/O,与将在第5章中说明的标准I / O函数相对照)。术语——不带缓存指的是每个r e a d和w r i t e都调用内核中的一个系统调用。
这些不带缓存的I / O函数不是ANSI C的组成部分,但是是P O S I X . 1和X P G 3的组成部分。
只要涉及在多个进程间共享资源,原子操作的概念就变成非常重要。我们将通过文件I / O和传送给o p e n函数的参数来讨论此概念。并进一步讨论在多个进程间如何共享文件,并涉及内核的有关数据结构。在讨论了这些特征后,将说明d u p、f c n t l和i o c t l函数。
3.2 文件描述符
对于内核而言,所有打开文件都由文件描述符引用。文件描述符是一个非负整数。当打开一个现存文件或创建一个新文件时,内核向进程返回一个文件描述符。当读、写一个文件时,用o p e n或c r e a t返回的文件描述符标识该文件,将其作为参数传送给r e a d或w r i t e。按照惯例,UNIX shell使文件描述符0与进程的标准输入相结合,文件描述符1与标准输出相结合,文件描述符2与标准出错输出相结合。这是UNIX shell以及很多应用程序使用的惯例,而与内核无关。尽管如此,如果不遵照这种惯例,那么很多U N I X应用程序就不能工作。
在P O S I X . 1应用程序中,幻数0、1、2应被代换成符号常数S T D I N _ F I L E N O、S T D O U T _F I L E N O和S T D E R R _ F I L E N O。这些常数都定义在头文件< u n i s t d . h >中。
文件描述符的范围是0 ~ O P E N _ M A X (见表2 - 7 )。早期的U N I X版本采用的上限值是1 9 (允许每个进程打开2 0个文件),现在很多系统则将其增加至6 3。
&
相关文档:
1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......
最近在摆弄linux,发现它真的不适用来玩,用来办公还是可以、做高级应用也可以!
现在那些上网本的系统很多linux版,但在中国绝大部分都会被干掉换成windows,为什么?道理很简单,绝大多数这样的用户对电脑技术都不太熟,而且都� ......
常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux。 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需:
1, 关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》《现代操作系统》等巨著,但总要知道分时(time-shared)和� ......
1. Q. How do you find out the processes that are currently running or a particular user?
A. ps -au Myname (-u by effective user ID (supports names)) (a - all users)
2. Q. How do you kill a process?
A. kill -9 8 (process_id 8) or kill -9 %7 ( ......