
Linux内核
文章平均质量分 86
涵锐Vellichor
这个作者很懒,什么都没留下…
展开
-
【Linux内核】线程设置 线程调度 线程通信
【Linux内核】线程设置 线程调度 线程通信原创 2022-09-04 10:11:01 · 1121 阅读 · 0 评论 -
【Linux内核】各种同步机制伪代码
【Linux内核】各种同步机制伪代码原创 2022-09-04 10:04:49 · 411 阅读 · 0 评论 -
内核并发与同步
1. 并发访问编写内核代码或驱动代码时需要留意共享资源的保护,防止共享资源被并发访问。所谓并发访问,是指多个内核路径同时访问和操作数据,就有可能发生相互覆盖共享数据的情况,造成被访问数据的不一致。内核路径可以是-一个内核执行路径、中断处理程序或者内核线程等。并发访问可能会造成系统不稳定或产生错误,且很难跟踪和调试。有一个原则要记住:是保护资源或者数据,而不是保护代码。内核中产生并发访问的并发源主要有如下4种: 中断和异常:中断发生后,中断处理程序和被中断的进程之间有可能产生并发访问。原创 2021-12-26 16:25:53 · 429 阅读 · 0 评论 -
Linux内核一些进程管理知识点
1. current内核有一个常用的常量current用于获取当前进程task_ struct 数据结构,它利用了内核栈的特性。首先通过SP寄存器获取当前内核栈的地址,对齐后可以获取struct thread info 数据结构指针,最后通过thread_ info->task 成员获取task_ struct 数据结构。#define get_current() {current_thread_info()->task}#define current get_current()原创 2021-12-26 16:18:00 · 898 阅读 · 0 评论 -
操作系统杂项笔记
目录RS232和RS485通讯接口有什么区别用串口发送十个字节,丢失一个两个你会怎么检查中断能不能睡眠?中断为什么不能嵌套?linux中系统调用过程?Linux中的同步机制ARM处理器的寄存器复位后,ARM处理器处于 SVC 模式,ARM 状态在ARM Linux系统中,中断处理程序进入C代码以后,ARM处于 超级用户(SVC) 工作模式在ARM系统结构中,MMU映射最小的单元空间是 1KB ,映射最大的单元空间是 1MB协处理器主要控制:片内的MMU、指令和数据原创 2021-09-29 16:36:56 · 1041 阅读 · 0 评论 -
Linux内存管理
# 链接- 链接可以认为是一个目录项,其中除了指向文件名的指针,并不存在其他数据。- 目标文件删除时,符号链接仍然继续保存。- 对每个符号链接都使用了一个独立的inode。相应inode的数据段包含了一个字符串,给出了链接目标的路径。# 文件系统各组件的关系# 处理器原创 2021-09-29 16:18:27 · 530 阅读 · 0 评论 -
i2c子系统
一、I2C系统硬件框架1. 基本硬件电路2. I2C传输协议写操作读操作I2C协议中数据传输的单位是字节,也就是8位。但是要用到9个时钟:前面8个时钟用来传输8数据,第9个时钟用来传输回应信号。传输时,先传输最高位(MSB)。 开始信号(S):SCL为高电平时,SDA山高电平向低电平跳变,开始传送数据。 结束信号(P):SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。 响应信号(ACK):接收器在接收到8位数据后,在第9个时钟周期,拉低SDA原创 2021-08-25 18:28:32 · 1584 阅读 · 0 评论 -
Uart子系统
一、UART硬件介绍1、串口的硬件介绍uart通过三根线即可完成:发送线TX、接收线RX、地线。TxD线把PC机要发送的信息发送给ARM开发板。最下面的地线统一参考地。2、串口的参数 波特率:一般选波特率都会有9600,19200,115200等选项。其实意思就是每秒传输这么多个比特位数(bit)。 起始位:先发出一个逻辑”0”的信号,表示传输数据的开始。 数据位:可以是5~8位逻辑”0”或”1”。如ASCII码(7位),扩展BCD码(8位)。小端传输。..原创 2021-08-19 22:11:51 · 735 阅读 · 0 评论 -
linux中断流程总结
本篇文章是基于linux-4.9.88内核进行分析,使用的单板是imx6ull。1、linux中断所涉及的各种数据结构关系首先,我们要明确一点,hwirq与virq并不是一回事,hwirq就是硬件中断号,比如用户按键、串口中断、网络中断等这些,都会在gic通用中断控制器中标识出一个中断号,是属于硬件层面的序号。为什么不直接使用hwirq呢?对于驱动工程师而言,我们和CPU视角是一样的,我们只希望得到一个IRQ number,而不关系具体是那个interrupt controller上的那个HW原创 2021-07-14 15:18:35 · 1295 阅读 · 0 评论 -
网络编程--UNIX网络编程 卷1
TCP与UDP协议的优缺点及适用场景TCP: 面向连接的可靠数据包传递 ----- 完全弥补优点:稳定 1、数据稳定 --- 丢包回传(回执机制)2、速率稳定 3、流量稳定 “滑动窗口”缺点:效率低、速度慢适用场景:大文件、重要文件传输UDP:无连接的不可靠报文传递 ----- 完全不弥补缺点:不稳定 数据、速率、流量优点:效率高、速度快适用场景:对实时性要求较高,视频会议、视频电话、广播如何提高UDP传输的可靠性?我们使用UDP进行网络编程所遇到的问题是它缺乏可靠性原创 2021-07-07 21:57:47 · 1256 阅读 · 1 评论 -
初识imx6ull的pinctrl子系统
初识imx6ull的pinctrl子系统原创 2021-05-15 11:57:28 · 964 阅读 · 0 评论 -
Linux内核中断结构
Linux内核中断结构原创 2021-05-08 13:48:24 · 581 阅读 · 0 评论 -
module_init功能分析
module_init功能分析原创 2021-05-05 09:48:35 · 1712 阅读 · 0 评论 -
基于imx6ull的Linux-4.9.88内核启动过程
基于imx6ull的Linux-4.9.88内核启动过程原创 2021-05-05 09:44:58 · 1561 阅读 · 0 评论 -
Linux进程与进程调度
Linux进程与进程调度原创 2021-05-05 09:44:24 · 366 阅读 · 0 评论 -
Linux内核文件系统概述
Linux内核文件系统概述原创 2021-05-05 09:44:00 · 650 阅读 · 0 评论 -
Linux内核设备驱动概述
Linux内核设备驱动概述原创 2021-05-04 19:09:01 · 484 阅读 · 0 评论 -
Linux进程间通信概述
Linux进程间通信概述原创 2021-05-04 19:06:21 · 400 阅读 · 0 评论 -
linux五个基本系统
linux五个基本系统原创 2021-05-04 18:57:38 · 517 阅读 · 0 评论