STATE UNIVERSITY OF NEW YORK

COLLEGE AT OLD WESTBURY

 

CS5610                                                                         Dr. A. Ebrahimi

Operating Systems                                                      Office:   K106 CC - MW 12:30-1:30

Fall 2003 (T/TH 2:30-4:00                                                          (or by appointment)

                Computer Lab K Wing)                                               D222 AV - MW 5:00 -6:00

                                                                                     Phone: (516) 876-3089

 

E-mail: ebrahimi@juno.com, ebrahimia@oldwestbury.edu

Site: www.drebrahimi.com

Text: Operating System Concepts Silberschatz, Baer, Gagne

Reference: C++ Programming Easy Ways (Volume 1 & 2) Dr. A. Ebrahimi, American Press

Main Topics:

History - Past, Present, and Future of Operating Systems

File Systems

CPU Scheduling Algorithms (Round Robin, FCFS, Priority, SJF, Preemptive, Multi-level Feedback Queue)

Memory Management Algorithms (Bare Machine, Swapping, Multiple Partition, 6 region, Fragmentation,   Fixed and Variable Partitioning, Compaction, Paging, Page Table, Segmentation, Implementation of Page Table, Segmented Paging, Page Segmentation, Virtual Memory, Overlays, Demand Paging, Page Fault, Performance of Demand Paging)

Page Replacement Algorithms (FIFO, Optimal Replacement, Least Recently Used, Least Recently Used Approximation, Second Chance Replacement, Least Frequently Used, Most Frequently Used, Frames, Working Set Model, Page Fault Frequency, Page Size)

Memory Hierarchy

Deadlock Problems - Characterization of Deadlock, Deadlock Detection and Prevention (Mutual Exclusion, Hold and Wait)

Concurrent Processes - Precedence Graph, Fork and Join, Concurrent Statements, Process Termination, Semaphores, Dining Philosophers Problem, Interprocess Communication

Concurrent Programming Languages - Synchronization

Protection and Security

Comparison of Operation Systems (UNIX, Windows NT, Sun Solaris)

 

Grading:

Test and Midterm

30%

Assignments & projects

25%

Final Exam

30%

Class Work & Attendance

15%

 

       Total

 

 

100%

Course grades will be assigned according to the following scale:

92 - 100 %

A

89 - 91 %

A-

86 - 88 %

B+

82 - 85 %

B

79 - 81 % B-
76 - 78 % C+
73 - 75 % C
69 - 72 % C-
66 - 68 % D+
62 - 65 % D
59 - 61 % D-

58% and Below

F

 
   
 
 
 

Course Policies:                                                              

Four or more absences may lead to failure                                                     
All work submitted for grading must be the student's own.
Student is responsible to obtain missing works
Each assignment is due one week (2 classes) later.                                          
The assignment will not be accepted after it has been solved.                        
Each week a late assignment will be divided by 2.

Student Web pages:

http://www.geocities.com/sapanpatel1980/home.html

Student Journal

Summary of class discussion Date 9-25-03

 General discussion through the semester:
    1. How to implement Round Robin CPU scheduling with priority using Circular or Straight Queue:
          a. static array
          b. dynamic array
          c. linked list
>    2. Learn about what to expect from Intelligent (Future) Operating
System:
        a. benchmark
        b. observation
        c. decision making
        d. performance management
    3. Subjects to read (updated 9-30-03):
       a. Evolution of Operating System.
       b. DOS, CP/M, UNIX, (VAX Clusters which uses VMS and UNIX)
Operating Systems.
          Advantages and disadvantages of each Operating System.
       c. batch programming  (.bat ), shell and window programming.
       d. Burst time of job, and slice time of CPU.
       e. Scheduling CPU, Memory Management and Virtual Memory.
       f. Initialize the Queue.
       g. Trap and Interrupt.
       h. Dining philosopher’s problem.

 

 PROJECT AND DISCUSSION:
 
 PROJECT FOR THE ENTIRE SEMESTER (updated):
 Compare window and command type Operating Systems.
 
 Select one of the window versions (window XP or NT) and compare it to one of the command versions UNIX or LINUX.

     Preliminary comparison (update 9-30-03):
       1. Usage and applications.
       2. Features, command and shell programming.
       3. CPU scheduling and job handling.
       4. Memory management and virtual memory.
       5. Multitasking
       6. Networking.
       7. Speed.
       8. Recovery.
       9. Problems.
       10. How priority is set.



 Summary of class discussion Date 9-30-03
 
 General discussion:

   1. Some algorithm and hints on how to implement Round Robin CPU
scheduling :
       a. Initialize the Queue (simple array).
       b. Assign six jobs (for example).
       c. Use random number generator (option).
       d. Set arrival time, waiting time, finish time and turnaround time.
       e. Set priority as follow.
           1. First in first out  (FIFO). Or
           2. Shortest job first.
       f. Loop until all jobs are complete.
       g. No preemption (means do not enter loop again).
       h. Display and verify result.
 2. Research and find information about the following subjects:
    a. What CPU scheduling do? For window and Linux.
    b. Get a UNIX account set up, and learn (Ten) commands.
    c. Length of file names (a worm that kept computers on the network busy).
    d. Terms such as:
        1. Starvation (find IBM story).
        2. Aging (Preventing starvation).
        3. Preemption (stops and takes over other job).
 
 PROJECT AND DISCUSSION
 Material will be covered in Midterm Exam:
      1. Operating System definition.
      2. CPU scheduling.                Understanding and under
program.
      3. Memory management.
      4. UNIX and window commands.
      5. Comparison of window and UNIX.
 
 
 
 
 Subject: Summary of class discussion Date 10-01-03
 General discussion:
 1. Research and find information about the following subjects:
 a. What is Kernel?
 b. What is concurrency?
 Simple definition is performing two jobs at the same time; example
Typing and listing to music.
 c. What is paging, memory management?
 d. What is segmentation?
 e. What is virtual memory?
 f. What are quanta switch time?
 g. What is the buffer?
 h. What is three-structure file?
 PROJECT AND DISCUSSION
 Material will be covered in Midterm Exam:
 1. Operating System definition.
 2. CPU scheduling.                Understanding and under program.
 3. Memory management.
 4. UNIX and window commands.
 5. Comparison of window and UNIX.

 
Subject: Summary of class discussion Date 10-07-03
General discussion:
1. Research and find information about the following subjects:
a. What is Gantt Chart?
b. What is CPU burst?
c. What is preemptive and nonpreempitive?
d. What is starvation?
e. What is aging?
f. What is time quantum?
g. What is semaphore?
h. What are threads?
i. Any question on Round Robin project should be addressed ASAP.
PROJECT AND DISCUSSION
Material will be covered in Midterm Exam:
1. Operating System definition.
2. CPU scheduling.                Understanding and under program.
3. Memory management.
4. UNIX and window commands.
5. Comparison of window and UNIX.