An access control system based on embedded system

By timing marking and pre-reading the data pages in the embedded access control system, the lag caused by page missing exceptions is solved, and more efficient memory management and response speed is achieved.

CN119785464AInactive Publication Date: 2025-04-08GUANGZHOU HAIRUN NETWORK TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510040718.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-10
Publication Date
2025-04-08
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

In embedded access control systems, disk I/O operations caused by page missing exceptions may cause program execution to be paused or stuck, affecting the real-time and user experience of the system.

Method used

The data pages on the disk are marked through the timing module, key pages are selected and loaded directly into memory, skipping the swap cache; when page-failure is abnormal, key pages are loaded directly from the disk to memory, and the relevant data pages are read out to determine the loading location of non-key pages.

Benefits of technology

Reduces the frequency of disk I/O operations, shortens access delay, improves the system's response speed and real-time performance, and avoids the waste of memory resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119785464A_ABST
    Figure CN119785464A_ABST
Patent Text Reader

Abstract

The present invention relates to an embedded access control system, comprising: taking a marked data page as a key page, selecting a target key page based on the characteristics of the key page, directly loading the target key page into a memory without passing through a swap cache and making it resident in the memory; when a page fault exception is a key page, loading it from a disk into the memory without passing through a swap cache, then obtaining a pre-read page of the key page, loading the key page in the pre-read page into the memory, and determining a non-key page loading position according to a relationship between a non-key page in the pre-read page and a key page triggering the page fault exception; when the page fault exception is a non-key page, checking whether the non-key page exists in the swap cache, if so, loading it from the swap cache, otherwise, loading it from the disk into the swap cache and then into the memory, then obtaining a pre-read page of the non-key page, loading the key page in the pre-read page into the memory, and loading the non-key page in the pre-read page into the swap cache.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the embedded field, and in particular to an embedded-based access control system. Background Art

[0002] As an important part of security, access control systems are used in more and more occasions. Compared with traditional mechanical access control systems, modern access control systems integrate multiple functions such as identity recognition, authority management, real-time monitoring and alarm linkage, and are widely used in various places such as residential areas, office buildings, enterprises, institutions, and government agencies. Identity recognition methods have also evolved from simple passwords and card swiping to biometrics, QR codes, Bluetooth and other methods, which improves security and convenience. Authority management allows administrators to flexibly set access permissions for different personnel or vehicles as needed to achieve refined management; real-time monitoring and alarm linkage functions can promptly detect and handle abnormal situations and effectively prevent security risks. Embedded systems are widely used in access control systems due to their small size, low power consumption, and low cost, responsible for key tasks such as identity authentication, door lock control, and data recording.

[0003] As the functions of the access control system increase, the requirements for system real-time performance are becoming more and more stringent. However, when the physical page corresponding to the virtual memory address accessed by the program is not in the memory, the CPU will generate a page fault exception, triggering the kernel to perform corresponding processing. The kernel needs to load the required pages from the disk or other storage media into the memory before continuing to execute the program. This process involves disk I / O operations, which are relatively slow and may cause the program execution to pause or freeze. In embedded access control systems with high real-time requirements, the delay caused by page fault exceptions may cause a decline in user experience, especially during peak hours, and even affect the normal operation of the system. Summary of the invention

[0004] In view of the situation that the access control system is stuck or frozen due to page missing, the present invention provides an embedded access control system, the system comprising: The timing module is used to mark the data pages in the disk according to the access history timing, take the marked data pages as key pages, select the target key pages based on the characteristics of the key pages, load the target key pages directly into the memory without going through the swap cache, and keep them resident in the memory; A key page fault processing module is used to load the key page from the disk to the memory without going through the swap cache when the page fault exception is a key page, then obtain the pre-read page of the key page, load the key page in the pre-read page into the memory, and determine the loading position of the non-key page according to the relationship between the non-key page in the pre-read page and the key page that triggers the page fault exception; The non-critical page fault processing module is used to check whether the non-critical page exists in the swap cache when the page fault exception is a non-critical page. If so, it is loaded from the swap cache. Otherwise, it is loaded from the disk to the swap cache and then loaded into the memory, and then the pre-read page of the non-critical page is obtained, the critical page in the pre-read page is loaded into the memory, and the non-critical page in the pre-read page is loaded into the swap cache.

