Docstoc

An Open Source Laboratory for Operating Systems Projects

Document Sample
An Open Source Laboratory for Operating Systems Projects Powered By Docstoc
					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:
             dfinkel@cs.wpi.edu

                              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

				
DOCUMENT INFO