|
|
This is a restricted-access website.
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 access and non-profit educational use by the students currently
enrolled in this course and for the duration of this semester. Any
other use or any access or use by others, without authorization of the
professor in this course and copyright holder or holders, is not
allowed. No picture taking, videotaping, or recording without professor's prior permission is allowed in class.
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.
OUTCOMES
After completion of the course, the student will be able to demonstrate understanding of the fundamental concepts of the Theory
of Operating
Systems and topics that are critical for
proper design and efficient functioning of a modern operating system; to explain functioning of major components of
modern operating systems; and to use the standard language of
communication between professionals
working in the areas closely related to operating system(s).
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.
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.
QUIZZES, TESTS AND FINAL EXAMINATION
Quizzes will
consist of three ``easy" questions each, with allowed time 5 - 10 min.
The purpose of quizzes is to test whether you follow the class
presentations,
read the text, and understand the material.
Unlike the
quizzes, the midterm 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.
All quizzes, the midterm, and the final examination are closed
book. The time allowed for
completion is 1 hour for the midterm 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.
|
|