Introduction to Operating Systems

Similar documents
Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

INTRODUCTION TO OPERATING SYSTEMS. Jo, Heeseung

Introduction to Operating Systems. Jo, Heeseung

Operating Systems History & Approaches. Computer Systems Laboratory Sungkyunkwan University

Operating Systems. I. Introduction. Eurecom

Operating Systems CS3502 Spring 2018

An Operating System History of Operating Systems. Operating Systems. Autumn CS4023

CSC 453 Operating Systems

Introduction to Linux

Operating Systems. Antônio Augusto Fröhlich LISHA/UFSC. December 20, 2008

Fundamental Concepts and History

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

OPERATING SYSTEMS OVERVIEW

Virtual Memory, Processes, and Sharing in MULTICS

Lecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter

Introduction to Unix. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Computer Science 4500 Operating Systems. Welcome! In This Module. Module 1 Introduction, Overview and History

ELEC 377 Operating Systems. Week 1 Class 2

Principles of Operating Systems CS 446/646

Operating Systems. Pablo Prieto Torralbo. 1. Introduction DEPARTMENT OF COMPUTER ENGINEERING

Introduction to Operating System. Dr. Aarti Singh Professor MMICT&BM MMU

Operating Systems: Overview and Introduction

Introduction to Computer Systems and Operating Systems

Architectural Support for OS

The First Operating System Was Human

Chap. 1) Introduction

CSC Operating Systems Fall Lecture - I Introduction. Tevfik Ko!ar. Louisiana State University. August 25 th, Contact Information

Systems Programming. The Unix/Linux Operating System

Unix API Books. Linux Kernel Books. Assignments and Exams. Grading for CSC 256. Operating Systems 8/31/2018. CSC 256/456 Fall

I/O Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

CMPSC 311- Introduction to Systems Programming Module: UNIX/Operating Systems

Logistics. 1: Welcome and Overview. Topics. What is an operating system? Benefits of Operating Systems (1) Hardware Resources

UNIX Kernel. UNIX History

Architectural Support for Operating Systems. Jinkyu Jeong ( Computer Systems Laboratory Sungkyunkwan University

Contents. Today's Topic: Introduction to Operating Systems

Computer System Overview

UNIX rewritten using C (Dennis Ritchie) UNIX (v7) released (ancestor of most UNIXs).

COMPUTER - GENERATIONS

Classic Systems: Unix and THE. Presented by Hakim Weatherspoon

Operating Systems Concepts. CMPUT 379, Winter 2014 Section B1

CS 153 Design of Operating Systems

Reserves time on a paper sign-up sheet. Programmer runs his own program. Relays or vacuum tube hardware. Plug board or punch card input.

Introduction to OS. Introduction MOS Mahmoud El-Gayyar. Mahmoud El-Gayyar / Introduction to OS 1

Module 1: Introduction

CS 416: Operating Systems Design February 2, 2015

Basic Concepts & OS History

Downloaded from various sources on the NET

Operating Systems CS 571

Introduction. Operating Systems. Introduction. Introduction. Introduction

Andrew S. Tanenbaum, Operating Systems, Design and Implementation, (Second Edition), Prentice Hall.

Course and Unix Intro

Operating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings

CSCI 2132 Software Development. Lecture 2: Introduction to UNIX and Unix-like Operating Systems

tech. solutions T2G Page1 ALT_01_Ch1 : Introduction to Linux ideas and history The History of Linux starts with the earlier development of UNIX.

1: Welcome and Overview COM S 414. Last Modified: 9/2/ :04:21 PM

Threads. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Module 1: Introduction. What is an Operating System?

LINUX System Administration. Perspectives, Practices and Expectations

Chapter 1: Introduction

CS 550 Operating Systems Spring Operating Systems Overview

learning objectives understand the role of an operating system understand the role of interpreters and compilers

Introduction To Operating System

History, Hardware, OS Concepts

Operating Systems Overview. Chapter 2

History of Operating Systems. History of Operating Systems. G53OPS: Operating Systems. History of Operating Systems. History of Operating Systems

Basics of system administration on a Unix system

Embedded Systems: OS

CHAPTER 1: Computers and Systems

Introduction to Basis and Practice in Programming

COS 318: Operating Systems. Overview. Jaswinder Pal Singh Computer Science Department Princeton University

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

Chapter 1: Introduction to Computers

Learning Objectives. In this chapter you will learn about:

Chapter 1: Introduction to Computers. In this chapter you will learn about:

CS370 Operating Systems

CSC 453 Operating Systems

Overview of Unix / Linux operating systems

Hard Disk Drives (HDDs)

Chapter 14 Operating Systems

Chapter 14 Operating Systems

What is an Operating System? A Whirlwind Tour of Operating Systems. How did OS evolve? How did OS evolve?

History And Modern Uses Of The Unix Operating System (including embedded devices and mobile phones).

CNT 4603, Spring 2009: Introduction

Multiprogramming. Evolution of OS. Today. Comp 104: Operating Systems Concepts 28/01/2013. Processes Management Scheduling & Resource Allocation

HIGH PERFORMANCE COMPUTING: MODELS, METHODS, & MEANS OPERATING SYSTEMS 1

Introduction to Software Systems Unix C + GNU HTML Perl Python

UNIX/Linux Fundamentals Lecture 1. Nick Stiffler Philip Conrad

SOFTWARE ARCHITECTURE

Operating System Labs. Yuanbin Wu

Operating Systems ( )

Four Components of a Computer System

OS - Introduction Ezio Bartocci Institute for Computer Engineering

Operating Systems Fundamentals. What is an Operating System? Focus. Computer System Components. Chapter 1: Introduction

OS concepts and structure. q OS components & interconnects q Structuring OSs q Next time: Processes

Introduction to OS (cs1550)

Unix to Linux. CS 3113 Fall 2018 Dr. Christan Grant

Introduction to System Programming

Chapter 2 Operating-System Structures

Transcription:

Introduction to Operating Systems Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu)

