Components of a Computer System



Similar documents
Operating System Components

Operating System Structures

Operating System Organization. Purpose of an OS

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

Operating Systems 4 th Class

Chapter 3 Operating-System Structures

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

Chapter 3: Operating-System Structures. Common System Components

OS Concepts and structure

ELEC 377. Operating Systems. Week 1 Class 3

Overview of Operating Systems Instructor: Dr. Tongping Liu

Chapter 2 System Structures

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

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

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Chapter 2: OS Overview

System Structures. Services Interface Structure


Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

Example of Standard API

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

Chapter 1: Introduction. What is an Operating System?

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

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

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

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

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

CHAPTER 15: Operating Systems: An Overview

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Operating System Structure

Multiprogramming. IT 3123 Hardware and Software Concepts. Program Dispatching. Multiprogramming. Program Dispatching. Program Dispatching

CPS221 Lecture: Operating System Structure; Virtual Machines

Operating system Dr. Shroouq J.

Star System Deitel & Associates, Inc. All rights reserved.

A Comparison of Distributed Systems: ChorusOS and Amoeba

3 - Introduction to Operating Systems

Principles of Operating Systems CS 446/646

Chapter 3. Operating Systems

OPERATING SYSTEM SERVICES

Computers: Tools for an Information Age

The Plan Today... System Calls and API's Basics of OS design Virtual Machines

Operating System Structures

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

Operating Systems. Rafael Ramirez (T, S)

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

Kernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems

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

Principles and characteristics of distributed systems and environments

Distributed Operating Systems

Introduction. What is an Operating System?

CS161: Operating Systems

OPERATING SYSTEMS STRUCTURES

How To Understand The History Of An Operating System

Operating System Tutorial

Chapter 11 I/O Management and Disk Scheduling

(Advanced Topics in) Operating Systems

COS 318: Operating Systems

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

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Operating System Components and Services

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

Introduction to the NI Real-Time Hypervisor

1 Organization of Operating Systems

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

Amoeba Distributed Operating System

Operating Systems OS Architecture Models

Operating Systems. Lecture 03. February 11, 2013

International Engineering Journal For Research & Development

Undergraduate Course Syllabus

Protocols and Architecture. Protocol Architecture.

Virtual Servers. Virtual machines. Virtualization. Design of IBM s VM. Virtual machine systems can give everyone the OS (and hardware) that they want.

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

Virtual machine interface. Operating system. Physical machine interface

General Objectives: On completion of this course the student should be able to:

Operating Systems. Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first

OPERATING SYSTEM OVERVIEW

Lecture 1 Operating System Overview

Computer Science 4302 Operating Systems. Student Learning Outcomes

Linux for Embedded and Real-Time Systems

Upon completion of this chapter, you will able to answer the following questions:

Operating Systems, 6 th ed. Test Bank Chapter 7

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Programming for GCSE Topic H: Operating Systems

Contents. Chapter 1. Introduction

Chapter 6, The Operating System Machine Level

Operating Systems: Basic Concepts and History

Computer Organisation Operating Systems

Solution Guide Parallels Virtualization for Linux

Data Center Infrastructure

Network Attached Storage. Jinfeng Yang Oct/19/2015

How To Understand The Concept Of A Distributed System

Tuning U2 Databases on Windows. Nik Kesic, Lead Technical Support

x86 ISA Modifications to support Virtual Machines

Linux Kernel Architecture

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Security Overview of the Integrity Virtual Machines Architecture

Operating Systems Overview

Transcription:

SFWR ENG 3B04 Software Design III 1.1 3 Hardware Processor(s) Memory I/O devices Operating system Kernel System programs Components of a Computer System Application programs Users SFWR ENG 3B04 Software Design III 1.3 5 Characteristics of Modern OSs Multiprogramming: Several programs can be executed together Improves performance of the computer system Requires job scheduling Time-sharing: Several programs can be executed simultaneously by sharing the CPU (CPUs) Enables several users to use the computer simultaneously Requires CPU scheduling SFWR ENG 3B04 Software Design III 1.2 4 Major Benefits of an OS Convenience: facilitates the use of hardware Efficiency: ensures that resources are used efficiently Security: ensures that resources are not misused Communication: enables access to other computers Real-Time Support: enables real-time constraints to be met SFWR ENG 3B04 Software Design III 1.4 6 Operating System Components Process management Main memory management File management I/O management Secondary storage management Networking Security Command Interpreter

