CS370: Operating Systems
[Fall 2018]

csu-logo
red-line
{Announcements} {Syllabus} {Grading} {Schedule} {Assignments} {Piazza}

{Home}

Assignments

All assignments are due at 5:00 PM on the due date. There is a late penalty of 10% per-day for up to a maximum of 2 days. All assignments will be posted at least 2 weeks prior to its due date. We will have a mix of both written and programming assignments. All assignments will be posted on this page.

All assignments should be submitted using Canvas.








Assignment 1: Memory Allocations/deallocations and Avoiding Resource Leaks

The objective of this assignment is a simple refresher on memory allocations and deallocations using C while avoiding resource leaks. This assignment will account for 5 points towards your final course grade. More details are available here.

Skeleton code is available here. Also, here's a sample Makefile.


Posted: 08/21/2018
Due: 09/05/2018 @ 5:00 pm









Assignment 2: Fork(), exec(), and wait() System Calls

The objective of this assignment is to get you to use the fork(), exec(), and wait() system calls on Unix. This assignment will account for 5 points towards your final course grade. More details are available here.



Posted: 08/30/2019
Due: 09/19/2018 @ 5:00 pm









Assignment 3: InterProcess Communications using Shared Memory and Pipes

The objective of this assignment is to get you to be comfortable with Shared Memory and Pipes for Inter Process Communications on Unix. This assignment will account for 5 points towards your final course grade. Additional details can be found here.

 

Posted: 09/05/2018
Due: 09/26/2018 @ 5:00 pm












Assignment 4: Concurrency Control Using Threads

This is an assignment on concurreny control using Threads to solve the producer-consumer problem with a bounded buffer. This assignment will account for 10 points towards your final course grade. Additional details about this assignment are available here


Posted: 09/18/2018
Due: 10/10/2018 @ 5:00 pm









Assignment 5: CPU Scheduling Algorithms

The objective of this assignment is to get you comfortable with different CPU scheduling algorithms. You will be implementing multiple scheduling algorithms some with support for preemption while tracking measures of scheduling effectiveness. Additional details about this assignment are available here.

Skeleton code for reading input file and generating output file.

Posted: 10/15/2018
Due: 11/07/2018 @ 5:00 pm

 

sample_input  FCFS   SJF  PRIORITY  















Term Project: Raspberry Pi and Computing at the Edges

The term project component of the course requires you to leverage the Raspberry Pi. The project involves multiple deliverables to ensure that you are making sustained progress on your term project throughout the semester.  The term project will account for 10 points towards your final course grade. Additional details about this term project are available here.

Posted: 08/22/2018

TP-D1 due 08/29/2018 
TP-D2 due 10/17/2018
TP-D3 due 12/05/2018 















Department of Computer Science, Colorado State University,
Fort Collins, CO 80523 USA
© 2018 Colorado State University