首页 > 系统相关 >Linux内核面试题汇总

Linux内核面试题汇总

时间:2023-03-03 11:00:09浏览次数:43  
标签:面试题 中断 自旋 信号量 如何 内核 Linux

[暂无答案]

1.硬件中断号和Linux内核的IRQ号它们是如何映射的?
2.当发生硬件中断之后,ARM64处理器架构做哪些工作?
3.为什么说中断上下文不能执行睡眠操作?
4.一个硬件中断后,Linux内核如何响应并处理中断?
5.同一类型的软中断是否允许多个CPU并行执行?
6.软中断上下文包括哪几种情况?
7.软中断上下文还是进程上下文的优先级高?为什么?
8.是否允许同一个tasklet在多个CPU上并行执行?
9.中断现场保存在什么地方?
10.什么是中断现场?中断现场中需要保存哪些内容?
11.工作队列是运行在中断上下文,还是进程上下文?它的回调函数是否允许睡眠?
12.Linux软中断和工作队列作用是什么?
13.Linux通过什么样方式实现系统调用?
14.如果多个work挂入一个工作线程当中执行,当某个work的回调函数执行了阻塞操作时,那么剩下的work怎么办?
15.CMWQ机制如何动态管理工作线程池的线程?
16.Linux操作系统的ARM系统把bootloader烧录进去后,通电后串口没有任何输出反应,此时你应该去检查软件和硬件?
17.请你说出3种嵌入式体系结构,说明什么是ARM体系结构?
18.ARM中断在ARM9,Cortex-A8是怎么处理?Linux中为什么要把中断分为上半部分和下半部分?MMU和Cache基础原理?
19.嵌入式常用的文件系统有哪些?主要特点和应用场景?
20.Linux操作系统通电开始到系统起来的主要过程是什么?
21.Linux驱动当中字符设备和块设备区别?
22.请从USB HOST、LCD驱动器、NAND FLASH、WIFI、网卡、音频芯片中选择一个。
23.为什么spinlock的临界区不能睡眠?
24.与spinlock相比,信号量有哪些特点?
25.描述信号量是如何实现的?
26.什么时候使用读者信号量?什么时候使用写者信号量?由什么条件来判断?
27.请描述MCS锁机制的实现原理?
28.RCU相比读写锁有哪些优势?
29.在KSM当中扫描栽个VMA寻找有效匿名页面?
30.Linux内核已经实现信号量机制,为什么还要单独设置一个互斥锁机制?
31.请解释静态状态和宽限期?
32.请描述PG_locked常见使用方法?
33.使用GCC的"O0"优化选项来编译内核有如何优势?
34.U-boot启动时重定位是如何实现?
35.如何分析一个oops错误日志?
36.在x86_64架构里函数参数是如何传送的?
37.什么是直接寻址、间接寻址和基址寻址?
38.描述Kdump的工作原理?
39.在x86_64架构当中,MOV指令和LEA指令有何区别?
40.Hardlock机制实现原理/Hung_task机制实现原理/Softlockup机制实现原理?
41.什么是死锁?什么是重定位?死锁有哪几种?
42.什么是运行地址、链接地址、加载地址?
43.为什么要刻意设置加载地址/运行地址/链接地址?
44.如何在内核代码中添加一个跟踪点?
45.如何使用内核的动态输出技术?
46.什么是printk输出等级?具体有哪些输出等级?
47.发生硬件中断后,ARM64处理器架构做什么事情?
48.硬件中断号与Linux内核的IRQ号如何映射的?
49.一个硬件中断发生之后,Linux内核如何响应并处理此中断?
50.同一类型软中断是否允许多个CPU并行执行?
51.读写信号量使用的自旋等待机制是如何实现的?
52.在编写内核代码的时候,该如何选择信号量和互斥锁?
53.请描述一个宽限期的生命周期及其状态机的变化?
54.Linux内核中经典自旋锁的实现有什么样的缺点?
55.信号量是如何实现?乐观自旋等待的判断条件是什么?
56.请说明内核使用内存屏障的场景?
57.ARM64处理器架构当中,如何实现独占访问内存?
58.为什么自旋锁的临界区不允许发生抢占?
59.atomic_cmpxchg()和atomic_xchg()分别表示是什么含义?
60.为什么自旋锁的临界区不能睡眠?
61.排队自旋锁如何实现MCS锁?
62.排队自旋锁把32位的变量划分成几个域,每个域的含义和作用是什么?
63.为什么在互斥锁争用中进入乐观自旋等待比睡眠等待模式要好?
64.在ARM64当中,CAS指令包含加载————获取和存储————释放命令,它们的作用是什么?
65.atomic_try_cmpxchg()函数和atomic_cmpchg()函数有什么区别?
66.请描述内核使用内存屏障的场景?
67.Linux中的内核模式和用户模式是什么意义?
68.请描述原子操作、自旋锁、信号量、互斥锁以及RCU的特点和使用规则?
69.怎样申请大块内核内存?
70.用户进程通信主要几种方式?
71.通过伙伴系统申请内存的函数有哪些?
Alloc_page(...)、__get_free_pages(...)、vmalloc(...)、kmalloc(...)、ioremap()...
72.通过slab分配器申请内核内存的函数如何实现?
73.什么是加载地址、运行地址及链接地址?
74.什么是位置无关的汇编指令?什么是位置有关的汇编指令?
75.在内核启动时内核映像重定位是如何实现的?
76.软中断的回调函数执行过程中是否允许响应本地中断?

