Weighted Total Mark. Weighted Exam Mark



Similar documents
Chapter 6, The Operating System Machine Level

OPERATING SYSTEMS Internais and Design Principles

Gildart Haase School of Computer Sciences and Engineering

Far-western University Central Office, Mahendranagar Operating System

CHAPTER 15: Operating Systems: An Overview

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Computer Science 4302 Operating Systems. Student Learning Outcomes

Operating System Structures

COS 318: Operating Systems. Virtual Machine Monitors

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

A Deduplication File System & Course Review

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

Chapter 11 I/O Management and Disk Scheduling

System Software and TinyAUTOSAR

Operating Systems, 6 th ed. Test Bank Chapter 7

Weighted Total Mark. Weighted Exam Mark

Operating Systems Principles

theguard! ApplicationManager System Windows Data Collector

Operating Systems Overview

Performance Comparison of RTOS

Operating Systems 4 th Class

Design and Implementation of the Heterogeneous Multikernel Operating System

Undergraduate Course Syllabus

Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest

Operating System Components

Distributed Operating Systems

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Core Syllabus. Version 2.6 C OPERATE KNOWLEDGE AREA: OPERATION AND SUPPORT OF INFORMATION SYSTEMS. June 2006

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

Automotive Software Engineering

Real-time processing the basis for PC Control

Chapter 2: OS Overview

Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings

Processes and Non-Preemptive Scheduling. Otto J. Anshus

Module: Sharepoint Administrator

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems

Control 2004, University of Bath, UK, September 2004

2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts

Chapter 11 I/O Management and Disk Scheduling

How To Make A Distributed System Transparent

Lecture 25 Symbian OS

Chapter 3 Operating-System Structures

Process Description and Control william stallings, maurizio pizzonia - sistemi operativi

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Embedded Systems. 6. Real-Time Operating Systems

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications

Linux A multi-purpose executive support for civil avionics applications?

Windows8 Internals, Sixth Edition, Part 1

Chapter 19: Real-Time Systems. Overview of Real-Time Systems. Objectives. System Characteristics. Features of Real-Time Systems

POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam

Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction

Computer-System Architecture

Multicore Programming with LabVIEW Technical Resource Guide

A Comparison of Distributed Systems: ChorusOS and Amoeba

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

Java Environment for Parallel Realtime Development Platform Independent Software Development for Multicore Systems

Why study Operating Systems? CS 372. Why study. Why study. Introduction to Operating Systems

Operating Systems. Module Descriptor

SAN Conceptual and Design Basics

Operating Systems: Basic Concepts and History

EUCIP - IT Administrator. Module 2 Operating Systems. Version 2.0

Distributed Systems LEEC (2005/06 2º Sem.)

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

Chapter 1 13 Essay Question Review

The Microsoft Windows Hypervisor High Level Architecture

Assessment Plan for CS and CIS Degree Programs Computer Science Dept. Texas A&M University - Commerce

OpenMosix Presented by Dr. Moshe Bar and MAASK [01]

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.

Implementing Network Attached Storage. Ken Fallon Bill Bullers Impactdata

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture

Chapter 3: Operating Systems

Operating System Tutorial

Overview of Operating Systems Instructor: Dr. Tongping Liu

Chapter 3. Database Environment - Objectives. Multi-user DBMS Architectures. Teleprocessing. File-Server

Principles of Operating Systems CS 446/646


CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

Operating Systems Prof. Ashok K Agrawala

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Computer Organisation Operating Systems

Assessment for Master s Degree Program Fall Spring 2011 Computer Science Dept. Texas A&M University - Commerce

Study Plan Masters of Science in Computer Engineering and Networks (Thesis Track)

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Chapter 1 8 Essay Question Review

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

Predictable response times in event-driven real-time systems

How To Understand The History Of An Operating System

Operating System Components and Services

This tutorial will take you through step by step approach while learning Operating System concepts.

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Chapter 15 Windows Operating Systems

Hardware/Software Co-Design of a Java Virtual Machine

Designing Real-Time and Embedded Systems with the COMET/UML method

Republic Polytechnic School of Information and Communications Technology C226 Operating System Concepts. Module Curriculum

Transcription:

CMP2204 Operating System Technologies Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 30 00 60 100 40 100 4 Rationale An operating system defines a software interface of the computer hardware and the architecture with which computer engineers can control and exploit the hardware to provide maximum benefit to the user. It also manages sharing of resources (hardware and software) among the computer s users (user programs and systems programs). Many of the ideas involved in operating system use have wider applicability across the Bachelor of Science in Computer Engineering 1

