嵌入式驱动实习生试题

驱动实习生试题

一、选择题(2.5 ‘/个)

1. device和driver的对应关系(   )

A.1(device):1(driver)  B.1(device):n(drivers)

C.n(devices):1(driver)  D. n(devices):n(drivers)

2.int counter(int i){

static int count = 0;

count = count + i;

return count;
}

main()

{

int i, j;

for(i=0; i <=5; i++)

j = count(i);

}

本程序执行到最后,j的值是(  ):

A. 10 B. 15 C. 6 D. 7

3.下列不是Linux系统进程类型的是( ) 。
A 交互进程 B 批处理进程 C 守护进程 D 就绪进程

 

4.内核不包括的子系统是( ) 。
A 进程管理系统 B 内存管理系统 C I/O管理系统 D硬件管理系统

 

5.改变文件所有者的命令为( ) 。
A chmod B touch C chown D cat

 

6.进程有三种状态:( )。
A 准备态、执行态和退出态 B 精确态、模糊态和随机态
C 运行态、就绪态和等待态 D 手工态、自动态和自由态

7.Samba服务器的配置文件是( ) 。
A httpd.conf B inetd.conf C rc.samba D smb.conf

 

8.Linux文件名的长度不得超过 ( ) 个字符。
A 64 B 128 C 256 D 512

9.不需要编译内核的情况是(  )。
A 删除系统不用的设备驱动程序时 B 升级内核时
C 添加新硬件时 D 将网卡激活

10. 写出下面函数的输出结果(   ) 

main()

{

int a[5] = {1, 2, 3, 4, 5};

int *ptr = (int *)(&a+1);

printf("%d, %d", *(a+1), *(ptr -1));


}

A.2,2 B 2,3 B 2,4 D 2,5

 

二.填空题(2.5’/空)

  1. linux设备驱动模型三要素:device,driver,bus。Device和driver分别注册到bus上,然后通过(      )匹配,最终走到driver的(     )函数中, 现在有了DTS后,则可以采用(         )的方式匹配。

2.内核空间与用户空间是程序执行的两种不同状态,通过(         )和(          )能够完成从用户空间到内核空间的转移。

 

3.请写出在kernel文件夹中搜索字符串“test”,指定类型为*.c的shell命令

(                                                )

 

4.voidGetMemory(char *p)
{
     p = (char *)malloc(100);
}
void Test(void)
{
    char *str = NULL;
    GetMemory(str);
    strcpy(str, "hello world");
    printf(str);
}
请问运行Test 函数会有什么样的结果?

(             )

 

5.linux设备驱动模型,设备模型元素(    )(     )(     )

 

三、简答题

  1. 请解释 fork 为什么调用一次,返回两次?(5’)

 

2.(5’)

char *GetMemory(void)  {
 char p【】 = "hello world";
 return p;
}
void Test(void)
{
 char *str = NULL;
 str = GetMemory();
 printf(str);
}

请问运行Test 函数会有什么样的结果?

 

 

3. 请举例说明函数指针与指针函数的区别,同时说明函数声明三要素。(10’)

 

4.(10’)
void GetMemory2(char **p, int num)
{
 *p = (char *)malloc(num);
}

 


void Test(void)
{
 char *str = NULL;
 GetMemory(&str, 100);
 strcpy(str, "hello");
 printf(str);
}
请问运行Test 函数会输出什么?是否会造成内存泄露?如会,请修改。

 

5  Linux由用户空间和内核空间两部分组成。为什么这样设计?(10’)

 

6  Linux 系统使用什么库函数建立线程, 其原型如何?其实现调用什么系统调用?(10’)

posted on 2015-07-31 10:59  乐学乐  阅读(460)  评论(0编辑  收藏  举报

导航