Draft:QuarkTS
Submission declined on 23 November 2024 by Alpha3031 (talk).
Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
|
- Comment: The newly added references mostly do not appear to even mention QuarkTS, and so cannot be considered in-depth about the subject. Alpha3031 (t • c) 21:58, 23 November 2024 (UTC)
Developer | Juan Camilo Gómez Cadavid |
---|---|
Written in | C/C++ |
OS family | Real-time operating systems |
Working state | Current |
Source model | Open-source software |
Initial release | 2016 |
Latest release | 7.3.3 |
Marketing target | Embedded systems |
Available in | C/C++ |
Platforms | ARM (ARM7, ARM9, Cortex-M0, -M0+, -M1, -M2, -M3 -M4, -M7, -A, -R4), Atmel AVR, AVR32, HCS12, MicroBlaze, Cortus (APS1, APS3, APS3R, APS5, FPF3, FPS6, FPS8), MSP430, PIC, dSPIC, Renesas H8/S, SuperH, RX, x86, 8052, Coldfire, V850, 78K0R, Fujitsu series MB91460, MB96340, Nios II, TMS |
Kernel type | Cooperative Real-Time Microkernel |
License | MIT |
Official website | https://github.com/kmilo17pet/QuarkTS |
Support status | |
Active |
QuarkTS is an open-source, cross-platform embedded operating system for resource-constrained devices that uses a cooperative multitasking scheduler[1][2]. It is distributed under the MIT License.
Implementation
[edit]QuarkTS[3] is designed for resource-constrained microcontrollers, featuring a small and simple kernel. It is primarily written in the C programming language for ease of portability and maintenance, though there is also a port written in C++11 (QuarkTS++), as well as a library for Arduino. QuarkTS does not have specific instructions for a target hardware, which makes it potentially portable to any platform and/or C/C++ compiler.[3]
The operating system is built on top of a real-time cooperative quasi-static scheduler[4][5] based on a Time Triggered Architecture (TTA)[6] implementing a specialized Round-Robin scheme with a linked-chain and an event queue to provide true FIFO (First-In, First-Out) priority scheduling. This scheduling approach offers significant benefits over preemptive scheduling, since tasks manage their own life cycle, fewer re-entrance problems arise and tasks are not interrupted arbitrarily by other tasks but only at points defined by the programmer[7]. This allows users to build stable and predictable event-driven multitasking embedded software without having to worry about common pitfalls of concurrent approaches, such as resource sharing issues, race conditions, and deadlocks.[8]
The design goal of QuarkTS is to provide functionality using a small, simple, and robust implementation, making it ideal for resource-constrained microcontrollers. In such environments, a fully preemptive RTOS may be overkill[9], introducing unnecessary complexity in firmware development. Due to its size and feature set, QuarkTS is intended to bridge the gap between full-featured RTOSes and bare-metal programming. QuarkTS is tailored for embedded developers seeking more functionality than basic task schedulers offer, while avoiding the overhead and complexity of a full RTOS, yet still providing the robustness and safety typical of larger systems.
Key Features
[edit]- Prioritized cooperative scheduling.
- Time control (Timed tasks and software timers)
- Inter-Task communication primitives, queues, notifications and event-flags.
- State-Machines ( hierarchical support )
- Stackless Co-routines.
- AT Command Line Interface (CLI)
QuarkTS also complies with most of the Motor Industry Software Reliability Association (MISRA) MISRA-C-2012/MISRA-C++:2008[10] and the SEI CERT C coding standards in order to provide a safe, reliable, and secure foundation for embedded applications.
Supported Architectures
[edit]QuarkTS has no direct hardware dependencies, allowing it to be portable across many platforms and C compilers.[2]
The following cores have successfully proved to run QuarkTS:
- ARM cores(ATMEL, STM32, LPC, Kinetis, Nordic and others)
- 8Bit AVR, 8051, STM8, RL78/Gxx
- HCS12, ColdFire, MSP430
- PIC (PIC24, dsPIC, 32MX, 32MZ)
- Arduino support for all architectures (available from the Library Manager)
See also
[edit]References
[edit]- ^ "OSRTOS - Top Open Source Real-Time Operating Systems (RTOS)". www.osrtos.com. Retrieved 2024-10-09.
- ^ a b "QuarkTS OS". kmilo17pet.github.io. Retrieved 2024-10-11.
- ^ a b G.C, J. Camilo (2024-10-08), kmilo17pet/QuarkTS, retrieved 2024-10-09
- ^ Cortadella, Jordi; Kondratyev, Alex; Lavagno, Luciano; Passerone, Claudio; Watanabe, Yosinori (2002). "Quasi-Static Scheduling of Independent Tasks for Reactive Systems". In Esparza, Javier; Lakos, Charles (eds.). Application and Theory of Petri Nets 2002. Lecture Notes in Computer Science. Vol. 2360. Berlin, Heidelberg: Springer. pp. 80–100. doi:10.1007/3-540-48068-4_7. ISBN 978-3-540-48068-6.
- ^ Cortés, Luis Alejandro; Eles, Petru; Peng, Zebo (2004-02-16). "Quasi-Static Scheduling for Real-Time Systems with Hard and Soft Tasks". Proceedings of the Conference on Design, Automation and Test in Europe - Volume 2. DATE '04. USA: IEEE Computer Society: 21176. ISBN 978-0-7695-2085-8.
- ^ Pont, M. J. (2008-11-01). "Applying time-triggered architectures in reliable embedded systems: challenges and solutions". E & I Elektrotechnik und Informationstechnik. 125 (11): 401–405. doi:10.1007/s00502-008-0587-z. ISSN 1613-7620.
- ^ "Preemptive or Cooperative Multitasking?". www.on-time.com. Retrieved 2024-10-09.
- ^ "Understanding The Pros And Cons Of Concurrency". pwskills.com. 2024-10-03. Retrieved 2024-10-09.
- ^ "Unstop - Competitions, Quizzes, Hackathons, Scholarships and Internships for Students and Corporates". unstop.com. Retrieved 2024-10-09.
- ^ "MISRA". Retrieved 2024-10-09.
- in-depth (not just passing mentions about the subject)
- reliable
- secondary
- independent of the subject
Make sure you add references that meet these criteria before resubmitting. Learn about mistakes to avoid when addressing this issue. If no additional references exist, the subject is not suitable for Wikipedia.