- 博客(50)
- 收藏
- 关注
原创 【汇编语言】15-外中断+ESC键盘中断变色例程实战
本系列将讲解《汇编语言》一书,本节讲解【汇编语言】15-外中断基础知识,并实际编写ESC按键变色输出字符到屏幕的中断程序。
2025-10-10 22:28:50
843
原创 【汇编语言】13-BIOS和DOS的内置中断例程
在 上一章-【汇编语言】13-内中断之int中断 中,我们讲解了int中断指令的运用,并自己动手编写实践。然而,在计算机主板、操作系统自身内部,本身就有提供的一系列优质中断例程,供我们使用。 本节,我们就来详细讲解这些例程。
2025-10-08 14:09:26
607
原创 【汇编语言】13-内中断之int中断
本系列将讲解《汇编语言》一书,本节讲解【汇编语言】13-内中断之int中断。并通过篡改入栈的IP指令实现loop指令的复刻!
2025-10-07 19:07:30
640
原创 【Linux102】90-include/fcntl.h
fcntl.h 是 Unix/Linux 系统中一个非常重要的头文件,主要用于文件控制操作,提供了与文件打开、状态控制、锁定等相关的宏定义、结构体和函数声明。其核心作用是定义一套标准接口,让程序能够对文件描述符进行各种高级操作。
2025-09-05 12:57:05
1086
原创 【Linux102】61-fs/super.c
该文件描述了文件系统超级块操作函数,这些函数属于文件系统底层,供上层的文件名和目录操作函数使用。主要有get_super()、put_super()和read_super()。另外还有有关文件系统加载/卸载的系统调用函数sys_umount()和sys_mount(),以及根文件系统加载函数 mount_root()。其他一些辅助函数与buffer.c中的辅助函数的作用类似。超级块中主要存放了有关整个文件系统的信息
2025-09-04 23:08:49
729
原创 【Linux102】63-fs/file_table.c
file_table.c文件是文件系统的文件描述符表核心实现,负责管理系统中所有打开文件的状态,是进程与文件交互的关键中间层
2025-09-04 23:06:40
560
原创 【Linux102】64-fs/block_dev.c
block_dev.c 、file_dev.c 、pipe.c和 char_dev.c 都是为后面的read_write.c 程序提供服务,主要实现了系统调用write() 和 read()。
2025-09-04 23:05:14
980
原创 【Linux102】59-fs/bitmap.c
bitmap.c程序 的功能和作用既简单又清晰,主要用于对i节点位图和逻辑位图进行释放和占用处理。
2025-09-03 23:56:34
544
原创 【Linux102】58-fs/buffer.c
buffer.c程序用于对高速缓冲区(池)进行操作和管理。高速缓冲区位于内核代码和主内存区 之间。整个高速缓冲区被划分成1024B大小的缓冲块,正好与块设备上的磁盘逻辑块大小一样。高速缓冲区采用hash表和空闲缓冲块队列进行操作管理。
2025-09-02 22:35:48
631
原创 【Linux102】41-kernel/blk_drv/hd.c
hd.c程序是硬盘控制器驱动程序,提供对硬盘控制器块设备的读写驱动和硬盘初始化处理。
2025-08-28 23:08:25
761
原创 【Linux102】40-kernel/blk_drv/blk.h
这是有关硬盘块设备参数的头文件,因为只用于块设备,所以与块设备代码放在同一个地方。其中主要定义了请求等待队列中项的数据结构request,用宏语句定义了电梯搜索算法,并对内核目前支持的虚拟盘、硬盘和软盘三种块设备,根据它们各自的主设备号分别设定了常数值。
2025-08-27 22:38:42
685
原创 【Linux102】39-include/asm/io.h
io.h定义了一系列宏,这些宏是 x86 架构下直接操作硬件 I/O 端口的底层工具:inb/outb 用于基本的端口读写,带_p后缀的版本(inb_p/outb_p)增加了延迟,适配慢速设备通过内联汇编直接控制 CPU 寄存器(AL、DX 等),实现了最高效的硬件交互通常用于操作系统内核、设备驱动等需要直接操作硬件的场景
2025-08-25 22:52:38
575
原创 【Linux102】38-include/linux/fdreg.h
这个头文件为操作软盘控制器提供了统一的符号定义和函数接口声明,是底层软盘驱动程序开发的基础,使得开发者可以通过这些抽象的符号和函数来与软盘控制器硬件进行交互,而无需直接使用具体的数值地址和命令码,提高了代码的可读性和可维护性。
2025-08-25 22:51:36
761
原创 【Linux102】37-kernel/exit.c
该程序主要描述了进程(任务)终止和退出的处理事宜。主要包含进程释放、会话终止和程序退出处理函数以及杀死进程、终止进程、挂起进程等系统调用函数。还包括进程信号发送函数send_sig()和通知父进程子进程终止的函数tell_father()。
2025-08-25 22:49:23
994
原创 【Linux102】17-kernel/signal.c
这段代码是处理信号机制的核心实现,负责信号的设置、获取和处理。在操作系统内核中,进程是信号的载体与处理主体,信号则是内核或进程间向进程传递异步事件通知的机制,二者通过内核的信号管理模块紧密关联,二者的互动是内核实现进程控制(如终止、暂停)和异步事件通知的核心机制。
2025-08-23 10:16:26
974
原创 【Linux102】26-include/sys/wait.h
include/sys/wait.h的主要作用定义解析子进程终止状态的宏(如WIFEXITED、WEXITSTATUS等),用于判断子进程是正常退出还是被信号终止,以及获取具体的退出码或信号值。声明wait和waitpid两个系统调用函数,用于父进程等待子进程结束并获取其状态。
2025-08-21 10:55:15
418
原创 【Linux102】25-include/errno.h
errno.h文件定义一系列标准错误码常量,用于标识系统操作中的具体错误类型。具体来说是通过声明全局错误变量errno,供程序获取最近一次错误状态。这些错误码是操作系统与应用程序之间沟通错误信息的标准化方式,几乎所有系统调用和库函数在执行失败时都会通过errno返回对应的错误码。
2025-08-21 10:52:29
882
原创 【Linux102】15-1-task_struct结构体
Linux102系列会详细讲解Linux0.11版本中的102个文件,本文讲解linux0.11的第15个文件include/linux/sched.h中的进程PCB结构体——task_struct的源码。为什么一个结构体单独出一篇文章?因为PCB太重要了! 我们说的进程的一切抽象全部在这里面,所以要好好看!
2025-08-18 22:47:35
913
原创 【Linux102】21-include/asm/segment.h
include/asm/segment.h程序定义了一系列用于在 Linux 内核中访问用户空间内存的内联函数,主要通过内嵌汇编操作段寄存器fs来实现内核与用户空间的数据交互。
2025-08-17 20:12:42
718
原创 【C语言】深浅拷贝、传参、赋值 本质剖析
本文详解C语言的结构体的深浅拷贝、赋值与传参问题,基础永远直接花85%时间去好好学习,小而汇多,建议收藏!实际上,这并非为结构体而定的,是针对指针变量与其他值变量的特性,这里仅仅用结构体来说明。
2025-08-17 10:49:14
633
原创 【C语言】指针数组 VS 数组指针 原来这么简单!
本文讲解C语言中的指针数组和数组指针的区别,相信这是一个让很多初学者头疼的难点,让我们来掀开它的神秘面纱!
2025-08-17 10:45:32
884
原创 【C语言】结构体的深浅拷贝、赋值、传参总结
本文详解C语言的结构体的深浅拷贝、赋值与传参问题,基础永远直接花85%时间去好好学习,小而汇多,建议收藏!
2025-08-16 22:40:01
975
原创 【Linux102】18-include/signal.h
在计算机领域,信号(Signal) 是一种由操作系统或进程发出的异步通知机制,用于告知目标进程发生了某个特定事件,需要其暂停当前工作并处理该事件。include/signal.h 定义了信号处理相关数据结构,是理解Linux内核的信号机制的必知前提。
2025-08-16 12:33:52
1174
原创 【Linux102】19-include/sys/types.h
在 Linux 系统中,include/sys/types.h 是一个核心的系统头文件,主要作用是定义跨平台的基础数据类型,为系统调用、库函数和应用程序提供统一的数据类型声明,确保不同架构(如 x86、ARM 等)和编译环境下的兼容性。
2025-08-16 11:02:57
1021
原创 【Linux102】14-kernel/system_call.s
Linux102系列会详细讲解Linux0.11版本中的102个文件,本文讲解linux0.11的第14个文件kernel/system_call.s的文件源码。
2025-08-13 20:20:08
832
原创 【汇编语言】14-端口
公粽号「专注Linux」,专注Linux内核开发本系列将讲解《汇编语言》一书,本节讲解第14章——端口。本节速览1.前文回顾2.端口定义3.端口操作
2025-08-13 16:29:19
897
原创 【Linux102】9-kernel/traps.c
Linux102系列会详细讲解Linux0.11版本中的102个文件,本文讲解linux0.11的第9个文件kernel/traps.s的文件源码。上文说到,asm.s程序实现了大部分硬件异常所引起的中断的汇编处理过程。而本届讲解的traps.c就是这些中断的具体实现。
2025-08-12 05:18:12
362
原创 【Linux102】12-include/stdarg.h
Linux102系列会详细讲解Linux0.11版本中的102个文件,本文讲解linux0.11的第11个文件include/stdarg.h的文件源码。1.stdarg的主要作用stdarg.h是C 语言标准库中用于处理可变参数函数的头文件,核心作用是提供一套宏定义,让函数能够接收数量和类型不确定的参数(如 printf(const char *fmt, ...) 中的 ...)。
2025-08-10 19:43:33
908
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