【技术实现步骤摘要】
一种系统启动方法以及相关设备本申请要求于2019年7月12日提交中国专利局、申请号为201910631422.1、专利技术名称为“一种加快终端开机速度的方法及终端”的中国专利申请的优先权,其全部内容通过应用结合在本申请中。
本申请涉及电子
,尤其涉及一种系统启动方法以及相关设备。
技术介绍
终端设备具有易掉电性,终端设备在读写磁盘文件的过程中,若突然掉电,则容易导致磁盘文件损坏。因此,为了保证磁盘可用,在终端设备开机的过程中,需要对磁盘分区进行文件系统检测(filesystemcheck,fsck),以检测磁盘分区是否损坏。现有技术中,内核态(kernelmode)中的内核驱动检测到磁盘分区后,将会向用户态(usermode)上报磁盘分区事件,用户态中的用户空间进程(ueventd)监听到磁盘分区事件后,会生成相应的磁盘分区节点,后续用户态中的其它程序可以通过读写对应的节点读写磁盘分区。当用户态中的初始化进程(init)监听到磁盘分区节点生成后,init进程启动子进程文件系统检测(filesystemcheck,fsck),fsck流程检测这些磁盘分区节点是否异常,若检测结果为正常,则init进程挂载磁盘分区。由于fsck流程需要对磁盘进行读写操作(input/output,I/0),而用户态中的其它程序需要等待fsck流程检测完毕后,才可运行。因此终端设备系统启动时易发生拥塞,增加系统启动的耗时。
技术实现思路
本申请实施例提供了一种系统启动方法以及相关设备,包括;当内核态 ...
【技术保护点】
1.一种系统启动方法,其特征在于,包括:/n当内核态中的内核驱动检测到第一磁盘分区时,创建第一线程;/n在内核态中,通过所述第一线程读取所述第一磁盘分区的元数据;/n通过所述第一线程将所述第一磁盘分区的元数据,写入第一页面缓存。/n
【技术特征摘要】
20190712 CN 20191063142211.一种系统启动方法,其特征在于,包括:
当内核态中的内核驱动检测到第一磁盘分区时,创建第一线程;
在内核态中,通过所述第一线程读取所述第一磁盘分区的元数据;
通过所述第一线程将所述第一磁盘分区的元数据,写入第一页面缓存。
2.根据权利要求1所述的方法,其特征在于,所述当内核态中的所述内核驱动检测到所述第一磁盘分区时,创建所述第一线程,包括:
通过内核态中的所述内核驱动检测当前磁盘分区是否为所述第一磁盘分区;
当通过所述内核驱动确定当前磁盘分区为所述第一磁盘分区时,调用第一函数创建所述第一线程;
向所述第一线程传递所述第一磁盘分区的第一结构体指针和第一分区号,其中,所述第一结构体指针为所述第一磁盘分区的通用磁盘结构体指针,所述第一分区号为所述第一磁盘分区的分区号。
3.根据权利要求2所述的方法,其特征在于,所述通过所述第一线程读取所述第一磁盘分区的元数据,所述方法包括:
通过所述第一线程调用第三函数打开所述第一磁盘分区;
通过所述第一线程调用页面操作函数,并通过所述页面操作函数读取所述第一磁盘分区的元数据。
4.根据权利要求3所述的方法,其特征在于,所述通过所述第一线程调用所述第三函数打开所述第一磁盘分区之前,所述方法还包括:
根据所述第一磁盘分区的所述第一结构体指针和所述第一分区号,通过所述第一线程调用第二函数以获得第一块指针,
其中,所述第一块指针为所述第一磁盘设备对应的块设备结构体指针;
通过所述第一线程调用所述第三函数,并向所述第三函数传递所述第一块指针;
根据所述第一块指针,通过所述第三函数打开所述第一磁盘分区。
5.根据权利要求3所述的方法,其特征在于,所述通过所述页面操作函数读取所述第一磁盘分区的元数据,包括:
通过所述第一线程向所述页面操作函数传入需要读取的数据量的大小,以及需要读取的数据量的偏移情况,
根据所述读取的数据量的大小,以及所述需要读取的数据量的偏移情况,通过所述页面操作函数读取所述第一磁盘分区的元数据。
6.根据权利要求5所述的方法,其特征在于,所述通过所述页面操作函数读取所述第一磁盘分区的元数据,包括:
通过所述页面操作函数,将读取的所述第一磁盘分区的元数据,写入所述第一页面缓存。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述方法还包括:
用户态中,对所述第一磁盘分区进行文件系统检测,若所述第一磁盘分区的文件系统检测fsck结果为正常,
根据所述第一索引关系,并通过调用第四函数,查询所述第一页面缓存中,是否存在缓存数据,其中,所述第一索引关系包括管理所述第一页面缓存的第一地址空间,以及管理所述第一地址空间的第一索引节点;
若存在,则使用所述缓存数据进行挂载。
8.根据权利要求7所述的方法,其特征在于,所述查询所述第一页面缓存中,是否存在所述缓存数据之后,所述方法还包括:
若不存在,则通过调用第五函数读取所述第一磁盘分区的元数据;
使用所述第一磁盘分区的元数据进行挂载。
9.根据权利要求1所述的方法,其特征在于,所述创建所述第一线程之后,所述方法还包括:
内核态中,通过所述第一线程申请第一内存空间;
通过所述第一线程读取所述第一磁盘分区的元数据;
通过所述第一线程将所述第一磁盘分区的元数据,写入所述第一内存空间。
10.根据权利要求9所述的方法,其特征在于,所述通过所述第一线程将所述第一磁盘分区的元数据,写入所述第一内存空间之后,所述方法还包括:
通过所述第一线程建立第一文件节点,所述第一文件节点映射于所述第一内存空间;
用户态中,通过访问所述第一文件节点,读取所述第一内存空间中缓存的所述第一磁盘分区的元数据;
对所述缓存的第一磁盘分区的元数据进行文件系统检测,并记录文件系统检测的结果。
11.根据权利要求10所述的方法,其特征在于,所述记录文件系统检测的结果,包括:
在通过访问所述第一文件节点,向所述第一内存空间中写入所述结果的同时,向所述第一磁盘分区中写入所述结果。
12.一种终端设备,其特征在于,包括:
处理模块,用于当内核态中的内核驱动检测到第一磁盘分区时,创建第一线程;
读取模块,用于在内核态中,通过所述第一线程读取所述第一磁盘分区的元数据;
写入模块,用于通过所述第一线程将所述第一磁盘分区的元数据,写入第一页面缓存。
13.根据权...
【专利技术属性】
技术研发人员:龚晨,何彪,俞超,方炜,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。