cs 450 : operating systems michael saelee...

30
CS 450 : Operating Systems Michael Saelee <[email protected]> Preliminaries 1

Upload: others

Post on 18-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

CS 450 : Operating SystemsMichael Saelee <[email protected]>

Preliminaries

1

Page 2: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

Michael (Sae) Lee

Email: [email protected]

Office: SB 226A

Hours: MW, 11:30-12:30

2

Page 3: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

- prerequisites

- website, textbooks & other class resources

- assignments, exams & grading

- class overview

Agenda

3

Page 4: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

§Prerequisites

4

Page 5: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

Operating system abstractions:

- the process

- concurrency & exceptional control flow

- memory hierarchy (caching)

- virtual memory

- files and I/O structures (e.g., file descr.)

5

Page 6: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

System level APIs (i.e., syscalls) for:

- process management

- exceptional control flow

- input/output

- interprocess communication

6

Page 7: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

- C

- Some form of assembly (e.g., x86, ARM)

- Stack usage (in procedure call/return)

7

Page 8: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

§Class resources

8

Page 9: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

Class website: http://moss.cs.iit.edu/cs450 (not yet updated for Fall 2013!)

9

Page 10: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

Class Q/A forum: http://piazza.com

10

Page 11: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

Blackboard: http://blackboard.iit.edu

11

Page 12: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

Required (Printed) Textbook: Operating System Concepts (OSC)

12

Page 13: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

§Assignment, Exams & Grading

13

Page 14: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

6-8 assignments — 50% of grade:

- written paper

- quantitative analysis

- machine problem

14

Page 15: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

two exams (midterm & final) @ 25% each:

- final is not comprehensive

- no curving, scores normalized to 75%

- score ≥ 50% on both exams to pass

15

Page 16: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

A: ≥ 90%

B:80-89%

C:70-79%

D:60-69%

E:< 60%

16

Page 17: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

§Class Overview

17

Page 18: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

prereqs = you should already know what services are provided by OSes, along with:

- how to invoke them (syscalls)

- how to use them efficiently

- how they are (conceptually) implemented

18

Page 19: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

you should be familiar with details of:

- exceptional control flow

- file system structures (FDs, OFDs, etc.)

- virtual memory management constructs (e.g., page tables, TLB, etc.)

19

Page 20: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

lingering questions:

- how are processes scheduled?

- how to leverage concurrency?

- how is the file system implemented (and how does I/O work, in general)?

- how are protection/security enforced?

20

Page 21: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

primary topics:

1. scheduling and process management

2. concurrency and synchronization

3. storage management

4. protection and security

21

Page 22: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

plenty of breadth/depth:

- queueing theory

- different approaches to concurrent programming (e.g., message passing)

- file system implementation

22

Page 23: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

the debate: theory vs. implementation

- OSes are too big a topic for both

- theory first – (hopefully) broad application

- but it’d be nice to see some working OS code, too ...

23

Page 24: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

… the best way to prepare [to be a programmer] is to write programs, and to study great programs that other people have written.

In my case, I went to the garbage cans at the Computer Science Center and fished out listings of their operating system.

- Bill Gates

24

Page 25: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

Those who do not understand Unix are condemned to reinvent it, poorly

- Henry Spencer

25

Page 26: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

26

Page 27: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

27

Page 28: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

< 10,000 lines of code

- compared to > 10,000,000 for modern kernels (e.g., Linux)

- multi-user

- preemptively multitasked

- a UNIX

28

Page 29: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

But: antiquated architecture (PDP/11) and language (pre-ANSI C)

- inconvenient to simulate and tweak

29

Page 30: CS 450 : Operating Systems Michael Saelee chinetti.me/classes/cs450/lee-site/assets/slides-intro.pdf · Computer Science Science Michael (Sae) Lee Email: saelee@iit.edu

Computer ScienceScience

Enter xv6 — x86-based “clone” of v6:

- similarly small codebase

- machine problems will ask you to read through and make modifications to it

30