0% found this document useful (0 votes)
62 views

Course Outline

This document provides information for the Operating System course offered at Wolkite University. The course covers major topics in operating systems including processes, memory management, CPU scheduling, device management, file systems, and security and protection. It will be taught over 15 weeks and include lectures, labs, assignments, and projects. Students will learn key operating system concepts and analyze design tradeoffs. Evaluation will be based on exams, assignments, projects, and lab participation. The instructor's responsibilities include lectures, advising, and assessments while students are expected to attend class, participate in discussions, and complete assignments. Required materials include a Unix/Linux environment.

Uploaded by

Magarsa Bedasa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views

Course Outline

This document provides information for the Operating System course offered at Wolkite University. The course covers major topics in operating systems including processes, memory management, CPU scheduling, device management, file systems, and security and protection. It will be taught over 15 weeks and include lectures, labs, assignments, and projects. Students will learn key operating system concepts and analyze design tradeoffs. Evaluation will be based on exams, assignments, projects, and lab participation. The instructor's responsibilities include lectures, advising, and assessments while students are expected to attend class, participate in discussions, and complete assignments. Required materials include a Unix/Linux environment.

Uploaded by

Magarsa Bedasa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Wolkite University

College of Computing and Informatics


Department of Information Systems

Course Title Operating System


Module Title Computer Systems
Module Code INSY-M3051 Course Code: INSY3051
CP/ECTS 3 cr.hr. (5 ECTS)
Study Hours Lec. 48 Lab.16 Tut.0 HS.71
Instructor’s Name: Dawit H. Office location: ICT building room no. 27
Information Email: [email protected]
Facebook: https://www.facebook.com/dawit.hassen
Telegr am: @Dawit_Hassen
Tweeter : @DawitHassen1
GitHub: https://github.com/Dawit-1621
LinkedIn: https://www.linkedin.com/in/dawit-hassen/
Consultation Hour s: Every Wednesday Morning
Course Academic Year: 2022/23
Information Semester: I
Class Room: CCI-13
Prerequisite(s):
Mode of Delivery: Parallel
Course This course examines basic issues in operating system design and implementation.
Description The discussion is to cover 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 the major OS subsystems: process management (processes,
threads, CPU scheduling), Memory management, file and I/O device management
and deadlock), memory management (segmentation, paging, swapping) and file
systems.

Learning Up on the successful completion of the course students should be able to:
Outcomes  Explain the objectives and functions of modern operating systems.
 Describe how operating systems have evolved over time from primitive batch
systems to sophisticated multiuser systems.
 Analyze the tradeoffs inherent in operating system design.
 Describe the functions of a contemporary operating system with respect to
convenience, efficiency, and the ability to evolve.
 Identify potential threats to operating systems and the security features design
to guard against them.
 Describe how issues such as open source software and the increased use of the
Internet are influencing operating system design.
Course Content
Topic Duration(Week) Reading list

Chapter 1: Overview
1
1.1 Role and purpose of operating systems;
1.2 history of operating system development;
1.3 Functionality of a typical operating system;
1.4 Design issues (efficiency, robustness, flexibility, portability,
security, compatibility)
Chapter 2: Processes and Threads 2.3
2.1 Processes;
2.2 Threads;
2.2.1 Threads model
2.2.2 Thread Usage
2.2.3 Implementing Threads
2.3 Interposes Communication(IPC)
2.4 Scheduling algorithms
Chapter 3: Memory management (Main memory) 3-5
3.1 Background
3.2 Logical versus Physical Address Space
3.3 Swapping
3.4 Contiguous Allocation
3.5 Paging
3.6 Segmentation
3.7 Segmentation with Paging
3.8 Direct memory access;
Chapter 4: Processes management 5-8
4.1 Mutual exclusion: Definition of the “mutual exclusion” problem;
4.2 Deadlock detection and prevention;
4.3 Solution strategies;
4.4 Models and mechanisms (semaphores, monitors, condition
variables, rendezvous);
4.5 Interrupt handling in a concurrent environment
4.6 Producer-consumer problems;
4.7 Synchronization;
4.8 Multiprocessor issues
Chapter 5: CPU Scheduling
5.1 Preemptive and non-preemptive scheduling; 9-10
5.2 Scheduling policies;
5.3 Processes and threads;
5.4 Real-time issues
Chapter 6: 11
6.1 Device management: Characteristics of serial and parallel devices;
6.2 Abstracting device differences;
6.3 Buffering strategies;
6.4 Recovery from failures
Chapter 7: File System 12-13
7.1 File systems: Fundamental concepts (data, metadata, operations,
organization, buffering, sequential vs. nonsequential files);
7.2 Content and structure of directories;
7.3 File system techniques (partitioning, mounting and unmounting,
virtual file systems);
7.4 Memory-mapped files;
7.5 Special-purpose file systems;
7.6 Naming, searching, and access;
7.7 Backup strategies
Chapter 8: Security and protection 14-15
8.1 Overview of system security;
8.2 Policy/mechanism separation; security methods and devices;
protection, access, and authentication; models of protection;
8.3 Memory protection;
8.4 Encryption;
8.5 Recovery management
Teaching Strategy The course will be delivered in the form of lectures, demonstration, student
presentations, group discussions, and individual and group project works.
Attendance Lecture (80%) and Practice (100%)
Assessment The evaluation shall be based on both formative and summative assessment which
Criteria include:
Assessment Forms % of credit allotted
Lecture (100%)
 Test 1 20
 Assignments 10
 Project 10

 Lab Exam 10

 Final examination 50

Role of Delivers lectures, prepares reading assignments and topics for group discussion,
Instructor(s) prepares projects by discussion with student, gives consultation and advises
students on project works and assignments, prepares and evaluates quiz,
assignment, midterm and final examination.

Role of Students Attend lectures, lab session and presentation, work in team on group work,
participate in group discussion, discusses with the instructor on topics of interest
for project work, delivers and presents project work, attend quiz, midterm and final
examination.
Required software Unix ,Linux
and/or hardware
Reference Text Book :
 Operating Systems, 4th edition by W. Stalling (editor) Prentice-Hall 2001
 Operating Systems: Internals and Design Principles, Fifth Edition
 Andrew S. Tanenbaum (1992) Modern Operating Systems. Prentice-Hall
International Inc.
 Operating System Concepts (7th Ed) by Silberschatz and Galvin, Wiley,
2000.
 Operating Systems (5th Ed) – Internals and Design Principles By William
Stallings, Prentice Hall, 2000.
 Modern Operating Systems by Andrew S Tanenbaum, Prentice Hall India,
1992.
 Distributed Systems: Concepts and Design (3rd edition), George Coulouris,
Jean
 Distributed Programming with Java, Qusay H. Mahmoud, Manning
Publications Co., 2000.
 Distributed Systems: Principles and Paradigms, Andrew S. Tanenbaum and
Maarten van Steen

You might also like