CN111796921B - Scheduling method and scheduling device for embedded multi-core operating system, electronic equipment and storage medium - Google Patents

Scheduling method and scheduling device for embedded multi-core operating system, electronic equipment and storage medium Download PDF

Info

Publication number
CN111796921B
CN111796921B CN202010613981.2A CN202010613981A CN111796921B CN 111796921 B CN111796921 B CN 111796921B CN 202010613981 A CN202010613981 A CN 202010613981A CN 111796921 B CN111796921 B CN 111796921B
Authority
CN
China
Prior art keywords
scheduling
time
partition
task
module
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
CN202010613981.2A
Other languages
Chinese (zh)
Other versions
CN111796921A (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.)
Xian Microelectronics Technology Institute
Original Assignee
Xian Microelectronics Technology Institute
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 Xian Microelectronics Technology Institute filed Critical Xian Microelectronics Technology Institute
Priority to CN202010613981.2A priority Critical patent/CN111796921B/en
Publication of CN111796921A publication Critical patent/CN111796921A/en
Application granted granted Critical
Publication of CN111796921B publication Critical patent/CN111796921B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention discloses a scheduling method, a scheduling device, electronic equipment and a storage medium of an embedded multi-core operating system, wherein the scheduling method comprises the following steps: the periodic task scheduling is triggered through timer clock interruption, so that the basic scheduling strategy of multi-task time-sharing parallel and multi-priority management is realized, and the external interruption triggers the real-time preemption of the critical tasks; the method provides a time-sharing scheduling mechanism for a plurality of partitioned microkernels and supports a priority-based round-robin task scheduling mechanism inside the microkernels. The method not only completes the task scheduling of the system with higher timeliness requirement, but also completes the parallel data processing of the multi-task safety isolation, ensures the space isolation of the multi-task, and improves the safety and reliability of the system.

Description