SFWR ENG 3B04 Software Design III 1.5 7 Process Management A process is a running program The OS must be able to start and stop processes A process runs sequentially The OS must control access to the CPU SFWR ENG 3B04 Software Design III 1.7 9 File Management A file is an abstract, uniform unit of stored information Files are organized into directories Files can be stored on several kinds of physical media Information access is largely controlled by file access A process requires access to system resources The OS allocates and controls system resources A process may need to communicate with other processes The OS must provide communication mechanisms SFWR ENG 3B04 Software Design III 1.6 8 Main Memory Management Main memory is the work space for the CPU Consists of a large array of words Each word is addressed by its index in the array The code and data of an executing process must be resident in main memory For efficiency, several processes are usually simultaneously resident in main memory A process may not completely fit in main memory SFWR ENG 3B04 Software Design III 1.8 10 I/O Device Management A computer includes several I/O hardware devices An operating system wraps an I/O subsystem around each I/O device to: Hide the physical aspects of the device Provide a uniform software-based means of accessing I/O devices

SFWR ENG 3B04 Software Design III 1.9 11 Secondary storage management Main memory has significant limitations: It is relatively small in size It is a volatile storage medium Secondary storage is needed to cover these limitations A computer s performance strongly depends on how efficiently it manages secondary storage SFWR ENG 3B04 Software Design III 1.11 13 Information Security System Concerned with the protection of: Electronically stored and manipulated information Operating system Application-level information systems Why information security is unique: Concerned with misuse instead of proper use Hard to engineer SFWR ENG 3B04 Software Design III 1.10 12 Networking System A computer may communicate with other computers on a physical data network (e.g., Ethernet or ATM) A computer may communicate across an internet of physical networks Several computers working together can form a distributed computing system Computer networking opens up a Pandora s box of security concerns SFWR ENG 3B04 Software Design III 1.12 14 Security Implementation Problems Involves most components of an information system Information security requirements clash with many other system requirements Cuts across component boundaries and levels of abstraction A system is only as secure as its weakest component

SFWR ENG 3B04 Software Design III 1.13 15 Command Interpreter The command interpreter is the user interface of an operating system May or may not be part of the OS kernel Kinds of command interpreters: Command line interpreter (called a shell in Unix) Mouse-based window and menu system SFWR ENG 3B04 Software Design III 1.15 17 Levels: Application programs System programs Kernel interface Kernel Hardware interface Hardware Example: Unix Simple OS Architecture SFWR ENG 3B04 Software Design III 1.14 16 Operating System Services Primary service: Program execution Secondary services: Access to I/O devices File manipulation Communication Error handling Security SFWR ENG 3B04 Software Design III 1.16 18 Kernel Interface The interface functions are special instructions called system calls or traps Programming interface to the kernel Instruction set of the kernel virtual machine Steps in executing a system call Process P invokes a system call instruction I Kernel gains control of CPU via interrupt The code for I is executed P regains control of the CPU

SFWR ENG 3B04 Software Design III 1.17 19 Process management Major Kernel Subinterfaces File and I/O device management I/O devices are treated as files (makes programs device independent) Interprocess communication May be local or remote Two models: message passing, shared memory SFWR ENG 3B04 Software Design III 1.19 21 Layered OS Architecture Operating system is composed of several layers starting at the hardware and ending at the user interface Each layer is a module: Interface is available to higher-layer implementations Implementation is defined using lower-layer interfaces Advantages: Modularity: layers can be developed as separate units Disadvantages: Hard to define a clean set of layers The more layers, the higher the overhead Example of tension between clarity and efficiency SFWR ENG 3B04 Software Design III 1.18 20 System Programs Provide operating system services to users Many system programs are interfaces to system calls Command interpreter is a major system program Interactive interface to the kernel Two implementation models: Single program Collection of system programs (as in Unix) SFWR ENG 3B04 Software Design III 1.20 22 Microkernel OS Architecture Operating system is built on top of a microkernel made as small as possible which includes: Process management Memory management Interprocess communication System programs compose the rest of the OS Example: Mach (developed at CMU in mid 1980s, used in OSF1, Tru64 Unix, GNU HURD, MacOs X) Advantages: Easy to extend OS: add more system programs Easier to maintain; more secure and reliable because Individual operating systems can be implemented as collections of system programs