最简单Linux内核和驱动考试题

  填空题

  Linux的设备驱动分为_____三类,串口是什么类型设备__?

  2.下面的程序,在Ubuntu PC的terminal运行,打印几个hello__

  main()

  {

  fork();

  printf("hellon");

  fork();

  printf("hellon");

  while(1);

  }

  3.用>=,>,=,<,<=连接进程的如下4个内存描述形式,分析它们之间的大小关系:

  VSS__ RSS

  PSSRSS

  USSPSS

  4.下面这个程序,三次打印的data分别是,,__。

  int data=10;

  int child_process()

  {

  printf("Child process%d,data%dn",getpid(),data);

  data=20;

  printf("Child process%d,data%dn",getpid(),data);

  _exit(0);

  }

  int main(int argc,char*argv[])

  {

  if(vfork()==0){

  child_process();

  }

  else{

  sleep(1);

  printf("Parent process%d,data%dn",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命令中数字的关系

  最简单Linux内核和驱动考试题

  a=_+__

  g=b-____-_

  h=c+____+_____

  问答题

  描述内核atomic,spinlock,mutex这三个锁分别的实用场景和主要区别

  论述Linux设备驱动模型里面,总线、设备和驱动三者各自的作用及关系。


请使用浏览器的分享功能分享到微信等