嵌入式Linux C语言面试试题(4)

二.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分)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwsfwz.html