CN112559055B - 一种计算机系统的启动方法及装置、电子设备、存储介质 - Google Patents

一种计算机系统的启动方法及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN112559055B
CN112559055B CN201910914107.XA CN201910914107A CN112559055B CN 112559055 B CN112559055 B CN 112559055B CN 201910914107 A CN201910914107 A CN 201910914107A CN 112559055 B CN112559055 B CN 112559055B
Authority
CN
China
Prior art keywords
request
cache
data
cache data
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910914107.XA
Other languages
English (en)
Other versions
CN112559055A (zh
Inventor
罗犇
彭开桓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910914107.XA priority Critical patent/CN112559055B/zh
Publication of CN112559055A publication Critical patent/CN112559055A/zh
Application granted granted Critical
Publication of CN112559055B publication Critical patent/CN112559055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种计算机系统的启动方法及装置、电子设备、存储介质,所述方法包括:在处于BIOS阶段的情况下,当接收到针对系统启动盘的IO请求时,判断所述IO请求是否为读请求;若所述IO请求为读请求,判断所述IO请求是否命中高速缓冲存储器中的缓存数据;其中,所述缓存数据包括从所述系统启动盘中预读的数据;若所述IO请求命中所述缓存数据,则从所述缓存数据中读取所述IO请求对应的数据,以启动计算机系统。通过本申请实施例,实现了在BIOS阶段直接从缓存中读取数据,减少了存储设备对系统启动的影响,提升了系统启动的速度。

Description

一种计算机系统的启动方法及装置、电子设备、存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种计算机系统的启动方法及装置、电子设备、存储介质。
背景技术
在x86体系架构下,服务器或PC的系统启动过程都要经过BIOS(基本输入/输出系统,Basic Input/Output System)阶段,BIOS作为Firmware需要读取系统启动盘的部分内容,以引导系统启动流程。
在现有技术中,通常采用IO请求串行发送的方式,即每次将一个IO请求下发到存储设备,等待该IO请求完成并应答后才能进行下一请求,若存储设备的延时较长,则会影响系统启动流程,降低系统启动的速度。
发明内容
鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种计算机系统的启动方法及装置、电子设备、存储介质,包括:
一种计算机系统的启动方法,所述方法包括:
在处于BIOS阶段的情况下,当接收到针对系统启动盘的IO请求时,判断所述IO请求是否为读请求;
若所述IO请求为读请求,判断所述IO请求是否命中高速缓冲存储器中的缓存数据;其中,所述缓存数据包括从所述系统启动盘中预读的数据;
若所述IO请求命中所述缓存数据,则从所述缓存数据中读取所述IO请求对应的数据,以启动计算机系统。
可选地,还包括:
若所述IO请求未命中所述缓存数据,则从所述系统启动盘中读取所述IO请求对应的数据,并更新至所述高速缓冲存储器的缓存数据中;
从所述缓存数据中读取所述IO请求对应的数据,以启动计算机系统。
可选地,采用如下方式判断所述IO请求是否命中高速缓冲存储器中的缓存数据:
确定所述IO请求对应的请求地址范围,并判断所述请求地址范围是否被完全包含于所述缓存数据对应的缓存地址范围内;
若是,则判定所述IO请求命中高速缓冲存储器中的缓存数据;
若否,则判定所述IO请求未命中高速缓冲存储器中的缓存数据。
可选地,还包括:
若所述IO请求不为读请求时,判断所述IO请求是否污染高速缓冲存储器中的缓存数据;其中,所述缓存数据包括从所述系统启动盘预读的数据;
若所述IO请求污染所述缓存数据,则将所述缓存数据设置为无效状态,并将所述IO请求递交至所述系统启动盘。
可选地,还包括:
若所述IO请求未污染所述缓存数据,则将所述IO请求递交至所述系统启动盘。
可选地,采用如下方式判断所述IO请求是否污染高速缓冲存储器中的缓存数据:
确定所述IO请求对应的请求地址范围,并判断所述请求地址范围是否与所述缓存数据对应的缓存地址范围存在重合;
若是,则判定所述IO请求污染高速缓冲存储器中的缓存数据;
若否,则判定所述IO请求未污染高速缓冲存储器中的缓存数据。
一种计算机系统的启动装置,所述装置包括:
读请求判断模块,用于在处于BIOS阶段的情况下,当接收到针对系统启动盘的IO请求时,判断所述IO请求是否为读请求;
命中判断模块,用于若所述IO请求为读请求,判断所述IO请求是否命中高速缓冲存储器中的缓存数据;其中,所述缓存数据包括从所述系统启动盘中预读的数据;
缓存读取模块,用于若所述IO请求命中所述缓存数据,则从所述缓存数据中读取所述IO请求对应的数据,以启动计算机系统。
可选地,还包括:
启动盘读取模块,用于若所述IO请求未命中所述缓存数据,则从所述系统启动盘中读取所述IO请求对应的数据,并更新至所述高速缓冲存储器的缓存数据中;
缓存更新模块,用于从所述缓存数据中读取所述IO请求对应的数据,以启动计算机系统。
可选地,采用如下方式判断所述IO请求是否命中高速缓冲存储器中的缓存数据:
确定所述IO请求对应的请求地址范围,并判断所述请求地址范围是否被完全包含于所述缓存数据对应的缓存地址范围内;
若是,则判定所述IO请求命中高速缓冲存储器中的缓存数据;
若否,则判定所述IO请求未命中高速缓冲存储器中的缓存数据。
可选地,还包括:
污染判断模块,用于若所述IO请求不为读请求时,判断所述IO请求是否污染高速缓冲存储器中的缓存数据;其中,所述缓存数据包括从所述系统启动盘预读的数据;
无效设置模块,用于若所述IO请求污染所述缓存数据,则将所述缓存数据设置为无效状态,并将所述IO请求递交至所述系统启动盘。
可选地,还包括:
请求递交模块,用于若所述IO请求未污染所述缓存数据,则将所述IO请求递交至所述系统启动盘。
可选地,采用如下方式判断所述IO请求是否污染高速缓冲存储器中的缓存数据:
确定所述IO请求对应的请求地址范围,并判断所述请求地址范围是否与所述缓存数据对应的缓存地址范围存在重合;
若是,则判定所述IO请求污染高速缓冲存储器中的缓存数据;
若否,则判定所述IO请求未污染高速缓冲存储器中的缓存数据。
一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的计算机系统的启动方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的计算机系统的启动方法的步骤。
本申请实施例具有以下优点:
在本申请实施例中,通过在处于BIOS阶段的情况下,当接收到针对系统启动盘的IO请求时,判断IO请求是否为读请求,若IO请求为读请求,判断IO请求是否命中高速缓冲存储器中的缓存数据,缓存数据包括从系统启动盘中预读的数据,若IO请求命中缓存数据,则从缓存数据中读取IO请求对应的数据,以启动计算机系统,实现了在BIOS阶段直接从缓存中读取数据,减少了存储设备对系统启动的影响,提升了系统启动的速度。
附图说明
为了更清楚地说明本申请的技术方案,下面将对本申请的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种计算机系统的启动方法的步骤流程图;
图2是本申请一实施例提供的另一种计算机系统的启动方法的步骤流程图;
图3是本申请一实施例提供的另一种计算机系统的启动方法的步骤流程图;
图4是本申请一实施例提供的一种计算机系统的启动装置的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图1,示出了本申请一实施例提供的一种计算机系统的启动方法的步骤流程图,该计算机系统可以为部署在服务器(包括虚拟服务器)或PC的系统,具体可以包括如下步骤:
步骤101,在处于BIOS阶段的情况下,当接收到针对系统启动盘的IO请求时,判断所述IO请求是否为读请求;
在进入BIOS阶段后,如图2,当接收到IO请求时,IO请求中可以包括目标存储设备信息(磁盘信息),可以判断该IO请求是否为针对系统启动盘的IO请求,即IO请求的目标存储设备是否为系统启动盘,如图2中“启动盘”判断。
若该IO请求不为针对系统启动盘的IO请求,则可以按照正常的流程,将该IO请求递交至目标存储设备,如图2中“read/write from/to disk”操作,即直接对目标磁盘进行读/写操作;若该IO请求为针对系统启动盘的IO请求,则可以进一步判断该IO请求是否为读请求,如图2中“read?”判断。
步骤102,若所述IO请求为读请求,判断所述IO请求是否命中高速缓冲存储器中的缓存数据;其中,所述缓存数据包括从所述系统启动盘中预读的数据;
在实际应用中,可以预先从系统启动盘中将部分数据预先读取至高速缓冲存储器(Cache),作为缓存数据,若判定接收到的IO请求为读请求,则可以进一步判断该IO请求是否命中高速缓冲存储器中的缓存数据,即是否能够在缓存数据中读取到该IO请求对应的数据,如图2中“命中cache?”判断。
在本申请一实施例中,可以采用如下方式判断所述IO请求是否命中高速缓冲存储器中的缓存数据:
确定所述IO请求对应的请求地址范围,并判断所述请求地址范围是否被完全包含于所述缓存数据对应的缓存地址范围内;若是,则判定所述IO请求命中高速缓冲存储器中的缓存数据;若否,则判定所述IO请求未命中高速缓冲存储器中的缓存数据。
具体的,IO请求中可以包括请求起始地址(磁盘扇区)、请求数据大小(数据长度),则可以根据请求起始地址、请求数据大小,确定在系统启动盘中的请求地址范围。相应的,对于高速缓冲存储器中的缓存数据,也可以具有缓存起始地址(磁盘扇区)、缓存数据大小(数据长度,如64K),则可以根据缓存起始地址、缓存数据大小,确定缓存地址范围。
在确定请求地址范围和缓存地址范围后,可以判断请求地址范围是否被完全包含于缓存数据对应的缓存地址范围内,具体可以为判断请求起始地址是否大于或等于缓存起始地址,且请求起始地址+请求数据大小是否小于或等于缓存起始地址+缓存数据大小。
若是,则可以判定IO请求命中高速缓冲存储器中的缓存数据;若否,则可以判定IO请求未命中高速缓冲存储器中的缓存数据。
步骤103,若所述IO请求命中所述缓存数据,则从所述缓存数据中读取所述IO请求对应的数据,以启动计算机系统。
若该IO请求命中缓存数据,则可以直接从缓存数据中读取该IO请求对应的数据至Buffer中,以启动计算机系统,无需从启动盘中读取数据,如图2中“read from cache”操作。
在本申请一实施例中,该方法还可以包括如下步骤:
若所述IO请求未命中所述缓存数据,则从所述系统启动盘中读取所述IO请求对应的数据,并更新至所述高速缓冲存储器的缓存数据中;从所述缓存数据中读取所述IO请求对应的数据,以启动计算机系统。
若该IO请求未命中缓存数据,则可以从系统启动盘中读取IO请求对应的数据,并更新至高速缓冲存储器的缓存数据中,如图2中“read from disk”-“update cache”操作,进而可以从缓存数据中读取该IO请求对应的数据至Buffer中,以启动计算机系统。
在本申请实施例中,通过在处于BIOS阶段的情况下,当接收到针对系统启动盘的IO请求时,判断IO请求是否为读请求,若IO请求为读请求,判断IO请求是否命中高速缓冲存储器中的缓存数据,缓存数据包括从系统启动盘中预读的数据,若IO请求命中缓存数据,则从缓存数据中读取IO请求对应的数据,以启动计算机系统,实现了在BIOS阶段直接从缓存中读取数据,减少了存储设备对系统启动的影响,提升了系统启动的速度。
而且,对原有系统的改动量较小,能够普遍适用,且由于BIOS阶段的IO请求地址呈现明显的局部性,即使设置BIOS阶段可用缓存较小,也能够达到较高的缓存命中率。
参照图3,示出了本申请一实施例提供的另一种计算机系统的启动方法的步骤流程图,该计算机系统可以为部署在服务器(包括虚拟服务器)或PC的系统,具体可以包括如下步骤:
步骤301,在处于BIOS阶段的情况下,当接收到针对系统启动盘的IO请求时,判断所述IO请求是否为读请求;
在进入BIOS阶段后,如图2,当接收到IO请求时,IO请求中可以包括目标存储设备信息(磁盘信息),可以判断该IO请求是否为针对系统启动盘的IO请求,即该IO请求的目标存储设备是否为系统启动盘,如图2中“启动盘”判断。
若该IO请求不为针对系统启动盘的IO请求,则可以按照正常的流程,将该IO请求递交至目标存储设备,如图2中“read/write from/to disk”操作,即直接对目标磁盘进行读/写操作;若该IO请求为针对系统启动盘的IO请求,则可以进一步判断该IO请求是否为读请求,如图2中“read?”判断。
步骤302,若所述IO请求不为读请求时,判断所述IO请求是否污染高速缓冲存储器中的缓存数据;其中,所述缓存数据包括从所述系统启动盘预读的数据;
在实际应用中,可以预先从系统启动盘中将部分数据预先读取至高速缓冲存储器,作为缓存数据,若判定接收到的IO请求不为读请求,如IO请求为写请求,则可以判断该IO请求是否污染高速缓冲存储器中的缓存数据,即该IO请求是否会对缓存数据进行写操作,如图2中“污染cache”判断。
在本申请一实施例中,可以采用如下方式判断IO请求是否污染高速缓冲存储器中的缓存数据:
确定所述IO请求对应的请求地址范围,并判断所述请求地址范围是否与所述缓存数据对应的缓存地址范围存在重合;若是,则判定所述IO请求污染高速缓冲存储器中的缓存数据;若否,则判定所述IO请求未污染高速缓冲存储器中的缓存数据。
具体的,IO请求中可以包括请求起始地址(磁盘扇区)、请求数据大小(数据长度),则可以根据请求起始地址、请求数据大小,确定在系统启动盘中的请求地址范围。相应的,对于高速缓冲存储器中的缓存数据,也可以具有缓存起始地址(磁盘扇区)、缓存数据大小(数据长度,如64K),则可以根据缓存起始地址、缓存数据大小,确定缓存地址范围。
在确定请求地址范围和缓存地址范围后,可以判断请求地址范围是否与缓存数据对应的缓存地址范围存在重合(包括包含、被包含、部分重叠)。
若是,则可以判定IO请求污染高速缓冲存储器中的缓存数据;若否,则可以判定IO请求未污染高速缓冲存储器中的缓存数据。
例如,IO请求的请求起始地址为1024KB,请求数据大小为32KB,即请求地址范围为[1024KB,1056KB],缓存起始地址为1000KB,缓存数据的缓存数据大小为32KB,则缓存地址范围为[1000KB,1032KB],与请求地址范围存在重叠,则该IO请求污染高速缓冲存储器中的缓存数据。
步骤303,若所述IO请求污染所述缓存数据,则将所述缓存数据设置为无效状态,并将所述IO请求递交至所述系统启动盘。
若该IO请求污染缓存数据,则可以将缓存数据设置为无效状态,如图2中“invalidate cache”操作,如将缓存起始地址设置为无效地址(如0xffffffffffffffff),然后可以将该IO请求递交至系统启动盘,以进行写操作,如图2中“write to disk”操作。
在本申请一实施例中,该方法还可以包括如下步骤:
若所述IO请求未污染所述缓存数据,则将所述IO请求递交至所述系统启动盘。
若该IO请求未污染缓存数据,即写操作未影响缓存数据,则可以直接将该IO请求递交至系统启动盘,以进行写操作,如图2中直接进行“write to disk”操作。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图4,示出了本申请一实施例提供的一种计算机系统的启动装置的结构示意图,具体可以包括如下模块:
读请求判断模块401,用于在处于BIOS阶段的情况下,当接收到针对系统启动盘的IO请求时,判断所述IO请求是否为读请求;
命中判断模块402,用于若所述IO请求为读请求,判断所述IO请求是否命中高速缓冲存储器中的缓存数据;其中,所述缓存数据包括从所述系统启动盘中预读的数据;
缓存读取模块403,用于若所述IO请求命中所述缓存数据,则从所述缓存数据中读取所述IO请求对应的数据,以启动计算机系统。
在本申请一实施例中,还包括:
启动盘读取模块,用于若所述IO请求未命中所述缓存数据,则从所述系统启动盘中读取所述IO请求对应的数据,并更新至所述高速缓冲存储器的缓存数据中;
缓存更新模块,用于从所述缓存数据中读取所述IO请求对应的数据,以启动计算机系统。
在本申请一实施例中,采用如下方式判断所述IO请求是否命中高速缓冲存储器中的缓存数据:
确定所述IO请求对应的请求地址范围,并判断所述请求地址范围是否被完全包含于所述缓存数据对应的缓存地址范围内;
若是,则判定所述IO请求命中高速缓冲存储器中的缓存数据;
若否,则判定所述IO请求未命中高速缓冲存储器中的缓存数据。
在本申请一实施例中,还包括:
污染判断模块,用于若所述IO请求不为读请求时,判断所述IO请求是否污染高速缓冲存储器中的缓存数据;其中,所述缓存数据包括从所述系统启动盘预读的数据;
无效设置模块,用于若所述IO请求污染所述缓存数据,则将所述缓存数据设置为无效状态,并将所述IO请求递交至所述系统启动盘。
在本申请一实施例中,还包括:
请求递交模块,用于若所述IO请求未污染所述缓存数据,则将所述IO请求递交至所述系统启动盘。
在本申请一实施例中,采用如下方式判断所述IO请求是否污染高速缓冲存储器中的缓存数据:
确定所述IO请求对应的请求地址范围,并判断所述请求地址范围是否与所述缓存数据对应的缓存地址范围存在重合;
若是,则判定所述IO请求污染高速缓冲存储器中的缓存数据;
若否,则判定所述IO请求未污染高速缓冲存储器中的缓存数据。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请一实施例还提供了一种电子设备,可以包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上计算机系统的启动方法的步骤。
本申请一实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上计算机系统的启动方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对所提供的一种计算机系统的启动方法及装置、电子设备、存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种计算机系统的启动方法,其特征在于,所述方法包括:
在处于BIOS阶段的情况下,当接收到针对系统启动盘的IO请求时,判断所述IO请求是否为读请求;
若所述IO请求为读请求,判断所述IO请求是否命中高速缓冲存储器中的缓存数据;其中,所述缓存数据包括从所述系统启动盘中预读的数据;
若所述IO请求命中所述缓存数据,则从所述缓存数据中读取所述IO请求对应的数据,以启动计算机系统;
若所述IO请求不为读请求时,判断所述IO请求是否污染高速缓冲存储器中的缓存数据;其中,所述缓存数据包括从所述系统启动盘预读的数据;
若所述IO请求污染所述缓存数据,则将所述缓存数据设置为无效状态,并将所述IO请求递交至所述系统启动盘。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述IO请求未命中所述缓存数据,则从所述系统启动盘中读取所述IO请求对应的数据,并更新至所述高速缓冲存储器的缓存数据中;
从所述缓存数据中读取所述IO请求对应的数据,以启动计算机系统。
3.根据权利要求2所述的方法,其特征在于,采用如下方式判断所述IO请求是否命中高速缓冲存储器中的缓存数据:
确定所述IO请求对应的请求地址范围,并判断所述请求地址范围是否被完全包含于所述缓存数据对应的缓存地址范围内;
若是,则判定所述IO请求命中高速缓冲存储器中的缓存数据;
若否,则判定所述IO请求未命中高速缓冲存储器中的缓存数据。
4.根据权利要求1所述的方法,其特征在于,还包括:
若所述IO请求未污染所述缓存数据,则将所述IO请求递交至所述系统启动盘。
5.根据权利要求4所述的方法,其特征在于,采用如下方式判断所述IO请求是否污染高速缓冲存储器中的缓存数据:
确定所述IO请求对应的请求地址范围,并判断所述请求地址范围是否与所述缓存数据对应的缓存地址范围存在重合;
若是,则判定所述IO请求污染高速缓冲存储器中的缓存数据;
若否,则判定所述IO请求未污染高速缓冲存储器中的缓存数据。
6.一种计算机系统的启动装置,其特征在于,所述装置包括:
读请求判断模块,用于在处于BIOS阶段的情况下,当接收到针对系统启动盘的IO请求时,判断所述IO请求是否为读请求;
命中判断模块,用于若所述IO请求为读请求,判断所述IO请求是否命中高速缓冲存储器中的缓存数据;其中,所述缓存数据包括从所述系统启动盘中预读的数据;
缓存读取模块,用于若所述IO请求命中所述缓存数据,则从所述缓存数据中读取所述IO请求对应的数据,以启动计算机系统;
污染判断模块,用于若所述IO请求不为读请求时,判断所述IO请求是否污染高速缓冲存储器中的缓存数据;其中,所述缓存数据包括从所述系统启动盘预读的数据;
无效设置模块,用于若所述IO请求污染所述缓存数据,则将所述缓存数据设置为无效状态,并将所述IO请求递交至所述系统启动盘。
7.根据权利要求6所述的装置,其特征在于,还包括:
启动盘读取模块,用于若所述IO请求未命中所述缓存数据,则从所述系统启动盘中读取所述IO请求对应的数据,并更新至所述高速缓冲存储器的缓存数据中;
缓存更新模块,用于从所述缓存数据中读取所述IO请求对应的数据,以启动计算机系统。
8.根据权利要求7所述的装置,其特征在于,采用如下方式判断所述IO请求是否命中高速缓冲存储器中的缓存数据:
确定所述IO请求对应的请求地址范围,并判断所述请求地址范围是否被完全包含于所述缓存数据对应的缓存地址范围内;
若是,则判定所述IO请求命中高速缓冲存储器中的缓存数据;
若否,则判定所述IO请求未命中高速缓冲存储器中的缓存数据。
9.根据权利要求6所述的装置,其特征在于,还包括:
请求递交模块,用于若所述IO请求未污染所述缓存数据,则将所述IO请求递交至所述系统启动盘。
10.根据权利要求9所述的装置,其特征在于,采用如下方式判断所述IO请求是否污染高速缓冲存储器中的缓存数据:
确定所述IO请求对应的请求地址范围,并判断所述请求地址范围是否与所述缓存数据对应的缓存地址范围存在重合;
若是,则判定所述IO请求污染高速缓冲存储器中的缓存数据;
若否,则判定所述IO请求未污染高速缓冲存储器中的缓存数据。
11.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的计算机系统的启动方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的计算机系统的启动方法的步骤。
CN201910914107.XA 2019-09-25 2019-09-25 一种计算机系统的启动方法及装置、电子设备、存储介质 Active CN112559055B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910914107.XA CN112559055B (zh) 2019-09-25 2019-09-25 一种计算机系统的启动方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910914107.XA CN112559055B (zh) 2019-09-25 2019-09-25 一种计算机系统的启动方法及装置、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN112559055A CN112559055A (zh) 2021-03-26
CN112559055B true CN112559055B (zh) 2023-12-26

Family

ID=75029591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910914107.XA Active CN112559055B (zh) 2019-09-25 2019-09-25 一种计算机系统的启动方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN112559055B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1910552A (zh) * 2004-01-21 2007-02-07 皇家飞利浦电子股份有限公司 提高启动速度的方法
CN101866293A (zh) * 2009-04-20 2010-10-20 英特尔公司 利用预读技术引导系统的操作系统
CN102609291A (zh) * 2012-02-29 2012-07-25 记忆科技(深圳)有限公司 基于固态硬盘的系统启动方法和固态硬盘
CN102681921A (zh) * 2011-03-16 2012-09-19 浩鑫股份有限公司 计算机快速开机系统及其方法
CN105389190A (zh) * 2015-12-08 2016-03-09 华为技术有限公司 一种操作系统启动的方法、装置及系统
CN107291501A (zh) * 2017-06-23 2017-10-24 联想(北京)有限公司 一种系统快速启动方法及电子设备
CN109725940A (zh) * 2017-10-31 2019-05-07 杭州华为数字技术有限公司 用于计算系统启动的方法和计算系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179089A (ja) * 2005-12-26 2007-07-12 Toshiba Corp 情報処理装置、アクセス制御方法、及びプログラム
US7814307B2 (en) * 2006-03-16 2010-10-12 Microsoft Corporation Fast booting a computing device to a specialized experience
US11550592B2 (en) * 2018-06-29 2023-01-10 Intel Corporation Methods and apparatus to utilize non-volatile memory for computer system boot

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1910552A (zh) * 2004-01-21 2007-02-07 皇家飞利浦电子股份有限公司 提高启动速度的方法
CN101866293A (zh) * 2009-04-20 2010-10-20 英特尔公司 利用预读技术引导系统的操作系统
CN102681921A (zh) * 2011-03-16 2012-09-19 浩鑫股份有限公司 计算机快速开机系统及其方法
CN102609291A (zh) * 2012-02-29 2012-07-25 记忆科技(深圳)有限公司 基于固态硬盘的系统启动方法和固态硬盘
CN105389190A (zh) * 2015-12-08 2016-03-09 华为技术有限公司 一种操作系统启动的方法、装置及系统
CN107291501A (zh) * 2017-06-23 2017-10-24 联想(北京)有限公司 一种系统快速启动方法及电子设备
CN109725940A (zh) * 2017-10-31 2019-05-07 杭州华为数字技术有限公司 用于计算系统启动的方法和计算系统

Also Published As

Publication number Publication date
CN112559055A (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
CN109240946B (zh) 数据的多级缓存方法及终端设备
US8799561B2 (en) Valid page threshold based garbage collection for solid state drive
US7406560B2 (en) Using multiple non-volatile memory devices to store data in a computer system
JP2013542486A5 (zh)
US11366757B2 (en) File pre-fetch scheduling for cache memory to reduce latency
US9086986B2 (en) Detection of conflicts between transactions and page shootdowns
CN110910921A (zh) 一种命令读写方法、装置及计算机存储介质
US20180107505A1 (en) Cache memory transaction shielding via prefetch suppression
US20170024322A1 (en) Event based pre-fetch caching storage controller
US8667223B2 (en) Shadow registers for least recently used data in cache
CN103501327A (zh) 基于移动终端应用的下载方法和装置
CN103617009A (zh) 一种开机启动中通过缓存向磁盘写数据的方法和装置
CN114371814B (zh) 数据处理的方法、装置及固态硬盘
US9063863B2 (en) Systems and methods for background destaging storage tracks
CN112559055B (zh) 一种计算机系统的启动方法及装置、电子设备、存储介质
US10402101B2 (en) System and method for using persistent memory to accelerate write performance
US20140189669A1 (en) Dynamic timeout determination for microcontroller management of firmware updates
US6330641B1 (en) Method and apparatus for controlling magnetic disk device
US9298602B2 (en) Nonvolatile random access memory use
US20120254656A1 (en) Method, apparatus and system for providing memory sparing information
CN112286549A (zh) 一种灰度发布方法
CN108491160B (zh) 一种数据写入方法及装置
CN110324549B (zh) 一种录像方法、装置和设备
CN108021464B (zh) 一种应用程序响应数据的兜底处理的方法以及装置
WO2012129987A1 (en) Managing high speed memory

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40046338

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant