自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Linux驱动学习(三)---平台总线

优势:主要是为了提高代码的可移植性,在对于不同的处理器只需要更改device中对应硬件资源,而driver驱动中控制的部分不需要改变,大大提高了代码的可以执行。第四个成员 dev结构体 表示的设备的通用属性成员,在编写dev的时候要使用dev中的release函数,否则会报错。第二个成员id是跟在name后面的数字用来区分设备,一般设置成-1意思是没有后缀。Start和end:描述的资源的起始和终止未知,例如寄存器的起始地址和终止地址。id_table中的name的优先级高于.driver中的name。

2024-06-25 15:58:24 456

原创 Linux多进程进阶---进程间通信《总结》(五)

进程间通信(IPC, Inter-Process Communication)在多进程或多线程编程中至关重要,它允许不同进程之间共享数据、发送信号或同步。

2024-05-22 17:25:18 572 1

原创 Linux多进程进阶---进程间通信《消息队列》(四)

实现原理:具有相同IPC命名空间(structipc_namespace)的进程能够同时访问IPC命名空间相同内存空间。:整型数,用来索引(哈希表)IPC对象,检索失败创建IPC对象并返回标识ID,检索成功返回标识ID。3.可以通过消息优先级机制,实现对重要的消息优先处理。2.可以实现多个进程同时进行写入与读出,可以实现并发处理。:整型数,用来索引(radix树)IPC对象,:消息队列继承IPC对象,提供一些通用信息。Key,标识ID,IPC对象。1.不受进程的生命周期影响。单独展示msgctl的用法。

2024-05-22 17:21:03 400 1

原创 SQLite3数据库--快速上手

sqlite3_open()函数用于打开一个SQLite数据库,返回一个sqlite3的指针,用于后续操作数据库。8.如果查询执行出错,返回值为一个非零的错误码,可通过错误码对应的宏定义进行错误类型的判断。5.pnColumn:传入一个 int 类型的指针变量的地址,用于接收查询结果的列数。4.pnRow:传入一个 int 类型的指针变量的地址,用于接收查询结果的行数。·ppDb:指向sqlite3指针的指针,用于存储向打开的数据库连接的地址。sqlite3_close()函数用于关闭一个已打开的数据库。

2024-05-16 22:17:10 1113

原创 Linux多进程进阶---进程间通信《内存共享》(三)

共享内存不同于内存映射区,它不属于任何进程,并且不受进程生命周期的影响。通过调用Linux提供的系统函数就可得到这块共享内存。使用之前需要让进程和共享内存进行关联,得到共享内存的起始地址之后就可以直接进行读写操作了,进程也可以和这块共享内存解除关联, 解除关联之后就不能操作这块共享内存了。在所有进程间通信的方式中共享内存的效率是最高的。功能:创建一个新的共享内存段,或者获取一个已存在的共享内存段的标识符。key:用于唯一标识共享内存段的键值。

2024-05-08 23:16:14 1035 1

原创 Linux多进程进阶---进程间通信《内存映射》(二)

高效的数据访问与共享的基石在现代计算体系结构中,内存映射是一项核心技术和编程策略,它极大地提升了数据访问的效率,促进了进程间的高效通信。本文旨在深入浅出地介绍内存映射的基本概念、工作原理、应用场景以及其实现机制,帮助读者理解这一强大工具的精髓。

2024-05-08 21:36:45 836 1

原创 Linux多进程进阶---进程间通信《管道》(一)

Linux环境编程中进程间通信的重要性和方法:进程间通信是通过传输数据或共享信息来实现的,包括数据交换、共享资源、进程同步和消息传递。Linux系统提供了四大类进程间通信方法:管道、SystemVIPC、POSIXIPC和套接字。其中管道适用于具有亲缘关系的进程,SystemVIPC有消息队列、信号量和共享内存,POSIXIPC通过文件实现消息队列、信号量和共享内存。本质就是不用的进程可以访问相同的内存区域。

2024-05-08 20:17:26 1195 2

原创 Linux多线程进阶--手搓线程池(c版本)

/ 线程池结构体// 任务队列// 容量// 当前任务个数// 队头 -> 取数据// 队尾 -> 放数据// 管理者线程ID// 工作的线程IDint minNum;// 最小线程数量int maxNum;// 最大线程数量// 忙的线程的个数// 存活的线程的个数// 要销毁的线程个数// 锁整个的线程池// 锁busyNum变量// 任务队列是不是满了// 任务队列是不是空了// 是不是要销毁线程池, 销毁为1, 不销毁为0。

2024-05-07 16:51:47 667

原创 Linux网络编程(二)

在网络通信中最重要的决定信息的流向的就是:IP地址+端口号。

2024-05-04 23:56:31 391

原创 Linux网络编程(一)

mac地址:48位全球唯一的网络设备省份标识。ARP:IP地址—》mac地址RARP:mac地址–》IP地址ppp协议:拨号协议。

2024-05-04 17:54:31 321

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除