• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
lelezjg
博客园 首页 新随笔 联系 订阅 订阅 管理

文章分类 -  Orang's:一个操作系统的实现——读书心得

开始复习操作系统,准备用于渊的书进行学习,觉得写得很细,就是汇编多了些。希望用一个月时间做完这件事。加油!珍惜自己的承诺!
 
第七篇——Loader的引导程序-- 系统启动代码.[转载]
摘要:下面是我从http://blog.csdn.net/x12143/article/details/5408031这里转载的,其中有些被注释掉,主要为了和于渊书中讲解的代码一致。;##########################################################################; 这是一段引导程序,本程序是将加载程序加载至 9000:0100 处,; 并将控制权转移到加载程序。; 本代码使用 NASM 进行编译。;################################################################### 阅读全文
posted @ 2011-07-28 16:05 lelezjg 阅读(273) 评论(0) 推荐(0)
第五篇——文件系统FAT和主引导记录MBR
摘要:由于,我们以后的操作系统要加载到软盘上,软盘的一种文件格式——FAT12。 可以想象,我们之前的程序局限在512字节的引导扇区,可是我们的操作系统会不断添加新功能,为了能够实现这个,我们就要不能局限在这第一个扇区(0,0,1),我们需要其他的扇区保存我们的程序,这些程序在运行前要加载到内存,然后才能执行。 于渊的书上有这样一句话:一个操作系统从开机到开始运行,大致经历“引导-->加载内核如内存-->跳入保护模式-->开始执行内核"这样一个过程。这样,作者提出了loader的概念,而loader就负责上述工作。让引导扇区负责把Loader加载入内存并且把控制权交给它, 阅读全文
posted @ 2011-07-28 16:03 lelezjg 阅读(790) 评论(0) 推荐(0)
第六篇——一个最简单的Loader
摘要:根据我对与书上所理解的,Loader就是要完成引导程序没有完成的事情:1.加载内核。2.跳入保护模式。我们先看书上最简单的Loader的代码: 摘自<Orange'S : 一个操作系统的实现>P109.;Loader.asmorg 0100h mov ax, 0B00h mov gs, ax mov ah, 0Fh ;黑底,白字. mov al, 'L' mov [gs:((80*0+39)*2)], ax ;屏幕第0行,第39列. jmp $编译: nasm loader.asm -o loader.bin代码功能:完成在屏幕上输出一个“L ”,这就是最简 阅读全文
posted @ 2011-07-28 16:01 lelezjg 阅读(192) 评论(0) 推荐(0)
第四篇——实模式、保护模和虚拟86模式[转载摘抄]
摘要:本文主要摘录了维基百科和网络上其他爱好者的文章。实模式: (Real mode)是Intel 80286和之后兼容CPU的操作模式。实模式的特性是一个20位的区段存储器地址空间(就是1M的存储器可以被寻址),可以直接软件访问BIOS例程意见周边硬件,没有任何硬件等级的存储器保护观念或多任务。所有的80286系列和之后的x86CPU都是以实模式下开机;80186和早期的CPU仅仅只有一种操作模式,也就是相当于后来芯片的这种实模式。 286架构导入保护模式,允许硬件等级的存储器保护。然而要是用这些新的特色,需要额外先前不需要的软件指令。由于x86微处理机主要的涉及规格,是能够完全向前兼容的。所有2 阅读全文
posted @ 2011-07-28 15:56 lelezjg 阅读(441) 评论(0) 推荐(0)
第三篇——计算机启动过程和BIOS
摘要:今天读杨文博的《开源软件—自己动手写操作系统》,我对计算机启动过程有了一个充分的了解。下面是原文的部分摘抄。与百度百科的计算机启动过程相似。1. 加电.主板的控制芯片完成与CPU的通话,将控制权最终转交给系统BIOS。2.自检。(以前内存坏了,经常会听见蜂鸣声)。此时系统BIOS的加电自检程序完成对各个硬件的测试。3.初始化设备。系统BIOS加电自检后,会首先完成显卡设置,存放显卡BIOS的ROM芯片的起始地址在0xc0000处,由显卡的BIOS来初始化显卡。4.测试设备。查找完所有其他设备的BIOS后,系统BIOS 显示其自身的信息,系统BIOS将开始测试CPU,RAM,其他硬件设备。5.更 阅读全文
posted @ 2011-07-28 15:22 lelezjg 阅读(166) 评论(0) 推荐(0)
第二篇——操作系统之旅-Linux环境搭建
摘要:自己刚开始用windows搭建环境,可是总是出现错误,最后信心遭到打击,就开始用linux了,正好锻炼以下linux的能力。 安装需要的软件: bochs , nasm. 1) 我们先来安装nasm, 这个比较简短。下载对应的安装源码包,放置在你的软件目录下 tar zxvf **.gz cd **.gz ./configure make make install 2) 下载bochs,我下载的是Bochs-2.4.6,可能是由于版本高的问题,在配置时出现了很多错误,自己对linux也不熟悉,花了快1个小时才解决,中途差点放弃,幸好坚持了,不然就会浪费一天做这个了。下载好软件后. tar vx 阅读全文
posted @ 2011-07-24 10:31 lelezjg 阅读(143) 评论(0) 推荐(0)
第一篇——开始操作系统之旅
摘要:序言:感谢每一个读的人,你们的阅读是我前进的动力。 准备工作: linux OS, nasm, bochs. 我的是在虚拟机上运行Fedora,使用的nasm 是2.09. bochs是2.4.6. 于渊的操作系统是从一个boot sector(引导扇区)开始. wiki上这样解释 : A boot sector is a sector of a hard disk, floppy disk, or similar data storage device that contains machine code for booting programs (usually, but not nece 阅读全文
posted @ 2011-07-24 10:30 lelezjg 阅读(212) 评论(0) 推荐(0)
 

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3