上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 59 下一页
摘要: 阅读全文
posted @ 2014-03-03 20:42 ITtecman 阅读(151) 评论(0) 推荐(0) 编辑
摘要: Linux的文件系统是由虚拟文件系统作为媒介搭建起来的,虚拟文件系统VFS(Virtual File System)是Linux内核层实现的一种架构,为用户空间提供统一的文件操作接口。它在内核内部为不同的真实文件系统提供一致的抽象接口。 如下图所示:用户应用程序通过系统调用,与内核中的虚拟文件系统交互,操作实际的文件系统和设备。 阅读全文
posted @ 2014-03-03 20:32 ITtecman 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 设备文件是通过mknod命令来创建的。其命令格式为: mknod [OPTION]... NAME TYPE [MAJOR MINOR]TYPE取值:主设备号和次设备号两个参数合并成一个16位的无符号短整形,高8位表示主设备号,低8位表示次设备号。一个设备文件通常与一个硬件设备相关联,或者与硬件设备的某一物理或逻辑分区相关联。但在某些情况下设备文件不会和任何实际的硬... 阅读全文
posted @ 2014-03-03 20:11 ITtecman 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 上图中,红色方块内为设备的主设备号,黄色方块内为设备的次设备号。 主设备号是表示系统存取这个设备的“内核驱动”。驱动程序是UNIX系统内核代码中的一部分,其作用是用来控制一种特殊设备的输入输出。大多数的UNIX系统都有多种设备驱动程序,每一个设备文件名中的主设备号就代表这个设备使用的是哪个设备驱动程序。 次设备号:每一个设备文件都有一个次设备号。“次设备号”是一个24位的十六进制数字,其定... 阅读全文
posted @ 2014-03-03 19:39 ITtecman 阅读(1243) 评论(0) 推荐(0) 编辑
摘要: 在Linux的文件系统中,索引节点是文件的标识,并且这个值是唯一的,两个不同的文件的索引节点值是不同的,索引节点相同的文件它们的内容是相同的,仅仅文件名不同。修改两个索引节点值相同的文件中的一个文件,另一个文件的内容也跟着发生变化。 索引节点值相同的文件,二者的关系是互为硬链接。当修改其中一个文件的内容时,互为硬链接的文件内容也会随着变化。如果删除互为硬链接关系的某个文件时,其他文件并不受影响。 阅读全文
posted @ 2014-03-03 19:24 ITtecman 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 静态链接库 前言静态库是obj文件的一个集合(目标文件中通常仅解析了文件内部的变量和函数,对于引用的函数和变量还没有解析,这需要将其他已经编写好的目标文件引用进来,将没有解析的函数和变量进行解析,通常引用的目标是库),通常静态库以".a"为后缀,名字格式一般为libxxx.a。静态库由程序ar生成。实例程序如下:Main.c #include extern void print_hello();intmain(void){print_hello();}Print_hello.c #include voidprint_hello(){printf("hello\n& 阅读全文
posted @ 2014-03-03 17:21 ITtecman 阅读(16452) 评论(2) 推荐(3) 编辑
摘要: 各种平台打开伪终端设备的方法有所不同。在Single UNIX Specification的XSI扩展中包含了很多函数,试图统一这些方法。这些函数的基础是SVR4用于管理基于STREAMS的伪终端的一组函数。posix_openpt用来打开下一个可用的伪终端主设备,该函数是可移植的。#include #include int posix_openpt(int oflag);返回值:若成功则返回下... 阅读全文
posted @ 2014-03-03 11:21 ITtecman 阅读(2050) 评论(0) 推荐(0) 编辑
摘要: 引言在终端和运行的程序之间有一个终端行规程(见http://www.cnblogs.com/nufangrensheng/p/3575752.html中的图18-2),通过它我们能够在终端上设置特殊字符(退格、行删除、中断等)。但是,当一个登陆请求到达网络连接时,终端行规程并不是自动被加载到网络连接和登陆程序shell之间的。概述伪终端这个术语暗示对于一个应用程序而言,它看上去像一个终端,但事实上... 阅读全文
posted @ 2014-03-03 10:27 ITtecman 阅读(1254) 评论(0) 推荐(0) 编辑
摘要: 大多数UNIX系统都提供了一种功能,可以对当前终端窗口的大小进行跟踪,在窗口大小发生变化时,使内核通知前台进程组。内核为每个终端和伪终端保存一个winsize结构:Struct winsize {unsigned shortws_row;/* rows, in character */unsigned short ws_col;/* columns,... 阅读全文
posted @ 2014-03-02 22:34 ITtecman 阅读(1741) 评论(0) 推荐(0) 编辑
摘要: 关闭termios结构中c_lflag字段的ICANON标志就使终端处于非规范模式。在非规范模式中,输入数据并不组成行,不处理下列特殊字符:ERASE/KILL/EOF/NL/EOL/EOL2/CR/REPRINT/STATUS/WERASE.如前所述,规范模式很容易:系统每次返回一行。但在非规范模式下,系统怎样才能知道在什么时候将数据返回给我们呢?解决方法:当已读了指定量的数据后,或者已经过了给... 阅读全文
posted @ 2014-03-02 22:00 ITtecman 阅读(525) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 59 下一页