Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam



Similar documents
Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction

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

Chapter 10 Case Study 1: LINUX

Linux Kernel Architecture

Amoeba Distributed Operating System

Red Hat Linux Internals

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

ELEC 377. Operating Systems. Week 1 Class 3

File Systems Management and Examples

LSN 10 Linux Overview

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems

Operating System Components

Network File System (NFS) Pradipta De

Best Practices on monitoring Solaris Global/Local Zones using IBM Tivoli Monitoring

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Chapter 12 File Management. Roadmap

Chapter 12 File Management

Audit & Tune Deliverables

I/O Management. General Computer Architecture. Goals for I/O. Levels of I/O. Naming. I/O Management. COMP755 Advanced Operating Systems 1

CS 153 Design of Operating Systems Spring 2015

Chapter 3 Operating-System Structures

Operating System Structures

Operating Systems and Networks

OPERATING SYSTEM SERVICES

Disaster Recovery Checklist Disaster Recovery Plan for <System One>

Example of Standard API

Operating Systems 4 th Class

Distributed Operating Systems. Cluster Systems

Multi-core Programming System Overview

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

HP-UX System and Network Administration for Experienced UNIX System Administrators Course Summary

Gildart Haase School of Computer Sciences and Engineering

Virtualization in Linux

Chapter 6, The Operating System Machine Level

The Linux Virtual Filesystem

Process Description and Control william stallings, maurizio pizzonia - sistemi operativi

Chapter 12 File Management

Virtualization for Cloud Computing

FAME Operating Systems

The System Monitor Handbook. Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig

CSE 120 Principles of Operating Systems

Components of a Computer System

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

Chapter 11: File System Implementation. Operating System Concepts 8 th Edition

HTTP-FUSE PS3 Linux: an internet boot framework with kboot

File Management. COMP3231 Operating Systems. Kevin Elphinstone. Tanenbaum, Chapter 4

Eloquence Training What s new in Eloquence B.08.00

Survey of Filesystems for Embedded Linux. Presented by Gene Sally CELF

Chapter 11 I/O Management and Disk Scheduling

A Deduplication File System & Course Review

Security Overview of the Integrity Virtual Machines Architecture

Safety measures in Linux

Operating Systems CSE 410, Spring File Management. Stephen Wagner Michigan State University

Operating System Tutorial

Operating System Structure

Concepts in Computer Engineering. Operating Systems

Operating Systems Lab Exercises: WINDOWS 2000/XP Task Manager

COS 318: Operating Systems

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

UNISOL SysAdmin. SysAdmin helps systems administrators manage their UNIX systems and networks more effectively.

Operating System Overview. Otto J. Anshus

EECS 750: Advanced Operating Systems. 01/28 /2015 Heechul Yun

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

Two Parts. Filesystem Interface. Filesystem design. Interface the user sees. Implementing the interface

CHAPTER 17: File Management

A Comparison of Distributed Systems: ChorusOS and Amoeba

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

OS Concepts and structure

CSE 265: System and Network Administration. CSE 265: System and Network Administration

COS 318: Operating Systems

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

Operating Systems. Rafael Ramirez (T, S)

Weighted Total Mark. Weighted Exam Mark

VMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Rackspace Cloud Databases and Container-based Virtualization

Operating System Software

CSC 2405: Computer Systems II

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

Topics in Computer System Performance and Reliability: Storage Systems!

Computer Science 4302 Operating Systems. Student Learning Outcomes

Understanding the OS Architecture and Linux History. Zhiqiang Lin

IBM Tivoli Monitoring Version 6.3 Fix Pack 2. Infrastructure Management Dashboards for Servers Reference

CSE 265: System and Network Administration

Proposal for Virtual Private Server Provisioning

b. A program calls malloc to request more memory from the operating system. i.what system call would malloc use to request more memory of the OS?

EXPLORING LINUX KERNEL: THE EASY WAY!

CS161: Operating Systems

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

Distributed System Monitoring and Failure Diagnosis using Cooperative Virtual Backdoors

1. Introduction to the UNIX File System: logical vision

CHAPTER 15: Operating Systems: An Overview

Virtual vs Physical Addresses

OPERATING SYSTEMS STRUCTURES

Why study Operating Systems? CS 372. Why study. Why study. Introduction to Operating Systems

System Resources. To keep your system in optimum shape, you need to be CHAPTER 16. System-Monitoring Tools IN THIS CHAPTER. Console-Based Monitoring

Transcription:

Operating Systems Design and Implementation Andrew S. Tanenbaum Melanie Rieback Arno Bakker Vrije Universiteit Amsterdam Operating Systems - Winter 2012

Outline Introduction What is an OS? Concepts Processes and Threads Memory Management File Systems Vrije Universiteit Amsterdam Slide 4

Chap 1 - Overview What is an Operating System? Concepts System Calls Structure Vrije Universiteit Amsterdam Slide 4