[0005] Preferably, the step of marking the data pages in the disk according to the access history is specifically as follows: Obtain the data page access history log and count the high-frequency access periods of the data page; The time period from this timing mark to the next timing mark is calculated. If the time period and the high-frequency access time period of the data page have an intersection, the data page is marked; and the intersection-and-combination ratio of the high-frequency access time period of the marked data page and the time period is calculated.

[0006] Preferably, the target key page is selected based on the features of the key page, specifically: Predicting the access frequency of the key pages in the time period according to the historical information, and normalizing the access frequency and the intersection-and-union ratio of all the key pages respectively; The weights of key pages are obtained according to the normalized intersection-and-union ratio and the normalized access frequency, and the key pages are sorted in descending order according to their weights; Obtain the historical key page fault interruption rate and / or the historical non-key page interruption rate within the time period, determine the target number of key pages based on the interruption rate, and select the key pages of the target number of key pages as the target key pages starting from the first key page after sorting.

[0007] Preferably, the weight of the key page is obtained according to the normalized intersection-and-union ratio and the normalized access frequency, specifically: The weighted sum of the normalized intersection-and-combination ratio and the normalized access frequency is used as the weight.

[0008] Preferably, the non-critical page loading position is determined according to the relationship between the non-critical page in the pre-read page and the critical page that triggers the page fault exception, specifically: Calculate the number of times non-critical pages in the pre-read pages are accessed during the time period from this timing mark to the next timing mark. If the number of accesses is greater than the number of accesses of critical pages during the time period, load the non-critical pages in the pre-read pages into the memory, otherwise, load them into the swap cache.

[0009] Preferably, the non-critical page loading position is determined according to the relationship between the non-critical page in the pre-read page and the critical page that triggers the page fault exception, specifically: Calculate the number of times non-critical pages in the pre-read pages are accessed from the time the exception is triggered to the next timing mark. If the number of accesses is greater than the number of accesses to the critical pages within the time, load the non-critical pages in the pre-read pages into the memory, otherwise, load them into the swap cache.

[0010] Preferably, the operating system of the system adopts an embedded Linux system.

[0011] Preferably, the disk is a solid state drive or a mechanical hard disk.

[0012] In addition, the present invention also provides a computer program, wherein the computer program comprises the following modules: The timing module is used to mark the data pages in the disk according to the access history timing, take the marked data pages as key pages, select the target key pages based on the characteristics of the key pages, load the target key pages directly into the memory without going through the swap cache, and keep them resident in the memory; A key page fault processing module is used to load the key page from the disk to the memory without going through the swap cache when the page fault exception is a key page, then obtain the pre-read page of the key page, load the key page in the pre-read page into the memory, and determine the loading position of the non-key page according to the relationship between the non-key page in the pre-read page and the key page that triggers the page fault exception; The non-critical page fault processing module is used to check whether the non-critical page exists in the swap cache when the page fault exception is a non-critical page. If so, it is loaded from the swap cache. Otherwise, it is loaded from the disk to the swap cache and then loaded into the memory, and then the pre-read page of the non-critical page is obtained, the critical page in the pre-read page is loaded into the memory, and the non-critical page in the pre-read page is loaded into the swap cache.

[0013] The present invention makes some key pages resident in memory, avoids frequent disk I / O operations, and when a key page is missing, the system directly loads it from the disk to the memory, skips the exchange cache, reduces one data copy, and further shortens the access delay. When a page missing exception occurs, whether it is due to a key page missing or a non-key page trigger, the pre-read key data page will be loaded into the memory, which ensures the problem of high response speed requirements for access control systems. For the pre-read non-key pages, if there are non-key pages that cause page missing and pre-read, the pre-read non-key pages are added to the exchange cache, avoiding the occupation of valuable memory resources. If it is a key page that causes page missing and pre-read, the non-key page loading position is determined according to the relationship between the non-key pages in the pre-read pages and the key pages that trigger the page missing exception, thereby improving the subsequent access efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] Figure 1 This is the structure diagram of the access control system; Figure 2 A schematic diagram of the location of the exchange buffer in the access control system; Figure 3 A flowchart of pre-read page processing in a critical page fault; Figure 4 Flowchart for pre-read page processing in non-critical page faults. DETAILED DESCRIPTION

