未命名 Linux实现malloc的终极指南 对任何学习或使用过c语言的人来说,malloc函数应该并不陌生。众所周知,malloc允许我们申请一段连续的内存区域,并且当这块内存不再需要时,可以通过free函数将其释放。尽管如此,很多开发者对于malloc函数... 2025-02-10 96 阅读 泥小猴系统教程网
未命名 零长度数组无意义解析 灵活性::零长度数组允许我们在不知道具体需要多少存储空间的情况下,先分配一个基本的结构体。这样,我们可以在后续的程序执行中,根据需要动态地添加数据到这个零长度数组中。这种灵活性对于处理可变大小的数据非常有用。内存效... 2025-02-10 92 阅读 泥小猴系统教程网
未命名 深入解析Linux内核mutex数据结构 1定义互斥锁是一种用于多线程编程的机制,用于防止多条线程同时对同一公共资源进行读写操作。为了达到这个目的,互斥锁将代码划分为临界区域,这部分代码涉及对公共资源的读写操作。一个程序、进程或线程可以拥有多个临界区域... 2025-02-10 66 阅读 泥小猴系统教程网
未命名 深入解析Linux线程与信号关系 1.线程与信号的关联::线程与信号的关系遵循以下几个标准::标准1:同一线程组的线程共享信号处理函数。标准2:线程拥有独立的信号阻塞集。标准3:存在私有未决信号队列和共享未决信号队列。标准4:当... 2025-02-10 110 阅读 泥小猴系统教程网
未命名 Linux内核调试技巧全解析 什么是kdump?:Kdump的概念出现在2005左右,是迄今为止最可靠的内核转存机制,已经被主要的linux™厂商选用。kdump是一种先进的基于kexec的内核崩溃转储机制。当系统崩溃时,kd... 2025-02-10 80 阅读 泥小猴系统教程网
未命名 深入解析Linux进程控制技巧 一个父进程可以创建多个子进程,而一个子进程只能有一个父进程。因此,对于子进程来说,父进程是不需要被标识的;而对于父进程来说,子进程是需要被标识的,因为父进程创建子进程的目的是让其执行任务的,父进程只有知道了子进程的P... 2025-02-10 86 阅读 泥小猴系统教程网
未命名 Linux内存管理深度解析 因为物理内存是多个进程所有的,每个进程都有一个用户空间。如果采用直接映射的话,对应的物理地址是会冲突的。其用户空间的逻辑地址大小都为3G,所以存在逻辑地址相同,但是对应的物理地址不同。需要通过页表来转化,一个进程会... 2025-02-10 65 阅读 泥小猴系统教程网
未命名 Linux内核socket底层解析 本文在上文基础上进一步全面分析socket底层的相关实现。一、socket与inode:socket在Linux中对应的文件系统叫Sockfs,每创建一个socket,就在sockfs中创建了一个特殊的文件,同时... 2025-02-10 101 阅读 泥小猴系统教程网
未命名 深入解析Linux虚拟文件系统原理 在unix的世界里,有一句经典的话:一切对象皆是文件。这句话的含义是,可以将unix操作系统中的所有对象都视为文件,并使用文件操作接口来处理它们。linux作为一个类unix操作系统,也致力于实现这一理念。虚拟文件... 2025-02-10 54 阅读 泥小猴系统教程网
未命名 单片机模拟Linux自动初始化流程揭秘 通常我们写程序都是按照这个套路,一个函数一个函数按照顺序逻辑一个一个的执行下去。如果逻辑非常复杂,涉及的模块比较多,那么这种顺序执行的代码就会比较臃肿,各模块耦合非常紧密。Linuxkernel中,有各种外设驱... 2025-02-10 120 阅读 泥小猴系统教程网