紫光展锐秋招笔试 - 错题笔记

这篇博客记录了作者在紫光笔试后对错题的整理,涉及的知识点包括内核工作模式、锁机制(自旋锁、信号量)、中断处理、MMU、DDR、Cache、汇编指令、ARM指令集以及Linux内核驱动的匹配优先级。内容深入浅出,是理解计算机底层和嵌入式系统的好资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面的话

此为我在作完紫光笔试后的错题记录与查询,知识点涉及题目但不包含题目,是自己在考试过程中记录暴露出来的知识盲区,考试后查的。聊作记录,避免再犯。

启动地址???

选择了某种启动方式后,启动地址通常都是固定的。
ARM系统无论从何种设备启动都是从0地址开始运行的。
PowerPC通常是0x100或者0xFFF00100。

8086CPU上电复位后,执行的第一条指令的地址是FFFF0H

内核的工作模式

1、用户模式(user):正常程序执行模式;

2、快速中断模式(FIQ):高优先级的中断产生会进入该种模式,用于高速通道传输;

3、外部中断模式(IRQ):低优先级中断产生会进入该模式,用于普通的中断处理;

4、特权模式(Supervisor):复位和软中断指令会进入该模式;

5、数据访问中止模式(Abort):当存储异常时会进入该模式;

6、未定义指令中止模式(Undefined):执行未定义指令会进入该模式;

7、系统模式(System):用于运行特权级操作系统任务;

8、监控模式(Monitor):可以在安全模式和非安全模式之间切换;

Kernel锁机制

锁是内核中使用最频繁,最基础的设施之一,在内核的各个模块中被大量使用。锁的本质是在并发过程中保证资源的互斥使用。Linux内核提供了多种锁,应用的场合也各不相同,主要包括:原子操作,信号量,读写锁,自旋锁,以及RCU锁机制等
 Linux的内核锁主要是自旋锁和信号量。

自旋锁(spin_lock)

自旋锁是内核中最基础的锁机制。自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元持有,调用者就一直循环在那里看是否该自旋锁的持有者已经释放了锁,"自旋"一词就是因此而得名。自旋锁适用于锁使用者保持锁时间比较短的情况

信号量(semaphore/mutex)

信号量semaphore是一种睡眠锁,实现对多个同类资源的互斥访问,如果资源个数降为1个,就是互斥锁mutex。信号量实现原理如下:初始有n个同类资源,当某个线程获取(down操作)资源时,资源个数-1。当所有资源被分配完,此时当前线程被挂起在等待队列上,直到某个线程释放了(up操作)资源后,唤醒在等待队列上的线程重新获取资源。

iqr中断过程

CPSR:当前程序状态寄存器
SPSR:程序状态备份寄存器
R13:栈指针寄存器
R14:连接寄存器
R15:程序计数器</

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值