<<UNIX环境高级编程>>学习总结——第一章:UNIX基础知识

来源:互联网 发布:广讯通软件下载 编辑:程序博客网 时间:2024/06/05 19:58

1.1:本章简要提及相关概念,涵盖全书中所详细描述的内容

1.2:UNIX操作系统结构,公用库函数建立在系统调用之上,编程可使用公用库函数,也可使用系统调用。而作为UNIX中的shell,则是为运行程序提供接口。

1.3:登录系统时需要访问口令文件:/etc/passwd。其中每一项都由分号隔开,分别是登录名,加密口令,数值用户ID,数值组ID,注释字段,其实目录,以及登录后使用的shell。其中的加密口令在目前的系统中已经被移到另外一个文件。

 然后介绍了shell程序已经大概演化,已经相关的涵盖。

1.4:介绍目录相关概念,这里不再一一赘述。

1.5:1,文件描述符,指向特定进程正在使用的文件,可通过它对打开文件进行操作。

          2,惯例上,运行每个程序时,shell都会为其打开三个文件描述符:标准输入,标准输出,标准出错。如果不需要对这三者进行特殊处理,则都指向终端。shell也提供重定向的方法使一个或者三个都能重定向到某个文件。

         3~4,不用缓冲的I/O+带缓冲接口=标准I/O;个人理解就是,open,read,write,lseek,colse等函数并不自带缓冲,使用缓冲之前需要自己定义缓冲数组与其大小。而标准I/O函数则提供了带缓冲接口,使用的时候不需要苦恼与选取缓冲区大小,也使得我们能够控制缓冲风格。

1.6:1,程序是存放在磁盘上的可执行文件,可用6个exec中的一个有内核将其读入,然后执行。

          2,执行中的程序,则为进程。书中“进程”=“任务”。系统中的每个进程都有其唯一的ID。

         3,进程的三个主要控制函数为:fork,exec(有6个变体,但统称为exec),waitpid。

          4,通常一个进程只有一个控制线程,但是为了解决某些问题,在进程的各个部分使用不同的线程将简化问题。也可提高多处理器的并行性。线程控制函数和进程控制函数类似,但另有一套。

1.7:出错处理,C标准定义两个函数char  *strerror(int ernum)和void perror(const char *msg),读懂了本节的程序就OK。过后就提及了一个出错恢复,我也只是看了个大概。

1.8:用户标识,用户ID,组ID,附加ID,了解了相关概念。

1.9:信号,通知进程已发生某种情况的一种技术。程序未指出如何处理信号时候,由系统默认方式处理。

1.10:UNIX系统使用三个进程时间值:时钟时间,用户CUP时间,系统CPU时间。用户CUP时间+系统CPU时间=CPU时间。相关命令是time。

1.11:系统调用和库函数调用。看懂本小节的两张图片就行了。