操作系统之起源(一)

,,,,,,,,从今天开始,我们来进行一个微型的操作系统(基于x86架构)的编写。当然了,也是跟着别人学习,只是为了做个总结。将之记录下来,和大家一起学习,也方便日后进行复习。

,,,,,,,,那么什么是操作系统呢?我们常见的操作系统有:Windows、Unix、Linux、Mac OS, Android以及iOS等。简单来说,。它的一个作用是。下来我们来看看现代计算机系统的架构,如下图所示

操作系统之起源(一)

,,,,,,,,我们看到在最上层是应用层,也就是我们平时所说的软件开发层。而软件开发又分为两种:用户软件开发和编译软件的开发。接下来便是操作系统了,操作系统提供了软件运行的环境和各种服务与接口。再往下便是BIOS,对于这个词,我们装过电脑系统的人都知道,后面会进行详细的分析。最底下便是硬件层了,它为操作系统提供所必需的硬件环境。

,,,,,,,,我们下来来看看<强> 强劲,它的全名为“基本输入,输出煤气报修.BIOS的,它是计算机上电后第一个运行的程序。它所做的工作主要分为以下几个:。注意:BIOS不是软件(软件),而是固件(固件)!那么什么是固件呢?

,,,,,,,,下来我们来看看x86架构的系统启动流程,如下图所示

操作系统之起源(一)

,,,,,,,,我们看到先是系统硬件上电,接着运行BIOS,初始化硬件;紧接着建立中断向量表,加载运行主引导程序;软件初始化,加载运行操作系统内核,最后是系统初始化。那么BIOS是如何被运行起来的呢?下来我们来看看BIOS的运行机制。<强> 强,地址映射为(物理地址),它的<强> 强。那么在硬件电路的特殊设计下,会使得系统在开机后,CPU从处开始执行.BIOS会按照用户设置来扫描各个存储介质(光驱,软驱,U盘等),在发现主引导区后,将主引导区中的主因到程序载入内存;主因到程序在内存中的入口地址为,最后将控制权交由主引导程序执行。怎么交给呢?其实也就是一句指令:<强>

,,,,,,,,那么BIOS如何在存储介质中寻找主引导区呢?进而如何判断引导区中有没有主引导程序呢?下来我们先来介绍下<强> 强劲,它的简写为:<强> 强,即.MBR位于。那么前512字节是否一定为MBR呢?不一定哦!如果判断是主引导区,进而将主引导程序加载到内存中,当运行完之后,有可能会发现它是不合法的,进而执行出错。所以说,主引导区存储的程序不见得就是一个合法可用的程序。那么怎么进行判断是否是合法可用的程序呢?我们将在下节博客中进行介绍。

,,,,,,,,下来我们来看看更加详细的系统启动流程,如下图所示

操作系统之起源(一)

,,,,,,,,在运行BIOS后,先进行存储介质的扫描,如果在存储介质中存在MBR,那么便开始加载主引导程序,地址为<强> ,接着将控制权交由主引导程序执行,进行软件的初始化,最后加载运行操作系统内核,进行系统的初始化。那么通过今天对操作系统的基础知识的学习,总结如下:

操作系统之起源(一)