分类: LINUX
2010-10-21 09:08:52
1 在严格意义上,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。一般 而言可将此种软件称为内核,它相对较小,位于环境的中心。
内核的接口被称为系统调用。
公用函数库构建在系统调用接口之上,应用软件既可使用公用函数库,也可使用系统调用。
必要时可以替换库函数,但通常却不能替换系统调用。
shell是一种特殊的应用程序,它为运行其他应用程序提供了一个接口。
广义上,操作系统包括了内核和一些其他软件。例如,Linux是GNU操作系统使用的内核。因此这种操 作系统往往被称为GNU/Linux。
2 程序的执行例程被称为进程。UNIX确保每一个进程都有一个唯一的数字标识符,称为进程ID。
#include
#include
pid_t getpid(void);
pid_t getppid(void);
DESCRIPTION
getpid() returns the process ID of the current process. (This is often
used by routines that generate unique temporary filenames.)
getppid() returns the process ID of the parent of the current process.
fgets返回的每一行都以换行符终止。
execlp函数要求参数以null结束。
null = 0;
EOF = -1;
fork向父进程返回新子进程的ID(非负),对子进程则返回0。
一个进程内的所有线程共享同一地址空间,文件描述符、栈以及与进程相关的属性。
线程的ID只在同一个进程中有意义。
3 #include
char *strerror(int errnum);
将errnum(通常就是errno值)映射为一个出错信息字符串,并且返回此字符串的指针。
#include
void perror(const char *msg);
perror函数基于errno的当前值,在标准出错上产生一条出错消息,然后返回。它首先输出由msg指定的字符串,然后是一个冒号,一个空格,接着是对应于errno值的出错消息,最后是一个换行符。