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
Link To Document