随笔分类 - 操作系统
摘要:起因 经常出现内存不够了。程序规模的增长大于存储器容量的增长。理想的存储器:更大,更快,更便宜,非易失性存储。实际的存储器: -不常用的放在硬盘上,常用的放在内存上。 覆盖技术 相互之间没有调用关系放到一个模块,调用时间不同,占用空间的时间不同 由程序员来把一个大的程序划分为若干个小的功能模块,并确
阅读全文
摘要:通过段号找到所在物理内存的起始地址,段表里存的是逻辑地址的段号和物理地址的段号之间的映射关系。 段表由操作系统来建立 段表的信息:段的起始地址,长度的限制 段的起始地址+偏移量 来查找在物理地址的位置把相应的数据取出来交给cpu做处理 分页机制 一个程序在运行的时候,这个程序本身的地址(逻辑地址)是
阅读全文
摘要:反汇编 找到readsec函数的入口地址 通过查看寄存器可以看到 当汇编代码定义了函数,那么就需要定义栈空间 突破512字节限制(2) 如何在根目录区查找目标文件? A.内存比较1.指定源起始地址(DS:SI)2.指定目标起始地址(ES:DI)3.判断在期望长度(CX)内每一个字节是否都相等 汇编中
阅读全文
摘要:主引导程序中如何进行字符串打印? 汇编中的常量定义 Const equ 0x7c00 == c语言 #define Const 0x7c00 主引导程序 org 0x7c00 ; IP = 0x7c00 jmp short start ;占用两字节 nop ;占用一字节 define: ;自己定义栈
阅读全文
摘要:org 0x7c00 //入口 start: mov ax, cs mov ss, ax mov ds, ax mov es, ax mov si, msg //将msg的地址放到si寄存器里 print: mov al, [si] //[]中括号来取数据 add si, 1 cmp al, 0x0
阅读全文
摘要:主引导程序如何加载存储介质中的其他程序? 引入FAT12文件系统 实验: 创建虚拟软盘 将虚拟软盘插入到FreeDos里面,并且盘符是b盘 进入Freedos 对B盘进行格式化,B盘就是虚拟软驱 data.img就拥有了FAT12文件系统 将虚拟软盘挂载到Linux里面 卸载 此时查看虚拟软盘就能看
阅读全文
浙公网安备 33010602011771号