COSC 125 Operating Systems

Spring 2006



Lectures:
MWF 1:00PM - 1:50PM Cudahy 137
Office Hours:
Course instructor
  Prof. Dennis Brylow   Mon 3:00PM - 4:00PM Cudahy 380
Mon 7:00PM - 8:00PM Cudahy 380
Wed 3:00PM - 4:00PM Cudahy 380
Fri 11:00AM - 12:00PM Cudahy 380

Textbooks:
The C Programming Language, second edition. Brian Kernighan and Dennis Ritchie. Prentice Hall.
Operating Systems Concepts, seventh edition. Abraham Silberschatz, Peter Galvin, and Greg Gagne. Wiley.
We will make our way quickly through The C Programming Language by Kernighan and Ritchie, (which is traditionally referred to simply as "K&R" by those in the know,) to get up to speed on C programming. The text is a remarkably elegant introduction to what remains the standard language of systems programming, written by the men who designed C and UNIX. We will move more slowly through Operating Systems Concepts.    It is a large book filled with copious examples of real-world operating system components; a second, advanced operating systems course would be able to make it the rest of the way through the book. Readings will be regularly assigned from the textbooks.    Lectures will assume that students have already read the assigned chapters.   In addition, some of the written homework problems may be assigned out of the book.   Some of these problems also make excellent exam questions.

Course Outcomes:
Upon completing this course, students will be able to:
  • Understand the basic concepts of operating system process control, synchronization, and scheduling;
  • Understand the concepts and technologies involved with operating system memory management, secondary storage, and file systems;
  • Design and modify the components of an operating system;
  • Read and write programs in the C language.

  • Grading Policy:
    Projects 60%
    Pop Quizzes 5%
    Exam #1 10%
    Exam #2 10%
    Exam #3 15%
  • Students must pass BOTH the exam portion of the grade AND and the project portion of the grade to pass the course overall.
  • Assignments are to be completed individually, except when specifically noted otherwise. You may discuss course topics with your collegues, but written work and programmed code is not to be shared.
  • Academic dishonesty (claiming another person's work as your own) will not be tolerated. Infractions will result in immediate failure of the course, and referral to the Dean's office.
  • If you are not certain what constitutes fair play and what will be considered academic dishonesty, please ask the instructor.
  • Schedule:
    Week Topics Readings Demos Assignments
    01 Introduction, C basics K&R Ch 1,2 #1 C Basics
    02 C functions, control flow K&R Ch 3,4
    03 C pointers, arrays, structs K&R Ch 5,6;
    Dino Ch 1
    #2 C Control Flow
    04 C Input/Output, Libraries K&R Ch 7,8;
    Dino Ch 2
    #3 Driver
    05 Processes, Threads Dino Ch 3, 4 Exam #1
    06 Scheduling Dino Ch 5 #4 Process Control
    07 Synchronization Dino Ch 6 #5 Scheduling
    08 Deadlock Dino Ch 7 #6 Synchronization
    Spring Break
    09 Memory Management Dino Ch 8 #7 Memory Management
    10 Virtual Memory Dino Ch 9 Exam #2
    11 File Systems Dino Ch 10 #8 Virtual Memory
    12 File Systems
    Easter Break
    Dino Ch 11
    13 Mass Storage Dino Ch 12 #9 File System
    14 I/O Systems Dino Ch 13
    15 Advanced Topics
    Final Exam #3
    The instructor reserves the right to adjust this schedule as necessary.

    Back