[0015] The following is a description of exemplary embodiments of the present invention in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and conciseness, the description of well-known functions and structures is omitted in the following description.

[0016] Embodiment 1 provides an embedded access control system, the system comprising: The timing module is used to mark the data pages in the disk according to the access history timing, take the marked data pages as key pages, select the target key pages based on the characteristics of the key pages, load the target key pages directly into the memory without going through the swap cache, and keep them resident in the memory; The access control system includes card readers, biometric devices, controllers, actuators and storage devices, such as Figure 1 As shown, an ARM processor is preferably used as a controller, and an embedded Linux system is used as an operating system, wherein the disk preferably uses a solid-state hard disk or a mechanical hard disk. In the storage device, the data on the disk is organized and managed in pages, and a page is usually a storage block of 4KB or 8KB in size. The user data, permission information, access records, etc. of the access control system are stored in different data pages. During the operation of the access control system, the access frequency, access time and other information of each data page are recorded to form an access history. For example, if a user's information is frequently accessed, the access frequency of the data page where the user's data is located will be very high. The access history is analyzed regularly, for example, at regular intervals, and the data pages on the disk are marked. In one embodiment, according to indicators such as access frequency, frequently accessed data pages are marked and identified as key pages.

[0017] Due to the different number of people passing through the access control system at different times, the importance of different key pages at different times is different. The target key page is selected from all key pages based on the key page's characteristics, such as access time or peak access time. After determining the target key page, the system will load it directly from the disk into the memory and keep it in the memory until the next scheduled time of the system arrives or the system is restarted. The swap cache is an area on the disk that is used to temporarily store infrequently used data in the memory in order to free up memory space for other programs to use. Figure 2The figure shows the location of the swap cache in the access control system. When the memory is insufficient, the operating system will swap part of the data in the memory to the swap cache. When the data is needed, it will be swapped back to the memory from the swap cache. In order to save the space of the swap cache, the target key page is directly stored in the memory without going through the swap cache. This not only reduces the process of data copying and improves the loading speed, but also because the target key page is resident in the memory, it will not cause a page fault exception to search in the swap cache, saving the space of the swap cache.

[0018] A key page fault processing module is used to load the key page from the disk to the memory without going through the swap cache when the page fault exception is a key page, then obtain the pre-read page of the key page, load the key page in the pre-read page into the memory, and determine the loading position of the non-key page according to the relationship between the non-key page in the pre-read page and the key page that triggers the page fault exception; When the page where the data accessed by the CPU is located is not in the memory, a page fault exception will occur. If the page where the page fault exception occurs is a page that has been marked as a critical page before, usually, data needs to go through the swap cache as an intermediate link when loading from disk to memory, but for critical pages, the swap cache is skipped and loaded directly from disk to memory. Among them, the page fault exception of a critical page refers to a page fault exception caused by a critical page, that is, a data page is a critical page, and a page fault exception occurs because this critical page is no longer in the memory. After the critical page is loaded into the memory, a pre-read operation will be performed immediately. Data page pre-reading refers to predicting data pages that may need to be accessed later, and loading them into the memory or swap cache in advance, thereby reducing the probability of page fault exceptions in the future. Among the pre-read pages, if the pre-read page is a critical page, since the importance of the critical page is higher than that of the non-critical page, the pre-read critical page will also be loaded into the memory. In addition to critical pages, the pre-read pages usually also contain non-critical pages. Depending on their relationship with the critical page that triggers the page fault exception, it is decided whether to load them into the memory or the swap cache, such as Figure 3 If a non-critical page is closely related to a critical page logically or functionally, it can be loaded into memory; otherwise, it will be loaded into the swap cache.

[0019] The non-critical page fault processing module is used to check whether the non-critical page exists in the swap cache when the page fault exception is a non-critical page. If so, it is loaded from the swap cache. Otherwise, it is loaded from the disk to the swap cache and then loaded into the memory, and then the pre-read page of the non-critical page is obtained, the critical page in the pre-read page is loaded into the memory, and the non-critical page in the pre-read page is loaded into the swap cache.

