CN106201765B - Task stack area data check restoration methods based on μ C/OS-II operating system - Google Patents

Task stack area data check restoration methods based on μ C/OS-II operating system Download PDF

Info

Publication number
CN106201765B
CN106201765B CN201610580590.9A CN201610580590A CN106201765B CN 106201765 B CN106201765 B CN 106201765B CN 201610580590 A CN201610580590 A CN 201610580590A CN 106201765 B CN106201765 B CN 106201765B
Authority
CN
China
Prior art keywords
data
task
verification
control block
recovery
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610580590.9A
Other languages
Chinese (zh)
Other versions
CN106201765A (en
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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201610580590.9A priority Critical patent/CN106201765B/en
Publication of CN106201765A publication Critical patent/CN106201765A/en
Application granted granted Critical
Publication of CN106201765B publication Critical patent/CN106201765B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

A kind of task stack area data check restoration methods based on μ C/OS-II operating system, it is therefore an objective to which the task stack data in memory are verified and restored.Technical solution are as follows: verify control block for the task creation in operating system;Insertion updates the code of verification control block in operating system nucleus code;Verification recovery tasks are established in an operating system, so that operating system has task stack data error detection recovery capability;Start modified operating system; activation verification recovery tasks; the task is according to verification control block to needing user task stacked data to be protected that coding and verification recovery algorithms based on improved (71, the 63) code of Hamming code principle is used to be encoded and verified recovery.The present invention can be verified and be restored to the task stack data in memory with lower performance cost, improve system survivability, can be effectively detected and restore the stacked data mistake of the overwhelming majority.

Description

Task stack area data check restoration methods based on μ C/OS-II operating system
Technical field
The present invention relates to a kind of, and the stacked data based on μ C/OS-II operating system verifies restoration methods, mainly in sky Between under radiation environment by the error in data in task stack area in the memory caused by hardware transient fault.
Background technique
Space exploration activity investment is big, risk is high, has high requirement to reliability is calculated.Space is influenced in space to visit The principal element for surveying device safety is the radiation of cosmic ray because exist in space environment it is a large amount of including electronics, proton, particle and High energy particle including heavy ion, when the semiconductor circuit for the cosmic-ray bombardment aerospace computer being made of these particles, Transient changing occurs for the storing electricity that this may result in PN structure, and this transient fault is also generally referred to as single particle effect SEE(Single Event Effect).Although single particle effect will not generally cause hardware device persistently to injure, but The normal operation of system can be influenced by changing the transmission modes such as signal and storage unit values, even will cause system when serious Collapse, so always one of the main threat that is faced of aerospace computer.After performance and power consumption, transient fault institute Caused storage unit Dependability Problem has become the hot spot of industry concern.
μ C/OS-II operating system is typical embedded OS, and μ C/OS-II operating system, which is one, to be based on ROM operation, can reduce, preemptive type, real time multi task kernel have height portable, particularly suitable for microprocessor And controller, it is and many comparable real time operating systems of commercial operating systems performance.μ C/OS-II operating system be exclusively for The Embedded Application design of computer, main code is shown a C language, and is had execution efficiency height, is occupied little space, is real When function admirable and the features such as strong scalability.Its kernel minimum can be compiled to 2KB, be transplanted to many mainstream processors On.Task under μ C/OS-II operating system is the unit of program operation, and the region of memory for storing its data is referred to as task heap Ephemeral data can be stored in task stack by stack, task run in the process.Processing is lost when being currently running for task is scheduled Before the device right to use, need to store the data in register at this time into the task stack of the task, and when task is scheduled Before obtaining the processor right to use, need to restore the data in task stack into register.Therefore task stack data pair Program operation play the role of it is vital, guarantee task stack data correctness to be based on μ C/OS-II operating system Program stability have a very important significance.
Redundant fashion is mainly used to the verification and restoration methods of data in memory at present, is determined according to the difference of redundancy The verification and recovery capability and space-time expense of method are determined.Such as triplication redundancy, by the way that data to be protected will be needed to replicate two Part, to can be compared to three parts of data when single particle effect occurs, and using two parts of consistent data as correct data The data of mistake are restored.The redundancy of this method is 200%, i.e., carries out protection to a data and need additional two Redundant data, for the verification of mass data and recovery, space expense is difficult to receive for this.
The redundancy for restoring data is verified to reduce, designer is often by the way of coding.Data encoding refers to, right Several data bit of designated length carry out certain operation, obtain several bit check positions data, check bit and former data bit together group The code word of Cheng Xin, so that the code word newly obtained has certain special natures, and the special nature makes the code newly obtained Word occurs that discovery can be verified when mistake and restores.By taking common Hamming code as an example, by the encoded code word of Hamming code its At least 3 data differences between the legal code word of any two, this also allows for the code word legal for one and arbitrarily changes Wherein after one to two, what is obtained is an illegal code word.And according to the algorithm of Hamming code, when an only generation in code word When mistake, the position of the mistake can be obtained by calculation, a dislocation can be restored, and work as in code word and two dislocations occur It mistakes, can detect that by calculating and multi-bit error has occurred but not can be carried out recovery.
But task stack data are verified using coding mode and restore that presently, there are the following aspects to ask Topic:
(1) influence to embedded system real-time: data in task stack can with the scheduling and operation of task and Change.It is more demanding for Response time since embedded system real-time is stronger, and task switching is more frequent, Therefore stacked data is also to change always.For the code word that one is finished, needed again if original data bit is updated Calculate its check bit.And the calculating process will cause regular hour expense, certainly will influence to be embedded in if frequently being encoded The real-time of formula system.(2) contradiction between error detection rate and system performance expense: the recall rate in order to improve mistake needs to the greatest extent May data be verified and be restored morely, thus will cause the influence to system performance itself, if checkpoint is excessively sparse Data can not be effectively protected again.
Existing method is difficult to solve the above problems in actual operation, it is therefore necessary to study more suitable task stack area Data check restoration methods.
Summary of the invention
The problem to be solved in the present invention is: how μ C/OS-II embedded OS is directed to, with lower performance cost Task stack data in memory are verified and restored, to improve system survivability.
In order to solve the above-mentioned technical problem, technical solution proposed by the present invention are as follows: firstly, being built for the task in operating system Vertical verification control block;Then insertion updates the code for verifying control block in operating system nucleus code;Then in operating system Middle foundation verifies recovery tasks, so that operating system has task stack data error detection recovery capability;Start modified operation System, activation verification recovery tasks, the task is according to verification control block to needing user task stacked data to be protected to use base Recovery is encoded and verified in the coding and verification recovery algorithms of improved (71, the 63) code of Hamming code principle.
The specific technical proposal is:
The first step, the corresponding verification control of task creation to need to carry out coding checkout recovery in μ C/OS-II operating system Clamp dog is simultaneously initialized, these verification control block groups are then built up verification control block chained list, specific as follows:
1.1 establish verification control block chained list gauge outfit.The empty verification control block that a content is full 0 is created, is controlled as verification The gauge outfit of clamp dog chained list, and as current verification control block.
1.2 do not set up one verification control block of task creation of verification control block for any one in operating system.Verification Control block is a combined data structure, including 6 domains: task priority, type are shaping, indicate the scheduling of each task Priority (is configured) in an operating system by user, while the mark as task;Task stack area initial address, type are whole Shape, initial address when indicating to the task encoding;Task stack end of extent address, type are shaping, indicate to compile the task End address when code;Check bit storage address, type are shaping array, and size is matched by user according to the size of code area It sets, it is being obtained after storage data encoding as a result, for the verification and recovery to data;Actual schedule number, type are shaping, table Show the total degree that the task is dispatched by operating system, while judging the variation feelings of task stack data as the timestamp of task Condition;Scheduling times when coding, type are shaping, indicate to carry out the task stack area actual schedule time when last time encodes Number, while the timestamp as task stack area data corresponding to mark check bit.
1.3 pairs of newly-established verification control blocks initialize: task priority is initialized as the task in operating system The priority of middle setting;Task stack area initial address and task stack end of extent address initialization are the task in operating system The task stack area initial address of middle configuration and task stack end of extent address;Check bit storage address is initialized as user configuration For storing the region of memory initial address of the task check bit;Actual schedule number is initialized as 0;Scheduling times when coding It is initialized as -1.
After newly-established verification control block is linked at current verification control block by 1.4, then as current verification Control block.If not setting up the task of verification control block in operating system also, turns 1.1, otherwise will currently verify control block chaining First verification control block after to linked list head, to form circular linked list.
Second step, modify μ C/OS-II operating system kernel, addition can real-time update verification control block in task tune Spend the code of number and task stack end of extent address.Regulation is using static array as task heap in μ C/OS-II operating system Stack area, therefore the address in task stack area is it is known that if carrying out coding to complete stack area in an encoding process will cause largely Computing cost, the present invention only encodes the stack area of actual use.When actual motion, task stack area initial address begins It remains unchanged eventually, it is therefore desirable to obtain actual task stack end of extent address.By positioning all execution task schedules or cutting The code for changing relevant operation can safeguard the task stack end of extent address verified in control block.Above-mentioned code includes task schedule letter Code in several and interrupt processing function, amending method are specifically divided into two steps:
2.1 add code in operating system nucleus, make it have the more new task when task obtains the processor right to use Verification control block ability.Task of the processor right to use will be obtained in operating system is divided into two kinds of situations, and one is straight The ready task of highest priority when connecing task schedule, another kind are that the interruption ends need highest when carrying out task schedule preferential Grade ready task.The function that the two processes are corresponded in operating system is respectively at task schedule function OSSched () and interruption It manages function OSIntExt ().In the two function codes, is dispatched in executing and restores stacked data to before processor, One section of code is added, this section of code is realized to the actual schedule in the verification control block for will the obtaining the processor right to use of the task Number is carried out from increasing.
2.2 add code in operating system nucleus, make it have the more new task when task loses the processor right to use Verification control block ability.It will be scheduled in operating system and lose the task of the processor right to use and be divided into two kinds of situations, one Current task when kind is immediate mission scheduling, another kind are being currently running before interrupting for tasks.It is corresponding in operating system The function of the two processes is also respectively task schedule function OSSched () and interrupt processing function OSIntExt ().This two In a function code, one section of code is inserted into after processor data is saved to the code in task stack area, this section of code is realized Task control block top-of-stack pointer ptcb- > OSTCBStkPtr is assigned to the losing the processor right to use of the task that will be scheduled Verify the task stack end of extent address in control block.
Third step is based on Hamming code principle, realizes the coding function and verification reconstruction of improved (71,63) code, tool Body is as follows:
3.1 realize coding function.The input parameter of coding function is coding initial address, end-of-encode address and check bit Storage address.Coding function is realized based on improved (71,63) code, with 63 data for an encoding block, obtains 8 after coding Check bit C0To C7.For w processors, which simultaneously encodes w encoding block, i.e., from coding starting point Location starts, and every 7.875wByte data carry out first encoding, obtains wByte check bit and store check bit to check bit to store Region of memory pointed by address.The integral number power integer that w is 2.
3.2 realize verification reconstruction.The input parameter for verifying reconstruction is verification initial address, verification end address With check bit storage address.It verifies reconstruction to realize based on improved (71,63) code, with 63 data and corresponding 8 schools Testing position is a check block.For w bit processor, which carries out verification recovery to w check block simultaneously, i.e., from Verification initial address starts, and every 7.875wByte data and its corresponding wByte check bit are a check block.
4th step creates a priority in an operating system and is 0 and is constantly in the verification recovery tasks of ready state (priority is that 0 expression priority is minimum).When verification recovery tasks are activated, which repeatedly traverses verification control block chain Table, for each verification control block in verification control block chained list, which checks information therein to determine to task heap Stack data encode or verification restores.
5th step starts modified operating system, and modified operating system is to need user task storehouse to be protected Data are encoded and are verified recovery, specific as follows:
5.1 operating system initialization.
5.2 operating systems carry out task schedule, and the code of operation 2.1 steps addition is to will obtain processor right to use task Verification control block in actual schedule number be updated, the code of operation 2.2 steps addition is to will lose the processor right to use Task stack end of extent address is updated in the verification control block of task.If the obtaining the processor right to use of the task is that user appoints Business turns 5.3, if the obtaining the processor right to use of the task is verification recovery tasks, turns 5.4.
The activation of 5.3 user tasks, user task are executed up to being interrupted by operating system, turn 5.2.
5.4 verification recovery tasks activation.
5.5 since the gauge outfit of verification control block chained list, each of chained list verification control block is traversed repeatedly, according to school The information decision tested in control block is encoded to task stack or is verified recovery, is interrupted until by operating system, specific as follows:
5.5.1 it initializes, takes the next verification control block being linked with verification control block chained list gauge outfit as current school Test control block piece.
Scheduling times and actual schedule number are compared when 5.5.2 taking the coding in current verification control block piece, if Scheduling times are less than actual schedule number when coding, turn 5.5.3, if scheduling times are equal to actual schedule number when coding, turn 5.5.5。
5.5.3 data encoding.By the stack area initial address in current verification control block piece, stack area end address And check bit storage address executes coding function as parameter, it is specific as follows for w processors:
5.5.3.1 encoding block is divided.Data to be encoded be in current verification control block piece stack area initial address and Data between the end address of stack area.With 7.875wByte data be a block to be encoded, by these data be divided into it is N number of to Encoding block,It indicates to being rounded on X.
5.5.3.2 it initializes, variable n=1, current block to be encoded initial address data=is enabled currently to verify control block Stack area initial address in piece, current check bit storage address check=currently verify the verification in control block piece Position storage address.For convenience of description, 63 w data between data to data+7.875w are write as from upper left to bottom right 8 × 8 square matrixes, supplement 0 number, be only used for description and be not involved in calculatings, enable this 8 × 8 square matrix for Adata
5.5.3.3 calculating the data supervision position C of n-th of block to be encoded0To C5.Wherein C0For AdataIn the 2nd, 4,6,8 column Exclusive or and C1For AdataIn the 3rd, 4,7,8 column exclusive or and, C2For AdataIn the 5th, 6,7,8 column exclusive or and, C3For AdataIn 2, the exclusive or of 4,6,8 rows and, C4For AdataIn the 3rd, 4,7, the exclusive or of 8 rows and, C5For AdataIn the 5th, 6,7,8 column exclusive or and.
5.5.3.4 the data parity check position C of n-th of block to be encoded is calculated6, C6For Adata63 intermediate w data Exclusive or and.
5.5.3.5 the supervision parity check bit C of n-th of block to be encoded is calculated7, C7For C0To C5Exclusive or and.
5.5.3.6 by C0To C7Deposit the memory being directed toward to check, n=n+1, data=data+7.875w, check= Check+w goes to 5.5.3.3, otherwise turns 5.5.4 if n is not more than N.
Scheduling times when the actual schedule number in current verification control block piece being 5.5.4 assigned to the coding of the block, Turn 5.5.6.
5.5.5 data check restores.By the stack area initial address in current verification control block piece, storehouse end of extent Address and check bit storage address are executed as parameter verifies reconstruction, specific as follows for w processors:
5.5.5.1 dividing verification recovery block.The data of recovery to be verified are that stack area is risen in current verification control block piece Beginning address and stack area end address between data.With 7.875wByte data for a recovery block to be verified, these are counted According to being divided into N number of recovery block to be verified.
5.5.5.2 it initializes, enables variable n=1, current recovery block initial address data=to be verified currently verifies control block Stack area initial address in piece, current check bit storage address check=currently verify the verification in control block piece Position storage address.For convenience of description, is write 63 w data as 8 × 8 square matrixes from upper left to bottom right, supplement 0 number According to being only used for description and be not involved in calculatings, enable this 8 × 8 square matrix for Bdata
5.5.5.3 8 w data, respectively C are taken out from the memory that check is directed toward0To C7
5.5.5.4 the syndrome S of n-th of recovery block to be verified is calculated0To S5.Wherein S0For BdataIn the 2nd, 4,6,8 column and C0Exclusive or and, S1For BdataIn the 3rd, 4,7,8 column and C1Exclusive or and, S2For BdataIn the 5th, 6,7,8 column and C2Exclusive or and, S3For BdataIn the 2nd, 4,6,8 rows and C3Exclusive or and, S4For BdataIn the 3rd, 4,7,8 rows and C4Exclusive or and, S5For BdataIn 5,6,7,8 column and C5Exclusive or and.
5.5.5.5 the sub- S of data parity check of n-th of recovery block to be verified is calculated6, S6For Bdata63 w digits of middle whole According to and C6Exclusive or and.
5.5.5.6 the supervision sub-parity check S of n-th of recovery block to be verified is calculated7, S7For C0To C5And C7Exclusive or and.
5.5.5.7 verification recovery is carried out to w bit plane of n-th of recovery block to be verified respectively.One recovery to be verified Block is by 63 w data and its 8 w bit check code C0To C7It constitutes, k-th of bit plane is verified by this 63 data and its 8 Code C0To C7Kth position constitute.Variable k=1 is enabled, verification recovery process is specific as follows:
5.5.5.7.1 the errors present index for calculating k-th of bit plane of n-th of recovery block to be verified, i.e., by S5To S0 The binary numeral that is constituted of kth position, such as the S of n-th of recovery block to be verified5To S0Kth position when being followed successively by 100110, Errors present is 38.
5.5.5.7.2 judge the corresponding verification of supervision parity check bit of k-th of bit plane of n-th of recovery block to be verified Sub- S7Whether it is 0, if 0, turns 5.5.5.7.3;If 1, turn 5.5.5.7.4.
5.5.5.7.3 judge in k-th of bit plane of n-th of recovery block to be verified, data parity check position is corresponding Syndrome S6It whether is 0, if S6Also it is 0 to illustrate to verify successfully for 0 and errors present index, turns 5.5.5.7.9;If index is not Multidigit mistake has occurred for 0 explanation, turns 5.5.5.7.8;If S6For 1 and index be 0 illustrate data parity check position occur mistake, Turn 5.5.5.7.6;If index is not that a data mistake has occurred in 0 explanation, turn 5.5.5.7.7.
5.5.5.7.4 judge the corresponding verification in data parity check position of k-th of bit plane of n-th of recovery block to be verified Sub- S6It whether is 0, if S6Illustrate that check bit includes that a bit-errors occur for its parity check bit for 0, turns 5.5.5.7.5;If S6It is 1 Illustrate that multidigit mistake has occurred, can not be restored, turn 5.5.5.7.8.
5.5.5.7.5 by the C of n-th of recovery block to be verified0To C5The kth position S with n-th of recovery block to be verified respectively0 To S5Kth position carry out exclusive or and then recalculate the C of n-th of recovery block to be verified7Kth position, thus to mistake carry out it is extensive It is multiple, turn 5.5.5.7.9.
5.5.5.7.6 to the data parity check position C of n-th of recovery block to be verified6Kth position negate, thus to mistake Restored, turns 5.5.5.7.9.
5.5.5.7.7 to the data bit of the errors present index instruction of k-th of bit plane of n-th of recovery block to be verified It negates, to restore to mistake, turns 5.5.5.7.9.
5.5.5.7.8 operating system carries out abnormality processing, turns 5.5.5.8.
5.5.5.7.9 the verification of k-th of bit plane of n-th of recovery block to be verified is completed, k=k+1, if k is not more than w, Turn 5.5.5.7.1, otherwise turns 5.5.5.8.
5.5.5.8 n-th of recovery block check to be verified is completed, n=n+1, data=data+7.875w, check= Otherwise check+w turns 5.5.6 if n no more than 5.5.5.3 is turned if N.
5.5.6 currently verification control block piece is disposed, and the next verification control block being linked with piece is taken to make For new piece, operating system determines whether there is higher priority task ready, if not having higher priority task ready, turns 5.5.2;If there is higher priority task ready, operating system interrupts the execution of verification recovery tasks, turns 5.2.
Since verification recovery tasks ceaselessly carry out task stack area data in no higher priority task ready Verification and recovery, therefore step 5.5.2 to step 5.5.6 forms one section of endless loop.And operating system monitored whether it is higher Priority tasks are ready, if not having higher priority task ready, verification recovery tasks are run always;Only when operating system is supervised When having controlled higher priority task ready, operating system carries out task schedule (5.2 step) again, interrupts verification recovery tasks Execute, execute higher priority task, therefore step 5.2 to step 5.5.6 be also endless loop.Only when power-off or operating system When collapse, step of the present invention can just stop.
Compared with current existing method for protecting EMS memory, following technical effect can achieve using the present invention:
(1) the verification control block chained list of first step design of the present invention will preferably carry out required for verification recovery task Information is extracted, and the code for cooperating second step to be embedded in an operating system realizes the normal work stream in operating system Verification control block chained list is in time updated in journey, is reduced to the maximum extent due to the additional number that verification restores and generates According to the maintenance costs of structure, and it ensure that the structure of operating system is not destroyed, it will not stability and safety to original system Property has an impact.
(2) improved (71,63) coding that third step of the present invention is realized is not only with the quick positioning error bit of Hamming code The ability set, while check bit being proposed out of true form word, so that cataloged procedure more has rule, sky is saved to reach Between expense purpose.Theory analysis and the experimental results showed that, improved (71,63) coding saved in code space expense 46.2%, exceptional space expense caused by check code is be encoded data space expense itself 11.1%.Meanwhile by theory Analysis and experimental verification show that improved (71,63) coding method is capable of detecting when whole a data mistakes, and to two Error in data has the good ability of reporting an error.
(3) the verification task that the 4th step of the invention is created efficiently solves task in μ C/OS-II embedded OS Scheduling and interrupt more frequently caused by difficulty, verifying strategy, fully considered at any time can be interruptible in coding calculating process Situation, using the strategy of " first encode and judge verification afterwards ", coding can be carried out verifying or update check value every time, and verify Correctness on the policy logic.
(4) the 5th step of the invention is obvious to stacked data protecting effect in μ C/OS-II, can be effectively detected and restore The stacked data mistake of the overwhelming majority.Such as the stacked data mistake when task does not have to run, if dispatching the task for heap Stack data are restored to processor register, then will lead to task run mistake, and use the present invention then can be in task inoperative When detect the error in data of task stack, guarantee the correctness of task run.Fault injection experiment shows more perfect In task system, average stacked data error detection rate of the invention is 91.2%.
Detailed description of the invention
Fig. 1 is overall flow figure of the present invention;
Fig. 2 is the structure chart of the verification control block chained list of first step building of the present invention;
Fig. 3 is the encoding block schematic diagram of improved (71, the 63) code of third step.
Fig. 4 is that the 5th step of the invention starts modified operating system, and modified operating system is to need use to be protected Family task stack data are in time encoded and are verified the flow chart restored;
Specific embodiment
Fig. 1 is overall flow figure of the present invention.
The present invention is divided into five steps.The first step, to need to carry out coding checkout recovery in μ C/OS-II operating system The corresponding verification control block of task creation and initialized, then by these verification control block groups build up verification control block chain Table;Second step, modify μ C/OS-II kernel, addition can real-time update verification control block in task schedule number and task stack The code of end of extent address;Third step is based on Hamming code principle, realizes the coding function of improved (71,63) code and verifies extensive Complex function;4th step creates a priority in an operating system and is 0 and is constantly in the verification recovery tasks of ready state; 5th step, starts modified operating system, and modified operating system carries out need user task stacked data to be protected It in time encodes and verifies and restore.
Fig. 2 is the structure chart of the verification control block chained list of first step building of the present invention;Verifying control block chained list is a band The circular linked list of gauge outfit.
Fig. 3 is the encoding block schematic diagram of improved (71, the 63) code of third step.
One encoding block has 63 data, and in the matrix of 8*8 shown in Fig. 2 in addition to No. 0 position, remaining 63 position is corresponding 63 data in encoding block, there are corresponding line number and row number in each position.
Fig. 4 is the flow chart after the os starting of the 5th step description.Start modified operating system, it is modified Operating system is encoded and is verified recovery to need user task stacked data to be protected, specific as follows:
5.1 operating system initialization.
5.2 operating systems carry out task schedule, and the code of operation 2.1 steps addition is to will obtain processor right to use task Verification control block in actual schedule number be updated, the code of operation 2.2 steps addition is to will lose the processor right to use Task stack end of extent address is updated in the verification control block of task.If the obtaining the processor right to use of the task is that user appoints Business turns 5.3, if the obtaining the processor right to use of the task is verification recovery tasks, turns 5.4.
The activation of 5.3 user tasks, user task are executed up to being interrupted by operating system, turn 5.2.
5.4 verification recovery tasks activation.
5.5 since the gauge outfit of verification control block chained list, each of chained list verification control block is traversed repeatedly, according to school The information decision tested in control block is encoded to task stack or is verified recovery, is interrupted until by operating system, specific as follows:
5.5.1 it initializes, takes the next verification control block being linked with verification control block chained list gauge outfit as current school Test control block piece.
Scheduling times and actual schedule number are compared when 5.5.2 taking the coding in current verification control block piece, if Scheduling times are less than actual schedule number when coding, turn 5.5.3, if scheduling times are equal to actual schedule number when coding, turn 5.5.5。
5.5.3 data encoding.By the stack area initial address in current verification control block piece, stack area end address And check bit storage address executes coding function as parameter, it is specific as follows for w processors:
5.5.3.1 encoding block is divided.Data to be encoded be in current verification control block piece stack area initial address and Data between the end address of stack area.With 7.875wByte data be a block to be encoded, by these data be divided into it is N number of to Encoding block,It indicates to being rounded on X.
5.5.3.2 it initializes, variable n=1, current block to be encoded initial address data=is enabled currently to verify control block Stack area initial address in piece, current check bit storage address check=currently verify the verification in control block piece Position storage address.For convenience of description, 63 w data between data to data+7.875w are write as from upper left to bottom right 8 × 8 square matrixes, supplement 0 number, be only used for description and be not involved in calculatings, enable this 8 × 8 square matrix for Adata
5.5.3.3 the data supervision position C of n-th of block to be encoded is calculated0To C5.Wherein C0For AdataIn the 2nd, 4,6,8 column Exclusive or and C1For AdataIn the 3rd, 4,7,8 column exclusive or and, C2For AdataIn the 5th, 6,7,8 column exclusive or and, C3For AdataIn 2, the exclusive or of 4,6,8 rows and, C4For AdataIn the 3rd, 4,7, the exclusive or of 8 rows and, C5For AdataIn the 5th, 6,7,8 column exclusive or and.
5.5.3.4 the data parity check position C of n-th of block to be encoded is calculated6, C6For Adata63 intermediate w data Exclusive or and.
5.5.3.5 the supervision parity check bit C of n-th of block to be encoded is calculated7, C7For C0To C5Exclusive or and.
5.5.3.6 by C0To C7Deposit the memory being directed toward to check, n=n+1, data=data+7.875w, check= Check+w goes to 5.5.3.3, otherwise turns 5.5.4 if n is not more than N.
Scheduling times when the actual schedule number in current verification control block piece being 5.5.4 assigned to the coding of the block, Turn 5.5.6.
5.5.5 data check restores.By the stack area initial address in current verification control block piece, storehouse end of extent Address and check bit storage address are executed as parameter verifies reconstruction, specific as follows for w processors:
5.5.5.1 dividing verification recovery block.The data of recovery to be verified are that stack area is risen in current verification control block piece Beginning address and stack area end address between data.With 7.875wByte data for a recovery block to be verified, these are counted According to being divided into N number of recovery block to be verified.
5.5.5.2 it initializes, enables variable n=1, current recovery block initial address data=to be verified currently verifies control block Stack area initial address in piece, current check bit storage address check=currently verify the verification in control block piece Position storage address.For convenience of description, is write 63 w data as 8 × 8 square matrixes from upper left to bottom right, supplement 0 number According to being only used for description and be not involved in calculatings, enable this 8 × 8 square matrix for Bdata
5.5.5.3 8 w data, respectively C are taken out from the memory that check is directed toward0To C7
5.5.5.4 the syndrome S of n-th of recovery block to be verified is calculated0To S5.Wherein S0For BdataIn the 2nd, 4,6,8 column and C0Exclusive or and, S1For BdataIn the 3rd, 4,7,8 column and C1Exclusive or and, S2For BdataIn the 5th, 6,7,8 column and C2Exclusive or and, S3For BdataIn the 2nd, 4,6,8 rows and C3Exclusive or and, S4For BdataIn the 3rd, 4,7,8 rows and C4Exclusive or and, S5For BdataIn 5,6,7,8 column and C5Exclusive or and.
5.5.5.5 the sub- S of data parity check of n-th of recovery block to be verified is calculated6, S6For Bdata63 w digits of middle whole According to and C6Exclusive or and.
5.5.5.6 the supervision sub-parity check S of n-th of recovery block to be verified is calculated7, S7For C0To C5And C7Exclusive or and.
5.5.5.7 verification recovery is carried out to w bit plane of n-th of recovery block to be verified respectively.One recovery to be verified Block is by 63 w data and its 8 w bit check code C0To C7It constitutes, k-th of bit plane is verified by this 63 data and its 8 Code C0To C7Kth position constitute.Variable k=1 is enabled, verification recovery process is specific as follows:
5.5.5.7.1 the errors present index for calculating k-th of bit plane of n-th of recovery block to be verified, i.e., by S5To S0 The binary numeral that is constituted of kth position, such as the S of n-th of recovery block to be verified5To S0Kth position when being followed successively by 100110, Errors present is 38.
5.5.5.7.2 judge the corresponding verification of supervision parity check bit of k-th of bit plane of n-th of recovery block to be verified Sub- S7Whether it is 0, if 0, turns 5.5.5.7.3;If 1, turn 5.5.5.7.4.
5.5.5.7.3 judge in k-th of bit plane of n-th of recovery block to be verified, data parity check position is corresponding Syndrome S6It whether is 0, if S6Also it is 0 to illustrate to verify successfully for 0 and errors present index, turns 5.5.5.7.9;If index is not Multidigit mistake has occurred for 0 explanation, turns 5.5.5.7.8;If S6For 1 and index be 0 illustrate data parity check position occur mistake, Turn 5.5.5.7.6;If index is not that a data mistake has occurred in 0 explanation, turn 5.5.5.7.7.
5.5.5.7.4 judge the corresponding verification in data parity check position of k-th of bit plane of n-th of recovery block to be verified Sub- S6It whether is 0, if S6Illustrate that check bit includes that a bit-errors occur for its parity check bit for 0, turns 5.5.5.7.5;If S6It is 1 Illustrate that multidigit mistake has occurred, can not be restored, turn 5.5.5.7.8.
5.5.5.7.5 by the C of n-th of recovery block to be verified0To C5The kth position S with n-th of recovery block to be verified respectively0 To S5Kth position carry out exclusive or and then recalculate the C of n-th of recovery block to be verified7Kth position, thus to mistake carry out it is extensive It is multiple, turn 5.5.5.7.9.
5.5.5.7.6 to the data parity check position C of n-th of recovery block to be verified6Kth position negate, thus to mistake Restored, turns 5.5.5.7.9.
5.5.5.7.7 to the data bit of the errors present index instruction of k-th of bit plane of n-th of recovery block to be verified It negates, to restore to mistake, turns 5.5.5.7.9.
5.5.5.7.8 operating system carries out abnormality processing, turns 5.5.5.8.
5.5.5.7.9 the verification of k-th of bit plane of n-th of recovery block to be verified is completed, k=k+1, if k is not more than w, Turn 5.5.5.7.1, otherwise turns 5.5.5.8.
5.5.5.8 n-th of recovery block check to be verified is completed, n=n+1, data=data+7.875w, check= Otherwise check+w turns 5.5.6 if n no more than 5.5.5.3 is turned if N.
5.5.6 currently verification control block piece is disposed, and the next verification control block being linked with piece is taken to make For new piece, operating system determines whether there is higher priority task ready, if not having higher priority task ready, turns 5.5.2;If there is higher priority task ready, operating system interrupts the execution of verification recovery tasks, turns 5.2.

Claims (4)

1. a kind of task stack area data check restoration methods based on μ C/OS-II operating system, it is characterised in that including following Step:
The first step, for the corresponding verification control block of task creation for needing to carry out coding checkout recovery in μ C/OS-II operating system And initialized, these verification control block groups are then built up into verification control block chained list, the verification control block is a group Mould assembly data structure, including 6 domains: task priority, type are shaping, indicate the dispatching priority of each task, make simultaneously For the mark of task;Task stack area initial address, type are shaping, initial address when indicating to the task encoding;Task Stack area end address, type are shaping, end address when indicating to the task encoding;Check bit storage address, type are Shaping array, size are configured by user according to the size of code area, obtaining after storage data encoding as a result, for logarithm According to verification and recovery;Actual schedule number, type are shaping, indicate the total degree that the task is dispatched by operating system, simultaneously The situation of change of task stack data is judged as the timestamp of task;Scheduling times when coding, type are shaping, expression pair The task stack area carries out actual schedule number when last time encodes, while as task heap corresponding to mark check bit The timestamp of stack area data;
Second step, modifies the kernel of μ C/OS-II operating system, and addition being capable of task schedule time in real-time update verification control block Several and task stack end of extent address code, amending method are as follows:
2.1 add code in μ C/OS-II operating system nucleus, make it have the update when task obtains the processor right to use The ability of the verification control block of task;
2.2 add code in μ C/OS-II operating system nucleus, make it have the update when task loses the processor right to use The ability of the verification control block of task;
Third step is based on Hamming code principle, realizes the coding function and verification reconstruction of improved (71,63) code, specifically such as Under:
3.1 realization coding functions: the input parameter of coding function is that coding initial address, end-of-encode address and check bit are deposited Store up address;Coding function is realized based on improved (71,63) code, with 63 data for an encoding block, obtains 8 schools after coding Test a C0To C7;For w processors, which simultaneously encodes w encoding block, i.e., from coding initial address Start, every 7.875wByte data carry out first encoding, obtain wByte check bit and store check bit to check bit to store ground Region of memory pointed by location, the integral number power integer that w is 2;
3.2 realize verification reconstructions: verify the input parameter of reconstruction for verification initial address, verification end address and Check bit storage address;It verifies reconstruction to realize based on improved (71,63) code, with 63 data and corresponding 8 bit check Position is a check block;For w processors, which carries out verification recovery to w check block simultaneously, i.e., from Verification initial address starts, and every 7.875wByte data and its corresponding wByte check bit are a check block;
4th step creates a priority in an operating system and is 0 and is constantly in the verification recovery tasks of ready state, works as school When testing recovery tasks and being activated, which repeatedly traverses verification control block chained list, for each of verification control block chained list Control block is verified, which checks information therein to determine that task stack data encode with still verification restores;
5th step starts modified operating system, and modified operating system is to need user task stacked data to be protected Recovery is encoded and is verified, specific as follows:
5.1 operating system initialization;
5.2 operating systems carry out task schedule, and the code of operation 2.1 steps addition is to will obtain processor right to use task Actual schedule number is updated in verification control block, and the code of operation 2.2 steps addition is appointed to that will lose the processor right to use Task stack end of extent address is updated in the verification control block of business;If the obtaining the processor right to use of the task is that user appoints Business turns 5.3, if the obtaining the processor right to use of the task is verification recovery tasks, turns 5.4;
The activation of 5.3 user tasks, user task are executed up to being interrupted by operating system, turn 5.2;
5.4 verification recovery tasks activation;
5.5 since the gauge outfit of verification control block chained list, each of chained list verification control block is traversed repeatedly, according to verification Information decision in control block is encoded to task stack or is verified recovery, is interrupted until by operating system, specific as follows:
5.5.1 it initializes, the next verification control block being linked with verification control block chained list gauge outfit is taken to control as current verification Clamp dog piece;
Scheduling times and actual schedule number are compared when 5.5.2 taking the coding in current verification control block piece, if compiling Scheduling times are less than actual schedule number when code, turn 5.5.3, if scheduling times are equal to actual schedule number when coding, turn 5.5.5;
5.5.3 data encoding: by current verification control block piece stack area initial address, stack area end address and Check bit storage address executes coding function as parameter, specific as follows for w processors:
5.5.3.1 divide encoding block: data to be encoded are stack area initial address and heap in current verification control block piece These data are divided into N number of wait compile by the data between stack end of extent address with 7.875wByte data for a block to be encoded Code block, It indicates to being rounded on X;
5.5.3.2 it initializes, variable n=1, current block to be encoded initial address data=is enabled currently to verify in control block piece Stack area initial address, current check bit storage address check=currently verify the check bit in control block piece storage ground Location;It is write 63 w data between data to data+7.875w as 8 × 8 square matrixes from upper left to bottom right, supplements one 0 Number is only used for description and is not involved in calculating, and enabling this 8 × 8 square matrix is Adata
5.5.3.3 the data supervision position C of n-th of block to be encoded is calculated0To C5, wherein C0For AdataIn the 2nd, 4,6,8 column exclusive or With C1For AdataIn the 3rd, 4,7,8 column exclusive or and, C2For AdataIn the 5th, 6,7,8 column exclusive or and, C3For AdataIn the 2nd, 4, 6, the exclusive or of 8 rows and, C4For AdataIn the 3rd, 4,7, the exclusive or of 8 rows and, C5For AdataIn the 5th, 6,7,8 column exclusive or and;
5.5.3.4 the data parity check position C of n-th of block to be encoded is calculated6, C6For Adata63 intermediate w data it is different Or and;
5.5.3.5 the supervision parity check bit C of n-th of block to be encoded is calculated7, C7For C0To C5Exclusive or and;
5.5.3.6 by C0To C7Deposit the memory being directed toward to check, n=n+1, data=data+7.875w, check=check+ W goes to 5.5.3.3, otherwise turns 5.5.4 if n is not more than N;
Scheduling times when the actual schedule number in current verification control block piece being 5.5.4 assigned to the coding of the block, turn 5.5.6;
5.5.5 data check restores: by the stack area initial address in current verification control block piece, stack area end address And check bit storage address executes verification reconstruction as parameter, it is specific as follows for w processors:
5.5.5.1 divide verification recovery block: the data of recovery to be verified are stack area starting in current verification control block piece Data between address and stack area end address, with 7.875wByte data for a recovery block to be verified, by these data It is divided into N number of recovery block to be verified;
5.5.5.2 it initializes, enables variable n=1, current recovery block initial address data=to be verified currently verifies control block Stack area initial address in piece, current check bit storage address check=currently verify the verification in control block piece Position storage address;It is write 63 w data as 8 × 8 square matrixes from upper left to bottom right, supplements 0 number, be only used for describing It is not involved in calculating, enabling this 8 × 8 square matrix is Bdata
5.5.5.3 8 w data, respectively C are taken out from the memory that check is directed toward0To C7
5.5.5.4 the syndrome S of n-th of recovery block to be verified is calculated0To S5, wherein S0For BdataIn the 2nd, 4,6,8 column and C0's Exclusive or and S1For BdataIn the 3rd, 4,7,8 column and C1Exclusive or and, S2For BdataIn the 5th, 6,7,8 column and C2Exclusive or and, S3For BdataIn the 2nd, 4,6,8 rows and C3Exclusive or and, S4For BdataIn the 3rd, 4,7,8 rows and C4Exclusive or and, S5For BdataIn the 5th, 6,7,8 column and C5Exclusive or and;
5.5.5.5 the sub- S of data parity check of n-th of recovery block to be verified is calculated6, S6For Bdata63 w data of middle whole and C6Exclusive or and;
5.5.5.6 the supervision sub-parity check S of n-th of recovery block to be verified is calculated7, S7For C0To C5And C7Exclusive or and;
5.5.5.7 verification recovery carried out to w bit plane of n-th of recovery block to be verified respectively, a recovery block to be verified by 63 w data and its 8 w bit check code C0To C7It constitutes, k-th of bit plane is by this 63 data and its 8 check code C0 To C7Kth position constitute, enable variable k=1, verification recovery process is specific as follows:
5.5.5.7.1 the errors present index for calculating k-th of bit plane of n-th of recovery block to be verified, i.e., by S5To S0? The k binary numerals constituted;
5.5.5.7.2 judge the corresponding syndrome S of the supervision parity check bit of k-th of bit plane of n-th of recovery block to be verified7 Whether it is 0, if 0, turns 5.5.5.7.3;If 1, turn 5.5.5.7.4;
5.5.5.7.3 judge in k-th of bit plane of n-th of recovery block to be verified, the corresponding verification in data parity check position Sub- S6It whether is 0, if S6Also it is 0 to illustrate to verify successfully for 0 and errors present index, turns 5.5.5.7.9;If index is not 0 to say It is bright that multidigit mistake has occurred, turn 5.5.5.7.8;If S6For 1 and index be 0 illustrate data parity check position occur mistake, turn 5.5.5.7.6;If index is not that a data mistake has occurred in 0 explanation, turn 5.5.5.7.7;
5.5.5.7.4 judge the corresponding syndrome S in the data parity check position of k-th of bit plane of n-th of recovery block to be verified6 It whether is 0, if S6Illustrate that check bit includes that a bit-errors occur for its parity check bit for 0, turns 5.5.5.7.5;If S6For 1 explanation Multidigit mistake has occurred, can not be restored, turn 5.5.5.7.8;
5.5.5.7.5 by the C of n-th of recovery block to be verified0To C5The kth position S with n-th of recovery block to be verified respectively0To S5 Kth position carry out exclusive or and then recalculate the C of n-th of recovery block to be verified7Kth position turn to restore to mistake 5.5.5.7.9;
5.5.5.7.6 to the data parity check position C of n-th of recovery block to be verified6Kth position negate, thus to mistake carry out Restore, turns 5.5.5.7.9;
5.5.5.7.7 the data bit of the errors present index instruction of k-th of bit plane of n-th of recovery block to be verified is taken Instead, to restore to mistake, turn 5.5.5.7.9;
5.5.5.7.8 operating system carries out abnormality processing, turns 5.5.5.8;
5.5.5.7.9 the verification of k-th of bit plane of n-th of recovery block to be verified is completed, k=k+1, if k is not more than w, is turned 5.5.5.7.1, otherwise turn 5.5.5.8;
5.5.5.8 n-th of recovery block check to be verified is completed, n=n+1, data=data+7.875w, check=check+ Otherwise w turns 5.5.6 if n no more than 5.5.5.3 is turned if N;
5.5.6 currently verification control block piece is disposed, and takes the next verification control block being linked with piece as new Piece, operating system determines whether there is higher priority task ready, if there is no higher priority task ready, turn 5.5.2;If there is higher priority task ready, operating system interrupts the execution of verification recovery tasks, executes higher priority and appoints Business turns 5.2.
2. special as described in claim 1 based on the task stack area data check restoration methods of μ C/OS-II operating system The method that sign is that the first step sets up verification control block chained list is:
1.1 establish verification control block chained list gauge outfit: one content of creation is the empty verification control block of full 0, as verification control block The gauge outfit of chained list, and as current verification control block;
1.2 do not set up one verification control block of task creation of verification control block for any one in operating system;
1.3 pairs of newly-established verification control blocks initialize: task priority is initialized as the task and sets in an operating system The priority set;Task stack area initial address and task stack end of extent address initialization are that the task is matched in an operating system The task stack area initial address set and task stack end of extent address;Check bit storage address is initialized as the use of user configuration In the region of memory initial address for storing the task check bit;Actual schedule number is initialized as 0;Scheduling times are initial when coding Turn to -1;
After newly-established verification control block is linked at current verification control block by 1.4, then as current verification control Block turns 1.1 if not setting up the task of verification control block in operating system also, and current verification control block is otherwise linked to chain First verification control block after gauge outfit, to form circular linked list.
3. special as described in claim 1 based on the task stack area data check restoration methods of μ C/OS-II operating system Sign is to add code in μ C/OS-II operating system nucleus described in 2.1 steps, makes it have and obtain processor use in task Temporary the method for the ability of the verification control block of more new task is: in task scheduling function OSSched () and interrupt processing function In the function code of OSIntExt (), in executing scheduling and restoring stacked data to before processor, one section of code is added, This section of code, which is realized, carries out from increasing the actual schedule number in the verification control block for will the obtaining the processor right to use of the task.
4. special as described in claim 1 based on the task stack area data check restoration methods of μ C/OS-II operating system Sign is to add code in μ C/OS-II operating system nucleus described in 2.2 steps, makes it have and lose processor use in task Temporary the method for the ability of the verification control block of more new task is: in task scheduling function OSSched () and interrupt processing function In the function code of OSIntExt (), it is inserted into one section of code after processor data is saved to the code in task stack area, it should Task control block top-of-stack pointer ptcb- > OSTCBStkPtr is assigned to be scheduled by section code realization loses processor use Task stack end of extent address in the verification control block of the task of power.
CN201610580590.9A 2016-07-21 2016-07-21 Task stack area data check restoration methods based on μ C/OS-II operating system Active CN106201765B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610580590.9A CN106201765B (en) 2016-07-21 2016-07-21 Task stack area data check restoration methods based on μ C/OS-II operating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610580590.9A CN106201765B (en) 2016-07-21 2016-07-21 Task stack area data check restoration methods based on μ C/OS-II operating system

Publications (2)

Publication Number Publication Date
CN106201765A CN106201765A (en) 2016-12-07
CN106201765B true CN106201765B (en) 2019-03-15

Family

ID=57491653

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610580590.9A Active CN106201765B (en) 2016-07-21 2016-07-21 Task stack area data check restoration methods based on μ C/OS-II operating system

Country Status (1)

Country Link
CN (1) CN106201765B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108196873B (en) * 2018-01-30 2021-03-30 山东科技大学 Method and system for remotely and dynamically upgrading embedded software of power system
CN109144696B (en) 2018-08-30 2021-08-10 百度在线网络技术(北京)有限公司 Task scheduling method and device, electronic equipment and storage medium
CN109541444B (en) * 2018-10-18 2021-11-02 天津大学 Integrated circuit fault injection detection method based on mixed granularity parity check

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1359492A (en) * 1999-01-21 2002-07-17 毕事快公司 System and method for testing and validating devices having an embedded operating system
KR20070015754A (en) * 2005-08-01 2007-02-06 엘지전자 주식회사 Operating system recover apparatus and method
CN101295278A (en) * 2007-04-23 2008-10-29 大唐移动通信设备有限公司 Method and device for locating course of overwritten code segment
CN102508731A (en) * 2011-09-29 2012-06-20 中国航天科技集团公司第五研究院第五一三研究所 Fault tolerance starting method of operating system based on RS (Reed-Solomon) coding and decoding
CN103440176A (en) * 2013-09-13 2013-12-11 北京经纬恒润科技有限公司 Protection method and device for memory in real-time operation system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1359492A (en) * 1999-01-21 2002-07-17 毕事快公司 System and method for testing and validating devices having an embedded operating system
KR20070015754A (en) * 2005-08-01 2007-02-06 엘지전자 주식회사 Operating system recover apparatus and method
CN101295278A (en) * 2007-04-23 2008-10-29 大唐移动通信设备有限公司 Method and device for locating course of overwritten code segment
CN102508731A (en) * 2011-09-29 2012-06-20 中国航天科技集团公司第五研究院第五一三研究所 Fault tolerance starting method of operating system based on RS (Reed-Solomon) coding and decoding
CN103440176A (en) * 2013-09-13 2013-12-11 北京经纬恒润科技有限公司 Protection method and device for memory in real-time operation system

Also Published As

Publication number Publication date
CN106201765A (en) 2016-12-07

Similar Documents

Publication Publication Date Title
CN104347122B (en) A kind of access method and device of message type memory modules
US10324792B2 (en) Resiliency to memory failures in computer systems
CN104035843B (en) For improving the system and method for lock-step core availability
CN101493809B (en) Multi-core onboard spacecraft computer based on FPGA
CN103984630B (en) Single event upset fault processing method based on AT697 processor
CN106201765B (en) Task stack area data check restoration methods based on μ C/OS-II operating system
Bremner et al. SABRE: a bio-inspired fault-tolerant electronic architecture
CN106708655B (en) Memory reinforcing method and circuit based on two-dimensional error correcting code
CN103064728A (en) Fault-tolerant scheduling method of Map Reduce task
KR20130012591A (en) State history storage for synchronizing redundant processors
CN101615147A (en) The skin satellite is based on the fault-tolerance approach of the memory module of FPGA
CN102968363A (en) Apparatus and method for the protection and for the non-destructive testing of safety-relevant registers
Wunderlich et al. Efficacy and efficiency of algorithm-based fault-tolerance on GPUs
Gottscho et al. Software-defined error-correcting codes
Gomez-Cornejo et al. Fast context reloading lockstep approach for SEUs mitigation in a FPGA soft core processor
CN105320575B (en) A kind of self checking of duplication redundancy streamline and recovery device and method
Tang et al. An efficient in-memory checkpoint method and its practice on fault-tolerant HPL
Tang et al. Self-checkpoint: An in-memory checkpoint method using less space and its practice on fault-tolerant HPL
Yim Characterization of impact of transient faults and detection of data corruption errors in large-scale n-body programs using graphics processing units
Asghari et al. An effective soft error detection mechanism using redundant instructions.
CN105279043A (en) Method and system for recovering single-chip microcomputer software error
Gomez et al. Hierarchical clustering strategies for fault tolerance in large scale HPC systems
CN110489268A (en) A kind of two-stage error correction/encoding method and system applied to storage system in adverse circumstances on star
Ferreira Keeping checkpoint/restart viable for exascale systems
Somani et al. A cache error propagation model

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant