[go: up one dir, main page]

0% found this document useful (0 votes)
47 views3 pages

Os Course Outline

The course introduces students to the basics of operating system design principles and components. It discusses topics like memory management, processor management, process management, concurrency control, scheduling, file systems, and security. Students will learn about different operating systems, their similarities and differences. The course uses UNIX/Linux systems and has lectures, tutorials, and labs totaling 12 contact hours per week. Assessment will be done according to the institute's policies.

Uploaded by

Habtie Tesfahun
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views3 pages

Os Course Outline

The course introduces students to the basics of operating system design principles and components. It discusses topics like memory management, processor management, process management, concurrency control, scheduling, file systems, and security. Students will learn about different operating systems, their similarities and differences. The course uses UNIX/Linux systems and has lectures, tutorials, and labs totaling 12 contact hours per week. Assessment will be done according to the institute's policies.

Uploaded by

Habtie Tesfahun
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Program Information Technolog

Course Code ITec2022

Course Title: Operating Systems

Contact Hours
Lecture Tutorial Lab/Practical Home Study Total
(per week)
3 0 3 6 12

Course Objective

The course introduces students to basics of operating system design principles and
components, and their functions. It will also discuss memory management, processor
management, process management and deadlocks, concurrency control, scheduling and
dispatching, device management, file systems, file management, security and protection, and
system performance evaluation. In addition, students will be introduced with different operating
systems, and they will see their similarities and differences
Chapter 1: History and overview
1.1. Indicate some reasons for studying operating systems
1.2. Describe the purpose of an operating system
1.3. Functionality of a typical operating system
1.4. Describe the meaning of concurrency and the reasons for its importance
1.5. Describe the manner and importance of memory management
1.6. Describe the manner and importance of device management
1.7. Explore some additional resources associated with operating systems
1.8. Explain the purpose and role of operating systems in computer engineering
Chapter 2: Design principles
2.1. Mechanisms to support client-server models, hand-held devices

2.2. Design issues (efficiency, robustness, flexibility, portability, security, compatibility)

2.3. Influences of security, networking, multimedia, windows

2.4. Structuring methods (monolithic, layered, modular, micro-kernel models)

2.5. Abstractions, processes, and resources

2.6. Concepts of application program interfaces (APIs) specific to operating systems


2.7. Applications needs and the evolution of hardware/software techniques
2.8. Device organization
2.9. Interrupts: methods and implementations
2.10.Concept of user/system state and protection, transition to kernel mode
Chapter 3: Design principles
3.1. States and state diagrams
3.2. Structures (ready list, process control blocks, and so forth)
3.3. Dispatching and context switching
3.4. The role of interrupts
3.5. Concurrent execution: advantages and disadvantages
3.6. The “mutual exclusion” problem and some solutions
3.7. Deadlock: causes, conditions, prevention
3.8. Models and mechanisms (semaphores, monitors, condition variables, rendezvous)
3.9. Producer-consumer problems and synchronization
3.10.Multiprocessor issues (spin-locks, reentrancy)
Chapter 4: Scheduling and dispatch
4.1. Preemptive and non-preemptive scheduling
4.2. Schedulers and policies
4.3. Processes and threads
4.4. Deadlines and real-time issues
Chapter 5: Memory management
5.1. Review of physical memory and memory
5.2. management hardware
5.3. Overlays, swapping, and partitions
5.4. Paging and segmentation
5.5. Placement and replacement policies
5.6. Working sets and thrashing
5.7. Caching
Chapter 6: Device management
6.1. Characteristics of serial and parallel devices
6.2. Abstracting device differences
6.3. Buffering strategies
6.4. Direct memory access
6.5. Recovery from failures
Chapter 7: Security and protection
7.1. Overview of system security
7.2. Policy/mechanism separation
7.3. Security methods and devices
7.4. Protection, access, and authentication
7.5. Models of protection
7.6. Memory protection
7.7. Encryption
7.8. Recovery management
Chapter 8: File systems
8.1 Files: data, metadata, operations, organization, buffering, sequential, non sequential
8.2 Directories: contents and structure
8.3 File systems: partitioning, mount/unmount, and virtual file systems
8.4 Standard implementation techniques
8.5 Memory-mapped files
8.6 Special-purpose file systems
8.7 Naming, searching, access, backups
Software Requirements:- UNIX/Linux operation systems

Text Reference:
Andrew S. Tanenbaum (1992) Modern Operating Systems. Prentice-Hall International Inc

 Operating Systems, 4th edition by W. Stalling (editor) Prentice-Hall 2001


 Distributed Systems: Concepts and Design (3rd edition), George Coulouris, Jean
 Dollimore and Tim Kindberg, Addison Wesley Longman, 2000
 Distributed Programming with Java, Qusay H. Mahmoud, Manning Publications Co.,
2000
 Distributed Systems: Principles and Paradigms, Andrew S.
Tanenbaum and Maarten van Steen, Prentice-Hall, 2002.

Assessment ----- As per the BiT Legislative

You might also like