CN112182559A - Stack overflow detection method and device, electronic equipment and storage medium - Google Patents

Stack overflow detection method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN112182559A
CN112182559A CN202011072551.0A CN202011072551A CN112182559A CN 112182559 A CN112182559 A CN 112182559A CN 202011072551 A CN202011072551 A CN 202011072551A CN 112182559 A CN112182559 A CN 112182559A
Authority
CN
China
Prior art keywords
stack
task
task stack
overflow
address
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.)
Pending
Application number
CN202011072551.0A
Other languages
Chinese (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202011072551.0A priority Critical patent/CN112182559A/en
Publication of CN112182559A publication Critical patent/CN112182559A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The application relates to a stack overflow detection method, a stack overflow detection device, a computer device and a storage medium. The method comprises the following steps: determining an accessed task stack as a first task stack, wherein the attribute of the first task stack is a read-write permission attribute, and the attributes of other task stacks except the first task stack are non-access permission attributes; when the access exceeding the first task stack is detected, stack overflow prompting information is generated, wherein the stack overflow prompting information is used for prompting that stack overflow exists in the first task stack. By adopting the method, the situation of stack overflow can be detected more comprehensively.

Description

Stack overflow detection method and device, electronic equipment and storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a stack overflow detection method and apparatus, an electronic device, and a computer-readable storage medium.
Background
Stack (Stack) is an abstract data structure, which is a combination of a set of identical data types, all operations are performed at the top of the Stack, with a "last in first out" feature, i.e., the last object put into the Stack is always taken out first.
Many tasks are generally run in an embedded system, and each task allocates a small block of memory as a stack for storing data such as return addresses, entries, local variables, and the like. During the operation of the system, if the allocated stack is not enough due to various reasons, a stack overflow phenomenon is generated, and the adjacent memory space is damaged. If this behavior is not reported in time, it will have a greater impact when the corrupted memory space of the subsequent block is used.
Therefore, stack overflow needs to be detected. In a conventional stack overflow detection method, a protection area is usually determined to be set below an accessed stack, and when data of the accessed stack overflows to the protection area, an overflow phenomenon of the accessed stack can be detected. However, in this stack overflow detection method, there is a case where stack overflow cannot be detected.
Disclosure of Invention
The embodiment of the application provides a stack overflow detection method, a stack overflow detection device, electronic equipment and a computer-readable storage medium, which can detect the situation of stack overflow more comprehensively.
The embodiment of the application provides a stack overflow detection method. The method comprises the following steps:
determining an accessed task stack as a first task stack, wherein the attribute of the first task stack is a read-write permission attribute, and the attributes of other task stacks except the first task stack are non-access permission attributes;
when the access exceeding the first task stack is detected, stack overflow prompting information is generated, wherein the stack overflow prompting information is used for prompting that stack overflow exists in the first task stack.
The embodiment of the application provides a stack overflow detection device. The device includes:
the system comprises an accessed stack determining module, a read-write permission module and a read-write permission module, wherein the accessed stack determining module is used for determining that an accessed task stack is a first task stack, the attribute of the first task stack is a read-write permission attribute, and the attributes of other task stacks except the first task stack are non-access permission attributes;
and the stack overflow prompting information generating module is used for generating stack overflow prompting information when the condition that the access exceeds the first task stack is detected, wherein the stack overflow prompting information is used for prompting that the stack overflow exists in the first task stack.
The embodiment of the application provides electronic equipment. The electronic device comprises a memory and a processor, wherein the memory stores a computer program, and the computer program causes the processor to execute the steps of the stack overflow detection method when being executed by the processor.
The embodiment of the application provides a computer readable storage medium. The computer-readable storage medium has stored thereon a computer program which, when being executed by a processor, carries out the steps of the method as described above.
The technical scheme of the embodiment of the application at least comprises the following technical effects:
according to the stack overflow detection method, the stack overflow detection device, the electronic equipment and the computer readable storage medium, the accessed task stack is determined to be the first task stack, the attribute of the first task stack is the read-write permission attribute, and the attributes of the task stacks except the first task stack are the non-permission access attributes, so that when the condition that the access exceeds the first task stack is detected, namely the data of the first task stack overflows to the other task stacks which are not permitted to access, an exception is caused, and therefore stack overflow prompt information can be generated to prompt that the stack overflow phenomenon exists in the first task stack. Not only can stack overflow be detected when the data of the first task stack overflows to the lower area of the first task stack, but also stack overflow can be detected when the data of the first task stack overflows to the upper area of the first task stack, and the situation of stack overflow is detected more comprehensively.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
FIG. 1 is a diagram illustrating stack overflow detection when a computer device accesses a task #1stack, a task #2stack, and a task #3stack, respectively, in a related stack overflow detection method;
FIG. 2 is a flow diagram of a method of stack overflow detection in one embodiment;
FIG. 3 is a flowchart illustrating steps in one embodiment for configuring a memory protection unit MPU table for a first task stack;
FIG. 4 is a diagram of stack overflow detection when a computer device accesses a task #1stack, a task #2stack, and a task #3stack, under an embodiment;
FIG. 5 is a flowchart of steps in one embodiment for generating a stack overflow hint when an access over a first task stack is detected;
FIG. 6 is a block diagram of a stack overflow detection apparatus in one embodiment;
fig. 7 is a schematic diagram of an internal structure of an electronic device in one embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
It will be understood that, as used herein, the terms "first," "second," and the like may be used herein to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish one element from another. For example, a first task stack may be referred to as a second task stack, and similarly, a second task stack may be referred to as a first task stack, without departing from the scope of the present application. Both the first task stack and the second task stack are task stacks, but they are not the same task stack.
Stack (Stack) is an abstract data structure, which is a combination of a set of identical data types, all operations are performed at the top of the Stack, with a "last in first out" feature, i.e., the last object put into the Stack is always taken out first. Two of the most important in the stack are PUSH (PUSH) which adds an element at the top of the stack and POP (POP) which removes an element at the top of the stack and reduces the size of the stack by one. When the water is full, the stack overflows, and the stack has a certain capacity limit, and when the capacity limit is exceeded, the overflow occurs, namely the stack overflow. During the operation of the system of the computer device, if the allocated stack is not enough due to various reasons, a stack overflow phenomenon is generated, and the adjacent memory space is damaged.
As shown in fig. 1, in the related method of detecting stack overflow, the computer apparatus allocates all task stacks in the system to a continuous space, and allocates an MPU table configured as a readable and writable attribute (Read & Write allowed). When the current task is task #1, a protection area (Guard Region) whose attribute is configured by another MPU table, set as a Read & Write nothing allowed, is allocated below the stack of the current task #1, and the priority of the MPU table of the Read-Write impossible attribute is higher than that of the MPU table of the readable-writable attribute. Thus, when the computer device accesses the protection area, it is found that the attributes are assigned by the two MPU tables, but because the priority of the MPU table with the unreadable and writable attributes is higher than that of the MPU table with the readable and writable attributes, the unreadable and writable attributes are selected as the attributes of the protection area, and the computer cannot perform read-write operation on the protection area. When the computer equipment normally runs, the system performs read-write operation on the stack of the current task, if the stack of the current task overflows and accesses the protection area below, but the protection area cannot be read and written, the system triggers abnormity, and thus the system of the computer equipment can timely position the position where the stack overflows and process the position.
When the current task is task #2, a protection area (Guard Region) whose attribute is configured by another MPU table, set to be unreadable (Read & Write not allowed), is allocated below the stack of current task #2, and the priority of the MPU table of the unreadable attribute is higher than that of the MPU table of the readable and writable attribute.
When the current task is task #3, a protection area (Guard Region) whose attribute is configured by another MPU table, set as a Read & Write nothing allowed, is allocated below the stack of the current task #3, and the priority of the MPU table of the Read-Write impossible attribute is higher than that of the MPU table of the readable-writable attribute.
However, the related stack overflow method only protects overflow in one direction of the stack, and overflow in the other direction is not protected; and if the overflow in both directions needs protection, a protection area is redistributed above the stack which is accessed currently, the attribute of the protection area is configured by another MPU table and is set as the attribute which can not be read and written, and the priority of the MPU table of the attribute which can not be read and written is higher than that of the MPU table of the attribute which can be read and written. More computer resources need to be consumed.
Therefore, the embodiment of the application provides a stack overflow detection method, and the accessed task stack is determined to be a first task stack, the attribute of the first task stack is a read-write permission attribute, and the attributes of the other task stacks except the first task stack are non-access permission attributes; and when the access exceeding the first task stack is detected, stack overflow prompt information is generated, wherein the stack overflow prompt information is used for prompting that the first task stack has stack overflow. Not only can stack overflow be detected when the data of the first task stack overflows to the lower region of the first task stack, but also stack overflow can be detected when the data of the first task stack overflows to the upper region of the first task stack, and the situation of stack overflow can be detected more comprehensively. In addition, two MPU tables are not needed to be adopted to respectively protect the upper area and the lower area of the first task stack, and computer resources are saved.
FIG. 2 is a flow diagram of a method of stack overflow detection in one embodiment. As shown in FIG. 2, the stack overflow detection method includes steps 202 to 204.
Step 202, it is determined that the accessed task stack is the first task stack, the attribute of the first task stack is the read-write permission attribute, and the attributes of the task stacks except the first task stack are the non-access permission attributes.
Stack (Stack) is an abstract data structure, which is a combination of a set of identical data types, all operations are performed at the top of the Stack, with a "last in first out" feature, i.e., the last object put into the Stack is always taken out first.
During operation of the computer device, one or more tasks may be performed. For example, the tasks may be to collect heart rate data, detect ambient light intensity, receive chat data, image processing, voice recognition, audio-video processing, and the like. The task stack refers to a stack allocated to each executed task in the running process of the computer device. That is, the task stack is an access area for each executed task of the computer device during operation. In the task stack, data such as a return address, an Input Parameter (Input Parameter), and a local variable can be stored. The computer device may be a terminal or a server, among others. The terminal can be, but is not limited to, various personal computers, notebook computers, smart phones, tablet computers and portable wearable devices, and the server can be implemented by an independent server or a server cluster formed by a plurality of servers.
The first task stack refers to a stack that is accessed by the computer device when performing tasks. The computer device may configure the attributes of the first task stack to allow reading and writing of the attributes. The attribute of the first task stack is a read-write permission attribute, that is, the computer device can perform read operation and write operation on the first task stack. Wherein the read operation is an operation in which the computer device reads data from the first task stack. A write operation is an operation in which a computer device writes data to a first thought stack.
It will be appreciated that the stack has a "last in first out" nature. Therefore, when the computer device performs write operation on the first task stack, write data is input from the top end of the first task stack; when the computer device reads the first task stack, the data is sequentially read from the top end of the first task stack, that is, the written data is read first, and the stored data is read later.
During operation, the computer device can execute a plurality of tasks, and each task is allocated with a task stack to store data such as a return address, an Input Parameter (Input Parameter), a local variable and the like generated during the execution of the task. The computer device may allocate a task stack of a plurality of tasks into one contiguous memory region. When the computer device executes tasks, determining that a task stack accessed by the executed tasks is a first task stack from a continuous memory area, wherein the attribute of the first task stack is a read-write permission attribute, and the attribute of other task stacks except the first task stack in the continuous memory area is a non-access permission attribute.
The attribute of the other task stack is a disallow access attribute, that is, the computer device does not allow read and write operations to the other task stack.
The computer device may mark the first task stack with a first mark and mark the other task stacks than the first task stack with a second mark. Wherein the first flag indicates a readable and writable attribute and the second flag indicates that the attribute is not allowed to be accessed.
For example, the first label is attribute value 1 and the second label is attribute value 0. The computer device marks the first task stack by using an attribute value of 1, namely, the attribute value of the first task stack is set to be 1, and marks the task stacks except the first task stack by using an attribute value of 0, namely, the attribute values of the task stacks except the first task stack are set to be 0. The attribute value of the first task stack is 1, which indicates that the attribute of the first task stack is a read-write permission attribute, the attribute values of the task stacks except the first task stack are 0, which indicates that the attribute of the task stacks except the first task stack is a non-access permission attribute.
The attribute of the first task stack and the other task stacks can also be one of a Memory attribute, a Cache attribute, a Shareability attribute, and the like. Wherein the Memory attribute represents an attribute of a storage type. The Memory attribute may specifically be a Normal Memory attribute or a Device Memory attribute. Cache attributes include Cache, non-Cache, write through, and write back. A Cache memory: the computer is a cache Memory, which is located between the CPU and a main Memory dram (dynamic Random Access Memory), and is a Memory with a small scale but high speed, and is generally composed of an SRAM (Static Random Access Memory). Write Through (Write Through) and Write Back (Write Back) are two ways of using array card Cache. When the write-through mode is selected, the write disk operation of the system does not utilize the Cache of the array card, but directly interacts data with the disk. And the write-back mode uses the array Cache as a second hand-off between the system and the disk, the system firstly gives the data to the Cache, and then the Cache transmits the data to the disk. The Shareability attribute is used to indicate whether to share. The Shareability attribute includes shared and unshared.
Step 204, when it is detected that the access exceeds the first task stack, stack overflow prompting information is generated, wherein the stack overflow prompting information is used for prompting that the first task stack has stack overflow.
The stack overflow prompting message is prompting message for prompting that the first task stack has data overflow. The stack overflow hint may be various forms of hints such as text, pictures, audio, video, vibration, etc.
It is understood that when data in the first task stack overflows to other task stacks, the computer device needs to access the overflowing data, but the attributes of the other task stacks are all non-access-allowed attributes, and an exception exists, and it can be detected that stack overflow exists in the data of the first task stack. The computer device may generate a stack overflow notification message for notifying the first task stack of a stack overflow.
The stack overflow detection method determines that the accessed task stack is the first task stack, the attribute of the first task stack is the read-write permission attribute, and the attributes of the other task stacks except the first task stack are the non-access permission attributes, so that when the condition that the access exceeds the first task stack is detected, namely the data of the first task stack overflows to the other task stacks which are not permitted to be accessed, an exception is caused, stack overflow prompt information can be generated, and the first task stack is prompted to have the phenomenon of stack overflow. Not only can stack overflow be detected when the data of the first task stack overflows to the lower area of the first task stack, but also stack overflow can be detected when the data of the first task stack overflows to the upper area of the first task stack, and the situation of stack overflow is detected more comprehensively.
The stack overflow detection method breaks through inertial thinking, when the first task stack is the stack which is accessed currently, the first task stack is set to be the attribute which allows reading and writing, the attributes of other task stacks except the first task stack are all the attributes which do not allow access, namely, the memory areas where the other task stacks are located are all the areas which cannot be read and written, and the attribute of the first task stack which is only accessed is set to be the attribute which allows access, namely, the memory area where the first task stack is located is the area which can be accessed.
The stack overflow detection method can also avoid the problem that the stack overflow cannot be detected because the protection area is skipped when the data of the first task stack overflows, and can detect the condition of the stack overflow more comprehensively.
In the related stack overflow detection method, the protection region only protects the memory region of one stack, when the data of the first task stack overflows, the protection region is skipped over to overflow to another task stack, so that the stack overflow cannot be detected, meanwhile, the overflowed data can damage the memory space of another task stack, and when the computer device uses the task stack with the damaged memory space, the computer device can have a greater influence.
By the stack overflow detection method, even if the data of the first task stack overflows to other task stacks, the computer equipment can still detect that the first task stack has the phenomenon of stack overflow, more comprehensively detect the situation of stack overflow and timely process the overflowing data, so that the memory space of other task stacks is protected, and the protection range of a memory area (task stack) is enlarged.
In one embodiment, after determining that the accessed task stack is the first task stack, the method further comprises: and configuring a Memory Protection Unit (MPU) table for the first task stack, wherein the attribute of the first task stack is configured as a read-write permission attribute in the MPU table.
An MPU (Memory Protection Unit) is one of hardware that is equipped in an arm (advanced RISC machines) processor and effectively protects system resources, and provides a Memory area Protection function. The MPU table refers to a data table configured in the memory protection unit. The MPU table is used for configuring the attributes of the task stack. The MPU table may be stored in a Central Processing Unit (CPU).
For example, the computer apparatus may configure a memory protection unit MPU table for the first task stack, and configure the attribute of the first task stack as a read-write permission attribute in the MPU table. For another example, the computer apparatus may further configure an MPU table for the first task stack, where the attribute of the first task stack is configured to be a Shareability attribute.
It is to be understood that the MPU table configures the attribute of the first task stack as the read-write permission attribute, and the MPU table and the configuration attribute are not configured for the task stacks other than the first task stack, and the task stacks other than the first task stack are default as the access permission.
In the related stack overflow detection method, it is necessary to configure one MPU table for all task stacks in the memory area, configure the attribute of all task stacks as an access-allowed attribute, and configure another MPU table for the protection area, and configure the attribute of the protection area as an access-disallowed attribute, so that when data of other task stacks overflows to the protection area, it can be detected that stack overflow exists.
In this embodiment, an MPU table configures the attribute of the first task stack as a read-write permission attribute, and the MPU table and the configuration attribute are not configured for the task stacks other than the first task stack, so that when data of the first task stack overflows to the other task stacks, the other task stacks are not permitted to be accessed, and therefore an exception exists, and it can be detected that the first task stack has a stack overflow phenomenon. The stack overflow can be detected only by one MPU table, the required hardware resources are less, and the computer resources are saved.
In the related stack overflow detection method, a protection area has both an access permission attribute configured by one MPU table and an access non-permission attribute configured by another MPU table, and the protection area is also an overlapping area. However, some CPUs (central processing units) do not support overlapping regions, and thus the stack overflow condition cannot be detected.
In this embodiment, only one MPU table is needed, the attribute of the first task stack configured in the MPU table is the read-write permission attribute, and the attributes of the other task stacks are not configured, that is, the attribute of the other task stack is the non-access permission attribute by default, so that the stack overflow condition can be detected in a new CPU (a CPU that does not support overlapping region), and the old CPU can be compatible with the new CPU, and the stack overflow condition can also be detected in the old CPU.
In one embodiment, as shown in fig. 3, configuring a memory protection unit MPU table for a first task stack includes:
step 302, obtain the base address of the first task stack and the capacity value of the first task stack.
The base address refers to the start address of the task stack. The capacity value refers to the size of the storage space of the task stack. The base address of the first task stack refers to the start address of the first task stack. The capacity value of the first task stack refers to the size of the storage space of the first task stack.
In step 304, a base address of the first task stack and a capacity value of the first task stack are configured in the MPU table.
The computer device configures a base address of the first task stack and a capacity value of the first task stack in the MPU table, and then can determine the entire memory area of the first task stack based on the base address and the capacity value of the first task stack, so that the attributes of the entire memory area of the first task stack are determined as read-write-enabled attributes, and can be used for performing read-write operation on the entire first task stack by the computer device, and comprehensively detecting the situation of stack overflow.
For example, if the base address of the first task stack is 0012 and the capacity value of the first task stack is 40, the entire memory area of the first task stack is 0012-.
In one embodiment, the method further comprises: in response to switching of the accessed task stack from the first task stack to the second task stack, an MPU table is allocated to the second task stack, and area information in the MPU table is changed from area information of the first task stack to area information allocated to the second task stack.
The second task stack refers to any one task stack except the first task stack. The area information refers to information of an area of the task stack configured in the MPU table. The region information may include information such as a base address of the task stack, a capacity value, and the like. Wherein the base address refers to the start address of the task stack. The capacity value refers to the size of the storage space of the task stack.
The area information of the first task stack in the MPU table may include a base address and a capacity value of the first task stack. The area information of the second task stack in the MPU table may include a base address and a capacity value of the second task stack. It will be appreciated that the base address of the first task stack and the base address of the second task stack are different; the capacity value of the first task stack and the capacity value of the second task stack may be the same or different.
When the tasks executed by the computer equipment are switched, the accessed task stack is also switched correspondingly. The computer device allocates the MPU table to the second task stack in response to switching the accessed task stack from the first task stack to the second task stack, and the area information in the MPU table is changed from the area information of the first task stack to the area information allocated to the second task stack.
In the related stack overflow detecting method, it is necessary to detect the case of stack overflow using two or more MPU tables, and when a task stack accessed by a computer device is switched, it is necessary to process the two or more MPU tables accordingly. In this embodiment, after the task stack accessed by the computer device is switched, only one MPU table needs to be processed, that is, the MPU table is allocated to the second task stack, and the area information in the MPU table is changed from the area information of the first task stack to the area information allocated to the second task stack, so that the detection of the stack overflow condition of the switched second task stack can be realized in less time, the efficiency is improved, and the influence on the system performance of the computer device is reduced.
In one embodiment, the zone information in the MPU table includes a base address and a capacity value; the area information in the MPU table is changed from the area information of the first task stack to the area information of the second task stack, and the method comprises the following steps: the base address of the first task stack stored in the MPU table is replaced with the base address of the second task stack, and the capacity value of the second task stack is replaced with the capacity value of the first task stack stored in the MPU table.
The base address of the first task stack refers to the start address of the first task stack. The capacity value of the first task stack refers to the size of the storage space of the first task stack. The base address of the second task stack refers to the start address of the second task stack. The capacity value of the second task stack refers to the size of the storage space of the second task stack.
In response to the accessed task stack being switched from the first task stack to the second task stack, the computer device allocating the MPU table to the second task stack; the base address and the capacity value of the second task stack are acquired, the base address of the first task stack stored in the MPU table is replaced with the base address of the second task stack, and the capacity value of the first task stack stored in the MPU table is replaced with the capacity value of the second task stack.
It is understood that the task stack accessed on the computer device is the first task stack, and the area information configured in the MPU table is the area information of the first task stack, that is, the area information configured in the MPU table is the base address and the capacity value of the first task stack. In response to the accessed task stack being switched from the first task stack to the second task stack, it is necessary to allocate the MPU table to the second task stack, replace the base address of the first task stack stored in the MPU table with the base address of the second task stack, and replace the capacity value of the first task stack stored in the MPU table with the capacity value of the second task stack.
Before the computer device is switched from the first task stack to the second task stack, the attribute of the first task stack is configured to be a read-write permission attribute in the MPU table. After the computer device is switched from the first task stack to the second task stack, the MPU table is distributed to the second task stack, the base address of the first task stack stored in the MPU table is replaced by the base address of the second task stack, the capacity value of the first task stack stored in the MPU table is replaced by the capacity value of the second task stack, and the MPU table is also configured with the attribute of the second task stack as a read-write permission attribute, so that the situation of stack overflow can be accurately and comprehensively detected for the second task stack when the computer device accesses the second task stack.
In one embodiment, as shown in FIG. 4, the computer device executes 4 tasks, and each task is assigned a task stack for storing data such as return address, Input Parameter, and local variable. The return address is an instruction address at which the main program continues to execute after returning from the subroutine. The return address is the address of an instruction following the CALL instruction in the main program. The arguments refer to parameters required by the called function. Local variables, also called internal variables, refer to variables defined within a function or within a compound statement.
The computer device allocates 4 task stacks to one continuous memory area. The continuous memory area includes a Head area (Head), a Task #1Stack (Task #1Stack), a Task #2Stack (Task #2Stack), a Task #3Stack (Task #3Stack), a Task #4Stack (Task #4Stack), and a Tail area (Tail). The memory area is an undefined area, which means that the memory protection unit MPU table is not allocated to the memory area, and the attribute of the memory area is defaulted as the read-write attribute is not allowed.
When the current task accessed by the computer device is task #1, the task #1stack is a first task stack, and a memory protection unit MPU table is configured for the task #1stack, and the attribute of the MPU table is a Read & Write allowed attribute (Read & Write allowed). When the computer device detects that the access exceeds the task #1stack, namely, the data in the task #1stack overflows to other task stacks, stack overflow prompt information can be generated.
When the current task accessed by the computer device is the task #2, the task #2stack is a first task stack, the task stack accessed by the computer device is switched from the task #1stack to the task #2stack, a memory protection unit MPU table is configured for the task #2stack, the attribute of the MPU table is a Read & Write allowed attribute (Read & Write allowed), and the area information in the MPU table is changed from the area information of the task #1stack to the area information allocated by the task #2 stack. Specifically, the base address of the task #1stack stored in the MPU table is replaced with the base address of the task #2stack, and the capacity value of the task #1stack stored in the MPU table is replaced with the capacity value of the task #2 stack. When the computer device detects that the access exceeds the task #2stack, that is, the data in the task #2stack overflows to other task stacks, stack overflow prompt information may be generated.
When the current task accessed by the computer device is the task #3, the task #3stack is the first task stack, the task stack accessed by the computer device is switched from the task #2stack to the task #3stack, a memory protection unit MPU table is configured for the task #3stack, the attribute of the MPU table is a Read & Write allowed attribute (Read & Write allowed), and the area information in the MPU table is changed from the area information of the task #2stack to the area information allocated by the task #3 stack. Specifically, the base address of the task #2stack stored in the MPU table is replaced with the base address of the task #3stack, and the capacity value of the task #2stack stored in the MPU table is replaced with the capacity value of the task #3 stack. When the computer device detects that the access exceeds the task #3stack, that is, the data in the task #3stack overflows to other task stacks, stack overflow prompt information can be generated.
In one embodiment, as described in FIG. 5, when an access beyond the first task stack is detected, generating stack overflow hint information includes:
step 502, when it is detected that the access exceeds the first task stack, recording the overflow address where the data in the first task stack overflows to other task stacks.
The overflow address refers to an address where other task stacks are located when data in the first task stack overflows to the other task stacks. The overflow address may be any address in the memory area where other task stacks exist, and may be a start address, i.e., a base address, a last address, or an address located in the middle, which is not limited to this.
When the computer device detects that the access exceeds the first task stack, determining that the data in the first task stack overflows to other task stacks, and recording overflow addresses of the data overflowed to other task stacks.
At step 504, stack overflow hint information is generated based on the overflow address and the address of the first task stack.
The computer equipment acquires the address of the first task stack, transfers the address to an exception handling function, compares the overflow address with the address of the first task stack through the exception handling function, and generates stack overflow prompt information according to the comparison result.
Specifically, generating stack overflow hint information based on the overflow address and the address of the first task stack includes: when the overflow address is larger than the address of the first task stack, generating first stack overflow prompt information; the first stack overflow prompting message is used for indicating that the first task stack overflows; when the overflow address is smaller than the address of the first task stack, generating second stack overflow prompt information; the second stack overflow hint information is used to indicate that there is an underflow on the first task stack.
Overflow refers to when a very long data enters a buffer, the excess is written into the upper level buffer, which stores the data, the pointer of the previous instruction, or the output content of other programs, which are all covered or destroyed. It can be seen that an overflow of a small portion of data or a set of instructions can cause a program or operating system crash.
The first task stack overflow means that the data stored in the first task stack exceeds the memory space of the first task stack, and the data in the excess part is written into the upper task stack.
The first stack overflow hint is a hint generated by overflow of the first task stack.
Underflow (underflow) means that when a very long data is entered into a buffer, the excess is written into a lower buffer, which stores a pointer to the next instruction, or the output of other programs, which are overwritten or corrupted. It can be seen that an overflow of a small portion of data or a set of instructions can cause a program or operating system crash.
The underflow of the first task stack means that the data stored in the first task stack exceeds the memory space of the first task stack, and the data in the excess portion is written into the task stack of the lower stage. The second stack overflow hint is a hint generated by the first task stack presence underflow.
And the computer equipment compares the overflow address with the address of the first task stack, and when the overflow address is greater than the address of the first task stack and indicates that the task stack where the overflow address is located is an upper-level task stack, the first task stack overflows to generate first stack overflow prompt information. The first stack overflow prompting message can be various forms of prompting messages, such as characters, pictures, audio, video, vibration and the like.
And when the overflow address is smaller than the address of the first task stack, indicating that the task stack where the overflow address is located is the task stack of the lower level, the first task stack has underflow, and generating second stack overflow prompt information. The second stack overflow prompt message may be various forms of prompt messages, such as text, pictures, audio, video, vibration, and the like.
In this embodiment, when it is detected that the access exceeds the first task stack, an overflow address where data in the first task stack overflows to other task stacks is recorded; stack overflow hint information may be accurately generated based on the overflow address and the address of the first task stack. Further, based on the overflow address and the address of the first task stack, it is possible to accurately locate whether the stack overflow condition of the first task stack belongs to overflow or underflow, so that the computer device can process the data overflowing from the first task stack.
It should be understood that although the steps in the flowcharts of fig. 2, 3 and 5 are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps in fig. 2, 3, and 5 may include multiple sub-steps or multiple stages that are not necessarily performed at the same time, but may be performed at different times, and the order of performing the sub-steps or stages is not necessarily sequential, but may be performed alternately or alternatingly with other steps or at least some of the sub-steps or stages of other steps.
FIG. 6 is a block diagram of a stack overflow detection apparatus of an embodiment. As shown in fig. 6, there is provided a stack overflow detecting apparatus 600 including: an accessed stack determination module 602 and a stack overflow hint information generation module 604, wherein:
the accessed stack determining module 602 is configured to determine that the accessed task stack is a first task stack, an attribute of the first task stack is a read-write permission attribute, and attributes of task stacks other than the first task stack are all access-disallowed attributes.
The stack overflow prompting information generating module 604 is configured to generate stack overflow prompting information when it is detected that the access exceeds the first task stack, where the stack overflow prompting information is used to prompt that there is stack overflow in the first task stack.
The stack overflow detection device determines that the accessed task stack is the first task stack, the attribute of the first task stack is the read-write permission attribute, and the attributes of the task stacks except the first task stack are the access non-permission attributes, so that when the access exceeding the first task stack is detected, namely, the data of the first task stack overflows to the other task stacks which are not permitted to be accessed, an exception is caused, and therefore stack overflow prompt information can be generated to prompt that the first task stack has a stack overflow phenomenon. Not only can stack overflow be detected when the data of the first task stack overflows to the lower area of the first task stack, but also stack overflow can be detected when the data of the first task stack overflows to the upper area of the first task stack, and the situation of stack overflow is detected more comprehensively.
In an embodiment, the stack overflow detecting apparatus further includes an attribute configuration module, configured to configure a memory protection unit MPU table for the first task stack, where an attribute of the first task stack is configured as a read-write permission attribute in the MPU table.
In one embodiment, the stack overflow detecting apparatus further includes a region information changing module, configured to allocate an MPU table to the second task stack in response to switching the accessed task stack from the first task stack to the second task stack, where the region information in the MPU table is changed from the region information of the first task stack to the region information allocated by the second task stack.
In one embodiment, the zone information in the MPU table includes a base address and a capacity value; the area information changing module is further configured to replace the base address of the first task stack stored in the MPU table with the base address of the second task stack, and replace the capacity value of the first task stack stored in the MPU table with the capacity value of the second task stack.
In an embodiment, the attribute configuration module is further configured to obtain a base address of the first task stack and a capacity value of the first task stack; a base address of the first task stack and a capacity value of the first task stack are configured in the MPU table.
In an embodiment, the stack overflow prompting information generating module is further configured to record an overflow address where data in the first task stack overflows to other task stacks when it is detected that the access exceeds the first task stack; stack overflow hint information is generated based on the overflow address and the address of the first task stack.
In one embodiment, the stack overflow hint generation module is further configured to generate a first stack overflow hint when the overflow address is greater than the address of the first task stack; the first stack overflow prompting message is used for indicating that the first task stack overflows; when the overflow address is smaller than the address of the first task stack, generating second stack overflow prompt information; the second stack overflow hint information is used to indicate that there is an underflow on the first task stack.
The division of each module in the stack overflow detection apparatus is merely used for illustration, and in other embodiments, the stack overflow detection apparatus may be divided into different modules as needed to complete all or part of the functions of the stack overflow detection apparatus.
For specific limitations of the stack overflow detection apparatus, reference may be made to the above limitations of the stack overflow detection method, which are not described herein again. The modules in the stack overflow detection apparatus may be implemented in whole or in part by software, hardware, and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
Fig. 7 is a schematic diagram of an internal structure of an electronic device in one embodiment. As shown in fig. 7, the electronic device includes a processor and a memory connected by a system bus. Wherein, the processor is used for providing calculation and control capability and supporting the operation of the whole electronic equipment. The memory may include a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The computer program can be executed by a processor for implementing a stack overflow detection method provided in the following embodiments. The internal memory provides a cached execution environment for the operating system computer programs in the non-volatile storage medium. The electronic device may be any terminal device such as a mobile phone, a tablet computer, a PDA (Personal Digital Assistant), a Point of Sales (POS), a vehicle-mounted computer, and a wearable device.
The implementation of each module in the stack overflow detection apparatus provided in the embodiments of the present application may be in the form of a computer program. The computer program may be run on a terminal or a server. Program modules constituted by such computer programs may be stored on the memory of the electronic device. Which when executed by a processor, performs the steps of the method described in the embodiments of the present application.
In one embodiment, an electronic device is provided, comprising a memory and a processor, the memory having stored therein a computer program that, when executed by the processor, causes the processor to perform the steps of: determining that the accessed task stack is a first task stack, wherein the attribute of the first task stack is a read-write permission attribute, and the attributes of the other task stacks except the first task stack are non-access permission attributes; and when the access exceeding the first task stack is detected, stack overflow prompt information is generated, wherein the stack overflow prompt information is used for prompting that the first task stack has stack overflow.
In one embodiment, the processor, when executing the computer program, further performs the steps of: and configuring a Memory Protection Unit (MPU) table for the first task stack, wherein the attribute of the first task stack is configured as a read-write permission attribute in the MPU table.
In one embodiment, the processor, when executing the computer program, further performs the steps of: in response to switching of the accessed task stack from the first task stack to the second task stack, an MPU table is allocated to the second task stack, and area information in the MPU table is changed from area information of the first task stack to area information allocated to the second task stack.
In one embodiment, the processor, when executing the computer program, further performs the steps of: the area information in the MPU table comprises a base address and a capacity value; the base address of the first task stack stored in the MPU table is replaced with the base address of the second task stack, and the capacity value of the first task stack stored in the MPU table is replaced with the capacity value of the second task stack.
In one embodiment, the processor, when executing the computer program, further performs the steps of: acquiring a base address of a first task stack and a capacity value of the first task stack; a base address of the first task stack and a capacity value of the first task stack are configured in the MPU table.
In one embodiment, the processor, when executing the computer program, further performs the steps of: when detecting that the access exceeds the first task stack, recording an overflow address where data in the first task stack overflows to other task stacks; stack overflow hint information is generated based on the overflow address and the address of the first task stack.
In one embodiment, the processor, when executing the computer program, further performs the steps of: when the overflow address is larger than the address of the first task stack, generating first stack overflow prompt information; the first stack overflow prompting message is used for indicating that the first task stack overflows; when the overflow address is smaller than the address of the first task stack, generating second stack overflow prompt information; the second stack overflow hint information is used to indicate that there is an underflow on the first task stack.
In one embodiment, a computer-readable storage medium is provided, having a computer program stored thereon, which when executed by a processor, performs the steps of: determining that the accessed task stack is a first task stack, wherein the attribute of the first task stack is a read-write permission attribute, and the attributes of the other task stacks except the first task stack are non-access permission attributes; and when the access exceeding the first task stack is detected, stack overflow prompt information is generated, wherein the stack overflow prompt information is used for prompting that the first task stack has stack overflow.
In one embodiment, the computer program when executed by the processor further performs the steps of: and configuring a Memory Protection Unit (MPU) table for the first task stack, wherein the attribute of the first task stack is configured as a read-write permission attribute in the MPU table.
In one embodiment, the computer program when executed by the processor further performs the steps of: in response to switching of the accessed task stack from the first task stack to the second task stack, an MPU table is allocated to the second task stack, and area information in the MPU table is changed from area information of the first task stack to area information allocated to the second task stack.
In one embodiment, the computer program when executed by the processor further performs the steps of: the area information in the MPU table comprises a base address and a capacity value; the base address of the first task stack stored in the MPU table is replaced with the base address of the second task stack, and the capacity value of the first task stack stored in the MPU table is replaced with the capacity value of the second task stack.
In one embodiment, the computer program when executed by the processor further performs the steps of: acquiring a base address of a first task stack and a capacity value of the first task stack; a base address of the first task stack and a capacity value of the first task stack are configured in the MPU table.
In one embodiment, the computer program when executed by the processor further performs the steps of: when detecting that the access exceeds the first task stack, recording an overflow address where data in the first task stack overflows to other task stacks; stack overflow hint information is generated based on the overflow address and the address of the first task stack.
In one embodiment, the computer program when executed by the processor further performs the steps of: when the overflow address is larger than the address of the first task stack, generating first stack overflow prompt information; the first stack overflow prompting message is used for indicating that the first task stack overflows; when the overflow address is smaller than the address of the first task stack, generating second stack overflow prompt information; the second stack overflow hint information is used to indicate that there is an underflow on the first task stack.
Any reference to memory, storage, database, or other medium used herein may include non-volatile and/or volatile memory. Non-volatile memory can include read-only memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms, such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), synchronous Link (Synchlink) DRAM (SLDRAM), Rambus Direct RAM (RDRAM), direct bus dynamic RAM (DRDRAM), and bus dynamic RAM (RDRAM).
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the present application. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (10)

1. A method of stack overflow detection, comprising:
determining an accessed task stack as a first task stack, wherein the attribute of the first task stack is a read-write permission attribute, and the attributes of other task stacks except the first task stack are non-access permission attributes;
when the access exceeding the first task stack is detected, stack overflow prompting information is generated, wherein the stack overflow prompting information is used for prompting that stack overflow exists in the first task stack.
2. The method of claim 1, wherein after determining that the accessed task stack is the first task stack, further comprising:
configuring a Memory Protection Unit (MPU) table for the first task stack, wherein the attribute of the first task stack is configured as a read-write permission attribute in the MPU table.
3. The method of claim 2, further comprising:
and in response to switching of the accessed task stack from the first task stack to a second task stack, allocating the MPU table to the second task stack, the area information in the MPU table being changed from the area information of the first task stack to the area information allocated to the second task stack.
4. The method according to claim 3, wherein the area information in the MPU table includes a base address and a capacity value;
the area information in the MPU table is changed from the area information of the first task stack to the area information of the second task stack, and the change includes:
replacing the base address of the first task stack stored in the MPU table with the base address of the second task stack, and replacing the capacity value of the first task stack stored in the MPU table with the capacity value of the second task stack.
5. The method of claim 2, wherein configuring a Memory Protection Unit (MPU) table for the first task stack comprises:
acquiring a base address of the first task stack and a capacity value of the first task stack;
configuring a base address of the first task stack and a capacity value of the first task stack in the MPU table.
6. The method of claim 1, wherein generating a stack overflow hint information when an access exceeding the first task stack is detected comprises:
when the access exceeding the first task stack is detected, recording the overflow address of the data in the first task stack overflowing to the other task stacks;
stack overflow hint information is generated based on the overflow address and an address of the first task stack.
7. The method of claim 6, wherein generating stack overflow hint information based on the overflow address and the address of the first task stack comprises:
when the overflow address is larger than the address of the first task stack, generating first stack overflow prompt information; the first stack overflow prompting message is used for indicating that the first task stack overflows;
when the overflow address is smaller than the address of the first task stack, generating second stack overflow prompt information; the second stack overflow hint information is used to indicate that there is an underflow on the first task stack.
8. A stack overflow detection apparatus, comprising:
the system comprises an accessed stack determining module, a read-write permission module and a read-write permission module, wherein the accessed stack determining module is used for determining that an accessed task stack is a first task stack, the attribute of the first task stack is a read-write permission attribute, and the attributes of other task stacks except the first task stack are non-access permission attributes;
and the stack overflow prompting information generating module is used for generating stack overflow prompting information when the condition that the access exceeds the first task stack is detected, wherein the stack overflow prompting information is used for prompting that the stack overflow exists in the first task stack.
9. An electronic device comprising a memory and a processor, the memory having stored thereon a computer program, wherein the computer program, when executed by the processor, causes the processor to perform the steps of the stack overflow detection method of any of claims 1 to 7.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 7.
CN202011072551.0A 2020-10-09 2020-10-09 Stack overflow detection method and device, electronic equipment and storage medium Pending CN112182559A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011072551.0A CN112182559A (en) 2020-10-09 2020-10-09 Stack overflow detection method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011072551.0A CN112182559A (en) 2020-10-09 2020-10-09 Stack overflow detection method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN112182559A true CN112182559A (en) 2021-01-05

Family

ID=73948312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011072551.0A Pending CN112182559A (en) 2020-10-09 2020-10-09 Stack overflow detection method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112182559A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113377466A (en) * 2021-06-29 2021-09-10 展讯通信(天津)有限公司 Algorithm execution method and device and electronic equipment
CN117251343A (en) * 2023-11-20 2023-12-19 苏州萨沙迈半导体有限公司 Stack detection method and device, multi-core processor and computing equipment
CN117591333A (en) * 2024-01-17 2024-02-23 深圳市国电科技通信有限公司 Thread stack overflow detection method, device, system, chip and medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172332A1 (en) * 2007-12-26 2009-07-02 Nec Electronics Corporation Information processing apparatus and method of updating stack pointer
CN105787360A (en) * 2016-03-02 2016-07-20 杭州字节信息技术有限公司 Method for technically controlling secure access to embedded system memory
JP2017162135A (en) * 2016-03-09 2017-09-14 三菱電機株式会社 Information processing device, debug system, and stack overflow detection method
GB201812313D0 (en) * 2018-07-27 2018-09-12 Advanced Risc Mach Ltd Memory protection unit using memory protection table stored in memory system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172332A1 (en) * 2007-12-26 2009-07-02 Nec Electronics Corporation Information processing apparatus and method of updating stack pointer
CN105787360A (en) * 2016-03-02 2016-07-20 杭州字节信息技术有限公司 Method for technically controlling secure access to embedded system memory
JP2017162135A (en) * 2016-03-09 2017-09-14 三菱電機株式会社 Information processing device, debug system, and stack overflow detection method
GB201812313D0 (en) * 2018-07-27 2018-09-12 Advanced Risc Mach Ltd Memory protection unit using memory protection table stored in memory system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
INFINEON TECHNOLOGIES AG: "16 位 架构 XE164FM, XE164GM, XE164HM, XE164KM 16 位单片实时信号控制器 XE166 家族衍生产品 数据手册", vol. 2, 31 March 2009, INFINEON TECHNOLOGIES AG, article JEAN LABROSSE, pages: 38 - 40 *
JEAN LABROSSE: "How MPUs Can Help you Make Products Safer and More Secure", pages 1 - 16, Retrieved from the Internet <URL:https://web.archive.org/web/20200805190653/https://www.silabs.com/whitepapers/how-mpus-can-help-you-make-products-safer-and-more-secure> *
JEAN LABROSSE: "Making Products Safer and More Secure with an MPU", pages 1 - 19, Retrieved from the Internet <URL:https://www.silabs.com/documents/public/presentations/ew-2019-advantages%20of-a-memory-protection-unit-with-an-rtos.pdf> *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113377466A (en) * 2021-06-29 2021-09-10 展讯通信(天津)有限公司 Algorithm execution method and device and electronic equipment
CN117251343A (en) * 2023-11-20 2023-12-19 苏州萨沙迈半导体有限公司 Stack detection method and device, multi-core processor and computing equipment
CN117591333A (en) * 2024-01-17 2024-02-23 深圳市国电科技通信有限公司 Thread stack overflow detection method, device, system, chip and medium
CN117591333B (en) * 2024-01-17 2024-06-18 深圳市国电科技通信有限公司 Thread stack overflow detection method, device, system, chip and medium

