Contents. Chapter 1. Introduction



Similar documents
Chapter 1: Introduction. What is an Operating System?

Types Of Operating Systems

Overview and History of Operating Systems

3 - Introduction to Operating Systems

1.5 Distributed Systems

Operating Systems 4 th Class

Components of a Computing System. What is an Operating System? Resources. Abstract Resources. Goals of an OS. System Software

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

How To Understand The Principles Of Operating Systems

Operating Systems Prof. Ashok K Agrawala

Overview of Operating Systems Instructor: Dr. Tongping Liu

Operating Systems: Basic Concepts and History

Operating Systems Overview

EECS 678: Introduction to Operating Systems

Principles of Operating Systems CS 446/646

CHAPTER 15: Operating Systems: An Overview

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

Chapter 18: Database System Architectures. Centralized Systems

How To Understand And Understand An Operating System In C Programming

Computers: Tools for an Information Age

CS 453/552: Operating Systems

Chapter 5: System Software: Operating Systems and Utility Programs

Operating System Structures

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

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

Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures

Chapter 3. Operating Systems

Chapter 3 Operating-System Structures

Chapter 3: Operating-System Structures. Common System Components

Operating System Tutorial

Chapter 2: OS Overview

Operating system Dr. Shroouq J.

Local-Area Network -LAN

Introduction to Virtual Machines

Operating System Software

Operating Systems. Rafael Ramirez (T, S)

Introduction. What is an Operating System?

Chapter 4 IT Infrastructure: Hardware and Software

Chapter 2 System Structures

Ways to Use USB in Embedded Systems

How To Understand The History Of An Operating System

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

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

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Operating Systems PART -A

Software: Systems and Application Software

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

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

Operating Systems Introduction

Mobile Devices and Systems Lesson 02 Handheld Pocket Computers and Mobile System Operating Systems

Chap-02, Hardware and Software. Hardware Model

Base One's Rich Client Architecture

& Data Processing 2. Exercise 1: Introduction to Operating System Concepts. Dipl.-Ing. Bogdan Marin. Universität Duisburg-Essen

Chapter 1: Introduction. Chapter 1: Introduction. Operating System Concepts, 7th Edition. Objectives

evm Virtualization Platform for Windows

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Introduction. System Calls

lesson 1 An Overview of the Computer System

Distributed Systems. Examples. Advantages and disadvantages. CIS 505: Software Systems. Introduction to Distributed Systems

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

theguard! ApplicationManager System Windows Data Collector

High Performance Computing. Course Notes HPC Fundamentals

Chapter 16 Distributed Processing, Client/Server, and Clusters

Mobile Operating Systems Lesson 05 Windows CE Part 1

Virtualization. Pradipta De

Sage Intergy 6.10 Architecture Guide

Client/Server Computing Distributed Processing, Client/Server, and Clusters

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

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

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6

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

(Advanced Topics in) Operating Systems

Cisco Application Networking for Citrix Presentation Server

QF01/ الخطة الدراسية كلية العلوم وتكنولوجيا المعلومات- برنامج الماجستير/ الوصف المختصر

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

Client/Server and Distributed Computing

Software design (Cont.)

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

Programming for GCSE Topic H: Operating Systems

ELEC 377. Operating Systems. Week 1 Class 3

Cisco Application Networking for IBM WebSphere

LOWER TOTAL COST OF OWNERSHIP & INCREASED PRODUCTIVITY

1/5/2013. Technology in Action

How To Virtualize A Storage Area Network (San) With Virtualization

Chapter 11 I/O Management and Disk Scheduling

Components of a Computer System

Introduction. Network Basics. Workstations. Server. Hub

Real-Time Operating Systems for MPSoCs

Computer Systems Structure Input/Output

Lecture 1. Lecture Overview. Intro to Networking. Intro to Networking. Motivation behind Networking. Computer / Data Networks

Virtual Machines.

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

nanohub.org An Overview of Virtualization Techniques

Emerging IT and Energy Star PC Specification Version 4.0: Opportunities and Risks. ITI/EPA Energy Star Workshop June 21, 2005 Donna Sadowy, AMD

Virtual machine interface. Operating system. Physical machine interface

4.1 Introduction 4.2 Explain the purpose of an operating system Describe characteristics of modern operating systems Control Hardware Access

This paper was presented at the 1996 CAUSE annual conference. It is part of the proceedings of that conference, "Broadening Our Horizons:

Fibre Channel Overview of the Technology. Early History and Fibre Channel Standards Development

Transcription:

Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual Memory 11. File Systems Chapter 1. Introduction

Introduction What is an Operating System? A basis for application programs An intermediary between users and hardware Amazing variety Mainframe, personal computer (PC), handheld computer, embedded computer without user view Convenient vs Efficient Computer System Components User User... User Application Programs Operating System Hardware compilers, word processors, spreadsheets, Browsers, etc. CPU, I/O devices, memory, etc. OS a government/environment provider

User View The user view of the computer varies by the interface being used! Examples: Personal Computer Ease of use Mainframe or minicomputer maximization of resource utilization Efficiency and fair share Workstations compromise between individual usability & resource utilization Handheld computer individual usability Embedded computer without user view run without user intervention System View A Resource Allocator CPU time, Memory Space, File Storage, I/O Devices, Shared Code, Data Structures, and more A Control Program Control execution of user programs Prevent errors and misuse OS definitions US Dept.of Justice against Microsoft in 1998 The stuff shipped by vendors as an OS Run at all time

