EECS 678: Introduction to Operating Systems. Heechul Yun

Similar documents
EECS 678: Introduction to Operating Systems. Heechul Yun

Fundamental Concepts and History

Operating Systems Concepts. CMPUT 379, Winter 2014 Section B1

Introduction and Overview

About Me. Office Hours: Tu 4-5, W 1-2, or by appointment Office: 346A IST Bldg

The First Operating System Was Human

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

Welcome to CSE 4300! Spring 2018

Operating Systems Introduction. Michael O Boyle

Today s agenda. Course overview. CS 537: Operating Systems Fall Course Introduction. Mike Swift

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

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

Operating Systems ( )

Operating Systems CMPSC 473. Introduction January 15, Lecture 1 Instructor: Trent Jaeger

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

Chapter 1: Introduction

Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction

Course Content. 07-Feb-17 Faculty of Computer Science & Engineering 1 BK TP.HCM

1.1 Introduction. Fig.1.1 Abstract view of the components of a computer system.

You Will Need Floppy Disks for your labs!

Linux Operating System

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

Basic Concepts & OS History

CSC 2405: Computer Systems II

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

Lecture 1: January 23

Chapter 1: Introduction Dr. Ali Fanian. Operating System Concepts 9 th Edit9on

Operating Systems CS 571

Introduction to Computer Systems and Operating Systems

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

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

Lecture 1: January 22

Chapter 1: Introduction

Types and Functions of Win Operating Systems

Operating Systems ( )

Chapter 1: Introduction

7/20/2008. What Operating Systems Do Computer-System Organization

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

Introduction to Operating Systems. Jo, Heeseung

CIS Operating Systems Introduction. Professor Qiang Zeng

Chapter 1: Introduction. Chapter 1: Introduction

Advanced Operating Systems (CS 202)

EITF20: Computer Architecture Part1.1.1: Introduction

CPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu

W4118: OS Overview. Junfeng Yang

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

Operating Systems. Introduction & Overview. Outline for today s lecture. Administrivia. ITS 225: Operating Systems. Lecture 1

EECS 3221 Operating System Fundamentals

EECS 3221 Operating System Fundamentals

Computer System Overview

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

Operating Systems: Overview and Introduction

Spring It takes a really bad school to ruin a good student and a really fantastic school to rescue a bad student. Dennis J.

CS 153 Design of Operating Systems

INTRODUCTION TO OPERATING SYSTEMS. Jo, Heeseung

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

CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM:

CS3600 SYSTEMS AND NETWORKS

Operating Systems ( )

Computer Systems and Networks. ECPE 170 University of the Pacific

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

Overview of Operating Systems

Operating Systems ( )

Operating Systems. studykorner.org

Spring 2017 :: CSE 506. Introduction. Nima Honarmand

Contents. Today's Topic: Introduction to Operating Systems

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

Lecture 1 Introduction (Chapter 1 of Textbook)

CSC 256/456: Operating Systems. Introduction. John Criswell! University of Rochester

European University of Lefke. Instructor: Dr. Arif SARI

CSci 5103 Operating Systems. Jon Weissman. Administrivia

CS420: Operating Systems

Chapter 1: Introduction. What is an Operating System? Overview Course (contd.) How do I spend my time? Computer System Components

Overview of Operating Systems

EEE 435 Principles of Operating Systems

CS30002: Operating Systems. Arobinda Gupta Spring 2017

COURSE OVERVIEW & OPERATING SYSTEMS CONCEPT Operating Systems Design Euiseong Seo

Intro to Operating Systems

Introduction to System Programming

DM510 Operating Systems. Jacob Aae Mikkelsen

Introduction to Operating Systems

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

Chapter 1: Introduction to Computers

Computer Basics. Computer Technology

Distributed and Operating Systems Spring Prashant Shenoy UMass Computer Science.

Learning Objectives. In this chapter you will learn about:

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

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

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

CS420: Operating Systems

8/25/2014. What is an Operating System? Operating systems: System calls (for programmers) From a user s perspective: System goals:

EECS 482 Introduction to Operating Systems

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

Operating Systems CS3502 Spring 2018

Operating systems Architecture

Introduction. Operating Systems. Introduction. Introduction. Introduction

Introduction to Operating Systems and Practicum in Operating Systems. COS 414/415 Spring 2002 Prof. Emin Gün Sirer

Chapter 1: Introduction Operating Systems MSc. Ivan A. Escobar

CS Operating Systems (OS) Introduction. Lecture 2 Sept 12, 2018

Module 1 Introduction/OS Overview

Transcription:

EECS 678: Introduction to Operating Systems Heechul Yun 1

About Me Heechul Yun, Assistant Prof., Dept. of EECS Office: 3040 Eaton, 236 Nichols Email: heechul.yun@ku.edu Research Areas Operating systems and architecture support for embedded/realtime systems To improve time predictability, energy efficiency, and throughput Multicore, memory systems Previously Worked as a systems software engineer at Samsung Electronics mainly worked on Linux kernel More Information http://ittc.ku.edu/~heechul 2