[0020] If the page fault exception is triggered by a non-critical page, first check whether the page already exists in the swap cache. If so, load it directly from the swap cache to the memory. If the required non-critical page is not found in the swap cache, the system needs to read the page from the disk, load it into the swap cache first, and then load it from the swap cache to the memory. If other processes need to access the page later, they can get it directly from the swap cache without having to perform disk I / O again. In one embodiment, after the non-critical page is loaded into the memory, a pre-read operation is also performed. If the pre-read page is a critical page, it is directly loaded into the memory. If the pre-read page is a non-critical page, it is loaded into the swap cache. Figure 4 As shown. In another embodiment, if a non-critical page exists in the swap cache, it is loaded from the swap cache and no pre-reading is performed. Only when a non-critical page causing a page fault exception is loaded from the disk, pre-reading is performed, and the critical pages in the pre-read pages are loaded into the memory, and the non-critical pages in the pre-read pages are loaded into the swap cache, which can reduce the I / O operation of the disk. The pre-reading method preferably adopts sequential pre-reading, that is, pre-reading according to the storage order of the data pages.

[0021] The access to the access control system is time-dependent. For example, if a certain group of people is more frequent during a certain period of time, the data page corresponding to this group of people will be accessed more frequently. A data page may be accessed many times in total, but these accesses may have been concentrated a long time ago and are rarely used now. If it is still marked as a key page and resident in memory, it will cause a waste of memory resources. In one embodiment, the data page in the disk is marked according to the access history, specifically: Obtain the data page access history log and count the high-frequency access time of the data page; record the access time of each data page to form an access history log, and analyze the access history log to count the high-frequency access time of each data page. For example, if a user's data page is frequently accessed during working hours on weekdays, then working hours on weekdays are the high-frequency access time of the information page. Alternatively, if a user's data page is frequently accessed between 8 am and 9 am and between 7 pm and 8 pm, then the high-frequency access time of this data page is between 8 am and 9 am and between 7 pm and 8 pm.

[0022] The time period from this timing mark to the next timing mark is calculated. If the time period and the high-frequency access time period of the data page have an intersection, the data page is marked; and the intersection-and-combination ratio of the high-frequency access time period of the marked data page and the time period is calculated.

[0023] Calculate the time period between the time of this timing marking of the data page and the time of the next timing marking of the data page. For example, the time interval between two timing marking of the data page is 2 hours. If the time of this timing marking of the data page is 7 o'clock, the time of the next timing marking is 9 o'clock. When the time period from this timing marking to the next timing marking intersects with the high-frequency access time period of the data page, mark the data page. Calculate the intersection-union ratio of the high-frequency access time period of the marked data page and the time period from this timing marking to the next timing marking. The higher the intersection-union ratio, the greater the possibility that the data page will be frequently accessed in the future, and the more priority it needs. Among them, the intersection-union ratio is obtained by dividing the size of the intersection of two time periods by the size of their union. The value range of the intersection-union ratio is 0 to 1. The higher the intersection-union ratio, the higher the degree of overlap between the two time periods.

[0024] Although a data page is frequently accessed during a high-frequency access period, its access frequency is low during the intersection of the time period and the data page high-frequency access period. If it is permanently stored in memory, it may still cause a certain amount of memory waste. In an optional embodiment, the target key page is selected based on the characteristics of the key page, specifically: The access frequency of the key pages in the time period is predicted based on historical information, and the access frequency and the intersection-and-union ratio of all key pages are normalized respectively; based on historical access records, the access frequency of each key page in the time period from this timing mark to the next timing mark is predicted. The access frequency and the intersection-and-union ratio of all key pages are normalized respectively, and the access frequency and the intersection-and-union ratio are normalized to between 0 and 1 respectively.

[0025] The weight of the key page is obtained according to the normalized intersection-and-union ratio and the normalized access frequency, and the key pages are sorted in descending order according to the weight of the key page; the normalized intersection-and-union ratio and the normalized access frequency are combined to calculate the weight of each key page, and preferably, the weighted sum of the normalized intersection-and-union ratio and the normalized access frequency is used as the weight.

[0026] Obtain the historical critical page page fault interruption rate and / or the historical non-critical page interruption rate within the time period, determine the target number of critical pages based on the interruption rate, and starting from the first critical page after sorting, select the critical pages of the target number of critical pages as the target critical pages. Obtain the historical critical page page fault interruption rate and the historical non-critical page interruption rate within the time period from the current timing mark to the next timing mark, and determine the number of target critical pages that need to be resident in the memory this time based on the historical critical page page fault interruption rate and the historical non-critical page interruption rate and the available memory size. Preferably, if the historical critical page page fault interruption rate is greater than the historical non-critical page interruption rate, the target number of critical pages is set to N1, otherwise it is set to N2, wherein N1 is greater than N2, and N1 and N2 are both positive integers. In another embodiment, the target number of critical pages is determined in combination with the interruption rate and the available memory. Specifically, a threshold for the critical page fault interruption rate is set, and an upper limit for the target number of critical pages is set according to the available memory size. If the critical page fault interruption rate exceeds the threshold, the target number of critical pages is increased, but not exceeding the upper limit; if the critical page fault interruption rate is lower than the threshold, the target number of critical pages is reduced.

[0027] The capacity of the memory is limited. If all pre-read pages are loaded into the memory, it may cause memory shortage, and frequent data exchange between the memory and the swap cache may occur, which in turn reduces performance. In an optional embodiment, the non-critical page loading position is determined based on the relationship between the non-critical page in the pre-read page and the critical page that triggers the page fault exception, specifically: Calculate the number of times the non-critical pages in the pre-read pages are accessed during the time period from the current timing mark to the next timing mark. If the number of accesses is greater than the number of accesses of the critical pages during the said time period, the non-critical pages in the pre-read pages are loaded into the memory, otherwise, they are loaded into the swap cache. For each pre-read non-critical page, count the number of accesses during the time period from the current timing mark to the next timing mark. Compare the number of accesses of the pre-read non-critical pages and the critical pages that trigger the page fault exception during the said time period. If the number of accesses of the non-critical pages is greater than the number of accesses of the critical pages, load the non-critical pages into the memory. If the number of accesses of the non-critical pages is less than or equal to the number of accesses of the critical pages, load the non-critical pages into the swap cache. The frequency of non-critical pages being accessed recently is relatively low, so they are placed in the swap cache to save memory resources.

[0028] During pre-reading, the loading time of the pre-read page is not completely aligned with the time period. It is possible that the pre-reading is done in the middle or later part of the time period. If the access frequency of the pre-read page in the middle or later part is low, it is not necessary to load it into the memory. In another optional embodiment, the non-critical page loading position is determined based on the relationship between the non-critical page in the pre-read page and the critical page that triggers the page fault exception, specifically: Calculate the number of times the non-critical pages in the pre-read pages are accessed from the time when the exception is triggered to the next timing mark. If the number of accesses is greater than the number of accesses of the critical pages within the time, the non-critical pages in the pre-read pages are loaded into the memory, otherwise, they are loaded into the swap cache. When a page fault exception occurs, record the current time as the time when the page fault exception is triggered. For each pre-read non-critical page, count the number of accesses from the time when the exception is triggered to the next timing mark. If the number of accesses to the non-critical page is greater than the number of accesses to the critical page, the non-critical page is loaded into the memory. Otherwise, the non-critical page is loaded into the swap cache.

[0029] Embodiment 2 provides a computer program, wherein the computer program includes the following modules: The timing module is used to mark the data pages in the disk according to the access history timing, take the marked data pages as key pages, select the target key pages based on the characteristics of the key pages, load the target key pages directly into the memory without going through the swap cache, and keep them resident in the memory; A key page fault processing module is used to load the key page from the disk to the memory without going through the swap cache when the page fault exception is a key page, then obtain the pre-read page of the key page, load the key page in the pre-read page into the memory, and determine the loading position of the non-key page according to the relationship between the non-key page in the pre-read page and the key page that triggers the page fault exception; The non-critical page fault processing module is used to check whether the non-critical page exists in the swap cache when the page fault exception is a non-critical page. If so, it is loaded from the swap cache. Otherwise, it is loaded from the disk to the swap cache and then loaded into the memory, and then the pre-read page of the non-critical page is obtained, the critical page in the pre-read page is loaded into the memory, and the non-critical page in the pre-read page is loaded into the swap cache.

[0030] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0031] As another aspect, the present invention further provides a computer-readable medium, wherein the computer-readable medium carries one or more programs, and when the one or more programs are executed by a device or a processor, the method described in the first embodiment is implemented.

