你的位置:首页 > 操作系统

[操作系统]《UNIX环境高级编程》学习心得 一


本文内容大部分摘自《UNIX环境高级编程》,附有部分个人心得。


1、unix体系结构

从严格意义上来说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。
我们通常将这种软件称为内核(kernel),因为它相对较小,而且位于环境核心。如图显示unix体系结构。


内核接口被称为系统调用(system call)。公用函数库构建在系统调用接口之上,应用程序既可食用公用函数库,也可以使用系统调用。
shell是一个特殊的应用程序,为运行其他应用程序提供了一个接口。

从广义上来讲,操作系统包括内核和其他软件。

2、登陆

用户在登陆unix系统时,要先键入登录名,然后键入登录口令。系统在其口令文件(通常是/etc/passwd文件)中查看登录名。
口令文件中的登陆项是由七个以冒号为分隔的字段组成,依次是:登录名、加密口令、数字用户ID、数字组ID、注释字段、起始目录以及shell程序(我理解为系统调用的权限)

root:*:0:0:System Administrator:/var/root:/bin/sh
名   :密:户:组:          注                           :     目            :   shell

巧计:明迷糊租住木鞋

3、文件和目录

    3.1 文件系统
    unix文件系统是目录和文件的一种层次结构(树形结构),所有东西的起点是根(root)目录,根目录的名称是“/”。
    3.2 文件名
    目录中的各个名字称为文件名(filename)。只有斜线(/)和空字符不能出现在文件名中。斜线用来分割路径,空格用来终止一个路径名。
    3.3 路径名
    由斜线分隔的一个或多个文件名组成的序列(可以以斜线开头)构成路径名(pathname),以斜线为开头的路径名为绝对路径(absolute pathname),否则称为相对路径名(relative pathname)。

4、程序与进程

    4.1、程序:

    程序(program)是储存在磁盘上某个目录中可执行的文件。内核使用exec还书将程序读入内存,并执行程序。

    4.2、进程和进程ID

    程序执行实例被称为进程(process)。unix系统确保每个进程都有一个唯一的数字标识符,成为进程ID(process ID),进程ID总是一个非负整数。

        4.2.1、进程控制

        有三个用于控制进程的主要函数:fork、exec、waitpid。

    4.3、线程和线程ID

    线程(thread):资源执行的基本单位

    线程ID:唯一地标识了一个进程中的线程,它只在所属进程中有效,一个进程的线程ID到了另一个进程中毫无意义。

    注:线程可以共享同一地址空间、文件描述符、栈、进程相关的属性。