Today s Topics What is OS? History of OS EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 2

What is OS? (1) Software that converts hardware into a useful form for applications Users Applications Middleware Software Development Environment (compilers, loaders, editors, utilities, command interpreter, libraries) Operating System (Kernel) Computer System Architecture (Hardware Platform) EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 3

What is OS? (2) Application view Provides an execution environment for running programs Provides an abstract view of the underlying computer system Processors à Processes, Threads Memory à Address spaces (virtual memory) Storage à Volumes, Directories, Files I/O Devices à Files (ioctls) Networks à Files (sockets, pipes,...) EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 4

What is OS? (3) System view Manages various resources of a computer system Sharing Protection Fairness Efficiency... Resources CPU Memory I/O devices Queues Energy EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 5

What is OS? (4) Implementation view Highly-concurrent, event-driven software trap System call Interrupts Hardware EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 6

Three Pieces Virtualization Make each application believe it has each resource to itself Processes, CPU scheduling, virtual memory Concurrency Handle concurrent events correctly Threads, synchronization Persistence Access information permanently while preserving correctness upon unexpected failures Storage, file systems EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 7

1st Generation (1945-55): Vacuum Tubes and Plugboards No OS No programming languages No assembly languages ENIAC (Electronic Numerical Integrator And Computer), 1946 EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 8

2nd Generation (1955-65): Transistors and Mainframes Batch systems One job at a time Card readers, tape drives, line printers OS is always resident in memory and merely transfers a control. CPU is underutilized due to the bottleneck in I/O EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 9

3rd Generation (1965-80): Integrated Circuits (ICs) Architectural advances Using ICs: better price/performance Disk drives On-line terminals The notion of Computer Architecture : IBM System/360 family EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 10

3rd Generation (1965-80): Integrated Circuits (ICs) Multiprogrammed systems Increase CPU utilization OS features Job scheduling Memory management CPU scheduling Protection Spooling (Simultaneous Peripheral Operation On-Line) IBM OS/360 (1964) MFT (multiprogramming with fixed number of tasks) MVT (multiprogramming with variable number of tasks) EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 11

3rd Generation (1965-80): Integrated Circuits (ICs) Time-sharing systems Improve response time OS features Swapping Virtual memory File system Sophisticated CPU scheduling Synchronization Interprocess communication Interactive shell More protection, MIT CTSS (1961), Multics (1965), Unix (1969) EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 12

4th Generation (1980-): LSIs & VLSIs Architectural advances Microprocessors: smaller and faster Storage: larger and faster Personal computers CPU work is offloaded to I/O devices Modern OS features GUI (Graphical User Interface) Multimedia Internet & Web Mobile / Networked / Distributed, etc. Machine virtualization EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 13

OS History CTSS (1961, MIT) (Compatible Time Sharing System) OS/360 (1964, IBM) MULTICS (1965, MIT, Bell Labs, GE) (MULTiplexed Information and Computing Service) Unix (1969, Bell Labs) EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 14

Multics (1) Multiplexed Information and Computing Service A time-shared, multi-processor mainframe computing utility Originally started by MIT, GE, and Bell Labs for GE-645, a 36-bit system, in 1965. Bell Labs quit in 1969 and built Unix. GE s computer business, including Multics, was taken over by Honeywell in 1970. Last system shutdown on 10/31/2000. http://www.multicians.org EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 15

Multics (2) Multics innovations Hierarchical file system. File, directory, pathname, working directory ACLs, long names, hard/symbolic links, quota, Virtual memory, shared memory Dynamic linking. Implementation in a high level language (PL/1) User-level command shell Logical volumes Multics Relational Data Store (MRDS), Spreadsheets Supporting BCPL, Basic, APL, Fortran, Lisp, C, Cobol, Algol, Pascal Rated B2 by NCSC (National Computer Security Center) EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 16

Unix (1) When BTL (Bell Telephone Laboratories) withdrew from the Multics project, they needed to rewrite an operating system in order to play space war on another smaller machine (a DEC PDP-7 with 4K memory for user programs). The result was a system which a punning colleague called UNICS (UNiplexed Information and Computing Services) an emasculated Multics ; no one recalls whose idea the change to UNIX was. -- Peter H. Salus, A Quarter Century of Unix, Addision-Wesley, 1994. It was the summer of '69. In fact, my wife went on vacation to my family's place in California... I allocated a week each to the operating system, the shell, the editor, and the assembler, to reproduce itself, and during the month she was gone, it was totally rewritten in a form that looked like an operating system, with tools that were sort of known, you know, assembler, editor, and shell... Yeh, essentially one person for a month. -- Ken Thompson EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 17

Unix (2) Unix Features Hierarchical file systems Special files: uniform I/O, naming, and protection. Removable file systems via mount/umount i-node Process control fork(), exec(), wait(), exit() Pipes for inter-process communication Shells Standard I/O and I/O redirection Filters, command separators Shell scripts Signals EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 18

Unix (3) EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 19

Unix (4) Sun Solaris HP HP-UX IBM AIX Compaq (Digital) Tru64 SGI Irix SCO Unixware Linux FreeBSD, NetBSD, OpenBSD Apple Mac OS X & ios Android, etc. EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 20

Multics vs. Unix Multics: Top-down approach 150 Man-Years for design and system programming, another 50 Man-Years for improvements Too complicated, too costly hardware Many novel ideas had a great impact Unix: Bottom-up approach Simplicity, elegance, and ease of use Low cost hardware, university adoption 2 Man-Years The root of the modern operating systems EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu) 21