About This Class Textbook: Operating System Concepts Objectives: Learn OS basics and practical system programming skills Understand how it works! Audience: Senior and Junior undergraduate (grad students) Course website: http://ittc.ku.edu/~heechul/courses/eecs678/ 3

Course Structure Lectures Discuss OS concepts and the design of major OS components Quiz Weekly online quizzes to check your understanding Lab Hands-on system programming experiences. Each lab includes lab discussion and an assignment Programming projects Design and implement some parts of OS. 3 projects: 1) Shell, 2) CPU scheduler, 3) Memory allocator To do in groups of two persons. Solo project is also allowed. 4

Grading Exam: 50% (Mid:20%, Final:30%) Quiz: 5% Lab: 15% Projects: 30% 5

Grading 90+ : A 80-89: B 70-79: C 50-69: D 0-49: F 6

Policy Late submissions Lab assignments: not allowed. Projects: 20% off each additional 24 hours delay (~24h = 80%, ~48h = 60%, ~72h=40%, ~96h=20%, >96h = 0%) Cheating You can discuss about code and help find bugs of your peers. However, copying another s code (e.g., from github) or writing code for someone else is cheating and, if identified, the involved students will be notified to the department chair 7

8

Operating Systems Are Everywhere Computers Smart phones Cars Airplanes Almost everything 9

What is an Operating System? 10

What is an Operating System? A program that acts as an intermediary between users and the computer hardware Applications Operating System Computer Hardware 11

What is an Operating System? An easy to use virtual machine User s view Hide complex details for you. What CPU am I using? Intel or AMD? How much memory do I have? Where and how to store my data on the disk? Provide APIs and services read( ), write(..) Virtual memory, filesystems, 12

What is an Operating System? A resource manager System s view Make everybody get a fair share of resources Time and space multiplexing hardware resources Monitor/prevent error or improper use 13

What is an Operating System? Is an internet browser part of an OS? Everything that shipped by the OS vendor? What about solitaire? The program that always runs Typically in kernel mode (we will learn it later) 14

Why Needed? Programmability You don t need to know hardware details to do stuffs Portability You can run the same program on different hardware configurations Safety The OS protects your program from faults in other programs Efficiency Multiple programs/users can share the same hardware efficiently 15

What to Study? Not how to use I m sure you know better than me about how to use the ios in your iphone. But how it works! We will study the underlying concepts, standard OS components and their designs 16

OS Design Issues Structure How to organize the OS? Communication How to exchange data among different programs? Performance How to maximize/guarantee performance and fairness? Naming How to name/access resources? Protection How to protect with each other? Security How to prevent unauthorized access? Reliability How to prevent system crash? 17

Why Study? I m a user Have you ever wondered how it works? You can better tune the OS to improve performance (or save energy) I m a system programmer You can write more efficient programs by knowing how the OS works. I m a hacker You need to know the enemy (the OS) to beat it 18

Recap What is an OS? An intermediary between users and hardware A program that is always running A resource manager Manage resources efficiently and fairly A easy to use virtual machine providing APIs and services 19

Brief History of Computers Early computing machines Babbage s analytical engine First programmer: Ada Lovelace Vacuum tube machines 1940s ~ 1950s Used to break code in WWII No OS, No PL 20

Brief History of Computers Vacuum tubes Transistors IC VLSI Smaller, faster, and more reliable Enable smaller computers 1960s Mainframes 1970s Minicomputers 1980s Microprocessor, Apple, IBM PC 1990s PC, Internet 2000s Cloud computing 2010s Mobile, Internet-of-things (IoT) 21

Evolution of Operating Systems Batch systems Each user submits her job on punch cards Collect a batch of jobs, read the batch before start processing The OS processes each job at a time Problems CPU is underutilize to wait I/O operations No interactivity IBM 029 card punch http://www.catb.org/esr/writings/taouu/html/ch02s01.html 22

Evolution of Operating Systems Multiprogramming Multiple runnable jobs at a time I/O and compute can overlap OS goal: maximize system throughput IBM OS/360 23

Evolution of Operating Systems Timesharing Multiple interactive users sharing a machine Each user accesses the machine via a terminal Provide each user an illusion of using the entire machine OS goal: optimize response time UNIX 24

Evolution of Operating Systems Parallel computing Use multiple CPUs/cores to speed up performance OS goal: fast synchronization, max utilization Distributed computing Physically separate networked computers Virtualization Multiple OSes on a single machine 25

Challenges for Future OS New kinds of hardware are keep coming Heterogeneous multicore processors (e.g., ARM big.little) Storage Class Memory (SCM): non-volatile DRAM-like memories New computing paradigms Cloud computing Internet-of-Things (IoT) 26

Summary In this class, you will learn Major OS components Their structure, interface, mechanisms, policies, and algorithms This class will (hopefully) help you Understand the foundation of computing systems Understand various engineering trade-offs in designing complex systems you would build in future 27