Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
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