您的位置:首页 > 产品设计 > UI/UE

apue第一章 (3)

2011-02-28 11:55 253 查看
我的目标是:“让家人过得更好”

13、信号机制
信号机制是通知进程发生了某种状态的一种机制。
信号的来源有两种:
一种是来之键盘,例如 ctrl+c是中端键,ctrl+/是退出;另一种是使用kill系统调用,kill可以将信号发送给指定的进程,但是发送者必须是进城的拥有者。
处理信号有三种方法:
一种是忽略,第二种是采用系统默认处理方法,一般为退出进程,第三种是自定义采取的动作,可以使用signal函数注册一个处理函数。

14unix的时间
Unix有两种时间表示,第一种是从1970年到现在的秒数。第二种是使用系统的滴答数,一般是一秒60或者100个滴答。可以使用sysconf函数取得这个值。
在unix中度量一个程序的时间 有三个:
墙上时间,这个跟系统的进程数有关系
用户cpu时间,一个进程在用户态下运行的时间,即执行用户指令时间
系统cpu时间,一个进程在内核态下运行的时间,即执行内核指令时间
可以使用time函数取得一个进程的时间,例如:
$white@white-desktop:/home/junjun/apue/chapter1$time grep -ir void /usr/src/linux-headers-2.6.32-21 > /dev/null

rea l 0m22.859s
user 0m4.636s
sys 0m5.216s
15、系统调用和库函数
系统调用是,操作系统内核提供的服务,是应用程序访问内核资源的一个接口。
库函数与系统调用的区别:
1、 库函数调用系统调用,可以不调用系统调用。
例如printf() 库函数调用了write系统调用,二atoi则没有调用任何的系统调用
2、设计理念不同,系统调用只提供一个最小界面,而库函数则提供一个尽可能多的功能。例如unix只有一个系统调用得到时间,这个时间是从1970到现在的秒数,而time.h中有很多歌时间函数,利用这个系统调用返回的时间,提供不同的功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: