CMSC 312: Introduction to Operating Systems

Fall 2007

Instructor: Dr. Ju Wang ( jwang3@vcu.edu )
                    Office: 406 Eng Bldg.
                    Phone: 827-4002

Class meetings: Tuesday and Thursday, 2:00-3:15,

Class Room:      ENG Building-401.

Office Hours:       MW 2:00PM-3:00PM


Contents

Course Syllabus     |   Course Description   |   Exam   |   Assignments

Lecture Notes   |   Useful Links   |   Announcement   |   Frequently Used Unix Command


 


Homeworks

Submission format: email your source code to TA unless noticed otherwise.

TA: Wenan Chen, chenw6@vcu.edu

Office: B4 of School of Engineering

HW#1:

1.   write a Java program to create 4 concurrent threads. Each threads will repeatedly print out “this is thread xx”, where xx is a number from 1 to 4 based on the order the thread is created.

2.   Create a subdirectory firstname_lastname under /home/cmsc312 at the Linux server. Upload the .class files for the program you created.

Due: Sep 11. 

HW#2:

1.                           write a C program to create N (N>5) concurrent processes. The first child process execute an “ls” command. The other child processes will repeatedly print out “this is process xx” 100 times, where xx is PID. The integer number N is read from screen. Find out the largest N value before the system become unstable.

2.                           Use pthread to redo HW#1.1

Due: EXTENDED Oct 2. 

HW#3:

1.                           Using Monitor or Semaphore to solve Dining Philosopher Problem. Reference code.

2.                           Do questions 7.3, 7.4, 7.8. scanned , more pages from chap7 that is not in the new edition.

Due Oct 24.

HW#4: Term project: simple shell emulation. Project Due: Dec 6

HW#5: Do questions 8.5, 8.13 and 8.14 at the end of chapter 8 (Deadlocks). Scanned version.

HW#6: write a program to test the largest file you can create. And report how long it take to create such  a file. Due Dec 6.


Useful Links

Tools and Programming


Announcements

·        

·      Final Examine date: Tue, Dec 11, 1:00-3:00pm

·       How to add a new Linux System call:

·       Example IO Device Driver

·       Study Guide for final examine.

·       Nov 26, I will be out of town this Tuesday, the class will be used as project day. Mr. Ashwin will be in the class and answer some of the questions you might have.

·       Nov 8, Network programming with Socket interface

o     Simple java server program

o     Simple java client program

o     Bring your laptop computer next Tuesday.

·       Oct 30, read chapter 8: deadlocks

o     Banker’s algorithm

·       Oct 16, midterm is on Oct 23.

o     Study guide and sample questions.

·       Oct 2, reading task: old book at chapter 7

o     Synchronization hardware

o     Semaphores

o     Critical region

o     Monitor

·       Sep 18, a simplified thread_test2.cpp is now available at the cmsc312 directory.

·       Sep 17, Tutorial for C/C++ programming, C++ helloworld example with many comments, and some common Unix command.

o     Due to the unavailability of computer room, Tuesday’s class will still be hold at room 401. We will walk through the tutorial. Bring your own laptop computer will be a good idea.

·       Sep 14,

o     Due to certain issue of using the c compiler, the HW2 will be extended to Oct 2.

o     We will have 2 lab lecture next week about C programming, detail will be announced when the lab room is decided.

o     The lab tutorials will also introducing the using of LINUX machine and nano editor.

o     The tutorial will be uploaded soon before the class.

o     The C program will need to be created and tested on the LINUX server. It will most likely not working on the window machines.

·       Sep 13,

o       Some self-test questions on the web: http://www.techinterviews.com/?p=170

·       Sep 6,

o       Linux system call reference

o       Read: Chapter 5, Threads

o       TA office hours: 10:00 to 12:00 am on Tuesday. The location is in the basement, B4 of School of Engineering.

·       Sep 4,

o       Here is the group information

·       Aug 28,

o     Reading assignment: Chapter 1, 2, 3, 4.

o       Linux access information is HERE

o       SSHClient Software Download