首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

普通的x86或AMD PC是直接从ROM运行启动/ BIOS代码,还是先将它们复制到RAM?

普通的x86或AMD PC是先将ROM中的启动代码复制到RAM中,然后再执行。这个过程被称为引导(booting)或启动(booting)过程。

在计算机启动时,ROM中的基本输入/输出系统(BIOS)代码会被执行。BIOS代码负责初始化硬件设备、检测系统配置,并加载操作系统的引导程序。BIOS代码存储在计算机的只读存储器(ROM)中,因此在启动时会被直接执行。

BIOS代码会将操作系统的引导程序(通常是位于硬盘上的引导扇区)复制到计算机的随机存取存储器(RAM)中的特定位置。复制到RAM中的引导程序会被执行,它负责进一步加载操作系统的核心部分。

这种将启动代码复制到RAM的方式有几个优势:

  1. RAM的读取速度比ROM快,可以提高启动速度。
  2. 在RAM中执行代码可以提供更大的灵活性,因为RAM是可读写的,可以在启动过程中修改代码或数据。
  3. 将启动代码复制到RAM中后,可以释放ROM的使用,使其可以用于其他用途。

在腾讯云的产品中,与启动过程相关的产品是云服务器(CVM)。云服务器提供了一种基于云计算的虚拟化服务器,可以根据用户需求快速创建、启动和管理虚拟机实例。您可以通过以下链接了解更多关于腾讯云服务器的信息:

https://cloud.tencent.com/product/cvm

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

存储和服务器三大件③

他们将运行微软销售PC-DOS 1.0操作系统,此外,微软还出售了同一台机器上ROM BASIC。在PC-DOS上运行BASIC解释器将使用ROM大部分代码,因此DOS程序非常小。...主板包含一些RAMROM和一个用于8087浮点协处理器空插槽。扩展总线和内部系统总线基本上同一个。扩展总线上大多数信号直接对应于CPU上信号,其间只有缓冲器锁存器。 ?...BIOS ROM(完全独立于BASIC ROM大小为8kB。主要用于低级初始化和开机自检。每次启动机器时,它都会对所有RAM内存执行简单但耗时测试。...此外,BIOS ROM将第一张软盘第一个扇区加载到地址0000:7c00RAM中并跳转到它执行相同系统启动。...它仍然具有ROM BASIC,但只要硬盘仍可启动ROM BASIC系统就永远不会运行。同时硬盘控制器卡有自己BIOS,与主BIOS分开。

2.1K20

【Android 系统开发】 Android 系统启动流程简介

; -- 直接执行代码 : 零地址 读取可执行代码直接运行; -- 转载代码RAM再执行 : 将执行代码载入到 CPU RAM 中执行; 启动代码介绍 : 启动代码 固化在 ROM 中, CPU...复位上电后, PC 指向 ROM代码初始地址 即 零地址, 并执行该代码; (2) PC 启动与 Android 启动比较 PC 启动系统机制 : ROM 分类 和 BIOS 作用 (初始化硬件设备..., 载入硬盘运行); -- 启动 ROM 分类 : 包括 PROM, EPROM, EEPROM三种; -- ROM启动程序 BIOS : BIOS PC 启动代码, 其作用是初始化硬件设备...3) Bootloader 启动方式简介 Bootloader 启动位置 : Bootloader 在 ROM直接启动 还是 装载到 RAM启动取决与 ROM 是否可以按字节寻址; -- 按字节寻址...固化代码 : CPU 再内置 ROM 中固化一段代码, 这段代码不是 Bootloader; -- 代码作用 : 这段代码启动后可以与 PC 连接, 直接使用网络接口 USB 接口便可以连接 PC