What is an OS? Vrije Universiteit Amsterdam Slide 13

2 Views on OSes 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 Vrije Universiteit Amsterdam Slide 15

How to View an OS Operating Systems 2011 Program OS System calls Vrije Universiteit Amsterdam Slide 16

Concept: Processes Operating Systems 2011 Vrije Universiteit Amsterdam Slide 17

Multiple Processes Operating Systems 2011 init shell Vrije Universiteit Amsterdam some_ program Slide 18

System Calls Operating Systems 2011 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 Library functions System Calls Instruction Set Architecture Applications / Processes Libraries Operating System Hardware Bash libc Linux kernel x86_64 Vrije Universiteit Amsterdam Slide 27

System Calls: Process Management (1/2) Vrije Universiteit Amsterdam Slide 28

System Calls: Process Management (2/2) Vrije Universiteit Amsterdam Slide 29

System Calls: Signals Operating 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) Storage devices are mapped into the file tree via mounting. Idea: do this for all devices. Mechanism: Special files in /dev Two types: Operating Systems 2011 Vrije Universiteit Amsterdam Slide 25

Special Files (2/2) Operating Systems 2011 Vrije Universiteit Amsterdam Slide 26

System Calls: Files Operating Systems 2011 Vrije Universiteit Amsterdam Slide 31

System Calls: Directories Operating Systems 2011 Vrije Universiteit Amsterdam Slide 32

System Calls: Implementation Operating Systems 2011 Vrije Universiteit Amsterdam Slide 35

OS Structure: UNIX Operating Systems 2011 Vrije Universiteit Amsterdam Slide 37

OS Structure: Linux Operating Systems 2011 Vrije Universiteit Amsterdam Slide 38

Operating Systems Chapter 2 - Processes Vrije Universiteit Amsterdam Operating Systems - Winter 2012

Chap 2 - Overview Scheduling Processes Threads Vrije Universiteit Amsterdam Slide 1

Recall: Process Vrije Universiteit Amsterdam Slide 2

One CPU, Many Processes 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). Vrije Universiteit Amsterdam Slide 3

Process States Vrije Universiteit Amsterdam Slide 5

Context Switching Operating Systems 2011 Vrije Universiteit Amsterdam Slide 39

Process Implementation Operating Systems 2011 Process Table: ps -ef Vrije Universiteit Amsterdam Slide 7

Threads Operating Systems 2011 Vrije Universiteit Amsterdam Slide 10

Threads: Minimal Support Operating Systems 2011 Vrije Universiteit Amsterdam Slide 11

Threads Some Problems Operating Systems 2011 Vrije Universiteit Amsterdam Slide 12

Mutual Exclusion Operating Systems 2011 Vrije Universiteit Amsterdam Slide 15

Operating Systems Chapter 4 Memory Management Vrije Universiteit Amsterdam Operating Systems - Winter 2012

Chap 4 - Overview Memory Management Paged Memory Virtual Memory Segmentation Vrije Universiteit Amsterdam Slide 1

Memory Management Simple Vrije Universiteit Amsterdam Slide 2

Memory Management - Complex Multiple processes in the same memory Vrije Universiteit Amsterdam Slide 10

Paged Memory Systems (1/2) Vrije Universiteit Amsterdam Slide 15

Paged Memory Systems (2/2) Vrije Universiteit Amsterdam Slide 17

Virtual Memory 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 Vrije Universiteit Amsterdam Slide 24

Segmentation N Stack 0 Data Code N 0 Code Data Stack Segments can grow independently Hardware helps to map segments to virtual memory Hardware helps to protect: read-only, no-execute Vrije Universiteit Amsterdam Slide 35

Operating Systems Chapter 5 File Systems Vrije Universiteit Amsterdam Operating Systems - Winter 2012

Chap 5 - Overview Files Directories File system implementation UNIX/MINIX filesystem Vrije Universiteit Amsterdam Slide 1

Directories i-node Vrije Universiteit Amsterdam Slide 5

File Attributes Vrije Universiteit Amsterdam Slide 4

Directories Pathnames Vrije Universiteit Amsterdam Slide 6

File System Design Vrije Universiteit Amsterdam Slide 7

File Storage: Disk Layout Vrije Universiteit Amsterdam Slide 8

File Storage Inodes Vrije Universiteit Amsterdam Slide 11

File Storage UNIX Vrije Universiteit Amsterdam Slide 13

File Storage Name Resolution Vrije Universiteit Amsterdam Slide 14

Disk Space Management (1/2) Vrije Universiteit Amsterdam Slide 15

File System Consistency Vrije Universiteit Amsterdam Slide 18

Buffer Cache Vrije Universiteit Amsterdam Slide 20

Log-Structured File Systems Vrije Universiteit Amsterdam Slide 21

MINIX Filesystem Vrije Universiteit Amsterdam Slide 31

MINIX Superblock Vrije Universiteit Amsterdam Slide 32