[0032] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. An embedded access control system, characterized in that: The system comprises: The timing module is used to mark the data pages in the disk according to the access history timing, take the marked data pages as key pages, select the target key pages based on the characteristics of the key pages, load the target key pages directly into the memory without going through the swap cache, and keep them resident in the memory; A key page fault processing module is used to load the key page from the disk to the memory without going through the swap cache when the page fault exception is a key page, then obtain the pre-read page of the key page, load the key page in the pre-read page into the memory, and determine the loading position of the non-key page according to the relationship between the non-key page in the pre-read page and the key page that triggers the page fault exception; The non-critical page fault processing module is used to check whether the non-critical page exists in the swap cache when the page fault exception is a non-critical page. If so, it is loaded from the swap cache. Otherwise, it is loaded from the disk to the swap cache and then loaded into the memory, and then the pre-read page of the non-critical page is obtained, the critical page in the pre-read page is loaded into the memory, and the non-critical page in the pre-read page is loaded into the swap cache.

2. The system according to claim 1, characterized in that The data pages in the disk are marked according to the access history in a timely manner, specifically: Obtain the data page access history log and count the high-frequency access periods of the data page; Calculate the time period from the current timing mark to the next timing mark, and if the time period overlaps with the data page high-frequency access time period, mark the data page; And the intersection-and-union ratio of the high-frequency access time period and the time period of the marked data page is calculated.

3. The system according to claim 2, characterized in that The target key page is selected based on the features of the key page, specifically: Predicting the access frequency of the key pages in the time period according to the historical information, and normalizing the access frequency and the intersection-and-union ratio of all the key pages respectively; The weights of key pages are obtained according to the normalized intersection-and-union ratio and the normalized access frequency, and the key pages are sorted in descending order according to their weights; Obtain the historical key page fault interruption rate and / or the historical non-key page interruption rate within the time period, determine the target number of key pages based on the interruption rate, and select the key pages of the target number of key pages as the target key pages starting from the first key page after sorting.

4. The system according to claim 3, characterized in that The weight of the key page is obtained according to the normalized intersection-and-union ratio and the normalized access frequency, specifically: The weighted sum of the normalized intersection-over-combination ratio and the normalized access frequency is used as the weight.

5. The system according to claim 1, wherein: The non-critical page loading position is determined according to the relationship between the non-critical page in the pre-read page and the critical page that triggers the page fault exception, specifically: Calculate the number of times non-critical pages in the pre-read pages are accessed during the time period from this timing mark to the next timing mark. If the number of accesses is greater than the number of accesses of critical pages during the time period, load the non-critical pages in the pre-read pages into the memory, otherwise, load them into the swap cache.

6. The system according to claim 1, characterized in that The non-critical page loading position is determined according to the relationship between the non-critical page in the pre-read page and the critical page that triggers the page fault exception, specifically: Calculate the number of times non-critical pages in the pre-read pages are accessed from the time the exception is triggered to the next timing mark. If the number of accesses is greater than the number of accesses to the critical pages within the time, load the non-critical pages in the pre-read pages into the memory, otherwise, load them into the swap cache.

7. The system according to claim 1, characterized in that The operating system of the system adopts an embedded Linux system.

8. The system of claim 1, wherein: The disk is a solid state drive or a mechanical hard disk.

9. A computer program, characterized in that The computer program comprises the following modules: The timing module is used to mark the data pages in the disk according to the access history timing, take the marked data pages as key pages, select the target key pages based on the characteristics of the key pages, load the target key pages directly into the memory without going through the swap cache, and keep them resident in the memory; A key page fault processing module is used to load the key page from the disk to the memory without going through the swap cache when the page fault exception is a key page, then obtain the pre-read page of the key page, load the key page in the pre-read page into the memory, and determine the loading position of the non-key page according to the relationship between the non-key page in the pre-read page and the key page that triggers the page fault exception; The non-critical page fault processing module is used to check whether the non-critical page exists in the swap cache when the page fault exception is a non-critical page. If so, it is loaded from the swap cache. Otherwise, it is loaded from the disk to the swap cache and then loaded into the memory, and then the pre-read page of the non-critical page is obtained, the critical page in the pre-read page is loaded into the memory, and the non-critical page in the pre-read page is loaded into the swap cache.