47710
  • 系统启动流程-armV7

    内核复位后在裸机上运行代码,即在不使用操作系统情况下运行代码。这是首次启动芯片系统时经常遇到情况。 bootloader如何加载和运行Linux内核。...但是,引导加载过程可能非常不同,因为基于 ARM 处理器手机更深入嵌入式设备可能缺少硬盘驱动器类似 PC BIOS。...通常,当您打开系统电源时会发生硬件特定引导代码闪存 ROM 运行。此代码初始化系统,包括任何必要硬件外围代码,然后启动引导加载程序(例如 U-Boot)。...它在内存中设置堆栈,通常将自身 ROM 复制到 RAM,然后更改硬件内存映射,以便 RAM 映射到异常向量地址,而不是 ROM。...本质上,此代码独立于要在板上运行操作系统并执行类似于 PC BIOS 功能。当它完成执行后,它将调用一个 Linux 引导加载程序,例如 U-Boot。

    1.1K10

    COBBLER批量安装Windows系统

    至于为什么写入到startnet.cmd文件中,是因为Win PE第一次运行时固定使用 Wpeinit 和 Startnet.cmd 运行启动脚本。...PXE启动芯片出错代码表、初始化/引导/载入Bootstrap错误代码 - PXE-E00:Could not find enough free base memory.PXE主代码和UNDI运行时模块闪存上位内存拷贝至基本内存顶部...480K(78000h)至640K(A0000h)剩余空间位置,这段内存必须被系统BIOS填零,如果这些内存没有填零,PXE ROM重布置代码将认为这些内存已经被系统BIOS其它启动ROM占用了...: 1.当即将调用一个LOM映像时间点,网卡映像正在被编程进BIOS 2.在PXE可选ROM开始启动之前,PXE可选ROM载入自检内存管理器(POST Memory Manager,$PMM)分配内存期间被损坏删除...UNDI ROM映像可能被损坏了,未被BIOS载入,此错误信息通常系如下三个原因所致: 1.当即将调用一个LOM映像时间点,网卡映像正在被编程进BIOS 2.在PXE可选ROM开始启动之前,PXE可选

    4.8K43

    COBBLER批量安装Windows系统

    至于为什么写入到startnet.cmd文件中,是因为Win PE第一次运行时固定使用 Wpeinit 和 Startnet.cmd 运行启动脚本。...PXE启动芯片出错代码表、初始化/引导/载入Bootstrap错误代码 - PXE-E00:Could not find enough free base memory.PXE主代码和UNDI运行时模块闪存上位内存拷贝至基本内存顶部...480K(78000h)至640K(A0000h)剩余空间位置,这段内存必须被系统BIOS填零,如果这些内存没有填零,PXE ROM重布置代码将认为这些内存已经被系统BIOS其它启动ROM占用了...: 1.当即将调用一个LOM映像时间点,网卡映像正在被编程进BIOS 2.在PXE可选ROM开始启动之前,PXE可选ROM载入自检内存管理器(POST Memory Manager,$PMM)分配内存期间被损坏删除...UNDI ROM映像可能被损坏了,未被BIOS载入,此错误信息通常系如下三个原因所致: 1.当即将调用一个LOM映像时间点,网卡映像正在被编程进BIOS 2.在PXE可选ROM开始启动之前,PXE可选

    2.6K20

    01计算机基本组成

    常见复杂指令集cpu:AMD、intel、VIA等x86架构cpu。 由于这些采用了复杂指令集x86架构cpu常常被用在个人计算机上,所以个人计算机常常就被称为x86计算机。...x86架构cpu最早由因特尔开发,并且它将cpu8位提升为16位、32位。后来,AMD公司基于x86架构开发出了64位cpu。...ps:AMD和因特尔不同之处在于,前者内存直接与cpu相连而不同过北桥芯片,而后者内存通过北桥芯片与cpu相连。由于前者不通过北桥芯片,所以cpu和内存传输效率相对较高。...ROM=Read Only Memory只读存储器 RAM分为DRAM和SRAM,他们都是挥发性存储器,计算机没电时候他们数据也就丢失。...而ROM一种非挥发性存储器,因为它含有一块电池,当计算机断电时仍能够存储数据。 cmos和bios都是只读存储器rom。cmos中记录了一些配置信息,bios中记录了一套程序。

    776110

    Linux学习笔记之Linux启动引导过程

    当系统首次引导时,系统被重置时,处理器会执行一个位于已知位置处代码。在个人计算机(PC)中,这个位置在基本输入/输出系统(BIOS)中,它保存在主板上闪存中。...od 命令会以十六进制和 ASCII 码格式打印这个二进制文件内容。 在 PC 中,引导 Linux BIOS地址 0xFFFF0 处开始。...给定 BIOS 功能不同用法之后,BIOS 由两部分组成:POST 代码运行时服务。...在 x86 PC 环境中,第一阶段和第二阶段引导加载程序一起称为 Linux Loader(LILO) GRand Unified Bootloader(GRUB)。...在内核引导过程中,初始 RAM 磁盘(initrd)由阶段 2 引导加载程序加载到内存中,它会被复制到 RAM 中并挂载到系统上。

    10.5K41

    Linux源码学习笔记 day1 开机时如何加载系统?

    今天开始学习 闪客老师《Linux源码趣读》 在开机时候,主板上 BIOS程序 会把硬盘启动512个字节复制到内存里0x7c00位置,再跳转到这里运行。...开机后初始化 指向BIOS CPU中PC寄存器,存储着即将要执行指令内存地址。开机时需要初始化PC寄存器值为0xFFFF0。这是Intel手册龟腚,硬件厂商只是实现而已。...(这地位感觉和码农也没什么差别) CPU地址线不仅连接内存(RAM),还有ROM(BIOS),还有一些额外IO端口。这里初始值0xFFFF0 就是 BIOS所在ROM区。...加载到内存 前面说了BIOS会把代码复制到0x7c00位置,具体怎么复制还是得看bootsect.s里代码: .equ BOOTSEG, 0x07c0 # original address of...小结 开机时,BIOS程序将系统代码复制到0x7c00处; 通过bootsect.s 几行代码,修改了段寄存器值为0x07c0。

    93931

    计算机硬件组成(2)

    :cpu、内存、硬件关系: 程序首先是存放于硬盘中 程序运行需要先经历加载过程——》程序代码/数据硬盘读入内存 然后cpu再从内存中读取指令来运行 总结3: CPU、内存(主存储器)以及其他...I/O设备都由一条系统总线(bus)连接起来并通过总线与其他设备通信  案列: cpu大脑,负责控制全身和运算 内存记忆,负责临时存储 硬盘笔记本,负责永久存储 输入设备耳朵眼睛嘴巴...由于AMD、Intel、VIA所开发出来x86架构CPU被大量使用于个人计算机上面,因此,个人计算机常被称为x86架构计算机!...=》内存 ROM=》只读内存,存取速度与内存一样,只能用于读,断电数据不丢失 内存中存放都是cpu要运行程序 RAM=》qq、暴风影音、微信、爱奇艺视频 ROM=》BIOS(操作系统)(Basic Input...Output System基本输入输出操作系统) cpu (计算机启动CPU先运行BIOS系统,再去安装硬盘启动win系统) ROMBIOS系统)             RAM(windows系统

    19410

    从无盘启动看 Linux 启动原理

    ROM 存储能力有限,BIOS 能驱动硬件类型和数量大大受限。导致大量新硬件无法在 PC 启动时被加载。最明显就是你无法在 BIOS 时使用鼠标。此外 BIOS 代码历史悠久难以维护。...UEFI 启动流程和 BIOS 启动流程不同,由于我 2009 年购买老爷机还是 BIOS 结构,这里不详细展开,简单提一下。...平台:X86 ARM,如果用树莓派等产品就是 ARM,PC x86 CPU 位:32 64,32 位机器只支持 32 位固件,64 位机器可以兼容 32 位和 64 位固件。...3.1 MBR 说了这么多还是没说明白到底计算机怎么磁盘上找到引导程序。...目前常用有两种 Syslinux 和 GRUB: Syslinux 一个启动加载器集合,可以硬盘、光盘通过 PXE 网络引导启动系统。

    8.4K104

    按下电脑开机键后,究竟发生了什么?

    一个扇区为512字节,并且操作系统硬盘中0磁道0扇区开始往后分布。...image.png 1.按下电脑开机键 如图所示,计算机内部有一个叫ROM BIOS东西,它是一个固件(就是即使计算机断电之后,里面存放东西还是),里面存放着最低级、最直接硬件控制代码ROM...1.按下电脑开机键后,CPU上电后,ROM BIOS里面的代码映射到内存中0xFFFF0处,此时,内存中有了ROM BIOS固件中代码,我们称内存中存放ROM BIOS代码区域叫ROM BIOS代码映射区...即boot模块代码读入到内存中0x7c00处,然后把PC指针指向0x7c00,该段代码逻辑ROM BIOS厂家固定好,已经写在ROM BIOS固件中了。...image.png image.png 总结: 打开电源,执行ROM BIOS代码,该代码功能 1)检查RAM、键盘、显示器、软硬磁盘等硬件设备。

    2K11

    嵌入式Linux OS启动流程,了解一下!

    一、硬件上电 二、一级启动:bootROM Boot ROM厂商都无法进行更改,固化在芯片内部ROM; 作用: 确定用于启动设备; 启动设备位置搬移一小段代码(4k/8k/16k)到RAM...中运行,即SPL; 三、二级启动:SPL+uboot 1.SPL: Secondary Program Loader: 作用: 初始化DDR; 启动设备搬移第二段代码RAM中,加载uboot;...(有些SoC将bootloader复制到RAM后,再进行DDR初始化;) 2.uboot: Universal boot loader: U-Boot启动设备上面读取、分析环境变量获得kernel...BootLoader一段小程序,主要功能引导操作系统启动。...可以把它想象成PC机Linux上GRUB/LILO引导程序,只不过在嵌入式linux中,没有BIOS,而是直接flash中运行,来装载内核。

    2K11

    单片机里程序如何运行

    单片机启动过程 单片机启动过程加电后,先运行芯片内部固有程序(这个程序用户访问不到也改写不了),即启动代码。...如果将操作系统看作在处理器上跑一个很大裸机程序(就是直接在硬件上跑程序,因为操作系统就是直接跑在CPU上),那么操作系统启动很像MCU程序启动。...这时,一个程序代码和数据连续存放,其中代码只读区域,数据段可读写区域(这是由操作系统内存管理机制决定)。 运行时,再将它们拷贝到速度更快SRAM中,以得到更快执行速度。...当单片机上电后,初始化汇编代码将data段,bss段,复制到RAM中,并建立好堆栈,开始调用程序main函数。...之后,便有了程序存储器,和数据存储器之分,运行Flash(即指令存储器,代码存储器)中读取指令 ,RAM中读取与写入数据。RAM存在意义就在于速度更快。

    1.3K20

    arm linux 移植全部过程「建议收藏」

    总得来说,这是一篇嵌入式文章,只要嵌入式系统PC系统工作模式不变,这篇文章都是可以作为参考。...BOOT-ROM 最开始计算机由纸带打孔方式输入执行程序,随着计算机系统不断发展,再加之懒人们不断改进,最后输入计算机程序,纸片进入了ROM。...,就可以装载系统初始化代码即,BIOS。...因为x86系统中外设大部分由主板厂商设计,故BIOS通常是由主板厂商自行设计;而ARM系统中,因为ARM上通常会集成很多相关外设及接口,故一般由SoC厂商实现BOOT-ROM。...因为BOOT-ROM大小一般很小,通常情况下只能实现一些芯片内初始化功能,以及将下一步启动代码加载到内存中,然后将CPU控制权交给其执行。

    4.1K20

    MIT 6.828 操作系统工程 lab1 2018 fall part1 & part2 笔记 and 中文注释源代码阅读

    : cd lab make qemu-gdb 在另外一个终端: make make gdb 开始使用gdb调试,首先进入实模式; IBM PC物理地址0x000ffff0开始执行,该地址位于为ROM...PCCS = 0xf000和IP = 0xfff0开始执行。 要执行第一条指令jmp指令,它跳转到分段地址 CS = 0xf000和IP = 0xe05b。...引导加载程序必须执行两个主要功能: 将处理器从实模式切换到 32位保护模式; 通过x86特殊I / O指令直接访问IDE磁盘设备寄存器,硬盘读取内核; 引导加载程序代码: boot/boot.S...#include # 启动CPU:切换到32位保护模式,跳至C代码; # BIOS将该代码硬盘第一个扇区加载到 # 物理地址为0x7c00内存,并开始以实模式执行 #...,然后几个程序段,每个程序段都是要在指定地址加载到内存中连续代码数据块。

    2.1K50

    深入浅出:全面解析服务器基础知识

    具体来说,服务器与普通计算机主要区别包括: 1)通信方式为一对多:PC、平板、手机等固定移动网络终端,上网、获取资讯、与外界沟通、娱乐等,必然要经过服务器,服务器通过“一对多”来组织和领导这些设备...1)BIOS (Basic input/ Output System)即基本输入输出系统,服务器启动后最先运行软件。它包括基本输入输出控制程序、上电自检程序、系统启动自举程序、系统设置信息。...BIOS服务器硬件和OS之间抽象层,用来设置硬件,为OS运行做准备。BIOS设置程序储存在BIOS芯片中。...1)CISC服务器 也被称为X86服务器,采用Intel、AMD其它兼容X86指令集处理器芯片以及Windows操作系统服务器,目前主流服务器架构。...服务器产业趋势来看,目前正形成双强局面,其中X86服务器以Intel/AMD处理器为主导,而非X86服务器以ARM架构处理器为主导。双方各有优劣势,将长期共存。

    1.9K30

    什么叫操作系统啊 | 战术后仰

    然而,程序员不会直接和这些硬件打交道,而且每位程序员不可能会掌握所有操作系统细节,这样我们就不用再编写代码了,所以在硬件基础之上,计算机安装了一层软件,这层软件能够通过响应用户输入指令达到控制硬件效果...不过重写它们需要比写入 RAM 更多时间,所以它们使用方式与 ROM 相同,但是与 ROM 不同他们可以通过重写字段来纠正程序中出现错误。 闪存也通常用来作为便携性存储媒介。...然后,判断是否能够外部 CD-ROM 和 USB 驱动程序启动,如果启动失败的话(也就是没有),系统将从硬盘启动,boots 设备中第一个扇区被读入内存并执行。...然后该分区读入第二个启动加载程序,该加载器活动分区中读取操作系统并启动它。 然后操作系统会询问 BIOS 获取配置信息。对于每个设备来说,会检查是否有设备驱动程序。...这类传感器网络可以用于建筑物周边保护、国土边界保卫、森林火灾探测、气象预测用温度和降水测量等。 每个传感器节点一个配有 CPU、RAMROM 以及一个多个环境传感器实实在在计算机。

    55510

    FPGA逻辑设计回顾(11)FPGA以及PCRAMROM

    杀鸡焉用牛刀,DDR使用场景对存储空间要求比较大等类似场景,如果普通存储场景,我们将会用到本文中所说存储器件,RAM以及ROM。...本文它们在电子产品中应用到XilinxIP核逻辑设计来讨论RAM以及ROM设计。 RAM以及ROM在计算机中应用 在任何存储数据电子设备中,如您计算机,各种组件共同工作以存储内存。...相反,如果你使用RAMROM等存储选项,你系统仍然可以访问这些数据,而不会出现运行时间慢缺点。 什么硬盘驱动器? 您硬盘,有时也被称为硬盘驱动器,HDHDD计算机上永久存储设备。...ROM最常用于诸如BIOSUEFI固件、RFID标签、医疗设备微控制器。基本上,任何地方都需要一个小型但永久内存存储解决方案。 成本 在这两种ROM中,目前最实惠选择。...当然, ROM以及RAM实现不仅可以使用IP核方式实现,也可以使用RTL代码来描述,但是和之前FIFO一样,我们设计仅仅是为了理解其工作原理,实现应用通常也不会使用,但可作为备选,究其原因,还是因为

    1.1K51

    操作系统是什么都没整明白,写什么代码

    1.jpg 然而,程序员不会直接和这些硬件打交道,而且每位程序员不可能会掌握所有操作系统细节,这样我们就不用再编写代码了,所以在硬件基础之上,计算机安装了一层软件,这层软件能够通过响应用户输入指令达到控制硬件效果...不过重写它们需要比写入 RAM 更多时间,所以它们使用方式与 ROM 相同,但是与 ROM 不同他们可以通过重写字段来纠正程序中出现错误。 闪存也通常用来作为便携性存储媒介。...然后,判断是否能够外部 CD-ROM 和 USB 驱动程序启动,如果启动失败的话(也就是没有),系统将从硬盘启动,boots 设备中第一个扇区被读入内存并执行。...然后该分区读入第二个启动加载程序,该加载器活动分区中读取操作系统并启动它。 然后操作系统会询问 BIOS 获取配置信息。对于每个设备来说,会检查是否有设备驱动程序。...这类传感器网络可以用于建筑物周边保护、国土边界保卫、森林火灾探测、气象预测用温度和降水测量等。 每个传感器节点一个配有 CPU、RAMROM 以及一个多个环境传感器实实在在计算机。

    1.3K50

    CPU 架构:ARM 和 x86 之间有什么区别?

    事实上,为该芯片编写机器码程序仍然可以汇编并在英特尔AMD最新处理器上运行。 不过,从那时起,硬件自然有了很大发展。...在 8008 之后 8088,然后 16 位 8086,它为最初 IBM PC 服务。在 1980 年代,紧随其后 80186、80286 等——因此被称为“x86”绰号。...它阵容比英特尔要简单得多,即使普通 M1 也能与中端英特尔芯片竞争。...更重要,苹果使用所谓“统一内存架构unified memory architecture”,这意味着整个内存范围都可以由CPU片上GPU直接访问。...虽然 Ryzen 处理器不会像 Apple 芯片那样将整个 RAM 分配放在芯片芯片上,但它们通常具有大型缓存,可以帮助它们全速处理数据和指令,而无需等待 DIMM 获取信息。

    6.3K21
    领券