Scheduling method and scheduling device for embedded multi-core operating system, electronic equipment and storage medium
Technical Field
The technology is oriented to the technical field of embedded operating systems, and particularly relates to a scheduling method, a scheduling device, electronic equipment and a storage medium of an embedded multi-core operating system.
Background
Along with the continuous improvement of the performance, complexity and reliability of the embedded system, the weight, volume, cost and power consumption are continuously reduced, the functions of the embedded operating system are also iteratively evolved stage by stage, and the two directions of the embedded real-time operating system and the time-sharing partition operating system are differentiated. Real-time operating systems (RTOS) refer to a class of operating systems that are capable of responding to external events and performing functions within a defined time. Partition operating systems provide a more powerful isolation mechanism and a secure execution environment, allowing one platform to run multiple operating systems simultaneously, and applications to run in independent spaces without affecting each other. In 1997, a comprehensive and modularized avionics application software standard interface (ARINC 653) was formulated, a time-space domain based partition operating system concept was proposed, and interface standards of application software and an operating system, an operating system and underlying hardware were clarified.
Because of the hardware integration and business synthesis of the embedded system, the computing resources, the memory resources, the peripheral resources, the communication resources and the like of the system are multiplexed at high frequency, challenges are presented to the real-time performance, the certainty, the safety and the high efficiency of the embedded system, and higher requirements are presented to the integrated embedded multitask scheduling operation system. Real-time performance is a basic requirement for correctly executing safety-critical tasks, and in a comprehensive electronic system with dense functional items, particularly under the background of multi-core parallelism and hardware resource sharing, the problem of how to ensure the real-time performance of the safety-critical tasks needs to be solved. The integrated electronic system with dense functions has more and more functional items, the coupling degree between the functional items is tighter and tighter, and the root cause of the space comprehensive operation system for introducing time-sharing partition is how to effectively prevent faults from spreading among the functional items sharing hardware resources. The ARINC 653 establishes a time division partition execution standard, but the core idea is deviated from real-time performance, so supporting real-time critical tasks on the basis of the basic idea becomes a problem to be solved by the system.
Disclosure of Invention
The invention provides an embedded multi-core operating system scheduling method, a scheduling device, electronic equipment and a storage medium, which are a strategy method for checking task scheduling in an operating system bottom layer, and are an operating system scheduling mechanism supporting both real-time critical tasks and time-sharing partitions.
In order to achieve the above purpose, the invention adopts the following technical means:
an embedded multi-core operating system scheduling method comprises the following steps:
the main core triggers periodic task scheduling through timer clock interruption, achieves a multi-task basic scheduling strategy based on priority preemption, and triggers critical task real-time scheduling through external interruption;
a mechanism for checking time-sharing scheduling of a plurality of partitioned microkernels is provided, and a priority-based rotation task scheduling mechanism inside the microkernels is supported.
As a further improvement of the invention, the time-sharing scheduling is triggered by primary scheduling, the scheduling rule is static scheduling, and the partition scheduling sequence is scheduled and executed according to the partition static allocation table sequence.
As a further improvement of the invention, the primary scheduling is triggered by clock cycles, and the triggering periods are respectively completed:
(1) Scheduling a main core period;
(2) Inquiring and scheduling a partition static table;
(3) The partitioned microkernel within the execution cycle triggers task scheduling.
As a further improvement of the present invention, the method for determining the time-sharing scheduling includes:
inquiring static partition time allocation in the operation of the primary scheduling period, and triggering software interrupt when the scheduling time requirement is met;
if not, the first-level scheduling is exited to wait for the next clock cycle;
if yes, triggering software interrupt and notifying secondary scheduling; the secondary partition schedule initiates slave core partition scheduling.
An embedded multi-core operating system scheduling apparatus, comprising:
the primary scheduling module is used for triggering periodic task scheduling through timer clock interruption, realizing a multi-task basic scheduling strategy based on priority preemption, and triggering key task real-time scheduling through external interruption;
and the secondary scheduling module is used for providing a mechanism for time-sharing scheduling of the plurality of partitioned microkernels and supporting a priority-based rotation task scheduling mechanism inside the microkernels.
Preferably, the primary scheduling module comprises a real-time task module and a periodic scheduling module;
the real-time task module is used for real-time scheduling of key tasks;
the periodic scheduling module is used for scheduling based on priority rotation;
the secondary scheduling module comprises a static period scheduling module and a rotation scheduling module;
the static period scheduling module is used for time-sharing partition scheduling;
and the round-robin scheduling module is used for carrying out round-robin scheduling based on priority in the partition.
Preferably, the time-sharing scheduling of the static period scheduling module is triggered by the primary scheduling module, the execution sequence of the partition is distributed through the partition static allocation table, the primary scheduling module submits the secondary scheduling module to switch the partition when reaching the partition scheduling opportunity, and the secondary scheduling module manages the operation of multiple partitions so as to operate the time-sharing scheduling of the partition operating system.
An electronic device, the electronic device comprising:
one or more processors;
a memory electrically connected to the one or more processors;
one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs configured to perform the scheduling method.
A computer readable storage medium having program code stored therein, the program code being callable by a processor to perform the method.
Compared with the prior art, the invention has the following advantages:
the method can realize the scheduling of the embedded multi-core operating system with real-time response and partition safety coexistence, and not only supports real-time critical tasks, but also supports an operating system scheduling mechanism of time-sharing partition. The real-time operation system which is biased to real-time control and the partition operation system characteristics with isolation protection and parallel computation are combined in one operation system product, so that the real-time key tasks and the time-sharing partition operation system are organically unified.
The system can improve the use efficiency of the high-integration multi-core system, so that the system not only meets the real-time control requirement, but also has the time-sharing parallel data processing capability of various algorithms. In the fields of micro-nano satellites, unmanned aerial vehicles, robots and the like, a multi-core chip can be used as a control and calculation core, so that not only is the task scheduling of a system with higher timeliness requirements completed, but also the parallel data processing of multi-task safety isolation is completed, the multi-task space isolation is ensured, and the safety and reliability of the system are improved.
Drawings
FIG. 1 is a schematic diagram of the scheduling mechanism of the present invention;
FIG. 2 two-level scheduling incorporates a flow chart;
FIG. 3 is a schematic diagram of an operating system architecture using a scheduling mechanism;
FIG. 4 is a diagram of a partitioned scheduling presentation 1;
fig. 5 partitioned scheduling + real-time response presentation.
Detailed Description
In order to make the technical solution of the present invention better understood by those skilled in the art, the technical solution of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, shall fall within the scope of the invention.
The invention discloses a real-time response and partition safety coexisting embedded multi-core operating system scheduling method, which not only supports real-time critical tasks, but also supports a time-sharing partition operating system scheduling mechanism. The real-time operation system which is biased to real-time control and the partition operation system characteristics with isolation protection and parallel computation are combined in one operation system product, so that the real-time key tasks and the time-sharing partition operation system are organically unified.
The invention designs two layers of scheduling logic for the multi-core chip, wherein the first layer of scheduling management is used for managing real-time tasks of the operating system during the verification of the master, and the second layer of scheduling management is used for managing time-sharing operation of a plurality of slave core partition microkernels, so that an innovative scheduling mechanism combining real-time control and time-sharing partition is realized.
Specifically, as shown in fig. 1, the scheduling method of the embedded multi-core operating system of the present invention includes:
the main core triggers periodic task scheduling through timer clock interruption, achieves a multi-task basic scheduling strategy based on priority preemption, and triggers critical task real-time scheduling through external interruption;
a mechanism for checking time-sharing scheduling of a plurality of partitioned microkernels is provided, and a priority-based rotation task scheduling mechanism inside the microkernels is supported.
The time-sharing scheduling is triggered by primary scheduling, the scheduling rule is static scheduling, and the partition scheduling sequence is scheduled and executed according to the partition static allocation table sequence.
The primary scheduling is triggered by a clock period, and the triggering periods are respectively completed:
(1) Scheduling a main core period;
(2) Inquiring and scheduling a partition static table;
(3) The partitioned microkernel within the execution cycle triggers task scheduling.
The judging method of the time-sharing scheduling comprises the following steps:
inquiring static partition time allocation in the operation of the primary scheduling period, and triggering software interrupt when the scheduling time requirement is met;
if not, the first-level scheduling is exited to wait for the next clock cycle;
if yes, triggering software interrupt and notifying secondary scheduling; the secondary partition schedule initiates slave core partition scheduling.
The invention can improve the use efficiency of the high-integration multi-core system, so that the high-integration multi-core system not only meets the real-time control requirement, but also has the time-sharing parallel data processing capability of various algorithms. In the fields of micro-nano satellites, unmanned aerial vehicles, robots and the like, a multi-core chip can be used as a control and calculation core, so that not only is the task scheduling of a system with higher timeliness requirements completed, but also the parallel data processing of multi-task safety isolation is completed, the multi-task space isolation is ensured, and the safety and reliability of the system are improved.
To achieve the above objective, the present invention designs an operating system kernel scheduling mechanism based on a domestic dual-kernel PPC system, and its composition is as shown in fig. 1:
the scheduling mechanism developed by the invention adopts two-stage scheduling to realize a system bottom scheduling mechanism with real-time response and time-sharing partition coexistence.
The primary scheduling is based on the combination of two scheduling mechanisms of a real-time operating system, is based on a priority rotation scheduling mechanism and a key task real-time scheduling mechanism, and achieves the real-time response function of a main Core operating system in the PPC Core 0 through primary scheduling, thereby achieving the standard of the real-time operating system. The primary scheduling triggers periodic task scheduling through timer clock interruption, a basic scheduling strategy of multi-task time-sharing parallel and multi-priority management is guaranteed, and the real-time performance of the critical tasks is realized through external interruption triggering real-time preemption.
The secondary scheduling provides a mechanism for time-sharing scheduling of a plurality of partitioned microkernels and supports a priority-based round-robin task scheduling mechanism inside the microkernels. The secondary scheduling is to schedule a plurality of partitioned microkernels in the PPC Core 1, and a time-sharing partition operating system kernel mechanism in the PPC Core 1 is realized through the secondary scheduling. The time-sharing scheduling of the secondary scheduling is triggered by the primary scheduling of the PPC Core 0, the execution sequence of the partition is distributed through the partition static allocation table, the secondary scheduling is submitted to switch the partition when the primary scheduling reaches the partition scheduling opportunity, the secondary scheduling manages the operation of multiple partitions, and the time-sharing scheduling of the partition operating system is realized.
The invention adopts a two-stage scheduling mechanism and presets a two-stage static allocation table. The conversion process from the primary periodic schedule to the secondary timing schedule is the method characteristic of the periodic schedule to the time-sharing schedule.
The invention develops the scheduling mechanism for realizing the two-stage scheduling mechanism, builds the primary scheduling by taking the real-time operating system scheduling mechanism as a prototype, and builds the secondary scheduling by taking ARINC 653 time-sharing partition scheduling specification. The primary scheduling is positioned in PPC Core 0, a timer interrupt triggers a priority wheel scheduling mechanism, and an external interrupt is connected for a real-time critical task to ensure the real-time performance of the real-time critical task, so that the primary interrupt can be successfully operated through the development. The triggering of the secondary scheduling on the multi-partition time-sharing scheduling is that after the priority rotation scheduling of the primary scheduling is completed, the partition static time allocation table is inquired, when the partition scheduling meets the scheduling time requirement, the software interrupt is triggered to inform the secondary scheduling to start the partition scheduling, the clock cycle triggering is converted into the time-sharing static triggering required by the secondary scheduling through the above flow, and the flow is shown in figure 2 and comprises the following steps:
a timer period is interrupted;
triggering a primary scheduling priority round-robin scheduling mechanism, and responding to real-time external interrupt of real-time critical task hooking;
inquiring a partition static time allocation table, and performing periodic triggering conversion time-sharing scheduling;
triggering software interrupt when judging whether partition scheduling meets scheduling time requirements;
if not, the first-level scheduling is exited to wait for the next clock cycle;
if yes, triggering software interrupt and notifying secondary scheduling; and starting the secondary partition scheduling, and converting clock cycle triggering into time-sharing static triggering required by the secondary scheduling.
The invention writes the following libraries and code content for developing the above scheduling mechanism:
PPC architecture task/partition switch data structures;
an operating system task switching interface;
a partitioned microkernel switching interface;
a first-level scheduling function interface;
a secondary scheduling function interface;
task management control block interface;
partition management control block interface.
Through realizing the functional modules and interfaces and combining other kernel functions of the operating system, the kernel design of the operating system on the dual-kernel framework is realized, so that the dual-kernel framework has a bottom scheduling mechanism for coexistence of real-time response and time-sharing partition.
An embedded multi-core operating system scheduling system with real-time response and partition safety coexistence is developed based on the invention, and the operating system has the system structure shown in figure 3:
the operating system adopts a system forming mode of a real-time kernel and a time-sharing partition microkernel to realize task scheduling and time-sharing partition isolation management of a plurality of microkernels during main verification. On the basis of providing the real-time task instant response function, a time sharing scheduling and physical isolation protection safety mechanism of a plurality of microkernels is further adopted, so that the instant response of the strong real-time task and the safety isolation between periodic tasks are ensured, and the reliability of the system is comprehensively improved.
The primary scheduling schedules tasks in the main core, and comprises a periodic priority preemption mechanism and a real-time response mechanism.
The secondary scheduling is to schedule the sub-core running partition microkernel according to fixed time division scheduling partition running.
The invention will now be described in further detail with reference to specific examples, which are intended to illustrate, but not to limit, the invention.
Example 1
As shown in FIG. 4, the present invention is designed to be applied to the kernel design of a sectional operating system in the nine days of Li mountain, which is operated on a domestic dual-kernel PPC chip.
Three partition systems are established on the slave cores by using the Jiu-day partition operating system in Li mountain and named as partition1, partition2 and partition3 respectively. Creating two tasks task1 and task2 in the partition1, wherein the two tasks use semaphore cyclic scheduling; creating two tasks task1 and task2 in part 3, wherein the two tasks also use semaphore cycle scheduling; the part 2 creates an empty task and prints information when scheduled. After the system is operated, the parts 1, 2 and 3 can be seen to be scheduled in time sequence, and the task in the partition is executed circularly and periodically.
Example 2
As shown in fig. 5, three partition systems, named partition1, partition2, and partition3, respectively, are established on the slave cores using the wiry mountain nine-day partition operating system. And respectively running three tasks of task1, task2 and task3 in the three partitions, and periodically running the three partitions in sequence. The main core uses external clock interrupt simulation to trigger a real-time task, and prints 'in trigger int' in the real-time task.
The mountain nine-day partition operating system organically combines a real-time operating system with a partition operating system, can be applied to embedded complex application control platforms in the fields of aerospace, aviation, electronics, weapons, ships and the like, and can meet the requirements of real-time performance, reliability, safety and running stability of the multi-core embedded electronic system.
In the several embodiments provided herein, the illustrated or discussed coupling or direct coupling or communication connection of the modules to each other may be through some interfaces, indirect coupling or communication connection of devices or modules, electrical, mechanical, or other forms.
In addition, each functional module in each embodiment of the present application may be integrated into one processing module, or each module may exist alone physically, or two or more modules may be integrated into one module. The integrated modules may be implemented in hardware or in software functional modules.
The embodiment of the application provides a structure of electronic equipment. The electronic device may be an electronic device capable of running an application program, such as a smart phone, a tablet computer, or a server. An electronic device in the present application may include one or more of the following components: a processor, a memory, and one or more application programs, wherein the one or more application programs may be stored in the memory and configured to be executed by the one or more processors, the one or more program configured to perform the method as described in the foregoing method embodiments.
The processor may include one or more processing cores. The processor uses various interfaces and lines to connect various portions of the overall electronic device, perform various functions of the electronic device, and process data by executing or executing instructions, programs, code sets, or instruction sets stored in memory, and invoking data stored in memory. Alternatively, the processor may be implemented in at least one hardware form of digital signal processing (Digital Signal Processing, DSP), field-Programmable gate array (FPGA), programmable Logic Array (PLA). The processor may integrate one or a combination of several of a central processing unit (CentralProcessing Unit, CPU), an image processor (Graphics Processing Unit, GPU), and a modem etc. The CPU mainly processes an operating system, a user interface, an application program and the like; the GPU is used for being responsible for rendering and drawing of display content; the modem is used to handle wireless communications. It will be appreciated that the modem may not be integrated into the processor and may be implemented solely by a single communication chip.
The Memory may include random access Memory (Random Access Memory, RAM) or Read-Only Memory (rom). The memory may be used to store instructions, programs, code sets, or instruction sets. The memory may include a stored program area and a stored data area, wherein the stored program area may store instructions for implementing an operating system, instructions for implementing at least one function (such as a touch function, a sound playing function, an image playing function, etc.), instructions for implementing the various method embodiments described below, etc. The storage data area may also store data created by the electronic device in use (e.g., phonebook, audio-video data, chat-record data), etc.
The embodiment of the application provides a structure of a computer readable storage medium. The computer readable storage medium has stored therein program code which is callable by a processor to perform the method described in the above method embodiments.
The computer readable storage medium may be an electronic memory such as a flash memory, an EEPROM (electrically erasable programmable read only memory), an EPROM, a hard disk, or a ROM. Optionally, the computer readable storage medium comprises a non-transitory computer readable medium (non-transitory computer-readable storage medium). The computer readable storage medium has storage space for program code to perform any of the method steps described above. The program code can be read from or written to one or more computer program products. The program code may be compressed, for example, in a suitable form.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present application, and are not limiting thereof; although the present application has been described in detail with reference to the foregoing embodiments, one of ordinary skill in the art will appreciate that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not drive the essence of the corresponding technical solutions to depart from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims (7)

