博客专栏  >  编程语言   >  一个操作系统的实现

一个操作系统的实现

依据《一个操作系统的实现》写的一些笔记

关注
0 已关注
21篇博文
  • pmtest9.asm

    pmtest9c.asm所写的中断类似与一种call 调用,更像一种异常,就是直接调用这段,而这个始终中断,类似与单片机,只需要使能之后,就可以进入中断 不需要int 80h 这样的调用 ;===...

    2018-03-06 10:59
    36
  • pmtest9c.asm

    8259A的初始化 中断向量表的建立 ;====================================== ;pmtest9c.asm ;编译方法:nasm pmtest9c.asm -...

    2018-03-03 21:43
    29
  • pmtest8.asm

    有个bug 找了半天,以前的代码都是 LABEL_DESC_CODE32: Descriptor 0, SegCode32Len - 1, DA_C| DA_32; 现在的代...

    2018-03-03 12:49
    78
  • pmtest8.asm 笔记

    pmtest8.asm的功能,先执行某个线性地址处的模块,然后通过改变cr3来转换地址映射关系,再执行同一个线性地址处的模块,由于地址映射已经改变,所以两次得到的应该是不同的输出 LABEL_DES...

    2018-03-03 12:52
    44
  • linux内核_目录介绍(1)

    linux目录是源代码的主目录,在该主目录下包括所有的14个子目录,还有唯一的一个Makefile文件。 目录结构如下图 这个Makefile文件是编译辅助工具软件make的参数配...

    2016-08-28 21:51
    218
  • unix绝对路径与相对路径

    Unix的每个进程都有一个当前工作目录,它属于进程执行上下文,标识出进程所用的当前目录。为了标识一个特定的文件,进程使用路径名,路径名由斜杠及一系列指向文件的目录名交替组成。 如果路径名的第...

    2016-08-31 20:24
    271
  • 逻辑地址、线性地址、物理地址区别

    本文转自http://blog.csdn.net/erazy0/article/details/6457626一、逻辑地址转线性地址    机器语言指令中出现的内存地址,都是逻辑地址,需要转换成线性地...

    2016-08-31 22:56
    4408
  • Linux 0.11系统环境搭建(windows下)

    1. 下载boch 2.4 https://sourceforge.net/projects/bochs/files/bochs/ 下载linux-0.11内核 http://www.oldl...

    2018-01-31 18:48
    39
  • install Bochs in ubuntu

    bochs虚拟机终于花了一天时间安装好了 由于跟着《一个操作系统的实现》来安装的,所以开始的时候是安装的bochs-2.3.5版本,但是在configure的时候,一直卡死在 ERROR: ...

    2018-02-01 15:11
    28
  • linux之 电脑上电到引导扇区之间流程

    程序在上电之后,内存中什么都没有,Intel将所有CPU的硬件都设计为加电即进入16位实模式状态运行,同时将CPU的硬件逻辑设计为加电瞬间强行将CS的值置为0xf000,IP的值置为0xfff0,这样...

    2018-02-02 09:30
    49
  • sudo mount -o loop pm.img /mnt/floppy

    最近在学《一个操作系统的实现》,由于这本书比较老了,所以有一些对于软盘的操作指令现在用会出现一些错误,当我进行虚拟软盘的挂载时 sudo mount -o loop pm.img /mnt/f...

    2018-02-06 08:18
    57
  • 实模式到保护模式的转变

    ;====================================== ;pmtest1.asm ;编译方法:nasm pmtest1.asm -o pmtest1.bin ;========...

    2018-02-06 11:28
    20
  • pmtest2.asm

    最近在学一个操作系统的实现,由于是电子书,没有完整的源代码,只能自己慢慢解决bug构建还原,这个是书中pmtest2.asm可实现的完整版 ;============================...

    2018-02-16 16:51
    26
  • pmtest3.asm

    本段代码的用意是让我们了解一下LDT(局部描述符表),与GDT差不多,只不过选择子TI位必须置为1,运用他时,需要先用lldt指令加载ldtr,lldt操作数是gdt中用来描述ldt的描述符,这个例子...

    2018-02-20 10:26
    27
  • pmtest4.asm

    ;====================================== ;pmtest4.asm ;编译方法:nasm pmtest4.asm -o pmtest4.bin ;========...

    2018-02-26 08:08
    10
  • 特权级概述

    IA32的分段机制中,特权级总共有4个,较为核心的代码放在特权级较高的层级中,这种机制避免低特权级的任务在不被允许的情况下访问高特权级的段,如果处理器检测到访问请求不合法,将会产生常规保护错误。 内...

    2018-02-26 09:10
    88
  • 一个操作系统的实现----不同特权级之间的转移

    程序转移的发生,可以由指令jmp call ret sysenter sysexit int n 或 iret引起,也可以由中断和异常机制引起,这个arm单片机有区别,arm单片机的任务切...

    2018-02-26 09:58
    31
  • pmtest5a.asm

    此代码用作从高特权级0跳到低特权级3,通过ret指令实现,在ret指令执行前,堆栈中应该已经准备好了目标代码的cs eip ss 以及 esp 这是通过push 指令来实现 ;=====...

    2018-02-26 13:21
    12
  • pmtest5.asm

    从0特权级跳到3特权级 这个在pmtest5a.asm就已经实现了,通过压栈cs eip ss 以及 esp 然后ret直接跳转到特权级3的代码段 LABEL_DESC_CODE_RING3 ...

    2018-02-27 10:18
    9
  • pmtest6.asm

    这个代码的功能是写了一个分页机制,还有书中的一个bug 解决pmtest6.asm不能返回到实模式的问题 ;====================================== ;pmte...

    2018-02-28 14:33
    10

img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部