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



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

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

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

Eloquence Training What s new in Eloquence B.08.00

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 Outline Introduction What is an OS? Concepts Processes and Threads Memory Management File Systems Vrije Universiteit Amsterdam Operating Systems - Winter 2012 Vrije Universiteit Amsterdam Slide 4 Chap 1 - Overview What is an OS? What is an Operating System? Concepts System Calls Structure Vrije Universiteit Amsterdam Slide 4 Vrije Universiteit Amsterdam Slide 13 1

2 Views on OSes How to View an OS 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 Program OS System calls Fair sharing of resources (scheduling) Resource accounting Vrije Universiteit Amsterdam Slide 15 Vrije Universiteit Amsterdam Slide 16 Concept: Processes Multiple Processes init shell Vrije Universiteit Amsterdam Slide 17 Vrije Universiteit Amsterdam some_ program Slide 18 2

System Calls 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 System Calls: Process Management (1/2) Library functions System Calls Instruction Set Architecture Applications / Processes Libraries Operating System Hardware Bash libc Linux kernel x86_64 Vrije Universiteit Amsterdam Slide 27 Vrije Universiteit Amsterdam Slide 28 System Calls: Process Management (2/2) System Calls: Signals Vrije Universiteit Amsterdam Slide 29 Vrije Universiteit Amsterdam Slide 30 3

Concept: Mounting (1/2) File System Mounting (2/2) Vrije Universiteit Amsterdam Slide 23 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. Special Files (2/2) Mechanism: Special files in /dev Two types: Vrije Universiteit Amsterdam Slide 25 Vrije Universiteit Amsterdam Slide 26 4

System Calls: Files System Calls: Directories Vrije Universiteit Amsterdam Slide 31 Vrije Universiteit Amsterdam Slide 32 System Calls: Implementation OS Structure: UNIX Vrije Universiteit Amsterdam Slide 35 Vrije Universiteit Amsterdam Slide 37 5

OS Structure: Linux Operating Systems Chapter 2 - Processes Vrije Universiteit Amsterdam Slide 38 Vrije Universiteit Amsterdam Operating Systems - Winter 2012 Chap 2 - Overview Recall: Process Scheduling Processes Threads Vrije Universiteit Amsterdam Slide 1 Vrije Universiteit Amsterdam Slide 2 6

One CPU, Many Processes Process States 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 Vrije Universiteit Amsterdam Slide 5 Context Switching Process Implementation Process Table: ps -ef Vrije Universiteit Amsterdam Slide 39 Vrije Universiteit Amsterdam Slide 7 7

Threads Threads: Minimal Support Vrije Universiteit Amsterdam Slide 10 Vrije Universiteit Amsterdam Slide 11 Threads Some Problems Mutual Exclusion Vrije Universiteit Amsterdam Slide 12 Vrije Universiteit Amsterdam Slide 15 8

Operating Systems Chap 4 - Overview Memory Management Paged Memory Virtual Memory Segmentation Chapter 4 Memory Management Vrije Universiteit Amsterdam Operating Systems - Winter 2012 Vrije Universiteit Amsterdam Slide 1 Memory Management Simple Memory Management - Complex Multiple processes in the same memory Vrije Universiteit Amsterdam Slide 2 Vrije Universiteit Amsterdam Slide 10 9

Paged Memory Systems (1/2) Paged Memory Systems (2/2) Vrije Universiteit Amsterdam Slide 15 Vrije Universiteit Amsterdam Slide 17 Virtual Memory Segmentation 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 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 24 Vrije Universiteit Amsterdam Slide 35 10

Operating Systems Chap 5 - Overview Files Directories File system implementation UNIX/MINIX filesystem Chapter 5 File Systems Vrije Universiteit Amsterdam Operating Systems - Winter 2012 Vrije Universiteit Amsterdam Slide 1 Directories File Attributes i-node Vrije Universiteit Amsterdam Slide 5 Vrije Universiteit Amsterdam Slide 4 11

Directories Pathnames File System Design Vrije Universiteit Amsterdam Slide 6 Vrije Universiteit Amsterdam Slide 7 File Storage: Disk Layout File Storage Inodes Vrije Universiteit Amsterdam Slide 8 Vrije Universiteit Amsterdam Slide 11 12

File Storage UNIX File Storage Name Resolution Vrije Universiteit Amsterdam Slide 13 Vrije Universiteit Amsterdam Slide 14 Disk Space Management (1/2) File System Consistency Vrije Universiteit Amsterdam Slide 15 Vrije Universiteit Amsterdam Slide 18 13

Buffer Cache Log-Structured File Systems Vrije Universiteit Amsterdam Slide 20 Vrije Universiteit Amsterdam Slide 21 MINIX Filesystem MINIX Superblock Vrije Universiteit Amsterdam Slide 31 Vrije Universiteit Amsterdam Slide 32 14