
linux内核完全注释笔记
文章平均质量分 90
只作人间不老仙
努力学习,打好基础
展开
-
第6章 引导启动程序boot
第6章 引导启动程序boot主要介绍boot/目录的三个汇编代码文件,boot.s和setup.s是实模式下的16位diamante程序,编译和汇编使用的as86和ld86。head.s使用的GNU的汇编格式。使用gas编译。6.1 总体功能Linux启动流程#mermaid-svg-xqWEnrmwoYFKadvG {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-s原创 2022-06-04 22:07:08 · 2457 阅读 · 0 评论 -
Linux内核完全注释中使用到的汇编指令
1.as86相关int 0x13:参考INT 13Hah为功能号,当ah=0x02时:从驱动器读取扇区。此时有输入参数表:寄存器名称表示的参数AH0x02AL读取多少个扇区CH磁道号CL扇区号DH磁头号DL驱动号ES:BX读入缓冲区位置返回参数表:寄存器名称参数CF进位标志,如果发生错误,就置位;没有错误就清0AH返回代码AL实际读取的扇区数DL的确定方法:现在的硬盘会兼原创 2022-05-31 22:02:29 · 1313 阅读 · 0 评论 -
第5章 Linux内核体系结构(2)
第5章 Linux内核体系结构目录第5章 Linux内核体系结构5.9 Linux 0.11采用的文件系统5.10 Linux内核源代码的目录结构5.10.1 内核主目录linux5.10.2 引导启动程序目录 boot5.10.3 文件系统目录 fs5.10.4 头文件主目录include5.10.5 内核初始化程序目录init5.10.6 内核程序主目录kernel5.10.7 内核库函数目录lib5.10.8 内存管理程序目录 mm5.10.9 编译内核工具程序目录tools5.11 内核系统与应原创 2022-05-30 22:47:22 · 352 阅读 · 0 评论 -
第5章 Linux内核体系结构(1)
第5章 Linux内核体系结构本章是对内核源代码的总结概述。操作系统组成:用户应用程序:字处理程序、Internet浏览器程序或用户自己编制的应用程序;操作系统服务:向用户提供的服务被看做是操作系统部分功能的程序。例如X窗口系统、shell命令解释系统以及内核编程接口等系统程序;操作系统内核:主要用于对硬件资源的抽象和访问调度。5.1 Linux内核模式操作系统结构可以分为:整体式单内核结构层次式微内核结构linux0.11:单内核优点:代码结构紧凑,执行速度快;缺点原创 2022-05-30 16:30:49 · 445 阅读 · 0 评论 -
第4章 80x86保护模式及其编程(3)——一个简单的多任务内核实例
4.9 一个简单的多任务内核实例完整描述了一个简单多任务内核的设计和实现方法。内核示例中包含两个特权级3的用户任务和一个系统调用的中断过程。4.9.1 多任务程序结构和工作原理本节给出的内核实例包括两个文件。使用as86语言编制的引导启动程序boot.s。使用GNU as汇编语言编制的内核程序head.s。boot.s程序编译出的代码共512字节,将被存放在软盘映像文件的第一个扇区中。PC机在加电启动时,ROM BIOS中的程序会把启动盘上第一个扇区加载到物理内存0x7c00(31kb)位置原创 2022-05-27 22:08:33 · 600 阅读 · 0 评论 -
使用WinImage创建新的Image文件
首先下载安装WinImage软件。这个就不叙述了。选择file->new选择Image文件格式,我这里选择标准格式,1.44M大小。新建完成后如图。可通过Image->Inject来输入文件。然后点击ctrl+s保存,注意文件类型选择All files,然后文件名自己加入.img后缀。这样一个img文件就制作好了。打开只需要file->open即可。...原创 2022-05-26 16:56:32 · 4707 阅读 · 0 评论 -
第4章 80x86保护模式及其编程(2)
第4章 80X86保护模式及其编程(2)4.6 中断和异常处理中断:(Interrupt);异常(Exception);中断处理程序(interrupt handler);异常处理程序(execption handler)。系统硬件使用中断来处理外部事件。当处理器在执行一条指令时,检测到一个出错条件,此时发生异常。包括违反保护机制、页错误以及及其内部错误。80x86可以透明的处理发生的中断和异常事件。4.6.1 异常和中断向量通过中断向量查找中断描述符表从而定位异常或中断的处理程序入口位置原创 2022-05-02 20:33:18 · 1356 阅读 · 0 评论 -
第4章 80X86保护模式及其编程(1)
第4章 80X86保护模式及其编程intel architecture software developer’s manual主要介绍80x86 CPU体系结构以及保护模式下编程。主要包括80x86基础知识、保护模式内存管理、各种保护措施、中断和异常处理、任务管理、保护模式编程的初始化以及一个简单的多任务内核的例子。4.1 80X86系统寄存器和系统指令...原创 2022-04-30 18:31:20 · 1391 阅读 · 0 评论 -
第3章 内核编程语言与环境(2)
第3章 内核编程语言与环境(1)3.4 C与汇编程序的相互调用3.4.1 C函数调用机制3.4.1.1 栈帧结构和控制转移权方式栈:传递函数参数、存储返回信息、临时保存寄存器原有值以备恢复以及用于存储局部数据。栈帧(Stack frame):单个函数调用操作所使用的栈部分ebp(frame pointer):帧指针,指向栈低(高地址)esp(stack pointer):栈指针,指向栈顶(低地址)通过push 和pop指令来入栈和出栈栈指针递减以扩展空间,栈指针增加以回收空间。CA原创 2022-04-27 17:05:20 · 1465 阅读 · 0 评论 -
第3章 内核编程语言与环境(1)
第3章 内核编程语言与环境3.1 as86汇编器3.1.1 as86汇编语言语法3.1.2 as86汇编语言程序!! boot.s -- bootsect.s的程序框架。用代码0x07替换串msg1中1字符,然后在屏幕第1行显示!.global begtext,begdata,begbss,endtext,enddata,endbss !全局标识符,供ld86链接使用;.text !正文段;begtext:.data !数据段;begdata:.bss原创 2022-04-25 11:14:54 · 818 阅读 · 0 评论 -
第17章 实验环境设置与使用方法
第17章 实验环境设置与使用方法windows系统下实验条件:linux系统下实验条件:三种仿真软件的区别描述:Review: VMWare Workstation 3.1 vs Virtual PC 4.3.2 vs Bochs 1.417.1 Bochs仿真软件系统bochs官网 bochs手册ubuntu下bochs安装教程sls-1.0.zip下载地址17.1.1 设置bochs系统17.1.2 配置文件*.bxrc1.megs:内存容量2.floppa原创 2022-04-22 17:11:33 · 1295 阅读 · 0 评论 -
第2章 微型计算机组成结构
linux内核完全注释(修正版v3.0)学习笔记原创 2022-04-21 12:15:56 · 1980 阅读 · 0 评论