Chapter 10 Case Study 1: LINUX



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

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

The Linux Virtual Filesystem

OPERATING SYSTEM SERVICES

Linux Kernel Architecture

Chapter 6, The Operating System Machine Level

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

Red Hat Linux Internals

Example of Standard API

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

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

ELEC 377. Operating Systems. Week 1 Class 3

Have both hardware and software. Want to hide the details from the programmer (user).

CS420: Operating Systems OS Services & System Calls

Windows NT. Chapter 11 Case Study 2: Windows Windows 2000 (2) Windows 2000 (1) Different versions of Windows 2000

CHAPTER 17: File Management

Operating System Structures

Amoeba Distributed Operating System

Chapter 3 Operating-System Structures

Operating Systems and Networks

Operating System Structures

Chapter 3: Operating-System Structures. Common System Components

Operating System Components

CS3600 SYSTEMS AND NETWORKS

Objectives of Lecture. Network Architecture. Protocols. Contents

CHAPTER 15: Operating Systems: An Overview

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

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Lecture 25 Symbian OS

File Systems Management and Examples

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

Chapter 2 System Structures

System Structures. Services Interface Structure

Chapter 11 I/O Management and Disk Scheduling

Introduction. What is an Operating System?

1. Introduction to the UNIX File System: logical vision

OS Concepts and structure

REAL TIME OPERATING SYSTEM PROGRAMMING-II: II: Windows CE, OSEK and Real time Linux. Lesson-12: Real Time Linux

CSC 2405: Computer Systems II

Module 20: The Linux System

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

LSN 10 Linux Overview

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

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

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

OPERATING SYSTEMS STRUCTURES

Computer Organization & Architecture Lecture #19

POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)

Operating Systems Design 16. Networking: Sockets

Undergraduate Course Syllabus

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Globus Striped GridFTP Framework and Server. Raj Kettimuthu, ANL and U. Chicago

1 File Management. 1.1 Naming. COMP 242 Class Notes Section 6: File Management

Chapter 3. Operating Systems

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?

Computer Networks/DV2 Lab

Windows OS File Systems

Far-western University Central Office, Mahendranagar Operating System

CS335 Sample Questions for Exam #2

Kerrighed: use cases. Cyril Brulebois. Kerrighed. Kerlabs

Operating Systems 4 th Class

Core Syllabus. Version 2.6 C OPERATE KNOWLEDGE AREA: OPERATION AND SUPPORT OF INFORMATION SYSTEMS. June 2006

Specialized Programme on Internetworking Design and LAN WAN Administration

Real Time Programming: Concepts

KVM: Kernel-based Virtualization Driver

CS 416: Opera-ng Systems Design

Components of a Computer System

Operating system Dr. Shroouq J.

LECTURE-7. Introduction to DOS. Introduction to UNIX/LINUX OS. Introduction to Windows. Topics:

Distributed File Systems

Chapter 3. Internet Applications and Network Programming

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

OPERATING SYSTEMS FILE SYSTEMS

Understanding the OS Architecture and Linux History. Zhiqiang Lin

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

Chapter 12 File Management

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

Virtual Memory Behavior in Red Hat Linux Advanced Server 2.1

Chapter 15 Windows Operating Systems

Overview of Computer Networks

Chapter 14 Analyzing Network Traffic. Ed Crowley

Chapter 11: Input/Output Organisation. Lesson 06: Programmed IO

Embedded Linux development training 4 days session

Windows8 Internals, Sixth Edition, Part 1

Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY Operating System Engineering: Fall 2005

Oracle Cluster File System on Linux Version 2. Kurt Hackel Señor Software Developer Oracle Corporation

Computer Science 4302 Operating Systems. Student Learning Outcomes

Outline: Operating Systems

DEVICE DRIVERS AND TERRUPTS SERVICE MECHANISM Lesson-14: Device types, Physical and Virtual device functions

Network Attached Storage. Jinfeng Yang Oct/19/2015

1 Organization of Operating Systems

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

Knut Omang Ifi/Oracle 19 Oct, 2015

CMSC 421, Operating Systems. Fall Security. URL: Dr. Kalpakis

CCNA 2 Chapter 5. Managing Cisco IOS Software

Performance Comparison of RTOS

NFS File Sharing. Peter Lo. CP582 Peter Lo

Transcription:

MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 10 Case Study 1: LINUX