field of computer engineering such as concurrent programming. Objectives Student should understand the basic principles and the purposes of an operating system prior to a study of digital instrumentation and embedded systems. To addresses both the use of operating systems (externals) and their design and implementation (internals). Course Content 1. History and Overview Indicate some reasons for studying operating systems Highlight some people that influenced or contributed to the area of operating systems ; Indicate some important topic areas such as function and design, concurrency, scheduling, dispatch, memory management, device management, file systems, security, and protection ; Describe the purpose of an operating system Indicate the meaning of an interrupt Describe the meaning of concurrency and the reasons for its importance Illustrate the manner in which scheduling and dispatch take place in a computer through its operating system Describe the manner and importance of memory management Describe the manner and importance of device management Explore some additional resources associated with operating systems Explain the purpose and role of operating systems in computer engineering 2. Design Principles Functionality of a typical operating system Mechanisms to support client-server models, hand-held devices Design issues (efficiency, robustness, flexibility, portability, security, compatibility) Influences of security, networking, multimedia, windows Structuring methods (monolithic, layered, modular, micro-kernel models) Abstractions, processes, and resources ; Concepts of application program interfaces (APIs) specific to operating systems Applications needs and the evolution of hardware/software techniques; Device organization; Interrupts: methods and implementations Concept of user/system state and protection, transition to kernel mode 3. Concurrency States and state diagrams Structures (ready list, process control blocks, and so forth) Dispatching and context switching ; The role of interrupts Concurrent execution: advantages and disadvantages The mutual exclusion problem and some solutions Deadlock: causes, conditions, prevention Models and mechanisms (semaphores, monitors, condition variables, rendezvous) Producer-consumer problems and synchronization Multiprocessor issues (spin-locks, reentrancy) 4. Scheduling And Dispatch Preemptive and non-preemptive scheduling Bachelor of Science in Computer Engineering 2

Schedulers and policies Processes and threads Deadlines and real-time issues 5. Memory Management Review of physical memory and memory management hardware Overlays, swapping, and partitions Paging and segmentation Placement and replacement policies Working sets and thrashing Caching 6. Device Management Characteristics of serial and parallel devices Abstracting device differences Buffering strategies Direct memory access Recovery from failures 7. Security and Protection Overview of system security Policy/mechanism separation Security methods and devices Protection, access, and authentication Models of protection Memory protection Encryption Recovery management 8. File Systems Files: data, metadata, operations, organization, buffering, sequential, nonsequential Directories: contents and structure File systems: partitioning, mount/unmount, and virtual file systems Standard implementation techniques Memory-mapped files Special-purpose file systems Naming, searching, access, backups 9. System Performance Evaluation Why and what system performance needs to be evaluated Policies for caching, paging, scheduling, memory management, security, and so forth Evaluation models: deterministic, analytic, simulation, or implementationspecific How to collect evaluation data (profiling and tracing mechanisms) Learning Outcomes Identify some contributors to operating systems and relate their achievements to the knowledge area; provide some reasons for a computer to have an operating system; describe concurrency and reasons for its importance; describe scheduling and illustrate how it works to improve computer performance; sketch an example of how and why a compute would need to manage memory; identify some devices an operating system would manage; and describe how computer engineering uses or benefits from operating systems. Bachelor of Science in Computer Engineering 3

Demonstrate understanding of Operating Systems as an interface between user programs and the computer hardware; demonstrate understanding of the logical layers and the benefits of building these layers in a hierarchical fashion; relate system state to user protection; explain the range of requirements that a modern operating system has to address; define the functionality that a modern operating system must deliver to meet a particular need; and articulate design tradeoffs inherent in operating system design. Justify the presence of concurrency within the framework of an operating system; demonstrate the potential run-time problems arising from the concurrent operation of many (possibly a dynamic number of) tasks; summarize the range of mechanisms (at an operating system level) that are useful to realize concurrent systems and be able to describe the benefits of each; explain the different states that a task may pass through and the data structures needed to support the management of many tasks. Compare and contrast the common algorithms used for both preemptive and non-preemptive scheduling of tasks in operating systems; describe relationships between scheduling algorithms and application domains; and investigate the wider applicability of scheduling in such contexts as disk I/O, networking scheduling, and project scheduling. Introduce memory hierarchy and cost-performance tradeoffs; explain virtual memory and its realization in hardware and software; examine the wider applicability and relevance of the concepts of virtual entity and of caching; evaluate the trade-offs in terms of memory size (main memory, cache memory, auxiliary memory) and processor speed; and defend the different ways of allocating memory to tasks based on the relative merits of each. Identify the relationship between the physical hardware and the virtual devices maintained by the operating system; differentiate the mechanisms used in interfacing a range of devices (including hand-held devices, networks, multimedia) to a computer and explain the implications of these for the design of an operating system; and implement a simple device driver for a range of possible devices. Defend the need for protection and security, and the role of ethical considerations in computer use; summarize the features of an operating system used to provide protection and security, and describe the limitations of each of these; and compare and contrast current methods for implementing security. Summarize the full range of considerations that support file systems; compare and contrast different approaches to file organization, recognizing the strengths and weaknesses of each. Describe the performance metrics used to determine how a system performs; explain the main evaluation models used to evaluate a system. Recommended and Reference Books [1] David Groth, Dan Newland, 2001. A+ Operating System Technologies Study Guide. Published by John Wiley & Sons Australia, Limited, 2001. ISBN 0782128076, 9780782128079 [2] Charles J. Brooks, 2004. A+ Certification Operating System Technologies. Prentice Hall, ISBN 0131147730, 9780131147737 [3] Andrew S. Tanenbaum, 2007. Modern Operating Systems (3rd Edition) (GOAL Series). Prentice Hall; 3 Edition ISBN-10: 0136006639, ISBN-13: 978-0136006633 Bachelor of Science in Computer Engineering 4

Bachelor of Science in Computer Engineering 5