CISC3595 Operating Systems, Spring 2020
Course Description: This course introduces students to the role of
operating systems in the management of the hardware used to process application
programs. Problems of resolving deadlock, exclusion, and synchronization, and
inter process communication, queuing, and network control are covered. Topics include: process management, memory management, file
management and security and systems programming.
Course Objectives:
Develop an understanding of the role of operating systems in managing computer
resources. Topics will include process management, memory management, file
management and security.
Learning Outcomes:
Students will understand and be capable of writing systems programs that
include process manipulation and interprocess
communication, memory management, and file system manipulation.
Prerequisite: CISC 2200 Data Structures and CISC3593
Computer Organization, or equivalent.
Textbook: : Operating System Concepts, 10th Edition; Abraham Silberschatz, Greg Gagne, Peter B. Galvin; ISBN: 978-1-119-32091-3
(wiley link)
Website: http://storm.cis.fordham.edu/harazduk/cs3595, (http://storm.cis.fordham.edu/harazduk/OS).
Section |
R01 |
Lecture: |
Mon/Thu 11:30-12:45pm, JMH 330 |
Instructor: Julie Harazduk
Email: jharazduk@fordham.edu
Phone:
(914)432-2768
Office hours: Mon/Thu
1:00-2:15 or by appointment best times are Mon 3-4; Tue 11:30; or Wed 11:30-1.
in JMH 338
Specific
Goals for the Course:
Students will demonstrate the ability to...
•
Understand what an operating system is, the
principal duties it performs, and how its activities are separated from user
programs.
•
Understand what a process is and how it is
represented including the process memory map and the process control block.
•
Understand the life-cycle
of a process including creation, scheduling and termination events.
•
Be capable of writing programs that initiate
processes and synchronize them.
•
Know the different kinds of inter-process
communication and understand their characteristics, including message-passing
and shared memory, synchronous and asynchronous, direct and indirect and
buffered.
•
Understand the relationship between a thread
and a process and be capable of writing programs with either.
•
Understand how and why the Operating System
schedules processes for execution and the terminology associated with
scheduling such as preemptive/nonpreemptive, cpu bursts, scheduling latency, scheduling criteria such as
throughput and waiting time and the use of Gantt charts.
•
Known common scheduling algorithms such as
first-come first-served, shortest job first, round robin, etc
and the properties of each.
•
Be capable of evaluating scheduling
performance of an algorithm on a set of processes.
•
Understand the concept of the critical region,
problems that result from this and methods for addressing it in the context of
classical problems such as producer-consumer and dining philosophers.
•
Be capable of using critical region solutions
in a programming example.
•
Understand the role of memory management and
techniques such as swapping, paging and segmentation.
•
Understand what virtual memory is, how it is
implemented, problems such as thrashing that may result and how to deal with
them.
•
Understand how a file system is represented
and implemented.
•
Know some typical file space allocation
methods including linked, indexed and hierarchical and the characteristics of
each.
Attendance: Attendance of lecture section is mandatory.
However, illness, injuries and job interviews happen. Please inform the
instructor of any absence, in advance if possible. If you miss class, get notes
from a classmate. If you feel you are falling behind, please contact the
instructor and arrange for a meeting. It's better to ask for help sooner rather
than later!
Please refer to Fordham's policy on class attendance. The
total number of absence (excused or unexcused absences) cannot exceed four.
Policies
Communications for the class will take place through my website and
email.
•
All the class work you submit should be your
own. Failure to cite sources is plagiarism. The internet may be used for doing
background research but not to solve homework problems; that is also plagiarism
and will be treated as such.
•
Do not scan/photocopy material from the text
or slides for use in your homework; recreate it yourself.
•
No late assignments or make-ups without the
prior agreement of the instructor and without very strong cause.
•
Up to 6 assignments will be assigned
approximately every two weeks. The written portions should be answered in good
English (i.e., complete sentences, correct spelling, etc).
The programming portions must run on STORM and be submitted using submission
scripts to receive credit. If the program does not run correctly, include a
README file that details what works and what does not if you want to receive
partial credit.
•
There will be a team programming project (team
size of 3). It will be distributed after midterm and will be due the week of
finals.
•
All code should be well written and well
documented. Programs will be graded on style as well as functional
characteristics such as correctness and efficiency.
•
Any student with a disability who may need
accommodations in this class must present the instructor with an accommodation
letter from the Office of Disability Services (718) 817-0655/(212)636-6282.
Expectation: Students are expected to spend five hours
(not including the lecture and lab section) each week in the assigned reading,
homework and lab projects. Students are expected to read the assigned chapter
of the textbook before the class.
Late Assignment: Submissions turned in late will be
penalized, and no submission is accepted more than one week after its due date.
You can write to the instructor to ask for an extension of up to one week for
reasons such as illness, heavy workload or other reasons. The maximum number of
extensions per person is three.
Grading
Criteria: Final grade is based on the weighted sum of the following course
work, with the exception that if one
fails the final exam with less than 50%, then one fails the class.
Component
|
num.
of assignment |
weight |
Note
|
Assignments |
bi-Weekly |
30% |
Grading criteria |
Programs |
3 |
20% |
|
Team Project |
1 |
10% |
|
Midterm |
1 |
20% |
|
1 |
20% |
|
Mapping
from number grade to letter grade is as follows:
A:100-90, B:90-80, C:80-70, D:70-60, F:60-0