Similar Documents

Publication Publication Date Title
CN112182559A (en) Stack overflow detection method and device, electronic equipment and storage medium
CN111880991B (en) Memory optimization method and device, electronic equipment and computer readable storage medium
CN108717374B (en) Method and device for preheating during starting of Java virtual machine and computer equipment
US20220035655A1 (en) Method and Device for Anonymous Page Management, Terminal Device, and Readable Storage Medium
CN114265670B (en) Memory block sorting method, medium and computing device
CN111897493B (en) Storage space management method and device, electronic equipment and storage medium
CN113392037B (en) Memory recycling method, memory recycling device, computer equipment and storage medium
CN114996064A (en) Memory detection method, device, equipment and storage medium
CN101706788A (en) Cross-area access method for embedded file system
JP2016085677A (en) Memory management method, memory management program, and information processing device
CN111400087B (en) Control method of operating system, terminal and storage medium
US20120191938A1 (en) Information processing apparatus and write control method
JP4703753B2 (en) Information processing apparatus, semiconductor memory device, and program
CN113849311B (en) Memory space management method, device, computer equipment and storage medium
CN115858417A (en) Cache data processing method, device, equipment and storage medium
CN111984197B (en) Computer cache allocation method
CN114153560A (en) Virtual interrupt processing method, device, equipment and medium
CN112579004A (en) Method, system, computer equipment and storage medium for quickly deleting flash data
US8503241B2 (en) Electronic apparatus and data reading method
CN111158733A (en) BMC upgrading method, device, equipment and computer readable storage medium
JP2008310460A (en) Control circuit, storage medium, processor, integrated system, and area management method
CN108845959A (en) A kind of internal storage data processing method, device and electronic equipment
JP2006260395A (en) Program loading method and its device
CN117806958A (en) Method and device for detecting stack data boundary crossing, electronic equipment and storage medium
CN115993994A (en) System acceleration method, device, electronic equipment and storage medium

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