An Open Source Laboratory for Operating Systems Projects*

Download Report

Transcript An Open Source Laboratory for Operating Systems Projects*

An Open Source Laboratory for
Operating Systems Projects*
Mark Claypool, David Finkel, Craig Wills
Computer Science Department
Worcester Polytechnic Institute
Worcester, MA 01609, USA
* Partially
funded by the National Science Foundation
Course, Curriculum and Laboratory Improvement Grant
DUE9980803.
Computer Science Department
1
Overview
• Goal: Provide projects for students in
operating systems courses using a real
operating system
• Lab: Established a lab with PC’s running
Linux.
• Developed projects for two courses
• Evaluation
Computer Science Department
2
About WPI
•
•
•
•
•
•
Technological university in Massachusetts
Undergraduate enrollment of 2700
About 600 Computer Science majors
7-week undergraduate terms
Project orientation to curriculum and courses
Practical, career-oriented students
Computer Science Department
3
Systems Courses at WPI
•
•
•
•
Operating Systems, 3rd year course.
Distributed Computing Systems, 4th year
3 – 4 large scale programming assignments
In the past, course have used commercial
operating systems (Unix) or simulated
environments for programming assignments
• Lab has now been used in 4 course offerings
Computer Science Department
4
The F/OSL Lab
•
•
•
•
•
Free / Open Systems Lab (“Fossil”)
30 PCs, running Linux operating system
Protected from campus network by firewall
Custom CD-ROM for re-installing OS
Each machine assigned to a single student
group for the term; they have complete root
access to their machine, guest access to
other machines
Computer Science Department
5
Project 0
• Designed to familiarize students with
Linux, root access, OS utilities
• Cookbook style assignment
• Tasks:
– Set up a new user account
– Use find / grep to locate code
– Install a new file system, re-compile kernel
Computer Science Department
6
Project 1 (O.S.)
• Modify the Linux Scheduler
• Tasks:
– Locate, study the current scheduler
– Modify it to implement fair scheduling
– Compare the performance of standard
scheduling vs. fair scheduling
Computer Science Department
7
Project 2 (D.C.S.)
• Display contents of file system data
structures to user (i-node and superblock)
• Tasks:
– Write and register new system calls to extract
information from these data structures
– Develop a user application to call these system
calls and display the information
Computer Science Department
8
Evaluation
• Student Questionnaire in Traditional Course and
Fossil Course
• 1 – strongly disagree to 4 – strongly agree
• Responses:
– “I think the course material and projects helped me to
gain a good understanding of operating systems in
terms of the services they provide at the system call
level.”
Traditional Course: 3.0; Fossil 3.3
Computer Science Department
9
Evaluation 2
– “I think the course material and projects helped me to
gain a good understanding of operating systems
internals.”
Traditional Course: 2.9; Fossil: 3.3
– “I think the course material and projects gave me
experience that would help me write or modify portions
of an operating system.”
Traditional Course: 2.6; Fossil: 3.1
Computer Science Department
10
Evaluation 3
• Open-ended responses:
– “Making alterations to the Linux kernel taught me far
more than any other part of the course.”
– “When the kernel crashed, we had to manually reboot the
system, which took an awful lot of time.”
– “I have seen people take other OS courses and they did not
dive into the material as far as we did because they will
not let you modify the OS on any of the school servers.”
Computer Science Department
11
Instructors’ Evaluation
• Many students appreciated the challenge of
working with a real operating system
• Weaker students needed a lot of help. The
TAs were available in the lab, and had to
exercise some judgment about how much
help to give
• A lot of work for the instructors, too
Computer Science Department
12
Conclusions
• Implemented a lab that allowed students to
work on operating systems internals
• Developed a variety of projects to
demonstrate different OS principles
• Future: Institute different kinds of support
mechanisms for students of different levels
of background, ability.
Computer Science Department
13
Shameless Advertisement
We have applied for NSF support for
workshops for Summers of 2002, 2003 to
work with O.S. instructors to develop
projects for their courses using the Open
Source Projects approach.
If you’re interested in participating, contact:
[email protected]
Computer Science Department
14
An Open Source Laboratory for
Operating Systems Projects*
Mark Claypool, David Finkel, Craig Wills
Computer Science Department
Worcester Polytechnic Institute
Worcester, MA 01609, USA
{claypool | finkel | cew}@cs.wpi.edu
* Partially
funded by the National Science Foundation
Course, Curriculum and Laboratory Improvement Grant
DUE9980803.
Computer Science Department
15