1. The scheduling method of the embedded multi-core operating system is characterized by comprising the following steps of:
the main core triggers periodic task scheduling through timer clock interruption, achieves a multi-task basic scheduling strategy based on priority preemption, and triggers critical task real-time scheduling through external interruption;
providing a mechanism for checking time-sharing scheduling of a plurality of partitioned microkernels and supporting a priority-based rotation task scheduling mechanism in the microkernels;
the time-sharing scheduling is triggered by primary scheduling, the scheduling rule is static scheduling, and the partition scheduling sequence is scheduled and executed according to the partition static allocation table sequence;
the primary scheduling is triggered by a clock period, and the triggering periods are respectively completed:
(1) Scheduling a main core period;
(2) Inquiring and scheduling a partition static table;
(3) The partitioned microkernel in the execution period triggers task scheduling;
the judging method of the time-sharing scheduling comprises the following steps:
inquiring static partition time allocation in the operation of the primary scheduling period, and triggering software interrupt when the scheduling time requirement is met;
if not, the first-level scheduling is exited to wait for the next clock cycle;
if yes, triggering software interrupt and notifying secondary scheduling; the secondary partition schedule initiates slave core partition scheduling.
2. An embedded multi-core operating system scheduling device based on the embedded multi-core operating system scheduling method of claim 1; characterized by comprising the following steps:
the primary scheduling module is used for triggering periodic task scheduling through timer clock interruption, realizing a multi-task basic scheduling strategy based on priority preemption, and triggering key task real-time scheduling through external interruption;
and the secondary scheduling module is used for providing a mechanism for time-sharing scheduling of the plurality of partitioned microkernels and supporting a priority-based rotation task scheduling mechanism inside the microkernels.
3. The scheduling apparatus of claim 2, wherein,
the primary scheduling module comprises a real-time task module and a periodic scheduling module;
the real-time task module is used for real-time scheduling of key tasks;
the periodic scheduling module is used for scheduling based on priority rotation.
4. The scheduling apparatus of claim 2, wherein,
the secondary scheduling module comprises a static period scheduling module and a rotation scheduling module;
the static period scheduling module is used for time-sharing partition scheduling;
and the round-robin scheduling module is used for carrying out round-robin scheduling based on priority in the partition.
5. The scheduling apparatus of claim 4, wherein,
the time-sharing scheduling of the static period scheduling module is triggered by the primary scheduling module, the execution sequence of the partition is distributed through the partition static allocation table, the primary scheduling module submits the secondary scheduling module to switch the partition when reaching the partition scheduling opportunity, and the secondary scheduling module manages the operation of multiple partitions so as to operate the time-sharing scheduling of the partition operating system.
6. An electronic device, the electronic device comprising:
one or more processors;
a memory electrically connected to the one or more processors;
and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs configured to perform the scheduling method of claim 1.
7. A computer readable storage medium having stored therein program code which is callable by a processor to perform the method of claim 1.
CN202010613981.2A 2020-06-30 2020-06-30 Scheduling method and scheduling device for embedded multi-core operating system, electronic equipment and storage medium Active CN111796921B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010613981.2A CN111796921B (en) 2020-06-30 2020-06-30 Scheduling method and scheduling device for embedded multi-core operating system, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010613981.2A CN111796921B (en) 2020-06-30 2020-06-30 Scheduling method and scheduling device for embedded multi-core operating system, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN111796921A CN111796921A (en) 2020-10-20
CN111796921B true CN111796921B (en) 2023-05-30

