二.2、问答题。 
1、----------------------------------------------------------- 
写一些代码。如何用文件实现信号灯?要求如果程序崩溃了,这个文件也将自动被删除 
。 
为什么可以这样实现信号灯?(5分) 
传统的signal函数信号处理为什么是不可靠的,信号和系统调用有何关系?(5分) 
在图形库系统中往往提供timer的功能,除了使用ALARM信号外,你还可以使用什么系统 
调用来实现timer?(5分) 
2、----------------------------------------------------------- 
写一些代码,演示如何正确使用write系统调用。注意看好手册再回答。(2分) 
如果一个文件以rw模式打开,在进行read/write操作转换时,需要进行什么操作。(2分) 
3、----------------------------------------------------------- 
解释终端结构termios.c_cc的MIN/TIME数值变化的带来read/write的特性。(5分) 
如何理解终端、控制终端、虚拟终端、控制台、tty等类同的概念?(5分) 
4、----------------------------------------------------------- 
解释计算机中Copy-On-Write的概念。(2分)
调用fork之后,子进程没有继承父进程的属性有哪些?(5分) 
解释为什么每个程序在装入执行之后,总是已经预先打开了stdout、stdin、stderr?(2 
分) 
在fork之前,父进程打开了一个文件。在fork之后,如果子进程移动了文件指针, 
父进程的文件指针有什么变化;如果子进程关闭了文件,父进程有什么变化?为什么会 
这样?(5分) 
标准输入、输出和错误输出分别是什么类型的缓冲,这些缓冲在用户空间还是在核心空 
间? 
怎样关闭他们的缓冲?如果父进程关闭了缓冲,在fork之后建立的子进程是否也关闭了 
缓冲?(5分) 
vfork和fork相比,有什么特色?(2分) 
system函数是否等同于fork+exec?(2分) 
wait系统调用有多少种条件可以退出?(2分)
5、----------------------------------------------------------- 
系统调用和库函数调用有什么区别。(2分) 
在linux2.4.x上的glibc和newlib(一种嵌入式C库)的系统调用有什么不同?(2分) 
在linux2.4.x上,对系统调用execve如果调用成功,它返回的值是多少。(2分) 
6、----------------------------------------------------------- 
列出你所知道的2个内存跟踪库。(2分) 
设计一个内存跟踪方案,为什么选择这个方案(5分) 
二.3、综合编程题。 
要求: 
1、完成需求,程序运行正确。 
2、工作原理文档,使用文档完整。 
3、代码规整优美。注释得当。 
4、运行速度足够快。 
1、----------------------------------------------------------- 
这里有一个8MB的文件,编写一个copy程序,拷贝这个文件,并计算所需时间。用工具分 
析 
出是哪些代码或函数造成速度瓶颈。 
提示:如果只是使用read/write调用,不是一个好的实现。(20分) 
2、----------------------------------------------------------- 
Linux系统中,什么时候会出现类似Y2K的问题。写一个程序证明。(20分) 
3、----------------------------------------------------------- 
编写一个程序,测试系统最小的睡眠时间间隔。(20分) 
4、----------------------------------------------------------- 
编写一个pipe程序,测试有N个管道,size大小的buffer情况下,pipe的传输性能是多少 
?(20分)
5、----------------------------------------------------------- 
在ext2文件系统上,单个文件最大可以达到多少? 
写一个程序获得这方面的限制。(20分) 
