Operating Systems (OS)

Similar documents
Weighted Total Mark. Weighted Exam Mark

COS 318: Operating Systems. Virtual Machine Monitors

Chapter 6, The Operating System Machine Level

System Software and TinyAUTOSAR

Operating System Components

Computer Science 4302 Operating Systems. Student Learning Outcomes

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

PENNSYLVANIA STATEWIDE PROGRAM-TO-PROGRAM ARTICULATION AGREEMENT IN COMPUTER SCIENCE

CHAPTER 15: Operating Systems: An Overview

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

A Deduplication File System & Course Review

Chapter 2: OS Overview

Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details

Real-time processing the basis for PC Control

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

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

OPERATING SYSTEMS Internais and Design Principles

Performance Comparison of RTOS

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

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

Chapter 3 Operating-System Structures

Principles and characteristics of distributed systems and environments

The Microsoft Windows Hypervisor High Level Architecture

Virtual machine interface. Operating system. Physical machine interface

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

Operating Systems 4 th Class

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

Operating Systems, 6 th ed. Test Bank Chapter 7

Embedded Systems. 6. Real-Time Operating Systems

Chapter 11 I/O Management and Disk Scheduling

Deeply Embedded Real-Time Hypervisors for the Automotive Domain Dr. Gary Morgan, ETAS/ESC

Operating System Components and Services

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

Architectures for Distributed Real-time Systems

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

Chapter 13 Embedded Operating Systems

TECHNOLOGY BRIEF. Compaq RAID on a Chip Technology EXECUTIVE SUMMARY CONTENTS

A hypervisor approach with real-time support to the MIPS M5150 processor

Real-Time Operating Systems for MPSoCs

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

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

Operating Systems Overview

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

Distributed Operating Systems

SAN Conceptual and Design Basics

Full and Para Virtualization

A Data Centric Approach for Modular Assurance. Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011

theguard! ApplicationManager System Windows Data Collector

9/26/2011. What is Virtualization? What are the different types of virtualization.

x86 ISA Modifications to support Virtual Machines

CPET 581 Cloud Computing: Technologies and Enterprise IT Strategies. Virtualization of Clusters and Data Centers

Distributed Systems. Distributed Systems

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1

How To Make A Distributed System Transparent

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

Operating Systems Principles

COS 318: Operating Systems. Virtual Machine Monitors

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

How To Understand The Concept Of A Distributed System

Operating System Structures

MultiPARTES. Virtualization on Heterogeneous Multicore Platforms. 2012/7/18 Slides by TU Wien, UPV, fentiss, UPM

CPS221 Lecture: Operating System Structure; Virtual Machines

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

Study of Various Load Balancing Techniques in Cloud Environment- A Review

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

Windows8 Internals, Sixth Edition, Part 1

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB

Multi-core Programming System Overview

Extreme High Performance Computing or Why Microkernels Suck

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

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

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


Chapter 2 System Structures

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

Predictable response times in event-driven real-time systems

Distributed Systems. Virtualization. Paul Krzyzanowski

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

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications

COM 444 Cloud Computing

Chapter 13 File and Database Systems

Chapter 13 File and Database Systems

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

Overview of Operating Systems Instructor: Dr. Tongping Liu

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

Chapter 5 Cloud Resource Virtualization

Security Overview of the Integrity Virtual Machines Architecture

Ada Real-Time Services and Virtualization

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

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

Operating System for the K computer

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

A Comparison of Distributed Systems: ChorusOS and Amoeba

Operating System Organization. Purpose of an OS

OPERATING SYSTEMS SCHEDULING

Objectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts

Rackspace Cloud Databases and Container-based Virtualization

