计算机的启动

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

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

机器加电之后

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

 

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

主要包括 CPU 显卡,内存

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    原文地址: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. Gedit —— 推荐于NOI系列考试(NOIlinux)的轻量编程环境

    由于Vim,Emacs上手艰难,Guide又特别难用,Anjuta还闪退 故推荐一款轻量化的编程环境:Gedit(文本编辑器) 配置方法: 1:在桌面上新建main.cpp,打开方式选择使用gedit ...

  2. string 转 int

    1.stringstream 用流转换 cin    cout都是流的操作   iostream cin的时候,从屏幕读取字符串流,自动判断类型(省去了scanf的格式控制) stringstream ...

  3. JAVA_AesCBC纯净例子

    import java.io.UnsupportedEncodingException; import java.security.InvalidAlgorithmParameterException ...

  4. 如何理解opencv, python-opencv 和 libopencv?

    转:   OpenCV is a computer vision library written using highly optimized C/C++ code. It makes use of ...

  5. koa 写简单服务

    这两天用koa写了点服务,这里面和express还是有部分区别的 1.静态服务:  koa 中,是有中间件, koa-static, const static_f = require('koa-sta ...

  6. 第一个servlet程序

    在Eclipse中新建一个Dynamic Web Project 在WebContent下面添加index.jsp <%@ page language="java" cont ...

  7. XLua基础

    一.Lua文件加载 1).Resources加载xluaTest文件 2).通过loader加载  3).自定义Loader(相当于Resources加载和loader加载结合)    先自定义Loa ...

  8. Docker常用命令(一)

    [转]原始出处:http://zxx287856774.blog.51cto.com/3417296/1665264 docker中 启动所有的容器命令 docker start $(docker p ...

  9. libguestfs手册(3): virt命令

    guestmount root# guestmount -a ubuntutest1.img -m /dev/sda1 ubuntutestp1 root# cd ubuntutestp1/root: ...

  10. 【RL-TCPnet网络教程】第12章 TCP传输控制协议基础知识

    第12章      TCP传输控制协议基础知识 本章节为大家讲解TCP(Transmission Control Protocol,传输控制协议),通过本章节的学习,需要大家对TCP有个基本的认识,方 ...