State of the Art Multi-Core Operating Systems



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.


Memory Allocation Physical Memory Virtual Memory Schedule Class Memory Page 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Brooks F P (1995) The Mythical Man Month and Other Essays on Software Engineering, Addison WesleyGoogle Scholar
  2. 2.
    Tanenbaum A S, Woodhull A S (2008) Operating Systems Design and Implementation. Pearson EducationGoogle Scholar
  3. 3.
    Silberschatz A (2009) Operating System Concepts. John Wiley & SonsGoogle Scholar
  4. 4.
    Tanenbaum A S (2007) Modern Operating Systems: International Version. Pearson EducationGoogle Scholar
  5. 5.
    Krten R (1998) Getting Started with QNX 4: A Guide for Realtime Programmers. Parse Software DevicesGoogle Scholar
  6. 6.
    Enea (2010) Enea OSE: Multicore Real-Time Operating System (RTOS). Accessed 11 January 2011Google Scholar
  7. 7.
    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-266Google Scholar
  8. 8.
    Knowlton K C (1965) A Fast Storage Allocator. Communications of the ACM 8(109:623-625zbMATHCrossRefGoogle Scholar
  9. 9.
    Bonwick J (1994) The Slab Allocator: an Object-caching Kernel Memory Allocator. Proceedings of the Usenix Summer 1994 Technical Conference: 6Google Scholar
  10. 10.
    McDougall R, Mauro J (2007) Solaris Internals. Solaris 10 and OpenSolaris Kernel Architecture. Prentice HallGoogle Scholar
  11. 11.
    Operating System share for 06/2010. Accessed 11 January 2010Google Scholar
  12. 12.
    Mauerer W (2008) Professional Linux Kernel Architecture. Wiley PublishingGoogle Scholar
  13. 13.
    Aas J (2005) Understanding the Linux CPU Scheduler. linux_cpu_scheduler.pdf, Accessed 11 January 2011Google Scholar
  14. 14.
    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:Google Scholar
  15. 15.
    Microsoft Corporation (2009) Mark Russinovich: Inside Windows 7 (video interview). Accessed 11 January 2011Google Scholar
  16. 16.
    Russinovich M, Solomon D A (2009) Windows Internals 5th Edition (PRO-Developer). Microsoft PressGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  1. 1.Oy L M Ericsson AbJorvasFinland

Personalised recommendations