31
Operating Systems Concepts CMPUT 379, Winter 2014 Section B1

Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Operating Systems Concepts

CMPUT 379, Winter 2014 Section B1

Page 2: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

What is this course about?

• Demystifying some of the underlying operation and organization of computer systems

���2

Title text: This is how I explain computer problems to my cat. My cat usually seems happier than me.

Page 3: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

Course Info

• Instructor: Martha White

• TAs: Oscar Ramirez, Ankush Roy, Muhammad Waqar

• Check eClass for contact info, lab location, office hours:

• 3 programming assignments, worth 12%, 20% and 18%

• 5 written exercises with readings assigned, worth 5% each (25% total)

• Final exam worth 25%, open-book and open-notes

���3

Page 4: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

Course Info: Textbook

• There is a required textbook

• Editions 8 and 9 are both acceptable. There are some differences between them; the required information, however, is there

• The textbook is a great resource and has many additional resources online

• e.g. study sheet that summarizes the key concepts in each chapter

• e.g. solutions to practice exercises

• The textbook is well organized and detailed; I will post the sections you should definitely read

���4

Page 5: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

Course Info: Lecture structure

• 5-10 minute break in middle of class for a wake-up exercise (possibly jumping jacks or short video clips)

• Approximately 60% of time on lecture material, 40% going through real examples in code

• Read textbook chapters before lecture; we will spend time in class asking questions about concepts

���5

Page 6: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

Transparency

• I will try to be transparent in the purpose of assignments and my expectations of you

• Feel free to give me feedback on eClass (anonymously); I want to make this course as useful to you as possible

• e.g. Miss. Teacher, you are talking too fast

• I love to answer questions and give advice!

• Courses are for you to learn, not for you to get a degree; getting a good job in computing science is not dependent on your degree but rather you knowledge

���6

Page 7: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

Expectations

Yours

I will be organized in lectures and office hours

I will treat you with respect and listen thoughtfully to questions

I will be fair in marking

I will try to make lectures relevant, clear and interesting

Mine

You will take initiative in your own learning

You will treat me with respect and avoid disruptions

You will not cheat or copy — “in your head” rule: leave w/ evrythng in your head; nothing recorded

You should know C (prerequisite)

���7

Page 8: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

Why is this course important?

• Operating systems are fundamental to most computing environments e.g. PCs, mobile devices, clusters

• They control interaction with computers, including input, processing and output

• e.g. starting up the computer, receiving key strokes from keyboard, managing memory, scheduling tasks

• OS’s use wide-array of algorithms and techniques

���8

Page 9: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

The knowledge and skills you should have learned by the end of the course

• The goal is not to learn about specific operating systems solutions, but rather the problems that they tackle

• Some algorithms/solutions used in an operating system, e.g. sockets, priority scheduling; understanding of limitations and trade-offs in choices

• A realization that asking questions is useful and that there is not usually a “correct” answer

• Improved skill in programming in c, with a focus on robust and readable code

���9

Page 10: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

Why this course should be fun!

• Operating systems tackle some very interesting problems

• e.g. scheduling, optimizing performance, speech recognition

• The assignments are hands-on; lectures will include real coding examples

• Learn about a core part of a machine you use everyday

• My focus is on you learning, not on evaluating you; evaluating you just happens to be an effective strategy to get you to learn

���10

Page 11: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

What is an operating system?

• It is not clear cut; many examples that seem different

• Linux - RedHat, Fedora, Debian, Slackware, Ubuntu, ...

• Mac OS X (Darwin)

• Windows

• BSD Unix - FreeBSD, NetBSD, OpenBSD, DragonflyBSD

• Interesting Fact: Microsoft sued in 1998 for putting too much into OS and restricting innovation

���11

Page 12: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

Simplistic OS Kernel definition

• “The one program running on the computer at all times” is the kernel

• Everything else is either

• a system program (ships with the OS), e.g. Internet Explorer

• an application program, e.g. Firefox

���12

Page 13: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

What is the role of an OS?

���13

Resources

Computation

Storage

User 1

User 2

User 3

Page 14: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

What is the role of an OS kernel?

• control program: control execution of programs, external devices, keep machine running smoothly

• abstraction layer: hide idiosyncrasies of machine

• protection layer: avoid possibly horrible consequences of other’s bugs, does what programs can’t be trusted to do, makes programs play nice

• policy enforcer: input, outputs, interaction, signals

• resource manager: physical resources (processor, memory, storage devices) and virtual resources

���14

Page 15: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

Exercise: Issues to address for an OS

���15

• What are some of the issues an OS must deal with when connecting multiple users and shared resources?

• What are some of the assumptions an OS makes?

Page 16: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

What are the differences between OS’s?

• Highly dependent on the system they are designed for

• e.g. cluster, personal computer, mobile device