Family

ID=72809946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010613981.2A Active CN111796921B (en) 2020-06-30 2020-06-30 Scheduling method and scheduling device for embedded multi-core operating system, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN111796921B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416475A (en) * 2020-11-20 2021-02-26 清华大学 Triggering method
CN112363816B (en) * 2020-11-26 2022-08-16 华东计算技术研究所(中国电子科技集团公司第三十二研究所) Deterministic scheduling method, system and medium for embedded multi-core operating system
CN112631526A (en) * 2020-12-31 2021-04-09 国网浙江省电力有限公司营销服务中心 Method for reading and writing same memory by main cycle and interrupt cycle of embedded system
CN113495781B (en) * 2021-06-30 2023-03-03 东风商用车有限公司 Task scheduling method, device, equipment and readable storage medium
CN115812197A (en) * 2021-07-12 2023-03-17 华为技术有限公司 Task scheduling method and device
CN116737672B (en) * 2022-09-13 2024-04-26 荣耀终端有限公司 Scheduling method, equipment and storage medium of file system in embedded operating system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001097020A1 (en) * 2000-06-12 2001-12-20 Clearwater Networks, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
CN102779072A (en) * 2012-06-18 2012-11-14 中国科学院上海微系统与信息技术研究所 Embedded system and dormancy and wake-up method of application process thereof
US9256485B1 (en) * 2010-05-28 2016-02-09 The Mathworks, Inc. System and method for generating message sequence diagrams from graphical programs
CN107544843A (en) * 2017-08-28 2018-01-05 北京翼辉信息技术有限公司 A kind of partition system dispatching algorithm
CN107908469A (en) * 2017-12-18 2018-04-13 北京搜狐新媒体信息技术有限公司 A kind of method for scheduling task and system
CN108037994A (en) * 2017-11-15 2018-05-15 中国电子科技集团公司第三十二研究所 Scheduling mechanism supporting multi-core parallel processing in heterogeneous environment
CN110187956A (en) * 2019-05-07 2019-08-30 中国科学院软件研究所 A kind of the layering real-time task scheduling method and system of multiple agent platform
CN110347485A (en) * 2019-07-01 2019-10-18 电子科技大学 The multi-level fusion real-time scheduling method of multicore preemptive type based on fixed priority
CN110688207A (en) * 2019-09-05 2020-01-14 烽火通信科技股份有限公司 Embedded task scheduling method and system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001097020A1 (en) * 2000-06-12 2001-12-20 Clearwater Networks, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US9256485B1 (en) * 2010-05-28 2016-02-09 The Mathworks, Inc. System and method for generating message sequence diagrams from graphical programs
CN102779072A (en) * 2012-06-18 2012-11-14 中国科学院上海微系统与信息技术研究所 Embedded system and dormancy and wake-up method of application process thereof
CN107544843A (en) * 2017-08-28 2018-01-05 北京翼辉信息技术有限公司 A kind of partition system dispatching algorithm
CN108037994A (en) * 2017-11-15 2018-05-15 中国电子科技集团公司第三十二研究所 Scheduling mechanism supporting multi-core parallel processing in heterogeneous environment
CN107908469A (en) * 2017-12-18 2018-04-13 北京搜狐新媒体信息技术有限公司 A kind of method for scheduling task and system
CN110187956A (en) * 2019-05-07 2019-08-30 中国科学院软件研究所 A kind of the layering real-time task scheduling method and system of multiple agent platform
CN110347485A (en) * 2019-07-01 2019-10-18 电子科技大学 The multi-level fusion real-time scheduling method of multicore preemptive type based on fixed priority
CN110688207A (en) * 2019-09-05 2020-01-14 烽火通信科技股份有限公司 Embedded task scheduling method and system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Dynamic Task Mapping and Scheduling with Temperature-Awareness on Network-on-Chip based Multicore Systems";Suraj Paul;《Journal of Systems Architecture》;第98卷;第271-288页 *
"多核平台下分区操作系统的安全关键任务调度方法";朱怡安;《计算机工程》;第43卷(第12期);第38-44页 *

