CS 1550: Introduction to Operating Systems

Programming Assignment #1: Installing an Operating System

Due Date: Friday, Jan 23, 2004, 5pm

The Basics

The goal of this assignment is to get everyone up to speed on system installation and to gain some familiarity with the process and woes of installing and operating system. A secondary goal is to use some of the system administration (sys admin) tools provided in the Unix environment. In this assignment you are to install an Operating System; talk to your friends, read newsgroups, search the web. Choose a unix-based operating system: Linux, some BSD variant (FreeBSD, OpenBSD, etc), Solaris, OS X, you name it.

The requirements for completing this assignment successfully are the bullets described under The Rest. If you want to experiment further (and you should!), play with the OS, read the kernel, read on how methodologies to do kernel debugging (understand why it is difficult), read on how to create kernel modules, read onhow to to compile replace a kernel for testing (e.g., why you should keep the old version in place), how to create a multi-OS environment, etc. In summary, prepare yourself for the times to come.

The Rest

You will need a PC with a CD-RW drive and a blank CD. You should have a fast internet connection (or friends or cash to pay for the CD distribution). After you choose your favorite Operating System, you should choose your favorite distribution (e.g., Linux has several sites that offer OSs with different types of installation scripts, tools, and facilities). For example, if you're going to use FreeBSD: This project is to be individually. You are not allowed to ask questions (friends or live chat), unless you're really stuck. Most of the questions you might have will be found on the Web, and it is an important part of your training.