2019最新成为HR专家的100门必修课全套课程
限时抢购仅需19元(原价3600元)

佳的美电子科技有限公司 认领

房地产/建筑/水利  清远   100-500人  外资(欧美)

  1. 首页
  2. 公司
  3. 佳的美电子科技有限公司
  4. 佳的美电子科技有限公司soc研发面试
  5. 佳的美电子科技有限公司soc研发面试经验&面试问题

佳的美电子科技有限公司soc研发面试经验

面试成功 广州 难度一般

佳的美电子科技有限公司soc研发面试经验&面试问题

应聘公司
佳的美电子科技有限公司
面试职位
面试时间
2012-02-07 — 2012-02-07

面试问题

1. linux内核里面,内存申请有哪几个函数,各自的区别?<br><br>Kmalloc() __get_free_page() mempool_create() <br><br> <br><br>2. IRQ和FIQ有什么区别,在CPU里面是是怎么做的?<br><br> <br><br> <br><br>3. <br><br>int *a;<br><br>char *b;<br><br>a 和 b本身是什么类型?<br><br>a、b里面本身存放的只是一个地址,难道是这两个地址有不同么?<br><br> <br><br> <br><br>4. 中断的上半部分和下半部分的问题:<br><br>讲下分成上半部分和下半部分的原因,为何要分?讲下如何实现?<br><br>上半部分执行与硬件相关的处理要求快, 而有些驱动在中断处理程序中又需要完成大量工作,这构成矛盾,所以Linux有所谓的bottom half机制,中断处理程序中所有不要求立即完成的,在开中断的环境下,由底半程序随后完成.<br><br>Linux的底半处理实际上是建立在内核的软中断机制上的.<br><br>Linux 的底半 机制主要有Tasklet 和 work queue 以及 softirq ( 2.4内核则有BH , Task queue , softirq , tasklet 没有work queue),其实底半可以理解成一种工作的延迟。所以实际使用时跟timer机制基本上一个意思。<br><br> <br><br>5. 内核函数mmap的实现原理,

面试过程

1. linux内核里面,内存申请有哪几个函数,各自的区别?<br><br>Kmalloc() __get_free_page() mempool_create() <br><br>2. IRQ和FIQ有什么区别,在CPU里面是是怎么做的?<br><br>3. <br><br>int *a;<br><br>char *b;<br><br>a 和 b本身是什么类型?<br><br>a、b里面本身存放的只是一个地址,难道是这两个地址有不同么?<br><br>4. 中断的上半部分和下半部分的问题:<br><br>讲下分成上半部分和下半部分的原因,为何要分?讲下如何实现?<br><br>上半部分执行与硬件相关的处理要求快, 而有些驱动在中断处理程序中又需要完成大量工作,这构成矛盾,所以Linux有所谓的bottom half机制,中断处理程序中所有不要求立即完成的,在开中断的环境下,由底半程序随后完成.<br><br>Linux的底半处理实际上是建立在内核的软中断机制上的.<br><br>Linux 的底半 机制主要有Tasklet 和 work queue 以及 softirq ( 2.4内核则有BH , Task queue , softirq , tasklet 没有work queue),其实底半可以理解成一种工作的延迟。所以实际使用时跟timer机制基本上一个意思。<br><br>5. 内核函数mmap的实现原理,机制?<br><br>mmap函数实现把一个文件映射到一个内存区域,从而我们可以像读写内存一样读写文件,他比单纯调用read/write也要快上许多。在某些时候我们可以把内存的内容拷贝到一个文件中实现内存备份,当然,也可以把文件的内容映射到内存来恢复某些服务。另外,mmap实现共享内存也是其主要应用之一,mmap系统调用使得进程之间通过映射同一个普通文件实现共享内存。<br><br>6. 驱动里面为什么要有并发、互斥的控制?如何实现?讲个例子?<br><br>7. spinlock自旋锁是如何实现的?<br><br>自旋锁在同一时刻只能被最多一个内核任务持有,所以一个时刻只有一个线程允许存在于临界区中。这点可以应用在多处理机器、或运行在单处理器上的抢占式内核中需要的锁定服务。

我要分享soc研发面试经验

正在加载验证码...

其它公司soc研发面试经验
佳的美电子科技有限公司其它面试经验