Category:Operating Systems Concepts

From SOFTICE

Jump to: navigation, search


This page provides pedagogical material for undergraduate "Operating Systems Concepts" 3 credits courses. Such courses are meant as a introduction to the algorithms, concepts, techniques and internals of operating systems. They are taught at USF as COP 4600 (CS version) and COP 4610 (IT version).

This page will host two types of resources for instructors and students:

  • A case study assignment which wasn't developed as part of the SOFTICE grant but which is meant to complement the above-mentioned laboratories in order to develop students' undergraduate research and critical thinking skills.
  • As part of the SOFTICE grant, a series of laboratories was developed and is made available in the section below. These laboratories leverage the possibilities offered by virtualization technologies to enhance the hands-on experience of students in this course.

You will notice that there are two approaches to using these labs in an operating system course. We recommend for students and instructors to use the first one presented below. It allows students to work on their own machine after downloading a VMware appliance. The alternative requires the instructor to set up a server for students to work on. In addition to the convenience of working on their own system, the former solution uses a newer kernel version.

Please contact Alessio if you are interested in adopting / adapting this material for your own courses or if you have questions not addressed on these wiki pages.


Operating Systems Case Study Assignment

The rationale for using a case study assignment in an operating system course has been discussed in one of our publication ("The case for case study assignments in undergraduate OS courses", A. Gaspar, S. Langevin, EIAE 2006) available on our Publications wiki page.

The following page (OSC: Case Study Assignment) provides hands-out for students and instructions to organize such an assignment in your own operating system course.


SOFTICE Laboratories (Using the SOFTICE OS-Labs virtual appliance)

This page documents the SOFTICE's OSC laboratories. These are meant to be used as 1 credit (roughly 3hrs/ week sessions) complement a 3 credits undergraduate course in Operating Systems Concepts (e.g. COP 4600). The laboratories are meant to be ran in parallel with the course, however they can be used as open / closed labs or even assignments in a lecture-only setting. Wiki pages below will detail how to use, prepare for these labs a well as provide further technical or pedagogical pointers.

You can work on these labs in two different ways; 1. By using a SOFTICE server setup by your instructor. See the next section for this approach 2. By Downloading our SOFTICE VMware OS Labs Image.

This section discusses the latter possibility. It allows students to work on the OS Labs without the need for a Linux server hosting our material. This should be a good solution for independent learners or instructors not interested in hosting their students' VMs on a server. The VMware image runs on Windows or Linux PCs. Follow this link for a download link and step by step setup instructions.

For Instructors:

For Students:


lab#00 Introduction Softice's OSC Labs
lab#01 System Calls Interception
lab#03 User-kernel space communication
lab#04 Synchronization
lab#05 Device Drivers
lab#06 Memory Management

You will notice that this list of labs is shorter than the one originally developed for the grant. The labs that were removed are being worked on to be adapted to the newer kernel version (2.6.24.3 vs. 2.6.16.20) used by the SOFTICE OS-Labs virtual appliance compared to the User Mode Linux (UML) virtual machines students used on our server.

Update -- As of 11/16/2008, the above labs are being re-edited on the wiki to reflect the modifications required by our move to the new virtual appliance approach. These should be finalized before the next term. In the meantime the old labs are available below. Alessio 16:38, 16 November 2008 (EST)

SOFTICE Laboratories (Using a SOFTICE server)

This section contains the original laboratories which were developed in the SOFTICE grant. They require you to set up a SOFTICE server to which students will connect to run User Mode Linux (UML) virtual machines as described in the labs below.

For Instructors:

For Students:


lab#00 Introduction Softice's OSC Labs
lab#01 System Calls Interception
lab#02 Stealth Processes & PCBs
lab#03 User-kernel space communication
lab#04 Synchronization
lab#05 Device Drivers
lab#06 Memory Management
lab#07 File Systems
lab#08 Hiding files & directories

Articles in category "Operating Systems Concepts"

There are 42 articles in this category.

A

D

H

K

N

O

O cont.

O cont.

R

S

U

Personal tools