Operating Systems - OS3 · • System Calls are the interface the Operating System offers to...

Post on 18-Apr-2020

9 views 0 download

Transcript of Operating Systems - OS3 · • System Calls are the interface the Operating System offers to...

Operating Systems

Operating Systems - Winter 2012

Andrew S. TanenbaumMelanie Rieback

Arno Bakker

Design and Implementation

Vrije Universiteit Amsterdam

Outline

Vrije Universiteit Amsterdam Slide 4

• Introduction• What is an OS?

• Concepts

• Processes and Threads

• Memory Management

• File Systems

Operating Systems 2012

Chap 1 - Overview

Vrije Universiteit Amsterdam Slide 4

• What is an Operating System?

• Concepts

• System Calls

• Structure

Operating Systems 2012

What is an OS?

Vrije Universiteit Amsterdam Slide 13

Operating Systems 2012

2 Views on OSes

Vrije Universiteit Amsterdam Slide 15

• OS as a Virtual Machine

• Extending the HW functionality

• Hides the messy details of programming the HW

• OS as a Resource Manager

• Protects against simultaneous usage of resources

• Fair sharing of resources (scheduling)

• Resource accounting

Operating Systems 2012

How to View an OSOperating Systems 2011

Vrije Universiteit Amsterdam Slide 16

OS

Program

System calls

Concept: ProcessesOperating Systems 2011

Vrije Universiteit Amsterdam Slide 17

Multiple ProcessesOperating Systems 2011

Vrije Universiteit Amsterdam Slide 18

some_program

init

shell

System CallsOperating Systems 2011

Vrije Universiteit Amsterdam Slide 27

Hardware

Operating SystemSystem Calls

LibrariesLibrary functions

Applications / Processes

Instruction Set Architecture

• System Calls are the interface the Operating System offers to applications.• Problem: Mechanics of issuing a system call are highly machine dependent• Solution: Provide a library to allow system calls from C programs: libc

Bashlibc

Linux kernel

x86_64

System Calls: Process Management (1/2)

Vrije Universiteit Amsterdam Slide 28

System Calls: Process Management (2/2)

Vrije Universiteit Amsterdam Slide 29

System Calls: SignalsOperating Systems 2011

Vrije Universiteit Amsterdam Slide 30

Concept: Mounting (1/2) Operating Systems 2011

Vrije Universiteit Amsterdam Slide 23

File System Mounting (2/2) Operating Systems 2011

Vrije Universiteit Amsterdam Slide 24

Special Files (1/2) Operating Systems 2011

Vrije Universiteit Amsterdam Slide 25

Storage devices are mapped into the file tree via mounting. Idea: do this for all devices.

Mechanism: Special files in /dev

Two types:

Special Files (2/2) Operating Systems 2011

Vrije Universiteit Amsterdam Slide 26

System Calls: FilesOperating Systems 2011

Vrije Universiteit Amsterdam Slide 31

System Calls: DirectoriesOperating Systems 2011

Vrije Universiteit Amsterdam Slide 32

System Calls: Implementation Operating Systems 2011

Vrije Universiteit Amsterdam Slide 35

OS Structure: UNIXOperating Systems 2011

Vrije Universiteit Amsterdam Slide 37

OS Structure: LinuxOperating Systems 2011

Vrije Universiteit Amsterdam Slide 38

Operating Systems

Operating Systems - Winter 2012

Chapter 2 - Processes

Vrije Universiteit Amsterdam

Chap 2 - OverviewOperating Systems 2012

Vrije Universiteit Amsterdam Slide 1

• Scheduling Processes

• Threads

Recall: Process

Vrije Universiteit Amsterdam Slide 2

Operating Systems 2012

One CPU, Many Processes

Vrije Universiteit Amsterdam Slide 3

Operating Systems 2012

• Processes share the CPU(s)• A scheduler determines which process to run next• Keeps track of the process state• Following some scheduling policy (random robin, shortest

job first, etc).

Process States

Vrije Universiteit Amsterdam Slide 5

Operating Systems 2012

Context SwitchingOperating Systems 2011

Vrije Universiteit Amsterdam Slide 39

Process ImplementationOperating Systems 2011

Vrije Universiteit Amsterdam Slide 7

ProcessTable: ps -ef

ThreadsOperating Systems 2011

Vrije Universiteit Amsterdam Slide 10

Threads: Minimal SupportOperating Systems 2011

Vrije Universiteit Amsterdam Slide 11

Threads – Some ProblemsOperating Systems 2011

Vrije Universiteit Amsterdam Slide 12

Mutual ExclusionOperating Systems 2011

Vrije Universiteit Amsterdam Slide 15

Operating Systems

Operating Systems - Winter 2012

Chapter 4 – Memory Management

Vrije Universiteit Amsterdam

Chap 4 - OverviewOperating Systems 2012

Vrije Universiteit Amsterdam Slide 1

• Memory Management

• Paged Memory

• Virtual Memory

• Segmentation

Memory Management – SimpleOperating Systems 2012

Vrije Universiteit Amsterdam Slide 2

Memory Management - ComplexOperating Systems 2012

Vrije Universiteit Amsterdam Slide 10

Multiple processes in the same memory

Paged Memory Systems (1/2) Operating Systems 2012

Vrije Universiteit Amsterdam Slide 15

Paged Memory Systems (2/2)

Vrije Universiteit Amsterdam Slide 17

Virtual Memory Operating Systems 2012

Vrije Universiteit Amsterdam Slide 24

• Idea: Not all virtual pages have to be in physical memory• Instead stored on disk -> cheap storage• In swap partition• Much more memory available• Works if not all pages are used at the same time

Segmentation Operating Systems 2012

Vrije Universiteit Amsterdam Slide 35

Stack

Data

Code

N

0Code Data Stack

N

0

• Segments can grow independently• Hardware helps to map segments to virtual memory• Hardware helps to protect: read-only, no-execute

Operating Systems

Operating Systems - Winter 2012

Chapter 5 – File Systems

Vrije Universiteit Amsterdam

Chap 5 - OverviewOperating Systems 2012

Vrije Universiteit Amsterdam Slide 1

• Files

• Directories

• File system implementation

• UNIX/MINIX filesystem

Directories

Vrije Universiteit Amsterdam Slide 5

Operating Systems 2012

i-node

File Attributes

Vrije Universiteit Amsterdam Slide 4

Operating Systems 2012

Directories – Pathnames

Vrije Universiteit Amsterdam Slide 6

Operating Systems 2012

File System Design

Vrije Universiteit Amsterdam Slide 7

Operating Systems 2012

File Storage: Disk Layout

Vrije Universiteit Amsterdam Slide 8

Operating Systems 2012

File Storage – Inodes

Vrije Universiteit Amsterdam Slide 11

Operating Systems 2012

File Storage – UNIX

Vrije Universiteit Amsterdam Slide 13

Operating Systems 2012

File Storage – Name Resolution

Vrije Universiteit Amsterdam Slide 14

Operating Systems 2012

Disk Space Management (1/2)

Vrije Universiteit Amsterdam Slide 15

Operating Systems 2012

File System Consistency

Vrije Universiteit Amsterdam Slide 18

Operating Systems 2012

Buffer Cache

Vrije Universiteit Amsterdam Slide 20

Operating Systems 2012

Log-Structured File Systems

Vrije Universiteit Amsterdam Slide 21

Operating Systems 2012

MINIX Filesystem

Vrije Universiteit Amsterdam Slide 31

Operating Systems 2012

MINIX Superblock

Vrije Universiteit Amsterdam Slide 32

Operating Systems 2012