STATE UNIVERSITY OF NEW YORK
COLLEGE AT OLD WESTBURY
CS5610 Dr. A. Ebrahimi
Operating Systems Office:
K106 CC -
MW
Fall 2003 (T/TH 2
Computer Lab K Wing) D222 AV - MW
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)
|
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:
|
|||||||||||||||||||||||||
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.