百面嵌入式专栏(面试题)驱动开发面试题汇总1.0

在这里插入图片描述

沉淀、分享、成长,让自己和他人都能有所收获!😄

📢本篇我们将介绍驱动开发面试题 。

1、Linux驱动程序的功能是什么?

  1. 对设备初始化和释放。
  2. 进行内核与硬件的数据交互。
  3. 检测和处理设备出现的错误。

2、内核程序中申请内存使用什么函数?

答案:kmalloc()、kzalloc()、vmalloc()。

解读:

  1. void *kmalloc(size_t size, gfp_t flags);
    ①申请连续的物理内存,这对于要进行DMA的设备十分重要,但大小不能超过128KB,其中有16B是被页描述符占用了。
    ②较常用的flag有GFP_ATOMIC(分配内存的过程是一个原子过程)、GFP_KERNEL(正常分配内存)、GFP_DMA(给DMA控制器分配内存)。
    ③对应的内存释放函数为void kfree(const void *objp)。

  2. void *kzalloc(size_t size, gfp_t flags);
    ①kzalloc()相对kmalloc()只是额外增加了__GFP_ZERO标志,除了申请内存外,还会对申请到的内存内容清零。
    ②对应的释放函数也是kfree()。

  3. void *vmalloc(unsigned l

相关推荐

  1. 嵌入面试

    2024-02-07 08:52:01       37 阅读
  2. 嵌入面试嵌入经典面试汇总(C语言)

    2024-02-07 08:52:01       33 阅读
  3. 嵌入一些面试

    2024-02-07 08:52:01       7 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-07 08:52:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-07 08:52:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-07 08:52:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-07 08:52:01       18 阅读

热门阅读

  1. 力扣283.移动零

    2024-02-07 08:52:01       32 阅读
  2. css基础

    css基础

    2024-02-07 08:52:01      31 阅读
  3. 2024年笔记--centos docker离线安装启动失败

    2024-02-07 08:52:01       33 阅读
  4. 10分钟快速入门正则表达式

    2024-02-07 08:52:01       31 阅读
  5. 【leetcode】1512. 好数对的数目(简单)题解学习

    2024-02-07 08:52:01       29 阅读