主存索引节点和辅存索引节点的不同主要体现在:主存索引节点状态:设备号.索引节点号:引用计数. 主存索引节点状态——反映主存索引节点的使用情况.它指示出: 1.  索引节点是否被锁上了: 2.  是否有进程正在等待索引节点变为开锁状态 3.  作为对索引节点中的数据进行更改的结果,索引节点的主存表示是否与它的磁盘中的内容不同. 4.  作为对文件数据更改的结果,文件的主存表示是否与它的磁盘中的内容不同. 5.  该文件是否是安装点. 设备号.索引节点号.对应辅存索引节点的位置信息.设备号是索引节点…
以下代码为 UNIX 系统中 wc 程序的骨干部分 #include <stdio.h> #define IN 1 #define OUT 0 int main(int argc, char const *argv[]) { int c, nl, nw, nc, state; state = OUT; nl = nw = nc = ; while ((c = getchar()) != EOF) { ++nc; if (c == '\n') ++nl; if (c == ' ' || c ==…
http://blog.csdn.net/u012349696/article/details/50687462 编号为1 ~ 31的信号为传统UNIX支持的信号,是不可靠信号(非实时的),编号为32 ~ 63的信号是后来扩充的,称做可靠信号(实时信号).不可靠信号和可靠信号的区别在于前者不支持排队,可能会造成信号丢失,而后者不会. 下面我们对编号小于SIGRTMIN的信号进行讨论. 1~15号信号为常用信号 1) SIGHUP本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制…
网上关于system函数的返回值说明很多很详细但却不直观,这里搬出apue 3rd Editon中实现system函数的代码来说明其返回值. #include <sys/wait.h> #include <errno.h> #include <unistd.h> int system(const char *cmdstring) { pid_t pid; int status; /* version without signal handling */ if (cmds…
这篇文章是我在一个叫做Charlotte数据挖掘的公众号上看到的文章,文首提到转载自"朱小厮的博客",当我今天执行一个自己编译的可执行文件后的运行阶段想到了这篇文章,直接一次成功.非常感谢这篇文章.现在记录下来,仅供学习. 在Linux中,我们执行内置命令时,直接输入命令名称即可,如: $ mv a b #将a重命名为b 而在执行自己写好的程序时,却要带上./,例如: $ hellohello: command not found$ ./hellohello world 这是为什么呢?…
进程之间通常需要进行数据的传输或者共享资源等,因此进程间需要通讯. 可以通过管道,信号,消息队列,共享内存,信号量和套接字等方式 FIFO表示命名管道,这种管道的操作是基于先进先出原理. PIPE 表示匿名管道,主要用于有父子关系的两个进程间的通信,所以不是两个进程之间的通信.…
文件系统: 以UNIX系统V文件系统为例: 磁盘分为区,每个分区都有自己的文件系统: ​ i节点是固定长度的记录项,包含了文件的相关信息.目录项包含文件名和i节点号.stat结构中除文件名和i节点编号之外的数据都包含在i节点中 在进行文件索引的时候会首先找到目录项,根据目录项的i节点号找到i节点,i节点中包含了若干数据块的引用,这些数据块就是文件内容.目录项只是对i节点的引用 多个目录项可以引用相同的i节点,i节点将记录引用它的目录项的个数,只有在没有目录项引用它的时候才可以删除其中的数据.所以…
特殊文件是UNIX系统中最具特色的文件特性之一.特殊文件也称设备文件.提供用户访问外部设备,而不必知道各种设备的具体操作.UNIX利用特殊文件作为用户与设备文件的接口,使用户能像访问普通文件那样访问特殊文件.      特殊文件不包含任何数据,她只是提供了一种机制,即在文件系统中建立物理设备与文件名之间的映射.特殊文件利用mknod或系统调用创建,且必须提供相关的驱动程序,并集成到系统内核中.否则即使创建了特殊文件,也无法访问相应的设备.     mknod special   type  […
一. 引言 UNIX系统作为一种强大的多用户分时操作系统,在越来越多的场合受到了应用,同时,对UNIX的系统管理的要求也随之越来越多,但目前的书籍对UNIX系统管理命令介绍的并不是很多.本文主要是针对UNIX系统管理员,以SUN SOLARIS 2.6 系统为 例,列举了一些UNIX常用的管理命令的使用及其使用中遇到的问题和解决方法,供大家参考. 二. 常用系统管理命令介绍 1. share 和 mount 命令 这是系统管理员常用的两个命令,share命令用于把本机的目录共享出来,以便其它UN…
在Unix系统中,一且皆为文件.一个Linux文件就是一个字符序列,并且所有的I/O设备都被模型化成了文件.而所有的输入输出都被当作对对应文件的读和写.Linux提供了一组简单.低级的接口,使得所有的输入输出都可以用一种简单通用的方式来执行. Linux文件的分类 每一个文件都有一个类型(type)来表示它在系统中的角色,主要有以下几种: 普通文件.普通文件包括文本文件和二进制文件. 目录.目录包含一组指向其目录内的连接(link) 套接字文件.其主要用来和另外的进程进行跨网络通信. 管道.管道…