43. References


RTEMS CPU Architecture Supplement. URL: https://docs.rtems.org/branches/master/cpu-supplement.pdf.


Dave Banham, Andrew Banks, Mark Bradbury, Paul Burden, Mark Dawson-Butterworth, Mike Hennell, Chris Hills, Steve Montgomery, Chris Tapp, and Liz Whiting. MISRA C:2012 Guidelines for the Use of the C Language in Critical Systems. MISRA Limited, March 2013. ISBN 978-1906400101.


Hans-J. Boehm. Can Seqlocks Get Along With Programming Language Memory Models? Technical Report, HP Laboratories, June 2012. HPL-2012-68. URL: http://www.hpl.hp.com/techreports/2012/HPL-2012-68.pdf.


Björn B. Brandenburg. Scheduling and Locking in Multiprocessor Real-Time Operating Systems. PhD thesis, The University of North Carolina at Chapel Hill, 2011. URL: http://www.cs.unc.edu/~bbb/diss/brandenburg-diss.pdf.


Björn B. Brandenburg. A Fully Preemptive Multiprocessor Semaphore Protocol for Latency-Sensitive Real-Time Applications. In Proceedings of the 25th Euromicro Conference on Real-Time Systems (ECRTS 2013), 292–302. 2013. URL: http://www.mpi-sws.org/~bbb/papers/pdf/ecrts13b.pdf.


A. Burns. Scheduling hard real-time systems: a review. Software Engineering Journal, 6:116–128, 1991.


A. Burns and A. J. Wellings. Real-Time Systems and Programming Languages: Ada, Real-Time Java and C/Real-Time POSIX. Addison-Wesley, November 2001. ISBN 978-0321417459.


A. Burns and A. J. Wellings. A Schedulability Compatible Multiprocessor Resource Sharing Protocol - MrsP. In Proceedings of the 25th Euromicro Conference on Real-Time Systems (ECRTS 2013). 2013. URL: http://www-users.cs.york.ac.uk/~burns/MRSPpaper.pdf.


Sebastiano Catellani, Luca Bonato, Sebastian Huber, and Enrico Mezzetti. Challenges in the Implementation of MrsP. In Reliable Software Technologies - Ada-Europe 2015, 179–195. 2015.


Felipe Cerqueira, Arpan Gujarati, and Björn B. Brandenburg. Linux’s Processor Affinity API, Refined: Shifting Real-Time Tasks towards Higher Schedulability. In Proceedings of the 35th IEEE Real-Time Systems Symposium (RTSS 2014). 2014. URL: http://www.mpi-sws.org/~bbb/papers/pdf/rtss14f.pdf.


Kuan-Hsun Chen, Georg von der Brüggen, and Jian-Jia Chen. Overrun Handling for Mixed-Criticality Support in RTEMS. In Mixed Criticality Systems - WMC 2016, 13–14. 2016. URL: http://ls12-www.cs.tu-dortmund.de/daes/media/documents/publications/downloads/2016-wmc.pdf.


Davide Compagnin, Enrico Mezzetti, and Tullio Vardanega. Putting RUN into practice: implementation and evaluation. In Proceedings of the 26th Euromicro Conference on Real-Time Systems (ECRTS 2014). 2014.


Ulrich Drepper. What Every Programmer Should Know About Memory. 2007. URL: http://www.akkadia.org/drepper/cpumemory.pdf.


Ulrich Drepper. ELF Handling For Thread-Local Storage. 2013. URL: http://www.akkadia.org/drepper/tls.pdf.


Hubertus Franke, Rusty Russel, and Matthew Kirkwood. Fuss, Futexes and Furwocks: Fast Userlevel Locking in Linux. In Proceedings of the Ottawa Linux Symposium 2002, 479–495. 2002. URL: https://www.kernel.org/doc/ols/2002/ols2002-pages-479-495.pdf.


Thomas Gleixner and Douglas Niehaus. Hrtimers and Beyond: Transforming the Linux Time Subsystems. In Proceedings of the Linux Symposium, 333–346. 2006. URL: https://www.kernel.org/doc/ols/2006/ols2006v1-pages-333-346.pdf.


Arpan Gujarati, Felipe Cerqueira, and Björn B. Brandenburg. Schedulability Analysis of the Linux Push and Pull Scheduler with Arbitrary Processor Affinities. In Proceedings of the 25th Euromicro Conference on Real-Time Systems (ECRTS 2013). 2013. URL: https://people.mpi-sws.org/~bbb/papers/pdf/ecrts13a-rev1.pdf.


J. Lehoczky, L. Sha, and Y. Ding. The rate monotonic scheduling algorithm: exact characterization and average case behavior. In Real-Time Systems Symposium, 166–171. 1989.


C. L. Liu and James W. Layland. Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment. Journal of the ACM, 20:46–61, 1973.


Jean-Pierre Lozi, Baptiste Lepers, Justin Funston, Fabien Gaud, Vivien Quéma, and Alexandra Fedorova. The Linux Scheduler: a Decade of Wasted Cores. In Proceedings of the Eleventh European Conference on Computer Systems (EuroSys ‘16). 2016. URL: https://hal.archives-ouvertes.fr/hal-01295194/document.


Motorola. Real Time Executive Interface Definition. Motorola Inc., Microcomputer Division and Software Components Group, Inc., January 1988. DRAFT 2.1. URL: https://ftp.rtems.org/pub/rtems/publications/RTEID-ORKID/RTEID-2.1/RTEID-2_1.pdf.


Lui Sha and J. B. Goodenough. Real-time scheduling theory and Ada. Computer, 23:53–62, 1990.


Lui Sha, Ragunathan Rajkumar, and John P. Lehoczky. Priority Inheritance Protocols: An Approach to Real-Time Synchronization. IEEE Transactions on Computers, 39:1175–1185, 1990.


G. Varghese and A. Costello. Redesigning the BSD callout and timer facilities. Technical Report, Washington University in St. Louis, November 1995. WUCS-95-23. URL: http://web.mit.edu/afs.new/sipb/user/daveg/ATHENA/Info/wucs-95-23.ps.


G. Varghese and T. Lauck. Hashed and Hierarchical Timing Wheels: Data Structures for the Efficient Implementation of a Timer Facility. In Proceedings of the 11th ACM Symposium on Operating Systems Principles. 1987. URL: http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf.


VITA. Open Real-Time Kernel Interface Definition. VITA, the VMEbus International Trade Association, August 1990. Draft 2.1. URL: https://ftp.rtems.org/pub/rtems/publications/RTEID-ORKID/ORKID-2.1/ORKID-2_1.pdf.


Anthony Williams. C++ Concurrency in Action - Practical Multithreading. Manning Publications Co, 2012. ISBN 978-1933988771.