History of UNIX and Linux UNICS PDP-11 UNIX Portable UNIX Berkeley UNIX Standard UNIX MINIX Linux

UNIX/Linux Goals Designed by programmers, for programmers Designed to be: Simple Elegant Consistent Powerful Flexible

Interfaces to Linux Figure 10-1. The layers in a Linux system.

Linux Utility Programs (1) Categories of utility programs: File and directory manipulation commands. Filters. Program development tools, such as editors and compilers. Text processing. System administration. Miscellaneous.

Linux Utility Programs (2) Figure 10-2. A few of the common Linux utility programs required by POSIX.

Kernel Structure Figure 10-3. Structure of the Linux kernel

Processes in Linux Figure 10-4. Process creation in Linux.

Signals in Linux (1) Figure 10-5. The signals required by POSIX.

Process Management System Calls in Linux Figure 10-6. Some system calls relating to processes.

A Simple Linux Shell Figure 10-7. A highly simplified shell.

Implementation of Processes and Threads Categories of information in the process descriptor: Scheduling parameters Memory image Signals Machine registers System call state File descriptor table Accounting Kernel stack Miscellaneous

Implementation of Exec Figure 10-8. The steps in executing the command ls typed to the shell.

The Clone System Call Figure 10-9. Bits in the sharing_flags bitmap.

Scheduling in Linux (1) Three classes of threads for scheduling purposes: Real-time FIFO. Real-time round robin. Timesharing.

Scheduling in Linux (2) Figure 10-10. Illustration of Linux runqueue and priority arrays.

Booting Linux Figure 10-11. The sequence of processes used to boot some Linux systems.

Memory Management in Linux (1) Figure 10-12. (a) Process A s virtual address space. (b) Physical memory. (c) Process B s virtual address space.

Memory Management in Linux (2) Figure 10-13. Two processes can share a mapped file.

Memory Management System Calls in Linux Figure 10-14. Some system calls relating to memory management.

Physical Memory Management (1) Linux distinguishes between three memory zones: ZONE_DMA - pages that can be used for DMA operations. ZONE_NORMAL - normal, regularly mapped pages. ZONE_HIGHMEM - pages with high-memory addresses, which are not permanently mapped.

Physical Memory Management (2) Figure 10-15. Linux main memory representation.

Physical Memory Management (3) Figure 10-16. Linux uses four-level page tables.

Memory Allocation Mechanisms Figure 10-17. Operation of the buddy algorithm.

The Page Replacement Algorithm Figure 10-18. Page states considered in the page frame replacement algorithm.

Networking (1) Figure 10-19. The uses of sockets for networking.

Networking (2) Types of networking: Reliable connection-oriented byte stream. Reliable connection-oriented packet stream. Unreliable packet transmission.

Input/Output System Calls in Linux Figure 10-20. The main POSIX calls for managing the terminal.

The Major Device Table Figure 10-21. Some of the file operations supported for typical character devices.

Implementation of Input/Output in Linux (2) Figure 10-22. The Linux I/O system showing one file system in detail.

The Linux File System (1) Figure 10-23. Some important directories found in most Linux systems.

The Linux File System (2) Figure 10-24. (a) Before linking. (b) After linking.

The Linux File System (3) Figure 10-25. (a) Separate file systems. (b) After mounting.

The Linux File System (4) Figure 10-26. (a) A file with one lock. (b) Addition of a second lock. (c) A third lock.

File System Calls in Linux (1) Figure 10-27. System calls relating to files.

File System Calls in Linux (2) Figure 10-28. The fields returned by the stat system call.

File System Calls in Linux (3) Figure 10-29. System calls relating to directories.

The Linux Virtual File System Figure 10-30. File system abstractions supported by the VFS.

The Linux Ext2 File System (1) Figure 10-31. Disk layout of the Linux ext2 file system.

The Linux Ext2 File System (2) Figure 10-32. (a) A Linux directory with three files. (b) The same directory after the file voluminous has been removed.

The Linux Ext2 File System (3) Figure 10-33. Some fields in the i-node structure in Linux

The Linux Ext2 File System (4) Figure 10-34. The relation between the file descriptor table, the open file description table, and the i-node table.

NFS Protocols Figure 10-35. Examples of remote mounted file systems. Directories shown as squares, files shown as circles.

NFS Implementation Figure 10-36. The NFS layer structure

Security In Linux Figure 10-37. Some example file protection modes.

Security System Calls in Linux Figure 10-38. system calls relating to security.