[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1734263.1734428acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

Linux kernel projects for an undergraduate operating systems course

Published: 10 March 2010 Publication History

Abstract

In this paper, we present a series of programming projects based on the Linux kernel for students in a senior-level undergraduate operating systems course. The projects we describe cover several key operating systems concepts, including process scheduling, I/O scheduling, memory management, and device drivers. In addition, we assess these projects along several dimensions, from their difficulty to their capacity to help students understand operating systems concepts, based on six terms (three years) of detailed student exit surveys along with observations and anecdotal evidence. Through this assessment, we conclude that our Linux-based projects are an effective means by which to teach operating systems concepts and, additionally, that students' response to these projects is overwhelmingly positive.

References

[1]
E. Allen, R. Cartwright, and C. Reis. Production programming in the classroom. In Proc. SIGCSE, 2003.
[2]
C. Anderson and M. Nguyen. A survey of contemporary instructional operating systems for use in undergraduate courses. JCSC, 21(1), 2005.
[3]
D. Carrington and S.-K. Kim. Teaching software design with open source software. In Proc. FIE, 2003.
[4]
W. A. Christopher, S. J. Proctor, and T. E. Anderson. The Nachos instructional operating system. Technical Report CSD-93-739, University of California, Berkeley, 1993.
[5]
J. Corbet, A. Rubini, and G. Kroah-Hartman. Linux Device Drivers. O'Reilly Media, 3rd edition, 2005. Freely available at http://lwn.net/Kernel/LDD3/.
[6]
H. J. C. Ellis, R. A. Morelli, T. R. de Lanerolle, J. Damon, and J. Raye. Can humanitarian open-source software development draw new students to CS? In Proc. SIGCSE, 2007.
[7]
C. P. Fuhrman. Appreciation of software design concerns via open-source tools and projects. In Proc. ECOOP, 2006.
[8]
B. Lawson and L. Barnett. Using iPodLinux in an introductory OS course. In Proc. SIGCSE, 2008.
[9]
R. Love. Linux Kernel Development. Novell, 2nd edition, 2005.
[10]
J. Nieh and C. Vaill. Experiences teaching operating systems using virtual platforms and Linux. In Proc. SIGCSE, 2005.
[11]
M. Pedroni, T. Bay, M. Oriol, and A. Pedroni. Open source projects in programming courses. In Proc. SIGCSE, 2007.
[12]
A. S. Tannenbaum. A UNIX clone with source code for operating systems courses. SIGOPS OSR, 21(1), 1987.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '10: Proceedings of the 41st ACM technical symposium on Computer science education
March 2010
618 pages
ISBN:9781450300063
DOI:10.1145/1734263
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 March 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. kernel
  2. linux
  3. open source
  4. operating systems
  5. projects

Qualifiers

  • Research-article

Conference

SIGCSE10
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,595 of 4,542 submissions, 35%

Upcoming Conference

SIGCSE TS 2025
The 56th ACM Technical Symposium on Computer Science Education
February 26 - March 1, 2025
Pittsburgh , PA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)17
  • Downloads (Last 6 weeks)1
Reflects downloads up to 12 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Resources for Teaching Operating Systems: A Survey of Instructors and a Literature ReviewACM Transactions on Computing Education10.1145/368885324:4(1-28)Online publication date: 24-Oct-2024
  • (2024)A Flexible and Broad Operating System ProjectProceedings of the 2024 ACM Southeast Conference10.1145/3603287.3651190(27-34)Online publication date: 18-Apr-2024
  • (2021)SPIFSJournal of Computing Sciences in Colleges10.5555/3447080.344709336:3(111-120)Online publication date: 27-Jan-2021
  • (2019)Revitalizing the Linux programming course with GoJournal of Computing Sciences in Colleges10.5555/3381613.338162035:5(61-69)Online publication date: 1-Oct-2019
  • (2018)A User Space-based Project for Practicing Core Memory Management ConceptsProceedings of the 49th ACM Technical Symposium on Computer Science Education10.1145/3159450.3159581(98-103)Online publication date: 21-Feb-2018
  • (2018)A Systematic Map for Improving Teaching and Learning in Undergraduate Operating Systems CoursesIEEE Access10.1109/ACCESS.2018.28717686(60974-60992)Online publication date: 2018
  • (2015)Teaching Virtualization by Building a HypervisorProceedings of the 46th ACM Technical Symposium on Computer Science Education10.1145/2676723.2677254(424-429)Online publication date: 24-Feb-2015
  • (2015)Incorporating parallelism and high performance computing into computer science coursesProceedings of the 2015 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2015.7344410(1-9)Online publication date: 21-Oct-2015
  • (2015)More missing the Boat — Arduino, Raspberry Pi, and small prototyping boards and engineering education needs themProceedings of the 2015 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2015.7344259(1-6)Online publication date: 21-Oct-2015
  • (2014)A virtual graphics card for teaching device driver designProceedings of the 45th ACM technical symposium on Computer science education10.1145/2538862.2538895(555-560)Online publication date: 5-Mar-2014
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media