Process Management in Embedded Systems
Chapter 5 covers process management. It introduces the concept of processes and demonstrates the basic technique of multitasking by context switching. It shows how to create processes dynamically and discusses the goals, policy and algorithms of process scheduling. It covers process synchronization and shows how to implement the various kinds of process synchronization mechanisms, which include sleep/wakeup, mutexes and semaphores. It shows how to use the process synchronization mechanisms to implement event-driven embedded systems. It discusses interprocess communication schemes, which include shared memory, pipes and message passing. It shows how to integrate these concepts to implement a uniprocessor (UP) kernel for process management, and it shows the programming techniques for both non-preemptive and preemptive process scheduling. The UP kernel serves as the foundation for developing complete operating systems in later chapters.
- Accetta, M. et al., “Mach: A New Kernel Foundation for UNIX Development”, Technical Conference - USENIX, 1986.Google Scholar
- ARM toolchain: http://gnutoolchains.com/arm-eabi, 2016.
- Bach, M. J., “The Design of the Unix operating system”, Prentice Hall, 1990.Google Scholar
- Buttlar, D, Farrell, J, Nichols, B., “PThreads Programming, A POSIX Standard for Better Multiprocessing”, O’Reilly Media, 1996.Google Scholar
- Dijkstra, E.W., “Co-operating Sequential Processes”, in Programming Languages, Academic Press, 1965.Google Scholar
- Hoare, C.A.R, “Monitors: An Operating System Structuring Concept”, CACM, Vol. 17, 1974.Google Scholar
- IBM MVS Programming Assembler Services Guide, Oz/OS V1R11.0, IBM, 2010.Google Scholar
- Lampson, B; Redell, D. (June 1980). “Experience with processes and monitors in MESA”. Communications of the ACM (CACM) 23 (2): 105–117, 1980.Google Scholar
- OpenVMS: HP OpenVMS systems Documentation, http://www.hp.com/go/openvms/doc, 2014.
- Pthreads: https://computing.llnl.gov/tutorials/pthreads/, 2015.
- QEMU Emulators: “QEMU Emulator User Documentation”, http://wiki.qemu.org/download/qemu-doc.htm, 2010.
- Silberschatz, A., P.A. Galvin, P.A., Gagne, G, “Operating system concepts, 8th Edition”, John Wiley & Sons, Inc. 2009.Google Scholar
- Stallings, W. “Operating Systems: Internals and Design Principles (7th Edition)”, Prentice Hall, 2011.Google Scholar
- Tanenbaum, A. S., Woodhull, A. S., “Operating Systems, Design and Implementation, third Edition”, Prentice Hall, 2006.Google Scholar
- Versatilepb: Versatile Application Baseboard for ARM926EJ-S, ARM Information Center, 2016.Google Scholar
- Wang, K.C., “Design and Implementation of the MTX Operating Systems, Springer International Publishing AG, 2015.Google Scholar