<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Q_u_iet的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Q_u_iet</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Q_u_iet]]></copyright><item><title><![CDATA[Linux驱动学习（三）---平台总线]]></title><link>https://blog.youkuaiyun.com/Q_u_iet/article/details/139961215</link><guid>https://blog.youkuaiyun.com/Q_u_iet/article/details/139961215</guid><author>Q_u_iet</author><pubDate>Tue, 25 Jun 2024 15:58:24 +0800</pubDate><description><![CDATA[优势：主要是为了提高代码的可移植性，在对于不同的处理器只需要更改device中对应硬件资源，而driver驱动中控制的部分不需要改变，大大提高了代码的可以执行。第四个成员 dev结构体 表示的设备的通用属性成员，在编写dev的时候要使用dev中的release函数，否则会报错。第二个成员id是跟在name后面的数字用来区分设备，一般设置成-1意思是没有后缀。Start和end：描述的资源的起始和终止未知，例如寄存器的起始地址和终止地址。id_table中的name的优先级高于.driver中的name。]]></description><category></category></item><item><title><![CDATA[Linux多进程进阶---进程间通信《总结》（五）]]></title><link>https://blog.youkuaiyun.com/Q_u_iet/article/details/139125291</link><guid>https://blog.youkuaiyun.com/Q_u_iet/article/details/139125291</guid><author>Q_u_iet</author><pubDate>Wed, 22 May 2024 17:25:18 +0800</pubDate><description><![CDATA[进程间通信（IPC, Inter-Process Communication）在多进程或多线程编程中至关重要，它允许不同进程之间共享数据、发送信号或同步。]]></description><category></category></item><item><title><![CDATA[Linux多进程进阶---进程间通信《消息队列》（四）]]></title><link>https://blog.youkuaiyun.com/Q_u_iet/article/details/139121687</link><guid>https://blog.youkuaiyun.com/Q_u_iet/article/details/139121687</guid><author>Q_u_iet</author><pubDate>Wed, 22 May 2024 17:21:03 +0800</pubDate><description><![CDATA[实现原理:具有相同IPC命名空间(structipc_namespace)的进程能够同时访问IPC命名空间相同内存空间。:整型数，用来索引(哈希表)IPC对象，检索失败创建IPC对象并返回标识ID，检索成功返回标识ID。3.可以通过消息优先级机制，实现对重要的消息优先处理。2.可以实现多个进程同时进行写入与读出，可以实现并发处理。:整型数，用来索引(radix树)IPC对象，:消息队列继承IPC对象，提供一些通用信息。Key，标识ID，IPC对象。1.不受进程的生命周期影响。单独展示msgctl的用法。]]></description><category></category></item><item><title><![CDATA[SQLite3数据库--快速上手]]></title><link>https://blog.youkuaiyun.com/Q_u_iet/article/details/138923443</link><guid>https://blog.youkuaiyun.com/Q_u_iet/article/details/138923443</guid><author>Q_u_iet</author><pubDate>Thu, 16 May 2024 22:17:10 +0800</pubDate><description><![CDATA[sqlite3_open()函数用于打开一个SQLite数据库，返回一个sqlite3的指针，用于后续操作数据库。8.如果查询执行出错，返回值为一个非零的错误码，可通过错误码对应的宏定义进行错误类型的判断。5.pnColumn：传入一个 int 类型的指针变量的地址，用于接收查询结果的列数。4.pnRow：传入一个 int 类型的指针变量的地址，用于接收查询结果的行数。·ppDb：指向sqlite3指针的指针，用于存储向打开的数据库连接的地址。sqlite3_close()函数用于关闭一个已打开的数据库。]]></description><category></category></item><item><title><![CDATA[Linux多进程进阶---进程间通信《内存共享》（三）]]></title><link>https://blog.youkuaiyun.com/Q_u_iet/article/details/138588926</link><guid>https://blog.youkuaiyun.com/Q_u_iet/article/details/138588926</guid><author>Q_u_iet</author><pubDate>Wed, 08 May 2024 23:16:14 +0800</pubDate><description><![CDATA[共享内存不同于内存映射区，它不属于任何进程，并且不受进程生命周期的影响。通过调用Linux提供的系统函数就可得到这块共享内存。使用之前需要让进程和共享内存进行关联，得到共享内存的起始地址之后就可以直接进行读写操作了，进程也可以和这块共享内存解除关联, 解除关联之后就不能操作这块共享内存了。在所有进程间通信的方式中共享内存的效率是最高的。功能：创建一个新的共享内存段，或者获取一个已存在的共享内存段的标识符。key：用于唯一标识共享内存段的键值。]]></description><category></category></item><item><title><![CDATA[Linux多进程进阶---进程间通信《内存映射》（二）]]></title><link>https://blog.youkuaiyun.com/Q_u_iet/article/details/138585880</link><guid>https://blog.youkuaiyun.com/Q_u_iet/article/details/138585880</guid><author>Q_u_iet</author><pubDate>Wed, 08 May 2024 21:36:45 +0800</pubDate><description><![CDATA[高效的数据访问与共享的基石在现代计算体系结构中，内存映射是一项核心技术和编程策略，它极大地提升了数据访问的效率，促进了进程间的高效通信。本文旨在深入浅出地介绍内存映射的基本概念、工作原理、应用场景以及其实现机制，帮助读者理解这一强大工具的精髓。]]></description><category></category></item><item><title><![CDATA[Linux多进程进阶---进程间通信《管道》（一）]]></title><link>https://blog.youkuaiyun.com/Q_u_iet/article/details/138577931</link><guid>https://blog.youkuaiyun.com/Q_u_iet/article/details/138577931</guid><author>Q_u_iet</author><pubDate>Wed, 08 May 2024 20:17:26 +0800</pubDate><description><![CDATA[Linux环境编程中进程间通信的重要性和方法：进程间通信是通过传输数据或共享信息来实现的，包括数据交换、共享资源、进程同步和消息传递。Linux系统提供了四大类进程间通信方法:管道、SystemVIPC、POSIXIPC和套接字。其中管道适用于具有亲缘关系的进程，SystemVIPC有消息队列、信号量和共享内存，POSIXIPC通过文件实现消息队列、信号量和共享内存。本质就是不用的进程可以访问相同的内存区域。]]></description><category></category></item><item><title><![CDATA[Linux多线程进阶--手搓线程池（c版本）]]></title><link>https://blog.youkuaiyun.com/Q_u_iet/article/details/138494806</link><guid>https://blog.youkuaiyun.com/Q_u_iet/article/details/138494806</guid><author>Q_u_iet</author><pubDate>Tue, 07 May 2024 16:51:47 +0800</pubDate><description><![CDATA[/ 线程池结构体// 任务队列// 容量// 当前任务个数// 队头 -> 取数据// 队尾 -> 放数据// 管理者线程ID// 工作的线程IDint minNum;// 最小线程数量int maxNum;// 最大线程数量// 忙的线程的个数// 存活的线程的个数// 要销毁的线程个数// 锁整个的线程池// 锁busyNum变量// 任务队列是不是满了// 任务队列是不是空了// 是不是要销毁线程池, 销毁为1, 不销毁为0。]]></description><category></category></item><item><title><![CDATA[Linux网络编程（二）]]></title><link>https://blog.youkuaiyun.com/Q_u_iet/article/details/138453455</link><guid>https://blog.youkuaiyun.com/Q_u_iet/article/details/138453455</guid><author>Q_u_iet</author><pubDate>Sat, 04 May 2024 23:56:31 +0800</pubDate><description><![CDATA[在网络通信中最重要的决定信息的流向的就是：IP地址+端口号。]]></description><category></category></item><item><title><![CDATA[Linux网络编程（一）]]></title><link>https://blog.youkuaiyun.com/Q_u_iet/article/details/138445704</link><guid>https://blog.youkuaiyun.com/Q_u_iet/article/details/138445704</guid><author>Q_u_iet</author><pubDate>Sat, 04 May 2024 17:54:31 +0800</pubDate><description><![CDATA[mac地址：48位全球唯一的网络设备省份标识。ARP:IP地址—》mac地址RARP:mac地址–》IP地址ppp协议：拨号协议。]]></description><category></category></item></channel></rss>