最簡單Linux內核和驅動考試題

原創 Linuxer Linux閱碼場 2017-07-02python


填空題ide

  1. Linux的設備驅動分爲 _____三類,串口是什麼類型設備__?
    2.下面的程序,在Ubuntu PC的terminal運行,打印幾個hello__
    main()
    {
       fork();
       printf("hello\n");
       fork();    
       printf("hello\n");
       while(1);
    }

3 . 用>=,>, =, <, <= 鏈接進程的以下4個內存描述形式,分析它們之間的大小關係:
VSS__ RSS
PSSRSS
USS
PSSatom

4 . 下面這個程序,三次打印的data分別是, , __。3d

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程序:code

hello.py
print "Hello World! Love, Python"

echo 3 > /proc/sys/vm/dropcaches後,第2次運行比第一次運行快的緣由是 ____blog

8 . 請用公式描述下圖free命令中數字的關係
最簡單Linux內核和驅動考試題進程

a = _ + __
g = b - ____ - _

h = c + ____ + _____內存

問答題terminal

  1. 描述內核atomic, spinlock, mutex這三個鎖分別的實用場景和主要區別get

  2. 論述Linux設備驅動模型裏面,總線、設備和驅動三者各自的做用及關係。
相關文章
相關標籤/搜索