[漫话] 计算机启动 计算机发展(四)

计算机科学 计算机科学 1721 人阅读 | 0 人回复

计算机的启动

image.png

地址空间分成了两部分ROM和RAM

ROM位于主板上,是主板生产的时候就有的一部分

机器加电之后

会先去读取ROM中的已经固化的一些指令

主要是自检Power-On Self-Test,POST

主要包括 CPU 显卡,内存

还有一些基本的初始化(比如之前说到有些地方寄存器要清零 都是一种初始化)

也就是对于计算机来说想要正常工作的一个底线,最基本的功能

所以这个ROM系统也叫作BIOS Basic Input/Output System

就好像他的名字一样,这个系统并不能给我们提供服务,只是说计算机可以提供服务了

还有一个启动顺序 的概念 计算机内可能有多个不同的存储设备

有一个启动模块存储启动顺序信息

然后会根据设置读取第一块存储设备

BIOS系统接着读取硬盘上固定位置的数据

这个位置的数据结构是约定好的---通常是硬盘的0面0磁道的第一个扇区

读入到内存,然后用一个跳转指令进入到这里进行执行

硬盘的0面0磁道的第一个扇区 是主引导扇区

这是一个约定规范,就像接头暗号一样,我往这里存,你从这里读

引导分区包含了 启动指令和数据,以及分区表

每个分区有分区资料,表明分区的起始位置,大小 类型以及是否为活动分区

类型表明分区是哪种操作系统管理的

活动分区表示应该被启动的

中央处理器读取到了应该被启动的操作系统的引导代码,将他读取到内存中

接着就是操作系统自身加载的过程了

所以计算机的启动,就是计算机电路上电之后,读取一系列二进制数据,执行指令的过程.

common_log.png 转载务必注明出处:程序员潇然,疯狂的字节X,https://crazybytex.com/thread-180-1-1.html

关注下面的标签,发现更多相似文章
    黄小斜学Java

    疯狂的字节X

  • 目前专注于分享Java领域干货,公众号同步更新。原创以及收集整理,把最好的留下。
    包括但不限于JVM、计算机科学、算法、数据库、分布式、Spring全家桶、微服务、高并发、Docker容器、ELK、大数据等相关知识,一起进步,一起成长。
热门推荐
[若依]微服务springcloud版新建增添加一个
[md]若依框架是一个比较出名的后台管理系统,有多个不同版本。
[CXX1300] CMake '3.18.1' was not
[md][CXX1300] CMake '3.18.1' was not found in SDK, PATH, or
海康摄像头接入 wvp-GB28181-pro平台测试验
[md]### 简介 开箱即用的28181协议视频平台 `https://github.c