• DocumentCode
    351807
  • Title

    The design and construction of a user-level kernel for teaching multithreaded programming

  • Author

    Bedy, Michael J. ; Carr, Steve ; Huang, Xianglong ; Shene, Ching-Kuang

  • Author_Institution
    Dept. of Comput. Sci., Michigan Technol. Univ., Houghton, MI, USA
  • Volume
    2
  • fYear
    1999
  • fDate
    10-13 Nov. 1999
  • Abstract
    Multithreading is a powerful programming paradigm that has become very popular. The authors have developed a set of course materials and software tools for effectively teaching multithreaded programming (MTP). One important component of the authors´ system is a very simple user-level kernel for instructors to teach MTP without getting into system details, and for the students to add extensions. This paper presents the design and implementation of this kernel as well as its use in the classroom. This minimal user-level kernel employs a first-come-first-served scheduling policy, and permits a user to create and join threads, and use mutex locks. With this kernel, students are able to implement semaphores, barriers, reader-writer locks, mail-boxes and condition variables. This approach has two advantages: (1) students can easily learn the basics and internals of a kernel that supports MTP, and (2) conventional debuggers can be used for debugging purposes, because the kernel is a user-level program.
  • Keywords
    computer science education; multi-threading; barriers; condition variables; context switching; course materials; data structure; debuggers; first-come-first-served scheduling policy; mail-boxes; minimal user-level kernel; multithreaded programming teaching; mutex locks; reader-writer locks; semaphores; software tools; synchronization primitives; user-level kernel; user-level program; Computer science; Debugging; Education; Kernel; Materials science and technology; Multithreading; Operating systems; Software tools; Visualization; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Frontiers in Education Conference, 1999. FIE '99. 29th Annual
  • Conference_Location
    San Juan, Puerto Rico
  • ISSN
    0190-5848
  • Print_ISBN
    0-7803-5643-8
  • Type

    conf

  • DOI
    10.1109/FIE.1999.841728
  • Filename
    841728