• 嵌入式系统Linux内核开发工程师必须掌握的三十道题


          如果你能正确回答以下问题并理解相关知识点原理,那么你就可以算得上是基本合格的Linux内核开发工程师,试试看!

    1)      Linux中主要有哪几种内核锁?

    2)      Linux中的用户模式和内核模式是什么含意?

    3)      怎样申请大块内核内存?

    4)      用户进程间通信主要哪几种方式?

    5)      通过伙伴系统申请内核内存的函数有哪些?

    6)      通过slab分配器申请内核内存的函数有?

    7)      Linux的内核空间和用户空间是如何划分的(以32位系统为例)?

    8)      vmalloc()申请的内存有什么特点?

    9)      用户程序使用malloc()申请到的内存空间在什么范围?

    10)   在支持并使能MMU的系统中,Linux内核和用户程序分别运行在物理地址模式还是虚拟地址模式?

    11)   ARM处理器是通过几级也表进行存储空间映射的?

    12)   Linux是通过什么组件来实现支持多种文件系通的?

    13)   Linux虚拟文件系统的关键数据结构有哪些?(至少写出四个)

    14)   对文件或设备的操作函数保存在那个数据结构中?

    15)   Linux中的文件包括哪些?

    16)   创建进程的系统调用有那些?

    17)   调用schedule()进行进程切换的方式有几种?

    18)   Linux调度程序是根据进程的动态优先级还是静态优先级来调度进程的?

    19)   进程调度的核心数据结构是哪个?

    20)   如何加载、卸载一个模块?

    21)   模块和应用程序分别运行在什么空间?

    22)   Linux中的浮点运算由应用程序实现还是内核实现?

    23)   模块程序能否使用可链接的库函数?

    24)   TLB中缓存的是什么内容?

    25)   Linux中有哪几种设备?

    26)   字符设备驱动程序的关键数据结构是哪个?

    27)   设备驱动程序包括哪些功能函数?

    28)   如何唯一标识一个设备?

    29)   Linux通过什么方式实现系统调用?

    30)   Linux软中断和工作队列的作用是什么?

  • 相关阅读:
    php 程序执行时间检测
    Mybatis里@InsertProvider、@UpdateProvider方法里使用if test标签
    windows配置JAVA环境变量
    谈谈2021,以及未来的几年
    jupyterlab内终端的改变
    RuntimeError: CUDA error: device-side assert triggered的解决
    Jupyter notebook添加内核的正确姿势
    Windows上两个host文件的位置
    Linux cp 命令仅复制文件
    Pytorch显卡设置
  • 原文地址:https://www.cnblogs.com/encounter/p/2189065.html
Copyright © 2020-2023  润新知