apue第一章 (3)

    技术2022-05-20  44

    我的目标是:“让家人过得更好”

    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中有很多歌时间函数,利用这个系统调用返回的时间,提供不同的功能。

     


    最新回复(0)