���16

Page 17: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

Introduction

What are the differences between OS’s on similar platforms?

• Even for similar systems, each OS makes different design decisions and trade-offs

• e.g. Windows efficiency for small number of processes for one user, centralized control; Unix developers scalable multiprocessing and distributed (adaptive) control

���17

Page 18: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

A Brief History of Operating Systems

Page 19: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

IntroductionOperating System History

A world without operating systems

• Before operating systems, how were users connected to resources, like hardware and processing power?

• Fixed or manual operating systems (program with wires)

• First computers: every program needed full hardware specification to run

• with no intermediary OS to generalize, different programs had to be created for different machines

���19

Page 20: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

IntroductionOperating System History

First Generation Computers (1945-1955)

• Vacuum Tubes: control electric current through a vacuum

• No operating system or programming languages

• Filled entire rooms, had to physically wire the computer to carry out instructions

���20

ENIAC

Page 21: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

IntroductionOperating System History

Second Generation Computers (1955-1965)

• Transistors using semiconductors!

• Introduction of FORTRAN and assembler, written on punch cards

• Human operators at first had to act as OS, manually loading compilers for each job

• Batch jobs via tapes: input/output (I/O) separated from computation

���21

Page 22: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

IntroductionOperating System History

Early Operating System: Resident Monitor

Early batch system with resident monitors• bring cards to 1401 to read cards to tape

• put tape on 7094 which does computing, controlled by Fortran Monitor System

• put tape on 1401 which prints output

���22

$END

$RUN

data for program

$LOAD

$FTN

$JOB

program to be compiled

Page 23: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

IntroductionOperating System History

Third Generation Computers (1965-1980)

• Integrated circuits: transistors grouped on silicon chips

• High-level languages: PASCAL, BASIC

• With memory partitions, could read cards directly onto disk (one machine)

• Introduction of multiprogramming and time sharing, with user terminals - required more complex OS

• Introduction of MULTICS, which led to UNIX

���23

Page 24: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

IntroductionOperating System History Copyright © 1996–2002 by Eskicioglu & Marsland (and Prentice-Hall and Paul Lu)

Overview 11July

99

Job interleaving

CPU

I/O

Job A Job B

time

uniprogramming

CPU is idle 47%I/O is idle 53%

Jobs A and B end at time 36.

Jobs A and B end at time 25.

“pure’’multiprogramming

CPU is idle 20%I/O is idle 36%

A B

Job A

Job A

Job B

Job B

CPU

I/O

time0 5 10 15 20 25 30 35

0 5 10 15 20 25 30 35

CPU Idle

I/O Idle

Job Awaits

Job Bwaits

Role of OS in third generation: multiprogramming and time sharing

���24

Page 25: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

IntroductionOperating System History

Fourth Generation Computers (1980-now)

• Very Large Scale Integrated (VLSI) circuits - 5000 transistors per chip and Ultra LSI - million / chip

• personal computer revolution

• high-level languages like C and C++

• networks, distributed operating systems, parallel processing

���25

Page 26: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

IntroductionOperating System History

Role of OS in fourth generation: users

• Tasks are changing due to user-base changing; main purpose is no longer scientific/business computation

• A much larger range of operating systems to account for differences in users (e.g. cluster versus mobile)

• We will learn about fourth generation operating systems with a focus on a single user with multiple programs on a single-processor (personal computers)

���26

Page 27: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

IntroductionOperating System History

Modern Operating Systems are magic and you get to learn about them

���27

Page 28: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

IntroductionOperating System History

What will 5th generation computers look like?

• Previous generations influenced by new hardware (e.g. vacuum tubes, transistors, integrated circuits, LSI)

• Do we already have the beginnings of 5th generation computers with mobile/tablet computing? Fundamental changes to interfaces? With increasing cores?

• Or will 5th generation not be defined by hardware advances?

���28

Page 29: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

IntroductionOperating System History

Exercise: What do you foresee in 5th gen?

• What changes do you think might occur in the next leap forward in hardware and operating systems?

���29

Page 30: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

IntroductionOperating System History

Some potential answers

• NLP and AI advances could lead to more interactive computers?

• Brain-computer interfaces?

• Large multi-processor systems?

• Non-silicon based computers? Biologically inspired?

• Cloud computing and storage fundamentally change access to shared items?

���30

Page 31: Operating Systems Conceptssmartynk/Resources/CMPUT...Introduction Course Info: Textbook • There is a required textbook! • Editions 8 and 9 are both acceptable. There are some differences

IntroductionOperating System History

Where have we been?

• We have come a long way, but there are still many open problem in operating systems and upcoming changes

• Throughout lectures, we will discuss OS solutions, but also trade-offs and issues with design choices

• Consistent goal:

���31

Resources

Computation

Storage

User 1

User 2

User 3