博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1.1 启动BIOS,准备实模式下的中断向量表和中断服务程序
阅读量:3674 次
发布时间:2019-05-21

本文共 1087 字,大约阅读时间需要 3 分钟。

《Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理》第1章从开机加电到执行main函数之前的过程,本章的内容主要分为两大部分:第一部分,加载操作系统;第二部分,为32位保护模式和分页模式下的main函数的执行做准备。本节为大家介绍启动BIOS,准备实模式下的中断向量表和中断服务程序。

AD:

第1章 从开机加电到执行main函数之前的过程

从开机到main函数的执行分三步完成,其目的是实现从启动盘加载操作系统程序,完成执行main函数所需要的准备工作。第一步,启动BIOS,准备实模式下的中断向量表和中断服务程序;第二步,从启动盘加载操作系统程序到内存,加载操作系统程序的工作就是利用第一步中准备的中断服务程序实现的;第三步,为执行32位的main函数做过渡工作。本章将详细分析这三步在计算机中是如何完成的,以及每一步在内存中都做了些什么。

小贴士

实模式(Real mode)是Intel 80286和之后的80x86兼容CPU的操作模式。实模式的特性是一个20位的存储器地址空间(2^20=1048576,即1MB的存储器可被寻址),可以直接通过软件的方式访问BIOS以及周边硬件,没有硬件支持的分页机制和实时多任务的概念。从80286开始,所有的80x86 CPU的开机状态都是实模式;8086等早期的CPU只有一种操作模式,类似于实模式。

1.1 启动BIOS,准备实模式下的中断向量表和中断服务程序

相信大家都知道计算机必须安装一个所谓“操作系统”的软件才能使用,否则计算机将是一个毫无生命力的冰冷的硬家伙。在我们为计算机安装了操作系统后,当你按下计算机电源按钮的那一刻,计算机机箱传来了嗡嗡的声音,这时你感觉到计算机开始启动工作了。然而,在计算机的启动过程中,操作系统底层与计算机硬件之间究竟做了哪些复杂的交互动作?下面我们将根据操作系统实际的启动和运行过程对这个问题进行逐步的剖析和讲解。

计算机的运行是离不开程序的。然而,加电的一瞬间,计算机的内存中,准确地说是RAM中,空空如也,什么程序也没有。软盘里虽然有操作系统程序,但CPU的逻辑电路被设计为只能运行内存中的程序,它没有能力直接从软盘运行操作系统。如果要运行软盘中的操作系统,必须将软盘中的操作系统程序加载到内存(RAM)中。

小贴士

RAM(Random Access Memory):随机存取存储器。常见的内存条就是一类RAM,它的特点是加电状态下可任意读、写,断电后信息消失。

问题是在RAM中什么程序也没有的时候,谁来完成加载软盘中操作系统的任务呢?

答案是:BIOS。

转载地址:http://tkxbn.baihongyu.com/

你可能感兴趣的文章
conda 安装以及使用小结
查看>>
python魔术方法
查看>>
leetcode 1288 删除覆盖区间,python 自定义sorted 使用总结
查看>>
机器学习: 统一特征取值范围
查看>>
使用bert 快速进行 词嵌入word2vec教程
查看>>
【linux】menuconfig详解
查看>>
【linux】Linux开机自动加载模块
查看>>
【linux】网卡驱动框架介绍
查看>>
word中编号前面的缩进过大
查看>>
word表格中自动插入行编号
查看>>
word中编号前面的间距太大
查看>>
word中自动生成的目录中,编号和文本间距过大
查看>>
word中同一列表的不同条目之间间距不一致
查看>>
Hibernate之进阶2——表操作和多对多配置
查看>>
ExtJS border布局之小案例
查看>>
deepin linux 安装SQL Server 2017 for linux
查看>>
matplotlib简单使用汇总
查看>>
关于redis数据库
查看>>
基于flask框架全栈开发的知识点
查看>>
机器学习之线性回归学习,梯度学习算法(利用梯度函数确定系数)
查看>>