码迷,mamicode.com
首页 >  
搜索关键字:实模式    ( 160个结果
一,内核加载程序
加载程序不是内核的重点,我们只需知道内核被加载到什么地方,内核的入口地址是什么即可,一些技术细节没必要过分关心。xv6的内核加载程序由两个文件组成:bootasm.S和bootmain.cbootasm.s的主要目的就是由实模式进入保护模式,下面是bootasm.s的代码注释: 1 #加载器被BIO...
分类:其他好文   时间:2014-11-30 16:46:29    阅读次数:312
近期小感——一个残疾人写的操作系统
因为自己也在写一个操作系统的内核,虽然没完成,也遇到很多困难,参考了诸如Linux 0.01 ,minix3.0, Orange's等,总算有点起色吧,属于走一步看一步那种,从实模式怎么跳到保护模式,从怎么打开关闭中断,再到怎么读取内存大小,都是一步一步来,很多内容都是从网上搜索,看资料等,而且我的引导扇区也是用的nasm汇编,实在反感ATT格式汇编,毕竟大学学得汇编是在windows下的的int...
分类:其他好文   时间:2014-11-15 08:54:15    阅读次数:200
解决win7系统不支持16位实模式汇编程序DOS运行的问题
这学期学习了汇编,在自己电脑上发现,win7的dos不支持16位实模式。 对编程来说,不能运行程序是致命的。 在经过网上搜集资料后,得到一种解决办法--使用dosbox软件运行 dosbox简单说,就是一个dos模拟程序,支持16位实模式。 1.首先下载一个dosbox安装程序并安装,下面给出地址 http://sourceforge.net/projects/dosbox/files/...
分类:Windows程序   时间:2014-10-31 17:15:17    阅读次数:317
控制台应用程序作用
控制台程序是为了兼容DOS程序而设立的,这种程序的执行就好像在一个DOS窗口中执行一样,没有自己的界面。INTEL的CPU有三种工作模式,实模式,保护模式,虚拟模式。实模式是16位的,在这种模式下可工作纯DOS。保护模式是32位的,WINDOWS就工作在这种模式下,为了使在32位保护模..
分类:其他好文   时间:2014-10-22 10:12:35    阅读次数:153
电脑从开机加电到操作系统main函数之前执行的过程
总的来说在操作系统加电启动之后到main函数执行之前操作系统经历了以下3个大步骤 1.启动BIOS。这个时候位于实模式下,加载中断向量和中断服务程序 2.加载操作系统内核并为保护模式做准备。这个时候操作系统一共加载了3部分代码:引导程序bootsect,内核代码setup,内核代码system模块 3.从实模式转换为32位保护模式。这个过程要做大量重建工作,并且持续工作到操作系统main函数...
分类:其他好文   时间:2014-10-08 10:46:25    阅读次数:4682
x86CPU 实模式 保护模式 傻傻分不清楚? 基于Xv6-OS 分析CR0 寄存器
基于Xv6-OS 分析CR0 寄存器...
分类:其他好文   时间:2014-10-04 12:32:06    阅读次数:175
linux 0.11 启动过程
开机上电的阶段开机上电时CPU寄存器的值CS:0xffff, IP: 0x0000, 此时CPU处于实模式因此会去执行地址 addr = cs * 16 + ip = 0xffff0 此处就是固化在ROM中的一段程序也就是BIOS, 然后BIOS 会去读MBR(引导扇区 512B) , 将这512...
分类:系统相关   时间:2014-10-02 19:13:53    阅读次数:187
保护模式和实模式概念
实模式:寻址采用和8086相同的16位段和偏移量,最大寻址空间1MB,最大分段64KB。可以使用32位指令。32位的x86 CPU用做高速的8086。保护模式:寻址采用32位段和偏移量,最大寻址空间4GB,最大分段4GB (Pentium Pre及以后为64GB)。在保护模式下CPU可以进入虚拟80...
分类:其他好文   时间:2014-09-11 19:00:52    阅读次数:197
Linux江湖08:使用GCC和GNU Binutils编写能在x86实模式运行的16位代码
编写运行于x86实模式下的16位代码是一个很复古的话题,编写能在DOS下运行的Plain Binary可执行文件是一个更复古的话题。以往,凡是需要使用x86的16位实模式的时候,作者都喜欢那NASM来编程。比如《30天自制操作系统》、《Orange's 一个操作系统的实现》、《x86汇编语言——从实...
分类:系统相关   时间:2014-08-24 16:35:42    阅读次数:422
逻辑地址与物理地址
逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分。例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分...
分类:其他好文   时间:2014-08-18 15:47:42    阅读次数:173
160条   上一页 1 ... 13 14 15 16 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!