Also Published As

Publication number Publication date
CN111796921A (en) 2020-10-20

Similar Documents

Publication Publication Date Title
CN111796921B (en) Scheduling method and scheduling device for embedded multi-core operating system, electronic equipment and storage medium
US9779042B2 (en) Resource management in a multicore architecture
Burns et al. Mixed criticality systems-a review
EP1730628B1 (en) Resource management in a multicore architecture
CN110471647B (en) Micro-kernel architecture-based embedded partition operating system and design method thereof
US9218201B2 (en) Multicore system and activating method
Chen et al. Online real-time task scheduling in heterogeneous multicore system-on-a-chip
Audsley et al. Analysing APEX applications
CN104094224A (en) Para-virtualized asymmetric gpu processors
Zuepke et al. AUTOBEST: a united AUTOSAR-OS and ARINC 653 kernel
Bi et al. Research of key technologies for embedded Linux based on ARM
US9436505B2 (en) Power management for host with devices assigned to virtual machines
Rufino et al. Architecting robustness and timeliness in a new generation of aerospace systems
Chiba et al. A distributed real-time operating system with location-transparent system calls for task management and inter-task synchronization
CN115794386A (en) Resource calling method and device of virtual machine and storage medium
Wang et al. A physical and virtual compute cluster resource load balancing approach to data-parallel scientific workflow scheduling
Sagar et al. Embedded operating systems for real-time applications
CN113360290B (en) Deadlock detection method and device
Chen et al. Embedded Partitioning Real-Time Operating System Based on Microkernel
Chaobin et al. Study on the CNC system interpolation based on windows CE. NET and its real-time
Labrosse Operating systems
Ghaisas et al. SParK: safety partition kernel for integrated real-time systems
Saboori et al. Fast and cycle-accurate simulation of multi-threaded applications on SMP architectures using hybrid prototyping
CN116360941A (en) Multi-core DSP-oriented parallel computing resource organization scheduling method and system
Vijay A study of real-time embedded software systems and real-time operating systems

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
GR01 Patent grant
GR01 Patent grant