分享

【转】LINUX驱动的经典面试问题...

 WUCANADA 2012-06-12
【转】LINUX驱动的经典面试问题...
2010-06-16 16:40

问:驱动程序分成上半部和下半 部,具体讲讲?
答:(当时我把中断处理程序的上下半部给答了)下半部是处理一些推后的工作,举个例子吧,比如网卡驱动,当有数据包到达网卡的时候,就会产生中断,然后一 个特定的程序就会去处理他。实现这个功能的程序就是上半部……云云,省去若干字。(答完之后面试官没啥表情,不知道是对是错)

--->上半部在ISR中执行,是最关键的部 分,执行时间很短,关中断执行,不及时处理就会丢失数据,影响实时性;
下半部的作用是上半部的延续,一般用于处理数据,执行时间可能较长,延迟并开中断处理,以免屏蔽其它中断,影响中断响应。

windosw NT 技术内幕》一书中讲的很明白,此书中把“下半部”叫做“延迟过程调用(DPC)”。

问:说一下Linux环境编程中进程间通信都有哪几种。
答:管道、Unix Socket、共享内存……云云

问:这些通信方式的作用/或者是区别
答:不知道(这个确实忘了,没办法)

Linux下进程间通信的几种主要手段简介:

问:说一下快速排序
答:(这个太简单了)找一个key作为基准,然后划分左右子序列,左边的比key小,右边的比key大,然后继续之,形成了一个递归的关系……云云

问:说一下指针的指针的作用
答:举个例子吧,我要操作一个链表,该链表只有一个头指针,但是我想在表头插入节点,那么就需要修改头指针,如果我是写一个函数来实现的话,那么我需要把 头指针的地址传过去……云云

问:你对线程了解么?
答:不了解,因为Linux下好像用的不多。
 

  1.管道(Pipe)及有名管道 (named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通 信;

  2.信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;Linux除了 支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了 实现可靠信号机制,又能够统一对外接口,用sigaction函数重新实现了signal函数);

  报文 (Message)队列(消息队列):消息队列是消息的链接表,包括Posix消息队列systemV消息队列。有足够权限的进程可以向队列中添加消息, 被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以 及缓冲区大小受限等缺点。

  共享内存:使得多个进程可以访问同一 块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同 步及互斥。

  信号量(semaphore):主要 作为进程间以及同一进程不同线程之间的同步手段。

  套接口(Socket):更为一般的进程间通信机 制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:Linux和 System V的变种都支持套接字。

  下面将对上述通信机制做具体阐述。

  附1:参考文献[2]中对Linux环境下的进程进行了概括说明:

  一般来说,Linux下的进程包含以下几个关键要素:

  1.有一段可执行程序;

  2.有专用的系统堆栈空间;

  3.内核中有它的控制块(进程控制块),描述进程所占用的资源,这样,进程 才能接受内核的调度;

  4.具有独立的存储空间

  5.进程和线程有时候并不完全区分,而往往根据上下文理解其含 义。

快速排序法是分治法的经典应 用实例之一。快速排序法是对冒泡排序法的一种改进,也是基于交换排序的一种算法。因此,被称为"分 区交换排序"。

  在待排序序列中按某种方法选取一个元素K,以它为分界点,用交换的方法将序列分为两个部分:比该值小的放在左边,否则在右边。形成"{左子序列}K{右子 序列}"。再分别对左、右两部分实施上述分解过程,直到各子序列长度为1,即有序为止。

  分界点元素值K的选取方法不同,将构成不同的排序法,也将影响排序的效率:例如,可取左边第1个元素为分界点、取中点A[(left+right)/2] 为分界点、或选取最大和最小值的平均值为分界点等。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多