计算机的启动

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

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

机器加电之后

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

 

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

主要包括 CPU 显卡,内存

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

计算机启动过程的简单介绍 计算机启动流程 计算机BIOS作用 POST 开机自检 计算机启动顺序 分区表 操作系统启动的更多相关文章

  1. 4.计算机启动过程的简单介绍 计算机启动流程 计算机BIOS作用 POST 开机自检 计算机启动顺序 分区表 操作系统启动

    计算机的启动

  2. ios程序启动过程和UIWidnow介绍

    一.iOS程序的完整启动过程(有storyboard) 1.先执行main函数,main内部会调用UIApplicationMain函数 2.UIApplicationMain函数里面做了什么事情: ...

  3. Android 关于Activity的四种启动模式的简单介绍

    Activity启动模式设置: <activity android:name=".MainActivity" android:launchMode="standar ...

  4. Shuffle过程的简单介绍

    Shuffle是连接Map和Reduce的桥梁 Shuffle分为Map端的Shuffle和Reduce端的Shuffle Map端的shuffle 1输入数据和执行任务: 分片后分配Map任务,每个 ...

  5. Android应用程序的Activity启动过程简要介绍和学习计划

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6685853 在Android系统中,Activ ...

  6. [原] KVM 虚拟化原理探究(2)— QEMU启动过程

    KVM 虚拟化原理探究- QEMU启动过程 标签(空格分隔): KVM [TOC] 虚拟机启动过程 第一步,获取到kvm句柄 kvmfd = open("/dev/kvm", O_ ...

  7. centos7启动过程及systemd祥细说明

    开机启过程 POST->BOOT SEQUENCE-> BOOTLOADER->KERNEL + INITRAMFS(INITRD)->ROOTFS->/sbin/ini ...

  8. centos7启动过程及systemd详细说明

    开机启过程 POST->BOOT SEQUENCE-> BOOTLOADER->KERNEL + INITRAMFS(INITRD)->ROOTFS->/sbin/ini ...

  9. (四)SpringBoot启动过程的分析-预处理ApplicationContext

    -- 以下内容均基于2.1.8.RELEASE版本 紧接着上一篇(三)SpringBoot启动过程的分析-创建应用程序上下文,本文将分析上下文创建完毕之后的下一步操作:预处理上下文容器. 预处理上下文 ...

随机推荐

  1. JavaScript 函数调用时带括号和不带括号的区别

    function countBodyChildren(){ var body_element = document.getElementsByTagName("body")[0]; ...

  2. Python 正则表达式Ⅴ

    正则表达式实例 字符匹配 字符类 特殊https://www.xuanhe.net/字符类

  3. Rust学习-阶段1学习总结

    学习Rust已经两周了,基本上是断断续续的在学,或者是在上下班坐公交时,或者是在ODC没事做时.现在已经学习了Rust程序设计语言的前5章,是时候做一个总结了.关于数据类型或者if else这种内容我 ...

  4. TTTTTTTTTTTTTTTTTTT CF 银行转账 图论 智商题

    C. Money Transfers time limit per test 1 second memory limit per test 256 megabytes input standard i ...

  5. 【Python】爬虫汇总

    主要流程: 获取url下载网页从网页中找寻自己需要的保存(解析+输出)主要概念URL:分大小写统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址.互联 ...

  6. less基本用法:持续归纳中

    todo 1,嵌套语法:https://www.w3cschool.cn/less/nested_directives_bubbling.html 简单来说就是可以与html一样去写css,并且会继承 ...

  7. maven-profile多环境配置

    http://www.cnblogs.com/hwaggLee/p/4579462.html 具体项目激活配置环境 pom.xml文件中激活 <activation> <active ...

  8. 关于MYSQL日期 字符串 时间戳互转

    时间转字符串: select date_format(now(), '%Y-%m-%d'); #结果:2016-01-05 时间转时间戳: select unix_timestamp(now()); ...

  9. 线程同步synchronized理解

    Synchronized 理解 用法:1.同步方法.2.同步静态方法.3同步代码块. 理解Synchronized 的关键是“锁” (原理在最后) 同步代码有“锁”者执行.所谓的锁必须是同一个.静态的 ...

  10. 1.4 Navicat Mybatis 占坑

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...