摘要:
参考: https://www.cnblogs.com/zhuyutang/p/14863011.html https://docs.npmjs.com/about-npm 1 npm是什么 npm是js的包管理工具,它由三个部分组成: npm网站 npm官网上可以查找包,查看包信息。 注册中心 存 阅读全文
摘要:
这一篇我们来讲解head.s源码,不同于bootsect.s和setup.s,head.s使用at&t汇编格式。存放在磁盘的第6个扇区处(bootsect.s存放在第一个扇区,setup.s存放在第2345个扇区)。 1 源码 /* * linux/boot/head.s * * (C) 1991 阅读全文
摘要:
1 8259A芯片 外部引脚和内部结构 IR0-IR7:中断源 IRR:中断请求寄存器,8位,每一位对应一个中断请求,某一位置1表示对应有中断请求 IMR:中断屏蔽寄存器,8位,每一位对应一个中断,某一位置1表示屏蔽某个中断源(比如IR3被屏蔽,则CPU将不会收到IR3的中断请求) PR判优电路:中 阅读全文
摘要:
1 源码 ! ! setup.s (C) 1991 Linus Torvalds ! ! setup.s is responsible for getting the system data from the BIOS, ! and putting them into the appropriate 阅读全文
摘要:
编译器 由于当时的特殊情况,bootsect.s使用的是XX编译器 汇编格式 bootsect.s使用的是Intel的汇编格式 1 源码 ! ! SYS_SIZE is the number of clicks (16 bytes) to be loaded. ! 0x3000 is 0x30000 阅读全文
摘要:
参考:https://zhuanlan.zhihu.com/p/113536449 1 实模式下的内存分布 实模式下,内存可用范围是0到0xFFFFF(2^20字节,1MB内存空间)。 我们可以看到,内存被各种外设瓜分了。 2 主板做的工作 电源按钮连接着主板上的复位线,主板上的复位线连接着CPU的 阅读全文
摘要:
我们的源码选用的是Linux0.11版本,因为这个版本简单好学,我们将以这个版本为基础学习Linux的基本体系结构。 1 源码下载 http://www.oldlinux.org/Linux.old/ 2 源码文件结构树 boot为启动相关的代码,用汇编写的 init是内核启动的代码 fs是虚拟文件 阅读全文
摘要:
1 内存地址 逻辑地址 每个逻辑地址都由一个段和偏移量组成,偏移量指明了从段开始的地方到实际地址之间的距离。 物理地址 物理地址和CPU地址引脚发送到内存总线上的电信号相对应 CPU可以实现逻辑地址到物理地址的转换。 2 实模式和保护模式 从80286开始引入保护模式。 实模式体现在内核中用到的地址 阅读全文
摘要:
0 教材 kernel源码对应的参考教材是《Linux内核完全注释:基于0.11内核(修正版V3.0).pdf》这本书,基于0.11内核。已上传到git私有仓库中 (一)AT&T汇编语法 1 寄存器引用 引用寄存器要在寄存器号前面加%,如mov %eax,%ebx 2 操作数顺序 操作数排列是从源( 阅读全文
摘要:
参考:《linux内核设计与实现》原书第三版,美Robert Love著,陈莉君 康华译 目前手上有一个centos7.5的系统,我们在该系统上进行内核的编译与安装新内核,我们安装2.6.34的内核 首先确保安装了如下软件: make gcc gcc-c++ ncurses-devel 如果没有安装 阅读全文