Transcription:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 Operating Systems (OS) An operating system defines an abstraction of hardware and manages resource sharing among the computer s users. The topics in this area explain the most basic knowledge of operating systems in the sense of interfacing an operating system to networks, teaching the difference between the kernel and user modes, and developing key approaches to operating system design and implementation. This knowledge area is structured to be complementary to Systems Fundamentals, Networks, Information Assurance, and the Parallel and Distributed Computing knowledge areas. The Systems Fundamentals and Information Assurance knowledge areas are the new ones to include contemporary issues. For example, the Systems Fundamentals includes topics such as performance, virtualization and isolation, and resource allocation and scheduling; Parallel and Distributed Systems knowledge area includes parallelism fundamentals; and Information Assurance includes forensics and security issues in depth. Many courses in Operating Systems will draw material from across these Knowledge Areas. OS. Operating Systems (4 Core-Tier1 hours; 11 Core Tier2 hours) Core-Tier1 hours Core-Tier2 hours Includes Electives OS/Overview of Operating Systems 2 N OS/Operating System Principles 2 N OS/Concurrency 3 N OS/Scheduling and Dispatch 3 N OS/Memory Management 3 N OS/Security and Protection 2 N 15 OS/Virtual Machines OS/Device Management OS/File Systems OS/Real Time and Embedded Systems OS/Fault Tolerance OS/System Performance Evaluation

16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 OS/Overview of Operating Systems [2 Core-Tier1 hours] Role and purpose of the operating system 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 1. Explain the objectives and functions of modern operating systems 2. Analyze the tradeoffs inherent in operating system design [Application]. 3. Describe the functions of a contemporary operating system with respect to convenience, efficiency, and the ability to evolve 4. Discuss networked, client-server, distributed operating systems and how they differ from single user operating systems 5. Identify potential threats to operating systems and the security features design to guard against them OS/Operating System Principles [2 core-t1 hours] Structuring methods (monolithic, layered, modular, micro-kernel models) Abstractions, processes, and resources Concepts of application program interfaces (APIs) Application 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 1. Explain the concept of a logical layer 2. Explain the benefits of building abstract layers in hierarchical fashion 3. Defend the need for APIs and middleware [Evaluation]. 4. Describe how computing resources are used by application software and managed by system software 5. Contrast kernel and user mode in an operating system [Application]. 6. Discuss the advantages and disadvantages of using interrupt processing 7. Explain the use of a device list and driver I/O queue 56

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 OS/Concurrency [3 Core-Tier2 hours] States and state diagrams (cross reference SF/State-State Transition-State Machines) Structures (ready list, process control blocks, and so forth) Dispatching and context switching The role of interrupts Managing atomic access to OS objects Implementing synchronization primitives Multiprocessor issues (spin-locks, reentrancy) (cross reference SF/Parallelism) 1. Describe the need for concurrency within the framework of an operating system 2. Demonstrate the potential run-time problems arising from the concurrent operation of many separate tasks [Application]. 3. Summarize the range of mechanisms that can be employed at the operating system level to realize concurrent systems and describe the benefits of each 4. Explain the different states that a task may pass through and the data structures needed to support the management of many tasks 5. Summarize techniques for achieving synchronization in an operating system (e.g., describe how to implement a semaphore using OS primitives) 6. Describe reasons for using interrupts, dispatching, and context switching to support concurrency in an operating system 7. Create state and transition diagrams for simple problem domains [Application]. OS/Scheduling and Dispatch [3 Core-Tier2 hours] Preemptive and nonpreemptive scheduling (cross reference SF/Resource Allocation and Scheduling, PD/Parallel Performance) Schedulers and policies (cross reference SF/Resource Allocation and Scheduling, PD/Parallel Performance) Processes and threads (cross reference SF/computational paradigms) Deadlines and real-time issues 1. Compare and contrast the common algorithms used for both preemptive and non-preemptive scheduling of tasks in operating systems, such as priority, performance comparison, and fair-share schemes [Application]. 2. Describe relationships between scheduling algorithms and application domains 3. Discuss the types of processor scheduling such as short-term, medium-term, long-term, and I/O 4. Describe the difference between processes and threads [Application]. 5. Compare and contrast static and dynamic approaches to real-time scheduling [Application]. 6. Discuss the need for preemption and deadline scheduling 7. Identify ways that the logic embodied in scheduling algorithms are applicable to other domains, such as disk I/O, network scheduling, project scheduling, and problems beyond computing [Application].

