unix基础知识

来源:互联网 发布:电脑装哪些软件 编辑:程序博客网 时间:2024/05/23 01:57

unix体系结构

内核:

控制计算机的硬件资源,提供程序运行的环境

Linux是GNU操作系统的内核

操作系统:

从光以上来讲,操作系统包括内核以及一些其他软件,这些软件能够使操作系统发挥重要作用,使计算机有自己的独特性

内核与外界的接口称为系统调用,公用库函数建立在系统调用之上,应用程序既可以使用系统调用,也可以使用公共库函数。

POSIX:

POSIX表示可移植操作系统接口(Portable Operating System Interface,缩写为POSIX)

路径名:

绝对路径名:以根目录/开始,

相对路径名:不已根目录开始

程序和进程

程序:是存储在磁盘上的某个可执行文件,内核使用exec函数将其度入内存,并执行程序

进程:正在被执行的程序称为进程,unix系统确保每个进程都有唯一的数字标识符,称为进程id,进程id为非负数

进程的控制函数一般有fork,exec,waitpid等


线程和线程id

通常一个进程只有一个线程,对于某些问题如果有多个线程就会方便很多,另外多个线程可以充分利用处理器的并行能力,一个进程内的所以线程共享

同一地址空间,文件描述符,栈,以及与进程相关的属性。

线程的id只在它所在的进程内起作用,一个进程中的线程id在另一个进程中没有意义,当一个进程中对某个特定的线程处理时可以引用该线程的id引用


出错处理

每个线程都有属于自己的局部errno,以避免一个线程干扰另一个线程

errno的值不为0

c标准定义了两个打印出错信息的函数:

#include <string.h>

char * strerror (int errnum);errnum的值就是errno值

#include <stdio.h>

void perror(const char *msg);它输出由msg指向的字符串

信号处理

信号用于通知进程发生了某种情况,进程中对信号的处理有以下三种处理方式:

(1)忽略信号

(2)按系统默认方式处理

(3)提供一个处理函数(需要用到的函数是signal)

终端见键盘上有两种产生信号的方法:中断键(CTRL +C)退出键(CTRL+\)

时间值

(1)日历时间自1970年1月1日0:0:0算起的数据类型为time_t

(2)进程时间:以滴答数计算,数据类型为clock_t

原创粉丝点击