) 函数实现把一个文件映射到一个内存区域,从而我们可以像读写内存一样读写文件,
他比单纯调用 '1' 也要快上许多。在某些时候我们可以把内存的内容拷贝到一个文
件中实现内存备份,当然,也可以把文件的内容映射到内存来恢复某些服务。另外,
) 实现共享内存也是其主要应用之一,) 系统调用使得进程之间通过映射同一
个普通文件实现共享内存。
.驱动里面为什么要有并发、互斥的控制?如何实现?讲个例子?
1
. 自旋锁是如何实现的?
自旋锁在同一时刻只能被最多一个内核任务持有,所以一个时刻只有一个线程允许存在于
临界区中。这点可以应用在多处理机器、或运行在单处理器上的抢占式内核中需要的锁定
服务。
这里也介绍下信号量的概念,因为它的用法和自旋锁有相似的地方。,( 中的信号
量是一种睡眠锁。如果有一个任务试图获得一个已被持有的信号量时,信号量会将其推入
等待队列,然后让其睡眠。这时处理器获得自由去执行其它代码。当持有信号量的进程将
信号量释放后,在等待队列中的一个任务将被唤醒,从而便可以获得这个信号量。
.任务调度的机制?
1
.嵌入式 和 ! 操作系统的特点和特性?
1
.嵌入式 中 2 设备驱动的体系结构?
1
.嵌入式设备,为加快启动速度,可以做哪些方面的优化?
1
.'+3 设备的枚举过程?
%7**')'。主机的第一个命令要求得到设备描述符,此 809包为 :
个字节数据(:",";,"","%,"","",4",""),发向地址 ",端口 "。“4"<表示
返回数据长度最大为 4"6个字节。实际上,只返回一个包,即数组 +8=>?中的前
:个字节,用于说明设备的描述符的真实长度和设备的类型。
38'。接着是设置设备地址处理事件,主机发送一个含有指定地址的数据包
("","@,"3,"","","","",""),在主机只有一个 85设备的时候,这个地
址一般会是 3,最大地址 %3A,85协议中可以连接 %3A个设备。设置地址事件处理结
束后,设备进入地址状态,主机以后会在新的指定地址处访问设备。
B7**')'。主机再次发送请求得到设备描述符的数据包
(:",";,"","%,"","",%3,""),与上次不同的是,要求的数据的长度是实际
的数据长度,同时是发送到 8' 命令所设置的地址。
4读取全部 =C ,'*')'。接着主机要求得到设备全部的配置描述符、接
口描述符和节点描述符(:",";,"","3,"","",4",""),由于主机不知道设备
描述符的真实长度,因此它要求得到 ;4 个字节。
@8'*,主机发送数据包("%,"5,"","","","","",""),设置接
口值为 "。
;8= ,',确定 85 设备工作在哪一个配置下。对于 盘设备来说,一般
只有 % 个配置值,其值为 "%。主机发送数据包