103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 OS/Memory Management [3 Core-Tier2 hours] Review of physical memory and memory management hardware Working sets and thrashing Caching 1. Explain memory hierarchy and cost-performance trade-offs 2. Summarize the principles of virtual memory as applied to caching and paging 3. Evaluate the trade-offs in terms of memory size (main memory, cache memory, auxiliary memory) and processor speed [Evaluation]. 4. Defend the different ways of allocating memory to tasks, citing the relative merits of each [Evaluation]. 5. Describe the reason for and use of cache memory (performance and proximity, different dimension of how caches complicate isolation and VM abstraction) 6. Discuss the concept of thrashing, both in terms of the reasons it occurs and the techniques used to recognize and manage the problem OS/Security and Protection [2 Core-Tier2 hours] Overview of system security Policy/mechanism separation Security methods and devices Protection, access control, and authentication Backups 1. Defend the need for protection and security in an OS (cross reference IAS/Security Architecture and Systems Administration/Investigating Operating Systems Security for various systems) [Evaluation]. 2. Summarize the features and limitations of an operating system used to provide protection and security (cross reference IAS/Security Architecture and Systems Administration) 3. Explain the mechanisms available in an OS to control access to resources (cross reference IAS/Security Architecture and Systems Administration/Access Control/Configuring systems to operate securely as an IT system) 4. Carry out simple system administration tasks according to a security policy, for example creating accounts, setting permissions, applying patches, and arranging for regular backups (cross reference IAS/Security Architecture and Systems Administration ) [Application]. 142

143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 OS/Virtual Machines Types of virtualization (Hardware/Software, OS, Server, Service, Network, etc.) Paging and virtual memory Virtual file systems Virtual file Hypervisors Portable virtualization; emulation vs. isolation Cost of virtualization 1. Explain the concept of virtual memory and how it is realized in hardware and software 2. Differentiate emulation and isolation 3. Evaluate virtualization trade-offs [Evaluation]. 4. Discuss hypervisors and the need for them in conjunction with different types of hypervisors [Application]. OS/Device Management Characteristics of serial and parallel devices Abstracting device differences Buffering strategies Direct memory access Recovery from failures 1. Explain the key difference between serial and parallel devices and identify the conditions in which each is appropriate 2. Identify the relationship between the physical hardware and the virtual devices maintained by the operating system [Application]. 3. Explain buffering and describe strategies for implementing it 4. 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 [Application]. 5. Describe the advantages and disadvantages of direct memory access and discuss the circumstances in which its use is warranted [Application]. 6. Identify the requirements for failure recovery 7. Implement a simple device driver for a range of possible devices [Application]. 183

184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 OS/File Systems Files: data, metadata, operations, organization, buffering, sequential, nonsequential Directories: contents and structure File systems: partitioning, mount/unmount, virtual file systems Standard implementation techniques Memory-mapped files Special-purpose file systems Naming, searching, access, backups Journaling and log-structured file systems 1. Summarize the full range of considerations in the design of file systems 2. Compare and contrast different approaches to file organization, recognizing the strengths and weaknesses of each [Application]. 3. Summarize how hardware developments have led to changes in the priorities for the design and the management of file systems 4. Summarize the use of journaling and how log-structured file systems enhance fault tolerance OS/Real Time and Embedded Systems Process and task scheduling Memory/disk management requirements in a real-time environment Failures, risks, and recovery Special concerns in real-time systems 1. Describe what makes a system a real-time system 2. Explain the presence of and describe the characteristics of latency in real-time systems 3. Summarize special concerns that real-time systems present and how these concerns are addressed OS/Fault Tolerance Fundamental concepts: reliable and available systems (cross reference SF/Reliability through Redundancy) Spatial and temporal redundancy (cross reference SF/Reliability through Redundancy) Methods used to implement fault tolerance Examples of OS mechanisms for detection, recovery, restart to implement fault tolerance, use of these techniques for the OS s own services

226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 1. Explain the relevance of the terms fault tolerance, reliability, and availability 2. Outline the range of methods for implementing fault tolerance in an operating system 3. Explain how an operating system can continue functioning after a fault occurs OS/System Performance Evaluation Why system performance needs to be evaluated (cross reference SF/Performance/Figures of performance merit) What is to be evaluated (cross reference SF/Performance/Figures of performance merit) Policies for caching, paging, scheduling, memory management, security, and so forth Evaluation models: deterministic, analytic, simulation, or implementation-specific How to collect evaluation data (profiling and tracing mechanisms) 1. Describe the performance measurements used to determine how a system performs 2. Explain the main evaluation models used to evaluate a system