Operating System Design; class projects
Spring Semester 2004
  Winter Style | Home » Old » School Projects » Operating System Design projects
 
 

After years (two, to be exact ;) of abstract principles and programming theories, I finally got to a class that asked for actual programs :D Although the assignments called for simple command-line applications, I thought this would be a good time to practice my interface building skills and also get some familiarity with C# and .NET.

I’m a great fan of Charles Petzold and his books so, when I start to learn a new API, I like to skip the wizards in favor of programming directly so I can see what’s really going on behind the scenes. These programs were written in one to three weeks using this style of interface programming and are the first programs I wrote in C#, which is why I’ve included them on this site. Each download includes the assignment that was given to us, my explanation of the program that I wrote for the teacher, and the program itself (along with any files required to run it).

Our first assignment was to create a CPU Scheduler simulator, implementing the four standard types of scheduling algorithms. From start to finish it took two weeks to design and program and, though rather simple, I think it’s fun to watch the queues as the processes fill them up and move around :)

Next we were asked to simulate the Dining Philosophers problem of sharing limited resources among multiple processes. Since I used the base of the CPU Scheduler to create this project, it only took about a week to program, more or less. Originally, I had thought about drawing an overhead view of the table with philosophers sitting around it, but decided against it as other school work got in the way :)

For our final project we were asked to design and program a working Memory Manager. Unfortunately, I underestimated how long the design would take me and ended up rushing through the finishing touches of my design document and the final stages of the program. Although there are some minor problems with the program, I’m still happy with how it turned out.

 
 
Go back a page |  CPU Scheduler,  Source Code |  Dining Philosophers,  Source Code |  Memory Manager,  Source Code | Resume Entry | @ | Copyright © 2004-2011 Paul A Hansen. Some rights reserved.