ITGS302 : Operating System

Department

Department of Software Engineering

Academic Program

Bachelor in Software Engineering

Type

General

Credits

03

Prerequisite

ITGS223

Overview

This course deals with all essential concepts of operating systems. Starting with describing role of an operating system in managing different tasks during the processing operation. The course explains the process concept, in particular process description within an OS environment and its scheduling strategies. Also, it covers: memory management, virtual memory, I/O management and disk scheduling, file management. Mutual exclusion and synchronization, deadlock and starvation concepts and algorithms are discussed in details in this course supported with LAB work.

Intended learning outcomes

Knowledge &understand

  • Definition of process management in operating systems.
  • Order the arrival of processes using scheduling algorithms.
  • Explain the memory structure and how to manage it in operating systems.

mental skills

  • Explain how processes are populated in main memory.
  • Comparison of various scheduling algorithms.
  • Explain how processes are populated in main memory.

Practical & professional skills

  • Comparison between various operating systems (WINDOWS-LINUX-UNIX-).
  • Developing the elements of operating systems (process management - thread management - memory management - managing processor scheduling algorithms) in operating system software in a scientifically sound way.
  • Simulation of process and thread algorithms in a programming language

General and transferable skills

  • Employing management in operating systems in practical life
  • Dealing with various types of modern operating systems.
  • Applying and understanding the principle of teamwork on practical projects.

Teaching and learning methods

  • Lectures
  • Tutorials
  • Problem-based learning
  • Mini-projects

Methods of assessments

  • Midterm Exam = 30
  • Assignments = 10
  • Mini-project = 10
  • Final Exam = 50

Course contents

  • General concepts in operating systems
  • Process Management
  • Process scheduling
  • Process Scheduling - Algorithms
  • Process synchronization
  • Midterm Exam
  • Deadlock
  • Deadlock Algorithms
  • Main memory
  • Main memory - exercises
  • Virtual memory
  • Virtual Memory - Placement Algorithms
  • Device manager

Networks Programming (ITSE405)
Mobile Applications Development (ITSE304)
Cryptographic Algorithms and Protocols (ITSE306)
Information Retrieval Systems (ITSE307)
Mobile Operating System (ITSE308)
Programming Paradigms (ITSE309)
Principles of Games Developments (ITSE401)
Multimedia Systems (ITSE404)
Cloud Computing (ITSE406)
Web Services (ITSE407)
Web Applications Development (ITSE408)
Modelling of Complex Systems (ITSE303)
Data Mining/Business Intelligence (ITSE302)
Social Networking (ITSE409)
Logic Programming (ITSE301)
Mathematics I (ITMM111)
Physics (ITPH111)
Problem solving Technic (ITGS113)
Intro to Information Technology (ITGS111)
General English1 (ITEL111)
Arabic language 1 (ITAR111)
Mathematics II (ITMM122)
Arabic language 2 (ITAR122)
General English2 (ITEL122)
Introduction to Programming (ITGS122)
System Analysis and Design (ITGS124)
logic Circuit Design (ITGS126)
Introduction to Networking (ITGS215)
Introduction to Statistics (ITST211)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Introduction to Databases (ITGS228)
Data Structure (ITGS220)
Foundation of Information Systems (ITGS222)
Introduction to Internet Programming (ITGS226)
Computer Architucture & Organization (ITGS223)
Information Security (ITGS224)
Design and Analysis algorithms (ITGS301)
IT Project Management (ITGS303)
Software Requirements Analysis (ITSE311)
Advanced Databases (ITSE312)
Scientific Writing (ITGS304)
Modern Programming Language (ITSE322)
Software Construction (ITSE321)
Operating System (ITGS302)
Software Design and Architecture (ITSE411)
Advanced Internet Programming (ITSE412)
Human Computer Interaction (ITSE413)
Software Engineering Ethics (ITSE414)
Software Quality Assurance and Testing (ITSE421)
Software Reuse and Component-Based Software Engineering (CBSE) (ITSE422)
Visual Programing (ITSE423)
software design models (ITSE424)