Operating Systems Introduction



Similar documents
Overview and History of Operating Systems

EECS 678: Introduction to Operating Systems

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

How To Understand And Understand An Operating System In C Programming

How To Understand The History Of An Operating System

Operating Systems 4 th Class

Types Of Operating Systems

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

(Advanced Topics in) Operating Systems

3 - Introduction to Operating Systems

Overview of Operating Systems Instructor: Dr. Tongping Liu

Chapter 1: Introduction. What is an Operating System?

Contents. Chapter 1. Introduction

Programming for GCSE Topic H: Operating Systems

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

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

Operating System Structures

How To Understand The Principles Of Operating Systems

Undergraduate Course Syllabus

CHAPTER 15: Operating Systems: An Overview

Gildart Haase School of Computer Sciences and Engineering

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

Lesson 06: Basics of Software Development (W02D2

Chapter 1 Computer System Overview

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

Operating Systems. Rafael Ramirez (T, S)

Operating Systems Concepts. Chapter 1: Introduction. What is an operating system? Why might I want a virtual machine?

Chapter 2: Computer-System Structures. Computer System Operation Storage Structure Storage Hierarchy Hardware Protection General System Architecture

NETWORK OPERATING SYSTEMS. By: Waqas Ahmed (C.E.O at Treesol)

OS Concepts and structure

Introduction. General Course Information. Perspectives of the Computer. General Course Information (cont.) Operating Systems 1/12/2005

Performance Comparison of RTOS

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

Chapter 2: OS Overview

Principles of Operating Systems CS 446/646

International Engineering Journal For Research & Development

Introduction. What is an Operating System?

Introduction. System Calls

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

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

Operating Systems: Basic Concepts and History

Computer Science 4302 Operating Systems. Student Learning Outcomes

Operating System Components and Services

Operating Systems Overview

Operating Systems Prof. Ashok K Agrawala

Chapter 3. Operating Systems

Operating System Tutorial

Origins of Operating Systems OS/360. Martin Grund HPI

Unit 10 : An Introduction to Linux OS

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.

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

Operating System Components

Chapter 2 System Structures

Understanding the OS Architecture and Linux History. Zhiqiang Lin

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

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

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

UNIT 1 OPERATING SYSTEM : AN OVERVIEW

Chapter 5 System Software: Operating Systems and Utility Programs

OPERATING SYSTEM SERVICES

Operating System Software

Software: Systems and Application Software

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

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

Computers: Tools for an Information Age

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

IOS110. Virtualization 5/27/2014 1

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

Whitepaper. Vertex VDI. Tangent, Inc.

evm Virtualization Platform for Windows

Delivering Quality in Software Performance and Scalability Testing

THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals

Cloud Computing. Chapter 8 Virtualization

Introducción. Diseño de sistemas digitales.1

Chapter 5: System Software: Operating Systems and Utility Programs

CPS104 Computer Organization and Programming Lecture 18: Input-Output. Robert Wagner

Operating system Dr. Shroouq J.

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

farmerswife Contents Hourline Display Lists 1.1 Server Application 1.2 Client Application farmerswife.com

ELEC 377. Operating Systems. Week 1 Class 3

Concepts in Computer Engineering. Operating Systems

VIA CONNECT PRO Deployment Guide

Definition of Computers. INTRODUCTION to COMPUTERS. Historical Development ENIAC

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Have both hardware and software. Want to hide the details from the programmer (user).

Chapter 11 I/O Management and Disk Scheduling

Chapter 3 Operating-System Structures

Recommended hardware system configurations for ANSYS users

Virtualization for Cloud Computing

Storage and File Systems. Chester Rebeiro IIT Madras

CS 140: Introduction to Computer Science A Brief History of Computer Science. Edwin Rodríguez

Far-western University Central Office, Mahendranagar Operating System

Introduction to Virtual Machines

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Transcription:

Operating Systems Introduction Chester Rebeiro IIT Madras Webpage : http://www.cse.iitm.ac.in/~chester/courses/15o_os/index.html

The Layers in Systems Applications Operating Systems Computer Organization VLSI Transistors 2

OS usage Hardware Abstraction turns hardware into something that applications can use Resource Management manage system s resources 3

A Simple Program What is the output of the following program? How is the string displayed on the screen? 4

Displaying on the Screen Hello World Hello World + coordinates, color, depth, etc Monitor Processor Processor Memory Graphics Card Can be complex and tedious Hardware dependent Without an OS, all programs need to take care of every nitty gritty detail 5

App Operating Systems Provide Abstraction system call (write to STDOUT) Operating System Device driver Easy to program apps No more nitty gritty details for programmers Reusable functionality Apps can reuse the OS functionality Portable OS interfaces are consistent. The app does not change when hardware changes 6

OS as a Resource Manager Multiple apps but limited hardware Apps Operating Systems A few processors 7

OS as Resource Manager OS must manage CPU, memory, network, disk etc Resource management allows multiple apps to share resources protects apps from each other Improves performance by efficient utilization of resources 8

Sharing the CPU App1 App2 App3 App4 Who uses the CPU? App1 App2 App3 App4 time pre9

Operating Systems Types Application Specific Embedded OS eg. Contiki OS, for extremely memory constraint environments Mobile OS Android, ios, Ubuntu Touch, Windows Touch RTOS QNX, VxWorks, RTLinux Secure Environments SeLinux, SeL4 For Servers Redhat, Ubuntu, Windows Server Desktops Mac OS, Windows, Ubuntu 10

JOS and xv6 Designed for pedagogical reasons Unix like (version 6) Looks very similar to modern Linux operating systems Theory classes : xv6 Well documented, easy to understand Lab : JOS Build your own operating system from the skeleton 11

Course Structure Syllabus Overview of Operating Systems PC Hardware Memory Management Interrupts Context Switching Processes Scheduling Cooperating Processes Synchronization File Systems Security 12

Textbooks / References ''xv6: a simple, Unix-like teaching operating system", Revision 8, by Russ Cox, Frans Kaashoek, Robert Morris ''Operating System Concepts'', 8th edition, by Adraham Silberschatz, Pert B. Galvin, and Greg Gagne, Wiley-India edition The xv6 source code booklet (revision 8) http://www.cse.iitm.ac.in/~chester/courses/15o_os/index.html 13

Logistics Theory Classes (CS24, Slot F) Wednesdays : 11:00-11:50 AM Thursdays : 9:00-9:50 AM Fridays : 8:00-8:50 AM Lab (System s Lab, Slot P) Monday s : 2:00 5:00 PMs 14

Exams Quiz 1 : 25% Quiz 2 : 25% Final : 50% 15

Operating Systems (How did it all start?) 16

OS Evolution Evolution driven by Hardware improvements + User needs eg. low power requirements, Increased / reduced security, lower latency Evolution by New/better abstractions New/better resource management New/better low level implementations 17

Gen 1: Vacuum Tubes Hardware Vacuum tubes and IO with punchcards Expensive and slow User Apps Generally straightforward numeric computations done in machine language IBM Punch card ENIAC 18

Gen 1 : OS OS: Unheard of Human feeds program and prints output George Ryckman, on IBM s first computer The cost of wastage was $146,000 per month (in 1954 US Dollars) 19

Gen 2 : Mainframes Hardware transistors User Programs Assembly or Fortran entered using punch cards OS : Batch systems Possibly greatest invention in OS Computers may be able to schedule their own workload by means of software 20

Batch Systems Operator collects jobs (through punch cards) and feeds it into a magnetic tape drive Special Program reads a job from input tape drive and on completion writes result to output tape drive The next program is then read and executed Printing was done offline 21

Batch Systems (pros.) Pros Better utilization of machine 22

Batch Systems (cons.) In Batch Systems execute time includes reading from input and writing to output. I/O considerably slower than execution Magnetic tapes were best read sequentially Therefore programmer must wait for long time Input Magnetic Tape CPU Output Magnetic Tape 23

Gen 3 : Mini computers Hardware SSI/MSI/LSI ICs Random access memories Interrupts (used to simulate concurrent execution) User Programs High level languages (Fotran, COBOL, C, ) Operating Systems Multiprogramming Spooling 24

Multiprogramming Multiple jobs in memory When one waits for I/O the next job executes OS controls scheduling of jobs Protection between jobs OS Job 1 Job 2 Job 3 Memory partitions Multiprogramming with 3 jobs in memory 25

Spooling Uses buffers to continuously stream inputs and outputs to the system Disk Input Magnetic Tape CPU Output Magnetic Tape Pros : better utilization / throughput Cons : still not interactive 26

Timesharing Who uses the CPU? Terminal 1 Terminal 2 Terminal 3 Terminal 4 time 27

Timesharing John McCarthy, 1962 28

Multics, 1964 Multiplexed Information and Computing Service Ambitious project started in MIT Introduced several new OS features but was not successful by itself Segmented and Virtual memory High level language support Multi language support Security File system hierarchies Relational databases Shared memory multiprocessor 29

Gen 4 : Personal Computers Hardware VLSI ICs User Programs High level languages Operating Systems Multi tasking More complex memory management and scheduling Synchronization Examples : Windows, Linux, etc 30

Unix Dennis Ritchie and Ken Thomson tried to find an alternative for Multics Appeared at the right time Slater, 1987 31

Unix adopted Spread and soon became widely adopted Aho, 1984 Wide spread adoption arguably a hindrance to research? 32

Smartphones & Tablets Hardware VLSI ICs, low power requirements & high compute power Operating Systems User friendly Power awareness Always connected Offload to cloud Better protection, Virtual machines Examples : Android, ios 33

OS Buzzwords Buzzwords that have been around Security/ Reliability Fairness Utilization Isolation Contemporary buzzwords energy / size multi core support virtualization application specific OS 34

OS Research Trends Small (footprint, Minimum energy requirements) Security, Reliability (fewer errors, Formally verified, fault tolerant) Features (better device support, Multi core support) 35