Abstract
Operating system s represent the software foundation that enables applications to make use of the hardware resources of the computer in an efficient way. In this chapter we introduce the main roles of an operating system and will discuss in detail the two features most relevant from programming perspective: scheduling of threads for execution on available processor cores and resource management, primarily virtual and physical memory management in a multi-core context. We illustrate these concepts through the three dominant operating systems in use today: Linux , Solaris and Windows, with particular emphasis on thread and memory handling.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Brooks F P (1995) The Mythical Man Month and Other Essays on Software Engineering, Addison Wesley
Tanenbaum A S, Woodhull A S (2008) Operating Systems Design and Implementation. Pearson Education
Silberschatz A (2009) Operating System Concepts. John Wiley & Sons
Tanenbaum A S (2007) Modern Operating Systems: International Version. Pearson Education
Krten R (1998) Getting Started with QNX 4: A Guide for Realtime Programmers. Parse Software Devices
Enea (2010) Enea OSE: Multicore Real-Time Operating System (RTOS). http://www.enea.com/Templates/Product____27035.aspx. Accessed 11 January 2011
Engler D R, Kaashoek M F, O’Toole Jr J (1995) Exokernel: An Operating System Architecture for Application-Level Resource Management. Proceedings of the 15th ACM Symposium on Operating Systems Principles: 251-266
Knowlton K C (1965) A Fast Storage Allocator. Communications of the ACM 8(109:623-625
Bonwick J (1994) The Slab Allocator: an Object-caching Kernel Memory Allocator. Proceedings of the Usenix Summer 1994 Technical Conference: 6
McDougall R, Mauro J (2007) Solaris Internals. Solaris 10 and OpenSolaris Kernel Architecture. Prentice Hall
Operating System share for 06/2010. http://www.top500.org/stats/list/35/os. Accessed 11 January 2010
Mauerer W (2008) Professional Linux Kernel Architecture. Wiley Publishing
Aas J (2005) Understanding the Linux 2.6.8.1 CPU Scheduler. http://joshaas.net/linux/ linux_cpu_scheduler.pdf, Accessed 11 January 2011
Nellans D, Sudan K, Balasubramonian R, Brunvand E (2010) Improving Server Performance on Multi-Cores via Selective Off-loading of OS Functionalility. Proceedings of the 10th Workshop on Interaction between Operating Systems and Computer Architecture:
Microsoft Corporation (2009) Mark Russinovich: Inside Windows 7 (video interview). http://channel9.msdn.com/shows/Going+Deep/Mark-Russinovich-Inside-Windows-7. Accessed 11 January 2011
Russinovich M, Solomon D A (2009) Windows Internals 5th Edition (PRO-Developer). Microsoft Press
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Vajda, A. (2011). State of the Art Multi-Core Operating Systems. In: Programming Many-Core Chips. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-9739-5_3
Download citation
DOI: https://doi.org/10.1007/978-1-4419-9739-5_3
Published:
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4419-9738-8
Online ISBN: 978-1-4419-9739-5
eBook Packages: EngineeringEngineering (R0)