System Goals Two Conflicting Goals: Convenient for the user! Efficient operation of the computer system! We should recognize the influences of operating systems and computer architecture on each other and learn why and how OS s are by tracing their evolution and predicting what they will become! UNIX Architecture User interface System call interface Kernel interface to the hardware user user user user user user user Shells, compilers, X, application programs, etc. CPU scheduling, signal handling, virtual memory, paging, swapping, file system, disk drivers, caching/buffering, etc. terminal controller, terminals, physical memory, device controller, devices such as disks, memory, etc. UNIX

Mainframe Systems The first used to tackle many commercial and scientific applications! 0th Generation 1940?s A significant amount of set-up time in the running of a job Programmer = operator Programmed in binary assembler (1950) high level language Mainframe Batch Systems Batches sorted and submitted by the operator Simple batch systems Off-line processing ~ Replace slow input device with faster units replace card readers with disks Resident monitor ~ Automatically transfer control from one job to the next loader job sequencing control card interpreter User Program Area monitor

Mainframe Batch Systems Spooling (Simultaneous Peripheral Operation On- Line) ~ Replace sequential-access devices with random-access device => Overlap the I/O of one job with the computation of others e.g. card disk, CPU services, disk printer Job Scheduling disks disks card reader CPU printer Mainframe Multiprogrammed Systems Multiprogramming increases CPU utilization by organizing jobs so that the CPU always has one to execute Early 1960 Multiporgrammed batched systems Job scheduling and CPU scheduling Goal : efficient use of scare resources monitor CPU scheduling job1 job2 job3 disk

Mainframe Time-Sharing Systems Time sharing (or multitasking) is a logical extension of multiprogramming! Started in 1960s and become common in 1970s. An interactive (or handon) computer system Multics, IBM OS/360 on-line file system virtual memory sophisticated CPU scheduling job synchronization protection & security... and so on disk Desktop Systems Personal Computers (PC s) Appeared in the 1970s. Goals of operating systems keep changing Less-Powerful Hardware & Isolated Environment Poor Features Benefited from the development of mainframe OS s and the dropping of hardware cost Advanced protection features User Convenience & Responsiveness

Parallel Systems Tightly coupled: have more than one processor in close communication sharing computer bus, clock, and sometimes memory and peripheral devices Loosely coupled: otherwise Advantages Speedup Throughput Lower cost Economy of Scale More reliable Graceful Degradation Fail Soft (detection, diagnosis, correction) A Tandem fault-tolerance solution Parallel Systems Symmetric multiprocessing model: each processor runs an identical copy of the OS Asymmetric multiprocessing model: a masterslave relationship ~ Dynamically allocate or pre-allocate tasks ~ Commonly seen in extremely large systems ~ Hardware and software make a difference? Trend: the dropping of microporcessor cost OS functions are offloaded to slave processors (back-ends)

Distributed Systems Definition: Loosely-Coupled Systems processors do not share memory or a clock Heterogeneous vs Homogeneous Advantages or Reasons Resource sharing: computation power, peripheral devices, specialized hardware Computation speedup: distribute the computation among various sites load sharing Reliability: redundancy reliability Communication: X-window, email Distributed Systems Distributed systems depend on networking for their functionality. Networks vary by the protocols used. TCP/IP, ATM, etc. Types distance Local-area network (LAN) Wide-area network (WAN) Metropolitan-area network (MAN) Small-area network distance of few feet Media copper wires, fiber strands, satellite wireless transmission, infrared communication,etc.

Distributed Systems Client-Server Systems Compute-server systems File-server systems Peer-to-Peer Systems Network connectivity is an essential component. Network Operating Systems Autonomous computers A distributed operating system a single OS controlling the network. Clustered Systems Definition: Clustered computers which share storage and are closely linked via LAN networking. Advantages: high availability, performance improvement, etc. Types Asymmetric/symmetric clustering Parallel clustering multiple hosts that access the same data on the shared storage. Global clusters Distributed Lock Manager (DLM)

Real-Time Systems Definition: A real-time system is a computer system where a timely response by the computer to external stimuli is vital! Hard real-time system: The system has failed if a timing constraint, e.g. deadline, is not met. All delays in the system must be bounded. Many advanced features are absent. Real-Time Systems Soft real-time system: Missing a timing constraint is serious, but does not necessarily result in a failure unless it is excessive A critical task has a higher priority. Supported in most commercial OS. Real-time means on-time instead of fast

Real-Time Systems Applications Air traffic control Space shuttle Navigation Multimedia systems Industrial control systems Home appliance controller Nuclear power plant Virtual reality Games User interface Vision and speech recognition (approx. 100 ~ 200ms) PDA, telephone system And more Handheld Systems Handheld Systems E.g., Personal Digital Assistant (PDA) New Challenges convenience vs portability Limited Size and Weight Small Memory Size No Virtual Memory Slow Processor Battery Power Small display screen Web-clipping

Feature Migration MULTIplexed Information and Computing Services (MULTICS) 1965-1970 at MIT as a utility UNIX Since 1970 on PDP-11 Recent OS s MS Windows, IBM OS/2, MacOS X OS features being scaled down to fit PC s Personal Workstations large PC s Computing Environments Traditional Computing E.g., typical office environment Web-Based Computing Web Technology Portals, network computers, etc. Network connectivity New categories of devices Load balancers Embedded Computing Car engines, robots, VCR s, home automation Embedded OS s often have limited features.