CS 4540 Operating Systems

Spring 2013

Date Reading Topics and Lecture Slides Examples & Assignments
01/08 Link to download VirtualBox
Link to download ubuntu 12.04 LTS (check if my computer is 32-bit or 64-bit)
Installing Ubuntu inside Windows using VirtualBox
Shell basics
online C tutorial
Course Information
Download and Install Linux

01/10 Makefile tutorial (replace .cpp with .c and g++ with gcc for C programs) C programming review
Compile and run C programs in Linux
addresses and pointers
pointers and arrays
linked list
sample Makefile
01/15 Read Chapter 1 Intruduction to Operating Systems: Chapter 1
01/17 Read Chapter 2 OS structures: Chapter 2 Error message from system call
01/22 Read 3.1-3.3 Process Management: Chapter 3-1 fork a new process
01/24 Read 3.4 Process Communication via Shared Memory: Chapter 3-2 (obsolete)
01/29 Process Communication via Shared Memory: Chapter 3-2 (updated) shared memory
gcc test.c -o test -lrt
01/31 Class canceled
02/05 Finish reading Chapter 3 Process Communication via Pipe: Chapter 3-3 pipe
ex_fifo_producer, ex_fifo_consumer
02/07 Read Chapter 4 Threads: Chapter 4 threads example 1
threads example 2
gcc test.c -o test -lpthread
02/12 Read 5.1-5.6 Process Synchronization: Chapter 5-1
02/14 Read 5.7 Process Synchronization: Chapter 5-2 semaphore examples:
related processes 
unrelated processes: server, client
02/19 Read 5.8-5.11 Process Synchronization: Chapter 5-2 (Revised) mutex
conditional variable
02/20 Read Chapter 6 CPU Scheduling: Chapter 6-1
02/28 Midterm Exam in class (1-2pm, close book)  Midterm Exam Midterm Exam
03/12 Read 8.1-8.3 Main Memory: Chapter 8-1
03/19 Read  8.4-6, 8.9 Main Memory: Chapter 8-2
03/21 Read 9.1-9.6, 9.8, 9.9, 9.11 Virtual Memory: Chapter 9-1, Chapter 9-2
03/26 Read Chapters 11  File Systems: Chapter 11
03/28 Read Chapters 10 and 12 File Systems: Chapter 10, Chapter 12
04/02 Read Chapter 14 Protection: Chapter 14
04/04 Read Chapter 15
Read Chapters 4-6 in Linux Kernel Development
Security: Chapter 15
04/09 Read Chapter 17 Distributed Systems: Chapter 17-1
04/11 Read Chapter 17 Distributed Systems: Chapter 17-2

General Course Information
Lecture instructor
    Dr. James Yang  (email:  zijiang.yang@wmich.edu)
    Lecture Hours: Tues/Thurs 1:00-2:15 (in room C-141)
    Office hours:  Tues/Thurs  2:15-3:00 (in room B-257)
Hao Li Email: hao.81.li@wmich.edu

Course  Syllabus 

   Dates to note

01/11/13 (Monday) - Drop/add ends
03/04-03/08            - Spring break
03/10/13 (Monday) - Midterm grades due
03/18/13 (Monday) - Last day to withdraw
04/25/13 (Thursday) - Final exam 2:45-4:45

    * Required Text:
      Operating System Concepts, 9th edition, Silberschatx, Galvin, and Gagne, Wiley, ISBN 9781118063330, 2012
    * Required Text
      Linux Kernel Development, 3nd ed., Robert Love, Novell, ISBN 0672329468, 2010
    * Recommended Text
      The C Programming Language (2nd Edition, ANSI C) Brian W. Kernighan, Dennis M. Ritchie. Prentice Hall PTR; ISBN: 0131103628;

Zipping your project/app (folder of files/folders)
To zip a project folder using 7-zip (installed on lab machines)
      - right-click the folder & select 7-zip / Add to archive
           [free download of 7-zip www.7-zip.org, it you want it]
      - change file name extension to .zip (for asgn submission), click OK
          [E-Learning only accepts .zip files, not  .7z files]
OR zip using Windows
      - right-click the folder & select Send to / Compressed  (zipped) Folder

To unzip a project/app
    - right-click the zipped folder & select 7-zip / Extract here
Submitting assignments using E-Learning (in gowmu)
    see:  HowToSubmit.txt
    [Zipped file must have .zip extension, not .7z extension].
help for general CS/computer/software issues
    CS Student Computer Support (room C-208)
    CS Department SysAdmin (room C-218)
    WMU Computer Help Desk (main campus)
WMU Computer-related clubs
     WMU Computer Club (main campus)
            (weekly meetings, bi-weekly presentations)
CS Undergraduate Advising
    Dr. Kerstetter & Dr. Kaminski
    Call (276-3270) or visit (E-102) CEAS Advising for appointment