见 github  https://github.com/TouwaErioH/subjects/tree/master/oslab-oranges…
实验目的: • 如何从软盘读取并加载一个Loader程序到操作 系统,然后转交系统控制权 • 对应章节:第四章 实验内容: 1. 向软盘镜像文件写入一个你指定的文件,手 工读取在磁盘中的信息 2. 在软盘中找到指定的文件,读取其扇区信息 3. 将指定文件装入指定内存区,并执行 4. 学会在bochs中使用xxd读取反汇编信息 完成本次实验要思考的问题: 1.FAT12格式是怎样的? 2.如何读取一张软盘的信息 3.如何在软盘中找到指定的文件 4.如何在系统引导过程中,从读取并加载一个可执行文件…
实验目的: 理解中断与异常机制的实现机理 对应章节:第三章3.4节,3.5节 实验内容: 1. 理解中断与异常的机制 2. 调试8259A的编程基本例程 3. 调试时钟中断例程 4. 建立IDT,实现一个自定义的中断,功能可自 定义,如特定键盘组合触发某个动作.电子 钟.自己游走的字符显示.蜂鸣器等 5. 了解IOPL的作用 完成本次实验要思考的问题: 1.什么是中断,什么是异常 2.8259A的工作原理是怎样的? 3.如何建立IDT,如何实现一个自定义的中 断 4.如何控制时钟中断 5.IOP…
https://github.com/yyu/osfs00 实验目的: 理解x86架构下的段式内存管理 掌握实模式和保护模式下段式寻址的组织方式. 关键数据结构.代码组织方式 掌握实模式与保护模式的切换 掌握特权级的概念,以及不同特权之间的转移 实验内容: 1. 认真阅读章节资料,掌握什么是保护模式,弄清关键数据结构: GDT.descriptor.selector.GDTR, 及其之间关系,阅读 pm.inc文件中数据结构以及含义,写出对宏Descriptor的分析 2. 调试代码,/a/ 掌…
实验目的: 掌握内存分页机制 对应章节:3.3 实验内容: 1.认真阅读章节资料,掌握什么是分页机制 2. 调试代码,掌握分页机制基本方法与思路 – 代码3.22中,212行---237行,设置断点调试这几个循环,分析究竟在这里做了什么? 3. 掌握PDE,PTE的计算方法 – 动手画一画这个映射图 4. 熟悉如何获取当前系统内存布局的方法 5. 掌握内存地址映射关系的切换 – 画出流程图 6. 基础题:依据实验的代码, – 自定义一个函数,给定一个虚拟地址,能够返回该地址从虚拟地址到物理地址的…
实验目的: 搭建基本实验环境,熟悉基本开发与调试工具 对应章节:第一.二章 实验内容: 1.认真阅读章节资料 2.在实验机上安装virtualbox,并安装ubuntu 3.安装ubuntu开发环境,32位环境 4.下载bochs源码,编译并安装bochs环境 5.使用bochs自带工具bximage创建虚拟软驱 6.阅读.编译boot.asm,并反汇编阅读 7.修改bochsrc,运行并调试你的第一个程序: 删除AA55,观察程序效果,找出原因 修改程序中输出为,一个任意长度的打印字符串,调试…
<一个操作系统的实现> ubuntu系统环境配置 电脑之前已经安装了gcc. 一.nasm安装:sudo apt-get install nasm或官网下载http://sourceforge.net/projects/nasm我下载到的是nasm-2.11.08-1.src.rpm(里面有nasm-2.11.08.tar.xz文件)rpm的安装方式: $sudo apt-get install alien ##alien默认没有安装,所以首先要安装它 $sudo alien xxxx.rpm…
感觉自己对于操作系统始终没有一个清楚的概念,尤其最近困扰于实模式.保护模式以及寻址方式等一些概念.转而一想,所有的程序,最终都是操作的计算机资源,需要和操作系统打交道,所以操作系统有必要深入了解一下.最终想要自己动手编写一个简单的版本,上网查.网友对于于渊的<Orange'S:一个操作系统的实现>和<30天自制操作系统>评价挺高的,先选<orange>为学习手册.<30>为参考手册,开始自己的操作系统之旅. 首先是平台的搭建问题,首先因本人编程一般都是在自己…
前言:本机环境ubuntu 14.04 bochs 2.4.5 一.下载 官网 http://bochs.sourceforge.net/ 二.安装 1.将下载好的压缩包解压并进入该目录 .tar.gz cd bochs- 2.安装编译程序依赖的包 sudo apt-get install build-essential 3.检测环境,打开调试功能的开关 ./configure --enable-debugger --enable-disasm (1)如出现 ERROR: X windows g…
书中给出了两种环境:windows和linux,平台选择根据自己喜好.本人这里选择ubuntu10.04+virtualbox作为开发平台. 1.下载.安装VirtualBox     http://download.virtualbox.org/virtualbox/4.0.0/VirtualBox-4.0.0-69151-Win.exe 2.下载ubuntu安装文件 http://www.ubuntu.com/desktop/get-ubuntu/download 3.在VirtualBox…