Instructor:
Jiang B. Liu, jiangbo@bradley.edu
Professor of Computer Science &
Information Systems
Phone: (309) 677-2386
Prerequisites:
CS 321 or equivalent
Lecture:
3:00-4:15 pm, Tue, Thur. at BR 120
Office Hours:
2:30-5:00pm Mon, Wed at BR 177
or by appointment.
This
is an advanced course in operating systems for computer science graduate
students. The goals of the course are to provide students with a foundation of
operating systems design and to implement operating system process controls,
memory management, file systems management, and input/output controls. The
project assignments will be coded in C/C++ and tested in UNIX/Window
environment.
Unit
1 |
Introduction
to Operating Systems MINIX
3 Learning
outcomes: -
Knowledgeable in how operating systems have evolved over time from primitive
batch systems to sophisticated multiuser systems. -
Understand the objectives and functions of modern operating systems and be
able to contrast kernel and user mode in an operating system. -
Understand the various ways of structuring an operating system such as
object-oriented, modular, micro-kernel, and layered. -
Know a typical set of system commands provided by an operating system. -
Have a basic understanding of MINIX OS Internal structure and be able to
analyze the tradeoffs inherent in operating system design. |
Ch.
1 |
Unit
2 |
Processes
and Threads Learning
outcomes: -
Be able to describe the difference between processes and threads models and
the major resource used. -
Understand the reasons for using interrupts, dispatching, and context
switching. -
Knowledgeable of the different states that a task may pass through and be
able to create state and transition diagrams for simple problem domains. -
Have a thorough understanding of the potential run-time problems arising from
the concurrent operation of many separate tasks. -
Be able to summarize the various approaches to solving the problem of mutual
exclusion in an operating system. -
Be able to compare and contrast the common algorithms used for process
scheduling of tasks, such as priority, performance comparison, and fair-share
schemes. -
Understand the relationships between scheduling algorithms and application
domains. -
Be able to describe the MINIX process management design issues. |
Ch.
2 |
Unit
3 |
I/O
Deadlocks
Learning
outcomes: -
Understand the relationship between the physical hardware and the virtual
devices and device-independent I/O software. -
Understand the advantages and disadvantages of major I/O devices. -
Understand the conditions that lead to deadlock and deadlock detection &
recovery, avoidance, and prevention. -
Be able to describe the MINIX Device Driver operations. |
Ch.
3 Appendix
B |
Unit
4 |
Memory
Management MINIX
Process Manager Learning
outcomes: -
Be able to describe the memory hierarchy and cost-performance trade-offs. -
Understand the concept of virtual memory and how it is realized in hardware
and software. -
Be able to describe the principles of virtual memory as applied to caching
and paging. -
Understand basic memory management concepts, know
the different ways of allocating memory to tasks. -
Be able to describe the MINIX memory management design issues. |
Ch
4 |
Unit
5 |
File
System -
Protection Mechanisms MINIX
File System Learning
outcomes: -
Be able to describe the full range of considerations that support file
systems. -
Be able to compare and contrast different approaches to file organization and
implementation. -
Knowledgeable in File security access and protection mechanisms. -
Be able to describe the MINIX file system design issues. |
Ch.
5 |
There
will be three group project assignments. Each group will share the same grade.
All
assignments are due at the class on the due day. Later homework will have 10%
subtracted from the score for each late day.
·
Assignments:
35%
·
Class
Attendance: 10%
·
Tests:
20%
·
Final
Exam: 35%
(100-90
A; 89-80 B; 79-70 C; 69-60 D; below 60 F)
This
class home page is posted at "http://hilltop.bradley.edu/~jiangbo/" and will be used to post the assignments and
other class information.
You are also encouraged email me about
your questions related to the course or share related information with the
class.