linux
文章平均质量分 69
多多是小坏熊
这个作者很懒,什么都没留下…
展开
-
vmalloc实现机制
介绍了vmalloc的内核实现机制原创 2024-04-06 19:16:43 · 846 阅读 · 0 评论 -
slab内存分配机制
介绍linux内存管理的slab机制原创 2024-03-23 19:58:16 · 989 阅读 · 0 评论 -
伙伴系统算法
介绍linux系统内核伙伴系统算法原创 2024-03-02 17:44:09 · 523 阅读 · 0 评论 -
临时内核映射
介绍临时内核映射的实现原创 2024-02-24 13:06:26 · 837 阅读 · 0 评论 -
永久内核映射
介绍linux内核永久内核映射的实现方法原创 2024-02-17 11:16:35 · 739 阅读 · 0 评论 -
linux内核DEFINE_WAKE_Q的使用
介绍linux中DEFINE_WAKE_Q的使用原创 2022-12-11 16:41:18 · 209 阅读 · 0 评论 -
通过文件inode查找文件内容
实现通过文件inode,搜索磁盘,查找到文件内容原创 2022-10-23 21:27:20 · 1382 阅读 · 0 评论 -
块设备驱动
驱动代码参考的:https://blog.csdn.net/feixiaoxing/article/details/11701797由于这篇文章所用内核版本比较低,本机内核版本是4.15.0,代码编译报错,因此做了相应修好,代码如下:#include <linux/module.h>#include <linux/kernel.h>#include <linux/init.h> #include <linux/fs.h>#include <原创 2021-07-18 21:34:46 · 78 阅读 · 0 评论 -
linux常用指令
目录一、查看远程登录记录二、查看编辑定时任务三、文件相关四、环境变量相关五、iptables相关linux一些指令,保存的比较分散,使用的时候需要到处去找,这里统一整理下,以方便查找。一、查看远程登录记录who /var/run/utmp记录当前正在登录系统的用户信息,默认由who和w记录当前登录用户的信息,uptime记录系统启动时间last /var/log/wtmp记录当前正在登录和历史登录系统的用户信息,默认由last命令查看lastb /var/log/btmp记录失败的登录尝试原创 2021-06-20 13:32:16 · 70 阅读 · 0 评论 -
从逻辑地址到线性地址
目录一、段选择符二、段描述符三、逻辑地址到线性地址首先明确三个概念(以80x86为例):逻辑地址:包含在机器语言指令中用来指定一个操作数或一条指令的地址。我们程序中用到的地址,都是逻辑地址。线性地址:是一个32位无符号整数,可以用来表示高达4G的地址。物理地址:用于内存芯片级内存单元寻址,即在物理内存上的地址。一个进程拥有4G的虚拟空间,其中0-3G属于用户空间,这3G的空间划分为多个段,如下图所示:从下往上,5个部分依次是:代码区:存放可执行的指令,只能读,不能写数据区:存放初始化的全局原创 2021-06-20 12:58:42 · 666 阅读 · 0 评论 -
linux双向列表list_head使用方法
list_head是linux中使用非常广泛的双向列表,list_head源代码所在位置为include/linux/list.h。以下为测试代码:#include <stdio.h>#include <stdlib.h>#define LIST_POISON1 ((void *) 0x00100100)#define LIST_POISON2 ((void *) 0x00200200)struct list_head { struct list_head *n原创 2021-06-18 22:10:58 · 203 阅读 · 0 评论 -
linux内核红黑树的基本用法
最近在看linux内核代码,想写点东西,但是学的东西还没成体系,写的时候感觉无从下手。那就从最简单的开始吧。本文仿照linux内核对进程空间中对vm_area_struct的操作,实现了对学生对象(Student)的查找,插入。先贴下rbtree的源代码。头文件所在位置 include/linux/rbtree.h/* Red Black Trees (C) 1999 Andrea Arcangeli <[email protected]> This program is f原创 2021-06-17 18:37:58 · 380 阅读 · 0 评论 -
linux编程
目录一、管道一、管道pipe函数可用于创建一个管道,以实现进程间通信。pipe函数原型:int pipe(int fd[2]);该函数成功返回0,并将一对打开的文件描述符填入入参指向的数组;如果失败返回-1,并设置errno。测试代码如下: int fd[2]; // 创建管道 if (-1 == pipe(fd)) { cout << "fail to create pipe" << endl; r原创 2021-03-06 16:46:32 · 95 阅读 · 0 评论 -
linux下文件的mtime
利用find命令按文件修改时间对文件进行清理时,预想中应该被清理的文件没有被清理掉,所以专门测试了下mtime的使用规则。测试时间为:wang:~/wmy/test$ date2020年 10月 24日 星期六 17:55:50 CSTwang:~/wmy/test$ 通过touch -mt 2010220800 20201022080000.txt 命令可以修改文件的最后修改时间,测试文件如下:wang:~/wmy/test$ ll总用量 8drwxrwxr-x 2 senter se原创 2020-10-24 18:53:06 · 1650 阅读 · 0 评论