Fast loading kernel image file for booting
First Claim
1. A method for fast loading a kernel image file, wherein the method is executed by a multi-core processor, wherein the multi-core processor is connected to a nonvolatile storage and a memory, wherein the multi-core processor comprises a first core group and a second core group, wherein the first core group comprises at least one core, wherein the second core group comprises a plurality of cores, and wherein the method comprises:
- obtaining, by the first core group, a plurality of data blocks in a compressed kernel image file from the nonvolatile storage, wherein the compressed kernel image file comprises a plurality of data blocks obtained after block compression is performed on the kernel image file;
checking, by the first core group each time obtaining a data block, the currently obtained current data block;
in response to determining that the current data block is correct, putting, by the first core group, the current data block into a decompression queue;
obtaining, by at least two of the plurality of cores in the second core group when there is a data block in the decompression queue, the data block in the decompression queue; and
in response to obtaining a plurality of data blocks, decompressing the plurality of obtained data blocks in parallel into the memory to finally obtain the kernel image file,wherein a length of each data block matches a speed of obtaining and checking a data block by the first core group and a speed of performing decompression by a core in the second core group.
1 Assignment
0 Petitions
Accused Products
Abstract
Example methods and apparatus for fast loading a kernel image file are provided. A multi-core processor includes a first core group and a second core group. The second core group includes a plurality of cores. In one example method, the first core group obtains a plurality of data blocks in a compressed kernel image file from a nonvolatile storage, and checks the currently obtained current data block. The current data block is put into a decompression queue in response to determining that the data block is correct. At least two of the plurality of cores in the second core group obtain the data block from the decompression queue, and after obtaining a plurality of data blocks, decompress the plurality of obtained data blocks into a memory in parallel to obtain the kernel image file.
19 Citations
19 Claims
-
1. A method for fast loading a kernel image file, wherein the method is executed by a multi-core processor, wherein the multi-core processor is connected to a nonvolatile storage and a memory, wherein the multi-core processor comprises a first core group and a second core group, wherein the first core group comprises at least one core, wherein the second core group comprises a plurality of cores, and wherein the method comprises:
-
obtaining, by the first core group, a plurality of data blocks in a compressed kernel image file from the nonvolatile storage, wherein the compressed kernel image file comprises a plurality of data blocks obtained after block compression is performed on the kernel image file; checking, by the first core group each time obtaining a data block, the currently obtained current data block; in response to determining that the current data block is correct, putting, by the first core group, the current data block into a decompression queue; obtaining, by at least two of the plurality of cores in the second core group when there is a data block in the decompression queue, the data block in the decompression queue; and in response to obtaining a plurality of data blocks, decompressing the plurality of obtained data blocks in parallel into the memory to finally obtain the kernel image file, wherein a length of each data block matches a speed of obtaining and checking a data block by the first core group and a speed of performing decompression by a core in the second core group. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A multi-core processor, comprising a first core group and a second core group, wherein the first core group comprises at least one core, and wherein the second core group comprises a plurality of cores;
-
wherein the first core group is configured to obtain a plurality of data blocks in a compressed kernel image file from a nonvolatile storage connected to the multi-core processor, wherein the compressed kernel image file comprises a plurality of data blocks obtained after block compression is performed on the kernel image file; wherein the first core group is further configured to; in response to obtaining a data block, check the currently obtained current data block; and in response to determining that the current data block is correct, put the current data block into a decompression queue; and wherein at least two of the plurality of cores in the second core group are configured to; in response to determining that there is a data block in the decompression queue, obtain the data block in the decompression queue; and in response to obtaining a plurality of data blocks, decompress the plurality of obtained data blocks in parallel into a memory connected to the multi-core processor, to finally obtain the kernel image file, wherein a length of each data block matches a speed of obtaining and checking a fragment by the first core group and a speed of performing decompression by a core in the second core group. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An electronic device, comprising a nonvolatile storage, a memory, and a multi-core processor, wherein the multi-core processor comprises a first core group and a second core group, wherein the first core group comprises at least one core, and wherein the second core group comprises a plurality of cores;
-
wherein the first core group is configured to obtain a plurality of data blocks in a compressed kernel image file from a nonvolatile storage connected to the multi-core processor, wherein the compressed kernel image file comprises a plurality of data blocks obtained after block compression is performed on the kernel image file; wherein the first core group is further configured to; in response to obtaining a data block, check the currently obtained current data block; and in response to determining that the current data block is correct, put the current data block into a decompression queue; and wherein at least two of the plurality of cores in the second core group are configured to; in response to determining that there is a data block in the decompression queue, obtain the data block in the decompression queue; and in response to obtaining a plurality of data blocks, decompress the plurality of obtained data blocks in parallel into the memory connected to the multi-core processor, to finally obtain the kernel image file, wherein a length of each data block matches a speed of obtaining and checking a data block by the first core group and a speed of performing decompression by a core in the second core group.
-
Specification