原创 Linuxer Linux阅码场 2017-07-02
填空题
- Linux的设备驱动分为 _____三类,串口是什么类型设备__?
2.下面的程序,在Ubuntu PC的terminal运行,打印几个hello__main() { fork(); printf("hello\n"); fork(); printf("hello\n"); while(1); }
3 . 用>=,>, =, <, <= 连接进程的如下4个内存描述形式,分析它们之间的大小关系:
VSS__ RSS
PSSRSS
USSPSS
4 . 下面这个程序,三次打印的data分别是, , __。
int data = 10;
int child_process()
{
printf("Child process %d, data%d\n",getpid(),data);
data = 20;
printf("Child process %d, data%d\n",getpid(),data);
_exit(0);
}
int main(int argc,char* argv[])
{
if(vfork()==0) {
child_process();
}
else{
sleep(1);
printf("Parent process %d,data %d\n",getpid(), data);
}
}
5 . 请描述内核代码如下三种编译方式的含义
[]____
[*] __
[M] ___
6 . gdb设置断点的指令是__,单步n和s的区别是____
7 . 下面一段python程序:
hello.py
print "Hello World! Love, Python"
echo 3 > /proc/sys/vm/dropcaches后,第2次运行比第一次运行快的原因是 ____?
8 . 请用公式描述下图free命令中数字的关系
a = _ + __
g = b - ____ - _
h = c + ____ + _____
问答题
-
描述内核atomic, spinlock, mutex这三个锁分别的实用场景和主要区别
- 论述Linux设备驱动模型里面,总线、设备和驱动三者各自的作用及关系。