所有的操作系统都是为他的程序运行服务的,liunx也不例外。

所谓的服务一般都包括:执行新程序,打开文件,读取文件,和分配内存空间,以及获得当前的时间。


那么UNIX的体系架构是什么样子的?


从严格的意义上来说操作系统也是一种软件,他只是能够直接跟硬件接触的,从而保护了硬件,它才可以控制硬件资源,提供程序运行的环境,通常称这种软件就是内核。

内核的接口被称为系统调用。对于一般程序有几种不同的方式去访问内核的系统调用,其实系统调用就是调用内核里的函数库,

第一种方式:程序不经过GNU C lib库直接与内核间进行系统调用。这里的程序函数一般可以通过man 1手册可以查找;

第二种方式:是通过GNU C liB库间接调用系统库函数,这里的公共库函数建立在系统调用的接口上,程序既可以使用库函数,也可以使用系统调用;man 2

第三种方式:应用程序直接调用库函数,不通过系统调用调用内核函数,man 3.


shell是一种特殊的应用程序,他为其他程序运行提供了一种接口,

shell程序是操作系统和操作员的交互界面,

Shell是命令行解释器,它读取用户的输入,然后执行命令,而用户的输入一般都是终端,或者脚本(shell脚本就是多个shell命令的集合)。

每一个程序运行时,shell都会为他打开三个文件描述符,就是保准输出标准输入以及标准出错。


API 主要目的是提供应用程序与开放人员访问一组例程的能力,而无需访问源码或者理解内部的机制。API是应用程序的接口,是一个抽象概念。


UNIX文件系统是目录和文件的一种层次结构,所有东西的起点都是根即是root目录,而根的名字是一个字符“/”。