大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
从今天开始,我们来进行一个微型的操作系统(基于 x86 架构)的编写。当然了,也是跟着别人学习,只是为了做个总结。将之记录下来,和大家一起学习,也方便日后进行复习。
成都创新互联主要为客户提供服务项目涵盖了网页视觉设计、VI标志设计、成都全网营销、网站程序开发、HTML5响应式重庆网站建设公司、手机网站制作设计、微商城、网站托管及成都企业网站维护、WEB系统开发、域名注册、国内外服务器租用、视频、平面设计、SEO优化排名。设计、前端、后端三个建站步骤的完善服务体系。一人跟踪测试的建站服务标准。已经为成都楼梯护栏行业客户提供了网站建设服务。那么什么是操作系统呢?我们常见的操作系统有:Windows、Unix、Linux、Mac OS、Android 以及 iOS 等。简单来说,操作系统是直接运行于硬件之上的计算机程序。它的一个作用是用于管理和控制计算机的硬件与软件资源;另一个重要的作用是为用户软件的开发提供必要的服务和接口。下来我们来看看现代计算机系统的架构,如下图所示
我们看到在最上层是应用层,也就是我们平时所说的软件开发层。而软件开发又分为两种:用户软件开发和编译软件的开发。接下来便是操作系统了,操作系统提供了软件运行的环境和各种服务与接口。再往下便是 BIOS,对于这个词,我们装过电脑系统的人都知道,后面会进行详细的分析。最底下便是硬件层了,它为操作系统提供所必需的硬件环境。
我们下来来看看 BIOS,它的全名为 "Basic Input & Output System"。BIOS 的本质也是一段程序,它是计算机上电后第一个运行的程序。它所做的工作主要分为以下几个:a> 首先检测硬件状态,检测通过后立即进行硬件初始化;b> 它会在内存中建立中断向量表,其作用是提供硬件访问的方法;c> 最后便是将控制权交由主引导程序执行,进入操作系统。注意:BIOS 不是软件(Software),而是固件(firmware)!那么什么是固件呢?固件是固化于硬件中的程序,在硬件出厂前已经烧写固定。
下来我们来看看 x86 架构的系统启动流程,如下图所示
我们看到先是系统硬件上电,接着运行 BIOS,初始化硬件;紧接着建立中断向量表,加载运行主引导程序;软件初始化,加载运行操作系统内核,最后是系统初始化。那么 BIOS 是如何被运行起来的呢?下来我们来看看 BIOS 的运行机制。BIOS 存储于 ROM 中,地址映射为 0xF0000 - 0xFFFFF(物理地址),它的入口地址为 0xFFFF0。那么在硬件电路的特殊设计下,会使得系统在开机后,CPU 从 0xFFFF0处开始执行。BIOS 会按照用户设置来扫描各个存储介质(光驱、软驱、U 盘等),在发现主引导区后,将主引导区中的主因到程序载入内存;主因到程序在内存中的入口地址为 0x7c00,最后将控制权交由主引导程序执行。怎么交给呢?其实也就是一句指令:jmp 0x7c00。
那么 BIOS 如何在存储介质中寻找主引导区呢?进而如何判断引导区中有没有主引导程序呢?下来我们先来介绍下主引导区,它的简写为:MBR,即 Master Boot Record。MBR 位于存储介质的最开始位置处,大小为 512 字节;它的特点是前 512 字节的最后 2 个有效字节为 0x55aa;它的数据是 0x55aa 之前的数据都被视为主引导程序。那么前 512 字节是否一定为 MBR 呢?不一定哦!如果判断是主引导区,进而将主引导程序加载到内存中,当运行完之后,有可能会发现它是不合法的,进而执行出错。所以说,主引导区存储的程序不见得就是一个合法可用的程序。那么怎么进行判断是否是合法可用的程序呢?我们将在下节博客中进行介绍。
下来我们来看看更加详细的系统启动流程,如下图所示
在运行 BIOS 后,先进行存储介质的扫描,如果在存储介质中存在 MBR,那么便开始加载主引导程序,地址为 0x7c00;接着将控制权交由主引导程序执行,进行软件的初始化,最后加载运行操作系统内核,进行系统的初始化。那么通过今天对操作系统的基础知识的学习,总结如下:1、BIOS 是计算机上电后第一个运行的程序;2、BIOS 进行必要的初始化,并加载运行主引导程序;3、主引导程序位于存储介质的最开始的 512 字节处;4、主引导程序负责后续的初始化,并加载运行操作系统内核。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。