linux内核笔记
文章平均质量分 68
qqxlt
这个作者很懒,什么都没留下…
展开
-
ptrace
一. ptrace 介绍 Ptrace 提供了一种父进程可以控制子进程运行,并可以检查和改变它的核心image。它主要用于实现断点调试。一个被跟踪的进程运行中,直到发生一个信号。则进程被中止,并且通知其父进程。在进程中止的状态下,进程的内存空间可以被读写。父进程还可以使子进程继续执行,并选择是否是否忽略引起中止的信号 man手册介绍:http://man7.org/linux/man-pages/man2/ptrace.2.html 二.ptrace 的函数详解: 2.1 函数声明 ..原创 2021-06-18 20:41:26 · 272 阅读 · 0 评论 -
linux 字符驱动
一. 驱动框架 补充。。。 三. 调试问题 驱动写完后使用insmod加载驱动,我们遇到了下面的问题 我们在系统下查看设备号 cat /proc/devices,由于我们驱动使用主设备号为252,显然冲突了,于是我们在驱动修改为自动获取主设备号 我们的驱动sem就被加载到了系统中。 ...原创 2021-04-28 08:16:18 · 276 阅读 · 0 评论 -
linux 内核巨页和透明大页
一. 巨页 的使用场景 在 Linux 操作系统上运行内存需求量较大的应用程序时,由于其采用的默认页面大小为 4KB,因而将会产生较多 TLB Miss 和缺页中断,从而大大影响应用程序的性能。当操作系统以 2MB 甚至更大作为分页的单位时,将会大大减少 TLB Miss 和缺页中断的数量,显著提高应用程序的性能。这也正是 Linux 内核引入大页面支持的直接原因。好处是很明显的,假设应用程序需要 2MB 的内存,如果操作系统以 4KB 作为分页的单位,则需要 512 个页面,进而在 TL...原创 2021-04-01 15:57:54 · 542 阅读 · 0 评论 -
野火开发板 linux-lab 操作流程
1.从串口启动板卡登陆成功 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0102/175846_37783704_8524344.png "1.png") 2.执行linux-lab 依次执行如下命令: git clone https://gitee.com/tinylab/cloud-lab.git cd cloud-lab tools/docker/pull linux-lab # 确保更新 docker 镜像 如果...原创 2021-01-03 08:16:55 · 775 阅读 · 0 评论 -
LINUX 0.11内核完全剖析学习笔记-第三章内核编程语言和环境
一.编译器 linux 0.11 集成了两种汇编器。一种是能产生16位代码的as86汇编器,使用配套的ld86链接器;另一种是GUN汇编器gas,使用GNU ld链接器俩链接产生的目标文件。 1.1 as86汇编器 as86和ld86虽然可以编制32位代码,但在linux下用它来创建16位的启动引导扇区程序boot/bootsect.S和是模式下初始设置程序boo原创 2017-11-19 19:28:50 · 390 阅读 · 0 评论