操作系统编写之引导扇区

你可能还没有从刚刚的兴奋中走出来,可是我不得不告诉你,实际上,你刚刚所完成的并不是一个完整的操作系统,而仅仅是一个最最简单的引导扇区(Boot Sector)。然而不管我们完成的是什么,至少,它是直接在裸机上运行的,不依赖于任何其他软件,所以,这和我们平时所编写的应用软件有本质的区别。它不是操作系统,但已经具备了操作系统的一个特性。
     我们知道,当计算机电源被打开时,它会先进行加电自检(POST),然后寻找启动盘,如果是选择从软盘启动,计算机就会检查软盘的0面0磁道1扇区,如果发现它以0xAA55结束,则BIOS认为它是一个引导扇区。当然,一个正确的引导扇区除了以0xAA55结束之外,还应该包含一段少于512字节的执行码。
好了,一旦BIOS发现了引导扇区,就会将这512字节的内容装载到内存地址0000:7c00处,然后跳转到0000:7c00处将控制权彻底交给这段引导代码。到此为止,计算机不再由BIOS中固有的程序来控制,而变成由操作系统的一部分来控制。
    现在,你可能明白了为什么在那段代码的第一行会出现“org 07c00”这样的代码。没错,这行代码就是告诉编译器,将来我们的这段程序要被加载到内存偏移地址0x7c00处。好了,下面将对代码的其他部分进行详细解释。

操作系统编写之引导扇区 1相关推荐

  1. 操作系统编写之引导扇区

    操作系统编写之引导扇区 你可能还没有从刚刚的兴奋中走出来,可是我不得不告诉你,实际上,你刚刚所完成的并不是一个完整的操作系统,而仅仅是一个最最简单的引导扇区(Boot Sector).然而不管我们完成 ...

  2. 【OS学习笔记】六 实模式:编写主引导扇区代码

    上一篇文章学习了:计算机的启动过程(点击链接查看上一篇文章) 这篇文章学习记录为:编写主引导扇区代码. 参考:<X86汇编语言-从实模式到保护模式>-李忠.纯学习笔记,更详细内容请阅读正版 ...

  3. 【OS学习笔记】八 实模式:编写主引导扇区代码-另一种更高效的写法

    学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 上一篇文章,我们用比较原始的方法编写了主引导扇区的代码.点击链接查看 ...

  4. [书]x86汇编语言:从实模式到保护模式 -- 第六、七章 编写主引导扇区代码

    第六章 编写主引导扇区代码(启动时显示文字:Label offset:) PART 1 >> 用VirtualBox显示最终效果 1.1 汇编 启用nasm的工具"nasm-sh ...

  5. 第五章 编写主引导扇区代码

    本章的思路是,在本机上上写一段代码(这些代码的意义是往显存中写一些数据)-->编译成bin文件-->写入到vhd硬盘的引导扇区(即第一扇区,见第四章详述)-->开机从硬盘启动,从而执 ...

  6. 第5章 编写主引导扇区代码

    开机过程 一.在屏幕上显示文本 01.显卡和显存 每个字节表示三原色中的一个(红绿蓝) 两种模式|-文本模式|-图像模式两种模式的显存是分开的;文本模式下,显存的内容是文本的编码:图像模式下,显存的内 ...

  7. 30天自制操作系统 - 取代软盘,用U盘写入引导扇区

    背景 作者是在2006年发布此书的(翻译版是在2012年在中国发售),当时可能还能找到带有软驱的计算机.但是时过境迁,现在已经不存在这种老古董东西了. 简单总结一下学习到第三天的一些更变. 更变 书籍 ...

  8. 操作系统1——引导扇区的理解

    在操作系统这个方面,我记得自己经常听到主引导记录这个名词,但是对于它的理解并不深,只知道它在系统加载的时候很重要.现在我想自己写一个操作系统,但是想到第一步该怎么做呢?书上说是用汇编写引导程序.那么这 ...

  9. syslinux引导扇区不支持ntfs文件系统_实战 FAT12 文件系统

    1. 引言 经过一系列的文章,我们终于完成了从实地址模式跳转到保护模式,并且实现了分段.分页以及保护模式下的中断与异常机制. 保护模式究竟"保护"了什么 可是我们除了最初的时候,在 ...

  10. 读写U盘(FAT32)引导扇区

    看了<自己动手写操作系统>后,也想自己打造一个迷你操作系统,但是书中使用的软盘现在基本已经绝迹了,而U盘成为一种喜闻乐见的工具.因此想将操作系统写入U盘中,而读写U盘的引导扇区成为成功的关 ...

最新文章

  1. windows server 2008 - 创建域和本机用户
  2. 乱谈Qt事件循环嵌套
  3. intel服务器修复两个漏洞,游戏厂商:修复Intel处理器漏洞后 服务器超卡
  4. Apollo 2.0发布前 试乘百度L3、L4级自动驾驶汽车
  5. C语言在计算机专业的功能,C语言程序设计在高职院校计算机专业教学中重要作用.pdf...
  6. ae预览不了多次_AE不能预览全部视频的原因分析及解决方案
  7. 循环链表--约瑟夫问题
  8. 智能家居火了这么久 何时到我家?
  9. 高级商务办公软件应用【4】
  10. 倪捷:智能语音扩展数字化服务
  11. ios11.3相册闪退_iOS11拍照闪退,保存图片闪退问题(writeImageToSavedPhotosAlbum)
  12. Java基础知识(七) 输入输出流
  13. office ppsx逻辑漏洞(CVE-2017-8570)
  14. 所有的伟大都源于一次勇敢的开始
  15. Shiro学习(3)shiroConfig配置类
  16. 万得数据写入Excel
  17. 优秀成绩标记—— 小王是班级干部,对于即将到来的三好学生评选,负责统计平均成绩超过85分的同学
  18. python 卡片概念学习
  19. HDU 3105 Fred's Lotto Tickets(数学题)
  20. 如何将本地的项目推送至git仓库

热门文章

  1. Euler Tour Tree与dynamic connectivity
  2. Java反射机制demo(三)—获取类中的构造函数
  3. Java发送HttpRequest
  4. LightOJ 1366 - Pair of Touching Circles (在矩形中只需要两个圆相外切,有多少种) 半径圆心均为整数)...
  5. 关于python循环
  6. MFC之添加PNG,JPG图片
  7. (转)apple-touch-icon-precomposed 和 apple-touch-icon属性区别
  8. Win7下Tomcat7和Apache2.2集成
  9. ACL'21 | 对比学习论文一句话总结
  10. 从Label Smoothing和Knowledge Distillation理解Soft Label