
操作系统原理
文章平均质量分 94
操作系统原理与自制操作系统
猿来这样1
编程圈子,谢厂节的博客
展开
-
操作系统学习1. x86汇编开发环境
MASM学习x86汇编语言 第一个程序一、本章准备工作二、x86 处理器架构三、几条简单的汇编指令四、启动qeditor 录入测试程序1. 源代码2. 编译3. 命令行编译五、调用Windows API的版本一、本章准备工作Windows环境,x86主机安装MASM软件下载地址:http://www.masm32.com/download.htm我这里安装到了D盘根目录。为方便后面命令行调用,安装以后,可以把D:\masm32\bin目录放到系统环境变量PATH里。本章示例使用d:/ma原创 2020-08-17 14:48:44 · 2718 阅读 · 0 评论 -
操作系统学习2 x86寄存器、汇编伪指令与程序调试
MASM学习x86汇编语言2 寄存器操作与常见伪指令一、一些基本概念二、8086的寄存器1. 通用寄存器2. 段寄存器3. 标志寄存器PSW三、常用的汇编指令四、一些汇编伪指令1. 段定义 segment2. 汇编结束3. 假设 assume4. 寻址方式五、使用DosBox和Debug工具一段代码示例(1) 新建一个1.asm文件:(2) 启动DosBox挂载本地磁盘(3) 编译(4) debug加载(5) 使用指令查看六、使用OllyDbg反汇编和跟踪程序一、一些基本概念比特(bit):二进制的一原创 2020-08-18 20:29:39 · 1427 阅读 · 1 评论 -
操作系统学习3 x86架构BIOS简介
MASM学习x86汇编语言3 调用DOS功能一、说明1. 本章准备工具2. BIOS相关概念(1) BMC和IPMI(2) EFI(3) UEFI 统一可扩展固件接口3. 主流的一些BIOS/BMC公司x86架构非x86架构二、查看BIOS存储单元示例1. BIOS数据区(1) 查看串口与并口(2) 查看系统设备 410H-411H(3) NumLock , CapsLock状态(4) 显示状态2. 查看ROM区(1) 版权信息(2) BIOS制造日期三、BIOS区详细说明一、说明1. 本章准备工具原创 2020-08-19 09:44:24 · 935 阅读 · 0 评论 -
操作系统学习4 自己动手写一段x86架构引导程序
学习x86汇编语言3 自己动手写一段程序引导计算机一、本章准备工具一、8086的内存分布二、8086的启动流程三、编译引导程序四、制作虚拟软盘1. 把 TINIX.IMG 也放到nasm目录 ,改名 MYOS.IMG2. 打开FloppyWrite.exe五、建立一个虚拟机1. 随便新建一个虚拟机2. 添加软盘控制器3. 启动虚拟机六、调试引导程序的方法七、使用vscode查看镜像内容一、本章准备工具FloppyWriter.exe 软盘绝对扇区读写工具,各大下载网站能下载到nasm :https:原创 2020-08-19 16:03:35 · 1571 阅读 · 0 评论 -
操作系统学习5 使用VirtualBox调试自己的引导程序
学习x86汇编语言5 使用VirtualBox调用引导程序一、 准备工具二、操作1. 查看安装的虚拟机2. 以调试模式启动三、调试控制台一些调试命令查看帮助查看内存反汇编其它常用命令四、命令行其它命令查看报告五、继续前面试验一、 准备工具上章完成的引导程序和磁盘镜像VirtualBOX二、操作1. 查看安装的虚拟机VBoxManage.exe list vms这个a是我上一章安装的镜像。2. 以调试模式启动VirtualBoxVm.exe --startvm "a" --debug原创 2020-08-20 13:50:23 · 1389 阅读 · 1 评论 -
操作系统学习6 使用Bochs调试自己的引导程序
一、Bochs简介Bochs是一个x86 的软件模拟器,用来模拟x86CPU、一些硬件和BIOS等,可以用来运行Windows、Linux等软件。由于它是纯软件模板,所以运行速度比起VmWare,VirtualBox可能会慢一点。二、启动镜像的操作过程1. 下载地址https://sourceforge.net/projects/bochs/files/bochs/2.6.11/安装后启动。2. 启动一个虚拟机点Start,启动一个Linux虚拟机。Power按钮可以关闭虚拟机。3.原创 2020-08-21 09:29:37 · 1683 阅读 · 0 评论 -
操作系统学习7 x86架构使用INT13中读取软盘数据
x86架构使用INT13中断读取软盘数据原创 2020-08-21 20:31:50 · 1560 阅读 · 2 评论 -
操作系统学习8 x86汇编读取Fat12文件格式
学习x86汇编语言8 让镜像支持Fat12文件格式一、Fat12 文件格式1. 格式简要说明2. 引导扇区一、Fat12 文件格式1. 格式简要说明Fat12是DOS支持的软盘格式。软盘有两个磁头,每个磁头80个柱面(磁道),每个柱面有18个扇区,每个扇区512个字节空间软盘结构:2. 引导扇区...原创 2020-08-24 13:33:47 · 523 阅读 · 2 评论 -
操作系统学习9 引导程序加载和运行系统文件
自制操作系统学习1 引导程序一、准备工作二、操作流程1. 修改程序2. 编译,生成镜像3. 在Win7虚拟机中打开A盘,装载镜像三、启动镜像本系列学习有前面的汇编学习基础最好,如果没有影响也不大本系列学习主要资源来自《[30天自制操作系统].(川合秀实)》,《自己动手写操作系统》两本书一、准备工作bochsvirtualbox,windows虚拟机nasm二、操作流程回顾前文的程序,我们的引导程序已经可以加载软盘的10个柱面的数据到内存的 0x0820 处,引导区本身的512字节由BIO原创 2020-08-26 09:59:05 · 905 阅读 · 2 评论 -
操作系统学习10 x86引导程序加载C语言程序
自制操作系统学习2 加载C语言程序一、准备工具二、操作步骤1. 实现步骤2. 重点(1) 汇编语言子程序实现(2) 在C中调用汇编的方法三、编译的重点3. 编译运行一、准备工具bochsVirtual Machinenasmgccld等。更多需要的工具已经放在码云开源仓库。二、操作步骤1. 实现步骤完成引导程序开发使用汇编语言两段子程序使用C语言开发调用汇编子程序编译程序,制作软盘镜像BIOS加载并运行汇编语言的引导程序汇编语言程序从软盘读取10扇区,当中包含C语言程序原创 2020-08-29 00:15:23 · 565 阅读 · 0 评论 -
操作系统学习11 x86-C调用汇编程序与传参
自制操作系统学习3 C调用汇编程序与传参一、准备工作二、C调用汇编的方法1. 写汇编方法本章实现字符的输入与输出一、准备工作Win7环境Bochsgcc,ld,nasm等代码架构如下:env和 tools里是一些编译开发工具。代码托管在:二、C调用汇编的方法1. 写汇编方法[BITS 16]global io_hltglobal clear_screenglobal read_char;global print_char;global print_str;global原创 2020-08-30 22:46:55 · 647 阅读 · 1 评论 -
自制操作系统学习4 进入32位保护模式
自制操作系统学习4 进入保护模式一、概念1. 为什么要进保护模式2. 段描述符2. 进入保护模式的步骤:一、概念1. 为什么要进保护模式8086最大寻址范围是1M,而超过64K的内存区域访问要靠切换段基址。当Intel的CPU发展到32位后,寻址空间达到了4G。32位下改变了寻址方式,使用名为GDT的表来管理内存,其实就是查表法,在GDT里记录每个内存段的段基址、段界限、段属性等信息。GDT里每个表项称为描述符Descriptor。CPU在保护模式下使用段描述符采用段描述符缓冲寄存器。在获得一个段原创 2020-09-09 13:32:03 · 875 阅读 · 0 评论