|
|
The
contents of this website, the links contained therein directly and
indirectly, and the contents of the said links, are copyrighted.
They are provided exclusively for
non-profit educational use by the students currently enrolled in this
course and for the duration of this semester. No other use or any use
by others is allowed
without authorization of the professor in this course and copyright
holder or holders.
Course Outline
OBJECTIVES
The following
are the main learning objectives in this class:
- to introduce fundamental concepts of the Theory
of Operating
Systems;
- to explain functioning of major components of
modern operating systems;
- to provide an in-depth coverage of the
following topics, critical for
proper design and efficient functioning of a modern operating system:
- process management, scheduling, and
synchronization,
- main memory management, including virtual
memory organization,
- file system organization and
secondary storage structure;
- to introduce the standard language of
communication between professionals
working in the areas closely related to operating system(s);
- to provide a sound basis for further
(individual) study of existing
operating systems.
MATERIAL COVERAGE
The lecture will
consist of the following parts:
- Overview - we will cover it quickly, leaving
most of material for
individual reading. Topics to focus on: interrupts, Direct Memory
Access
(DMA), dual mode of operation.
- Process Management - the core part of the
course with extensive, in-depth
coverage. Topics to focus on: the concept of (concurrent) process, CPU
scheduling (time sharing), synchronization primitives, classical
problems of
synchronization and their solutions, deadlocks.
- Storage Management - the second focal part of
the course. Topics to
focus on: Logical versus physical addressing space, paging, virtual
memory,
space allocation for disk files.
- I/O Systems - we will review quickly relevant
(prerequisite) material from
other courses (CSC 221 and CSC 331) and discuss in some detail the new
concepts. Topics to focus on:
disk scheduling and optimization.
- Protection and Security - a quick discussion of
problems and solutions in
this area. Topics to focus on:
policies and mechanisms of protection.
- Dystributed Systems - individual
study. Sections: 16.1 - 16.8,
17.1 - 17.4, 18.1 - 18.5, 18.7.
OPTIMAL METHOD OF STUDY
I am going to
use an overhead
projector
in class and follow the textbook very closely, so you can focus your
attention on understanding the topics and programs discussed in class
rather than on tedious copying them from the blackboard.
Although the lecture covers most of the required material, in addition
to
regular class attendance you are expected to read the covered sections
of
the textbook before
and after they are discussed in class.
Moreover, it is recommended that at the beginning of semester
you read or scan through the course
text lightly from cover to cover. It is suggested that you examine the
table of
contents of the textbook next. This provides a logical overview of the
course
from the author's perspective. When you begin your course of study,
always read
the introduction at the start of each chapter before you read the
chapter
itself. Do not skip the Exercises section.
Following the above recommendations will allow you to achieve your goal
in this
course (e.g., a desired final grade) with less effort.
TEST AND FINAL EXAMINATION
The tests and the final's
questions will be a matter of considerable difficulty. For full credit
they will require not only your solid knowledge of the subject but also
certain level of your creativity, as for instance, comparing different
organizations of the same structure (e.g., static versus ``on-demand"
paging), solving a problem, analysing or correcting a (fragment of a
concurrent) process, or presenting an algorithm and evaluating its
correctness and performance.
The tests and the final
examination are closed
book. The time allowed for
completion is 1 hour for a test and 2 hours for the final. Calculators
are not allowed.
The
examination goal is to determine your level of expertise in the subject
matter by asking questions which randomly cover topics throughout the
textbook. Because of time limitations, these questions cannot address
every single issue of the areas of emphasis; hence their randomness.
Your focus should be on understanding and applying the concepts, the
methods, the algorithms, and the organization structures investigated
in the textbook. However, without memorizing terminology and strategic
facts, like definitions, organization structures and their diagrams,
classical problems and their solutions, and basic algorithms, it may be
fairly difficult to quickly produce a full credit answer. Moreover, you
should be able to demonstrate your ability to use the terminology and
paradigms discussed in class. Remember, that vast majority of
professional activities in the area of operating systems involve a
teamwork, so your communication skills are absolutely critical for your
future successful career as a computer professional.
TIPS ON TAKING AN EXAMINATION
- Time yourself carefully. Spending a lot of time
on one or two questions
while ignoring the others is not a good strategy. If a question seems
very
difficult to you, take your best shot at the answer and, if time
allows, come
back to it later.
- Read every question very carefully so that you
have a good understanding
of it.
If the question consists of more than one part, make sure to answer
all of them.
- Do every problem. An educated guess often earns a
partial credit, while a blank answer does not.
|
|