EECS 678: Introduction to Operating Systems

Similar documents
Operating Systems Introduction

Operating System Components

Contents. Chapter 1. Introduction

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

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

How To Understand The Principles Of Operating Systems

CPS221 Lecture: Operating System Structure; Virtual Machines

Operating Systems: Basic Concepts and History

Chapter 1: Introduction. What is an Operating System?

Overview and History of Operating Systems

How To Understand The History Of An Operating System

3 - Introduction to Operating Systems

Operating Systems 4 th Class

How To Understand And Understand An Operating System In C Programming

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

System Structures. Services Interface Structure

Virtualization. Types of Interfaces

Chapter 2: OS Overview

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

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

Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat

Overview of Operating Systems Instructor: Dr. Tongping Liu

IOS110. Virtualization 5/27/2014 1

Chapter 3: Operating-System Structures. Common System Components

EUROPEAN UNIVERSITY OF LEFKE MANAGEMENT INFORMATION SYSTEMS DEPARTMENT COURSE DESCRIPTION

Operating system Dr. Shroouq J.

Chapter 3. Operating Systems

Programming for GCSE Topic H: Operating Systems

Introduction to Virtual Machines

CS 453/552: Operating Systems

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

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

Undergraduate Course Syllabus

Virtualization and Cloud Computing. Sorav Bansal

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

Operating System Structures

Performance Comparison of RTOS

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

ELEC 377. Operating Systems. Week 1 Class 3

Types Of Operating Systems

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

OPERATING SYSTEM SERVICES

Gildart Haase School of Computer Sciences and Engineering

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

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

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

Operating Systems. Rafael Ramirez (T, S)

Price/performance Modern Memory Hierarchy

Introduction. General Course Information. Perspectives of the Computer. General Course Information (cont.)

VMware Server 2.0 Essentials. Virtualization Deployment and Management

CSC 2405: Computer Systems II

Virtualization for Cloud Computing

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

Chapter 2 Logic Gates and Introduction to Computer Architecture

ELE 356 Computer Engineering II. Section 1 Foundations Class 6 Architecture

Connecting with Computer Science Chapter 1 Review:

Operating Systems Overview As we have learned in working model of a computer we require a software system to control all the equipment that are

Virtual Machines.

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

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

HPC performance applications on Virtual Clusters

Chapter 7: Distributed Systems: Warehouse-Scale Computing. Fall 2011 Jussi Kangasharju

Chapter 4 IT Infrastructure: Hardware and Software

AMD and SAP. Linux Alliance Overview. Key Customer Benefits

Operating Systems Concepts: Chapter 7: Scheduling Strategies

Example of Standard API

Audit & Tune Deliverables

Chapter 3 Operating-System Structures

Operating System Overview. Otto J. Anshus

Computer Systems and Networks. ECPE 170 Jeff Shafer University of the Pacific. Linux Basics

Operating System Structures

Intro to Virtualization

Multi-core Programming System Overview

Next Generation Operating Systems

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

Principles of Operating Systems CS 446/646

nanohub.org An Overview of Virtualization Techniques

Design and Implementation of the Heterogeneous Multikernel Operating System

Introduction to Computer Engineering EECS 203

Four Keys to Successful Multicore Optimization for Machine Vision. White Paper

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

Process Scheduling CS 241. February 24, Copyright University of Illinois CS 241 Staff

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

Computer Science 4302 Operating Systems. Student Learning Outcomes

Chapter 2 System Structures

Course Development of Programming for General-Purpose Multicore Processors

CS 61C: Great Ideas in Computer Architecture Virtual Memory Cont.

CSE 265: System and Network Administration

Components of a Computer System

TYPES OF COMPUTERS AND THEIR PARTS MULTIPLE CHOICE QUESTIONS

OS Concepts and structure

Virtualization Technology. Zhiming Shen

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

Beyond Cloud Computing - Computer technologies now and the future -

Mobile Test Strategy. Shankar Garg. Senior Consultant - Testing

IST639 Enterprise Technologies Course Syllabus Spring 2014

Operating System Structure

Week 1 out-of-class notes, discussions and sample problems

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Virtualization. Pradipta De

Transcription:

EECS 678: Introduction to Operating Systems 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

About This Class Course structure Lecture TR 8:00 9:15 @LEA 2112 Office hour: TR: 9:15-10:15 @ 3040 Eaton Discuss OS concepts and the design of major OS components Lab Tue 4:00-5:50 p.m.,fri9:00 10:50 p.m. @1005B Eaton Hands-on system programming experiences. Each lab includes lab discussion and an assignment TA will help you better understand the concepts learned during the lecture. Programming projects Design and implement some parts of OS (e.g., shell, scheduler) 3~4 projects are expected, each will be given 2~3 weeks to finish To do in groups of two persons. Solo project needs permission 4

About This Class Grading Attendance: 10% (no penalty up to 2 misses) Exam: 40% (mid:20%, final:20%) Quiz: 10% Lab assignment: 10% Programming projects: 30% 5

6

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

What is an Operating System? 8

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

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, 10

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 11

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) 12

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 13

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 14

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? 15

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 16

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 17

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) 18

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 No interactivity CPU is underutilize to wait I/O operations IBM 029 card punch http://www.catb.org/esr/writings/taouu/html/ch02s01.html 19

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 20

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 21

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 22

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) 23

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 24