天天看点

APUE学习——Ch1.UNIX基础知识

Unix是操作系统。操作系统是一种软件,它控制计算机的硬件资源,提供程序运行环境。

APUE学习——Ch1.UNIX基础知识

Unix文件系统是由目录和文件组成的一种层次结构,目录的起点是根(root),其名字是“/”。目录是一个包含许多目录项的文件,在逻辑上,可以认为每个目录项都包含一个文件名,同时还包含说明该文件属性的信息。文件属性是指文件的类型,文件大小,权限以及修改时间或创建时间等。文件的路径有两种:绝对路径(路径名由“/”开始)和相对路径。

文件,系统在打开一个已有文件或者创建一个新文件的时候,会返回一个文件描述符(file descriptor)。三个特定的文件描述符,标准输入/标准输出/标准出错的的文件描述符分别为0/1/2。

函数open,read,write,lseek以及close提供了不用缓冲的I/O。这些函数都使用文件描述符。

程序和进程。程序是存放在磁盘上的可执行文件,是静态的;而进程是程序的运行实例,是动态的。每个进程通过进程ID(PID)标识。用于进程控制的函数主要有:fork,exec和waitpid(exec有六种变体,但经常把他们统称为exec函数)。

线程。在一个进程内的所有线程共享同一地址空间,文件描述符,栈以及进程相关的属性,因为它们能访问同一存储区,所以各线程在访问共享数据时需要采取同步措施以避免不一致性。

时间值。UNIX使用两种不同的时间:1.日历时间——该值是自1970年1月1日00:00:00以来国际标准时间(UTC)所经过的秒数累计值,系统用基本类型time_t保存这种时间值。2.进程时间——这也被称为CPU时间,用以度量进程使用的CPU资源。进程时间使用以clock tick计算的,系统用基本类型clock_t保存这种时间值。