引言
所有操作系统都为它们所允许的程序提供服务。
典型的服务包括:执行新程序、打开文件、读文件、分配存储区以及获得当前时间等。
UNIX 体系结构
可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。
通常将这种软件称为内核,因为它相对较小,而且位于环境的核心。
内核的接口被称为系统调用。
公用函数库构建在系统调用接口之上,应用程序既可使用公用函数库,也可使用系统调用。
shell是一个特殊的应用程序,为运行其他应用程序提供了一个接口。
广义上,操作系统包括了内核嗯哼哼一些其他软件,这些软件使得计算机能够发挥作用,并使计算机具有自己的特性。
其他软件包括系统实用程序、应用程序、shell以及公用函数库等。
登录
1. 登录名
用户在登录UNIX系统时,先键入登录名,然后键入口令。
系统在其口令文件(通常是/etc/passwd文件)中查看登录名。
口令文件中的登录项由7个以冒号分隔的字段组成,依次是:登录名、加密口令、数字用户ID(205)、数字组ID(105)、注释字段、起始目录(/home/sar)以及shell程序(/bin/ksh)。
sar:x:205:105:Stephen Rago: /home/sar:/bin/ksh
目前,所有的系统已将加密口令移到另一个文件中。
2. shell
用户登录后,系统通常先显示一些系统信息,然后用户就可以向 shell 程序键入命令。(当用户登录时,某些系统启动一个视窗管理程序,但最终总会有一个shell程序运行在一个视窗中)。
shell是一个命令行解释器,它读取用户输入,然后执行命令。
shell的用户输入通常来自于终端(交互式shell),有时则来自于文件(称为shell脚本)。
系统从口令文件中相应用户登录项的最后一个字段中了解到应该为该登录用户执行哪一个shell。
文件和目录
1. 文件系统
UNIX 文件系统是目录和文件的一种层次结构,所有东西的起点是称为根的目录,这个目录的名称是一个字符“ / ”。
目录是一个包含目录项的文件。
在逻辑上,可以认为每个目录项都包含一个文件名,同时还包含说明该文件属性的信息。
文件属性是指文件类型(是普通文件还是目录等)、文件大小、文件所有者、文件权限(其他用户能否访问该文件)以及文件最后的修改时间等。
stat 和 fstat 函数返回包含所有文件属性的一个信息结构。
2. 文件名
目录中的各个名字称为