您的位置:首页 > 其它

嵌入式驱动实习生试题

2015-07-31 10:59 197 查看
驱动实习生试题

一、选择题(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’/空)

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设备驱动模型,设备模型元素( )( )( )

三、简答题

请解释 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’)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: