linux学习记录

一、异常
(1)异常类型
注意:linux中断是异常的一种,异常包含中断,有软件中断(swi svc指令触发)、快速中断、外部中断三种与中断有关的异常。
异常类型
(2)IRQ中断流程
1.cpu每个指令周期检查是否发送异常;
2.若发现异常,保存CPSR(程序状态寄存器),将当前处理模式设置为ARM、IRQ模式,将被打断应用程序地址的下一个指令保存到LR寄存器,例如当前程序地址为0x6000008,LR为0x6000004,即下一个指令的地址;
3.PC指针指向0x18,程序到0x18取出指令,这个指令跳转到中断异常处理函数;
4.中断异常处理函数中,分三步处理;
①保护现场:寄存器、CPU状态入栈
②根据中断号,跳转到对应的中断处理函数中执行
③执行完毕恢复现场:寄存器、CPU状态出栈
5.恢复现场后,PC指向原来中断的地方,重新回到断点执行程序;
(3)中断处理函数原则
中断处理函数是一个特俗的函数,可以从参数、返回值、函数内部实现回答
1.参数和返回值:绝对不能传入参数,不能返回值;
2.内部实现:
快进快出原则,中断处理函数的任务要尽可能快速完成,以免堵塞其他中断;
②根据①原则,中断处理函数不能休眠,如调用sleep;
③中断处理函数不能调用不可重入函数(记为fun),以免主函数mian正在执行;fun,中断又来执行fun,导致fun内部的全局变量和静态变量的结果出乎意料。
(4)不可重入函数的特点
1.使用了全局变量和静态变量
2.返回了全局变量和静态变量
3.调用了不可重入函数,这点难以防范,因为很多时候并不清除调用的第三方函数内部如何实现,是否可重入;
4.使用了标准IO函数,如调用了scanf,printf;
5.使用了malloc,free函数

### 关于 Linux学习资料 以下是针对 Linux 学习的一些推荐资源和教程: #### 1. 尚硅谷 Linux 学习笔记 尚硅谷提供了详尽的 Linux 学习笔记,涵盖了基础到高级的内容。这些笔记不仅包含了常用的命令操作,还涉及服务器配置、网络管理等方面的知识[^1]。 #### 2. CentOS 官方文档 CentOS 是一种广泛使用的 Linux 发行版,在企业环境中非常流行。官方文档中详细介绍了如何安装、配置和维护 CentOS 系统,适合初学者和中级用户深入研究[^3]。 #### 3. 高级命令实践指南 除了常见的 `ls`、`cd` 等基本命令外,掌握一些高级命令对于提升效率至关重要。例如: - **find**: 查找文件或目录。 - **df**: 显示磁盘空间使用情况。 - **tar**: 打包压缩工具。 - **ps/top/netstat**: 进程管理和监控网络状态。 另外还有更复杂的命令组合技巧可以提高工作效率,比如通过管道符 (`|`) 结合多个命令完成复杂任务。 #### 4. 内核编译与模块加载 如果计划深入了解操作系统层面,则需要了解内核源码结构及其构建过程。例如解决因缺少头文件链接而无法正常编译驱动程序的问题时,可参照如下方法创建软连接来修复路径错误: ```bash sudo ln -s /usr/src/kernels/3.10.0-1160.el7.x86_64/include/generated/uapi/linux/version.h \ /usr/src/kernels/3.10.0-1160.el7.x86_64/include/linux/version.h ``` 此脚本解决了特定版本下的兼容性问题[^2]。 #### 5. 跨平台文件传输解决方案-Xftp 为了方便Windows用户访问远程Linux主机上的数据,Xshell套件中的组件之一Xftp提供了一种简便的方式来进行安全的数据交换,它支持多种协议并具备图形化界面便于操作[^4]. 综上所述,Linux作为当前主流的服务端操作系统拥有丰富的社区支持和技术积累,无论是个人还是团队都可以从中受益匪浅.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值