
Komuna e Parisit,
Tel.:
00355-(0)4-273056-8 – Fax: 00355-(0)4-273059
Web Site Address: http://www.unyt.edu.al
Operating Systems
Fall 2009
Course : Operating Systems (3 credit hours)
Instructor : Dr. Marenglen
Biba
Office :
Faculty building 1st
floor
Office Hours : Tuesday 15-17 PM
or by appointment
Phone : 42273056 / ext. 112
E-mail : marenglenbiba@unyt.edu.al
Course page : http://www.marenglenbiba.net/opsys/
Course
Location and Time
Laboratory Room 5A, Thursday
15-18.
This
module covers the core concepts of modern operating systems, and provides
contextual application of theory, using examples of currently used operating
system environments.
This course will provide an introduction to operating system design and implementation. The operating system provides an efficient interface between user programs and the hardware of the computer on which they run. The operating system is responsible for allowing resources (such as processors, disks or networks) to be shared, providing common services needed by many different programs (e.g., file service, the ability to start or stop processes, and access to the printer), and protecting individual programs from one another.
The course will start with an historical perspective of the evolution of operating systems since their birth. Then it will cover the major components of most operating systems and the tradeoffs that can be made between performance and functionality during the design and implementation of an operating system. Particular emphasis will be given to three major OS subsystems: process management (processes, threads, CPU scheduling, synchronization, and deadlock), memory management (segmentation, paging, swapping) and storage management (file systems, disk management, I/O operations).
At the end of the course students will be able to:
1. Understand the design and implementation issues that
have led to the current modern operating systems.
2. Understand and apply key concepts for process
management in modern operating systems.
3. Understand and apply essential concepts for memory
management in modern operating systems.
4. Understand and apply important concepts of storage
management in modern operating systems.
5. Understand and compare different operating systems in
order to be able to select them in different use scenarios.
6. Understand and apply essential algorithms that are
implemented as part of an operating system.
7.
Understand and apply
essential concepts regarding the deployment of modern operating systems.
8.
Understand and apply essential concepts for
increasing the performance of modern operating systems.
Course Prerequisites
Computer Architecture or Data Structures.
Silberschatz, Abraham, Galvin, Peter and Gagne, Greg, (2005). Operating System Concepts, Seventh edition,
Andrew Tanenbaum, Modern Operating Systems, Prentice Hall. Second Edition. (only specific sections of the book will be required for special topics).
1.
Introduction to
Operating Systems
What Operating Systems Do. Computer-System
Organization. Computer-System Architecture. Operating-System Structure.
Operating-System Operations. Process Management Memory Management. Storage
Management. Protection and Security. Distributed Systems. Special-Purpose
Systems. Computing Environments.
2.
Operating System
Structure
Operating System Services. User Operating System
Interface. System Calls. Types of System Calls. System Programs. Operating
System Design and Implementation. Operating System Structure. Virtual Machines.
Operating System Generation. System Boot.
3.
Processes
Process
Concept. Process Scheduling. Operations on Processes. Cooperating Processes.
Interprocess Communication. Communication in
Client-Server Systems.
4.
Threads
Overview. Multithreading Models. Threading Issues.
Pthreads. Windows XP Threads. Linux Threads. Java Threads
5.
CPU Scheduling
Basic Concepts. Scheduling Criteria. Scheduling
Algorithms. Multiple-Processor Scheduling. Real-Time Scheduling. Thread
Scheduling. Operating Systems Examples. Java Thread Scheduling. Algorithm
Evaluation.
6.
Process Synchronization
Background. The Critical-Section Problem. Peterson’s
Solution. Synchronization Hardware. Semaphores. Classic Problems of
Synchronization. Monitors. Synchronization Examples. Atomic Transactions.
7.
Deadlocks
The Deadlock Problem. System Model. Deadlock
Characterization. Methods for Handling Deadlocks. Deadlock Prevention. Deadlock
Avoidance. Deadlock Detection. Recovery from Deadlock.
8.
Main Memory
Background. Swapping. Contiguous Memory Allocation.
Paging. Structure of the Page Table. Segmentation. Example: The Intel Pentium.
9.
Virtual Memory
Background. Demand Paging. Copy-on-Write. Page Replacement.
Allocation of Frames
Thrashing. Memory-Mapped Files. Allocating Kernel
Memory. Other Considerations. Operating-System Examples.
10.
File System Interface
File Concept. Access Methods. Directory Structure.
File-System Mounting. File Sharing. Protection.
11.
File System Implementation
File-System Structure. File-System Implementation.
Directory Implementation. Allocation Methods. Free-Space Management. Efficiency
and Performance. Recovery. Log-Structured File Systems.
12.
Mass-Storage Systems
Overview
of Mass Storage Structure. Disk Structure. Disk Attachment. Disk Scheduling.
Disk
Management. Swap-Space Management. RAID Structure. Disk Attachment.
Stable-Storage Implementation. Tertiary Storage Devices. Operating System Issues.
Performance Issues.
13.
I/O Systems
I/O Hardware. Application I/O Interface. Kernel I/O Subsystem. Transforming I/O
Requests to Hardware Operations. Streams. Performance.
Course Requirements
Students are required to attend lectures
and labs. Lecture handouts and lab notes will be available before commencement
of the class. Students are expected to participate in class discussions.
In the event of illness or emergency, contact your instructor IN ADVANCE to
determine whether special arrangements are possible.
Participation: Participation extends beyond mere attendance. You may miss up to two
classes without penalty. Each absence beyond the first two will cost you points
off of your participation grade. The only exceptions to this rule are severe
illness (doctor’s note required) and UNYT approved trips/activities.
Appropriate documentation for absences beyond the first two is necessary and is
to be provided on the class day directly before or after the one you miss.
Students are expected to collect materials from the online course page, their
classmates or see the instructor during consultation hours.
Exams: Two
examinations will be taken one midterm and one final. Test format may combine a
mixture of Definitions, Blanks, and short answers, two or three Essay questions
covering all readings, lecture, and hand-out and class discussion content. No
Student may miss a scheduled exam without receiving permission before the
administration of the exam. Make-up exams might be significantly different from
the regular tests, and will be administered at a time of instructor own
convenience.
Project: I will announce projects usually based on the chapters/materials covered in class. Due dates will be specified accordingly. Projects must be submitted as specified to be considered on-time. Late assignments are accepted with the following penalties: -2 if submitted the next day it is due, and -1 for each day late after that. I will accept e-mail submissions.
Make-up policy Midterm/Final exam: Only students who miss an exam for university-approved and verifiable reasons will be allowed to take a make-up exam. Even then, except in the most extreme circumstances, no student may miss a scheduled exam without receiving permission before the administration of the exam. Make-up exams might be significantly different in format from the regular tests, and will be administered at a time of my own convenience.
Cheating
policy: Cheating policy: Exams, assignments, projects and quizzes are subject to the STUDENT
HONOUR CODE. The
University’s rules on academic dishonesty (e.g. cheating, plagiarism,
submitting false information) will be strictly enforced. Please familiarize
yourself with the STUDENT HONOUR CODE, or ask me for clarification.
Grading Policy
|
Participation |
10% |
|
Project |
30% |
|
Midterm |
30% |
|
Final |
30% |
Grading Scale (Standard UNYT grading scale)
|
Letter Grade |
Percent (%) |
Generally Accepted
Meaning |
|
96-100 |
Outstanding work |
|
|
A- |
90-95 |
|
|
B+ |
87-89 |
Good work, distinctly above
average |
|
B |
83-86 |
|
|
B- |
80-82 |
|
|
C+ |
77-79 |
Acceptable work |
|
C |
73-76 |
|
|
C- |
70-72 |
|
|
D+ |
67-69 |
Work that is significantly
below average |
|
D |
63-66 |
|
|
D- |
60-62 |
|
|
F |
0-59 |
Work that does not meet
minimum standards for passing the course |
Technology Expectations
1.
Internet use is necessary since students should regularly
check the course home page.
2.
Continued and regular use of e-mail is expected
3.
Students must keep copies of all assignments and
projects sent by e-mail.
Course Material
Template for project specification
Project Analysis+Design Results
DEMO Material
Last updated: Saturday, 06 February 2010, 10:48:17 AM