[暂无答案]

标签:面试题,中断,自旋,信号量,如何,内核,Linux
From: https://www.cnblogs.com/phoebus-ma/p/17174801.html

相关文章

  • linux用户权限与组
    less /etc/passwd查看用户文件   passwdtom[用户名]  修改密码 useraddsuguihua[用户名] 新增用户名vim /etc/passwd  将xiaoqiang的x删除之......
  • 一、查看Linux内核版本的命令
    1.cat/proc/version此命令可以查看正在运行的内核版本信息。/proc 目录存储的是当前内核运行状态的一系列特殊文件,包括:内存,CPU内核,已安装文件系统等信息。而正在运行的......
  • Linux软件防火墙iptables
    Netfilter组件内核空间,集成在linux内核中官网文档:https://netfilter.org/documentation/扩展各种网络服务的结构化底层框架内核中选取五个位置放了五个hook(勾......
  • petalinux2018.3编译sdk失败的解决办法
    由于公司用的xilinx产品,大都是老版本,因此在转linux时,为减少切换麻烦,petalinux也是用的2018.3编译kernel/u-boot/root-fs一切正常,但在编译SDK时,报失败。失败信息如下:NOTE......
  • linux 的防火墙 ufw、firwalld、iptables 、
    防火墙综述linux防火墙,常用的包括三种:ufw、firewalld和iptables。学习难度依次递增。ufw因为原生的iptable配置麻烦,学习成本较高。ufw全称UncomplicatedFirew......
  • linux 使用 git 备忘录
    1.在github网页端创建一个仓库略2.将本地公钥加到github的SSHkeys中:gitconfig--globaluser.name"git的自己的用户名"gitconfig--globaluser.email......
  • linux 中 判断一列数据中指定的字符是否有连续的重复
     001、[root@PC1test]#lsa.txtb.txt[root@PC1test]#cata.txt##测试数据a.txtgeneexongeneexonexonexonexon[root@PC1test]#awk'BEGIN{idx......
  • PVE版本升级及内核升级方法
    1.版本升级登录管理页面--点击左侧菜单栏的"PVE"节点--点击"更新"菜单--点击"刷新"按钮(实为执行apt-getupdate)---点击"升级"按钮---升级完重启pve2.更新内核更新一下......
  • Camera | 5.Linux v4l2架构(基于rk3568)
    上一篇我们讲解了如何编写基于V4L2的应用程序编写,本文主要讲解内核中V4L2架构,以及一些最重要的结构体、注册函数。厂家在实现自己的摄像头控制器驱动时,总体上都遵循这个架......
  • linux下进程和线程的区别和联系
    进程用fork()或者vfork()生成(vfork是专门为了加载其他程序的子程序而优化的,随着fork()的优化,vfork已经被优化)fork()生成的子进程与父进程共享代码区内存,对于其他内存fork......