Operating System Components and Services

Similar documents
Chapter 2 System Structures

Chapter 3 Operating-System Structures

ELEC 377. Operating Systems. Week 1 Class 3

OPERATING SYSTEMS STRUCTURES

System Structures. Services Interface Structure

OPERATING SYSTEM SERVICES

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

Operating System Structure

Operating System Organization. Purpose of an OS

OS Concepts and structure

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Operating System Components

Example of Standard API

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

Multiprogramming. IT 3123 Hardware and Software Concepts. Program Dispatching. Multiprogramming. Program Dispatching. Program Dispatching

CS420: Operating Systems OS Services & System Calls

Operating System Structures

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

Operating System Structures

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

CHAPTER 15: Operating Systems: An Overview

Chapter 2: OS Overview

Kernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems

Computers: Tools for an Information Age

Chapter 3: Operating-System Structures. Common System Components

Operating Systems 4 th Class

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Overview of Operating Systems Instructor: Dr. Tongping Liu

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

How To Understand The History Of An Operating System

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

Operating System Overview. Otto J. Anshus

LSN 10 Linux Overview

Chapter 3. Operating Systems

Introduction. What is an Operating System?

3 - Introduction to Operating Systems

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Red Hat Linux Internals

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

CS3600 SYSTEMS AND NETWORKS

CPS221 Lecture: Operating System Structure; Virtual Machines

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

Chapter 15 Windows Operating Systems

Providing a jump start to EFI application development and a uniform pre-boot environment

Components of a Computer System

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

Linux Kernel Architecture

Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details

Star System Deitel & Associates, Inc. All rights reserved.

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

Outline: Operating Systems

Programming for GCSE Topic H: Operating Systems

Chapter 11 I/O Management and Disk Scheduling


Lecture 1 Operating System Overview

Chapter 6, The Operating System Machine Level

CS161: Operating Systems

Chapter 1: Introduction. What is an Operating System?

theguard! ApplicationManager System Windows Data Collector

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

Operating System Software

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

The Plan Today... System Calls and API's Basics of OS design Virtual Machines

Data Centers and Cloud Computing

COS 318: Operating Systems

Undergraduate Course Syllabus

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

Virtualization. Pradipta De

Operating system Dr. Shroouq J.

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

Software design (Cont.)

2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts

ReactOS is (not) Windows. Windows internals and why ReactOS couldn t just use a Linux kernel

Computer Organisation Operating Systems

I/O Device and Drivers

Processes and Non-Preemptive Scheduling. Otto J. Anshus

Enabling Technologies for Distributed Computing

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

A Look through the Android Stack

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday

COS 318: Operating Systems. Virtual Machine Monitors

Unit 4 Objectives. System Software. Component 4: Introduction to Information and Computer Science. Unit 4: Application and System Software Lecture 2

Operating System Tutorial

Lecture 25 Symbian OS

A Comparison of Distributed Systems: ChorusOS and Amoeba

CPET 581 Cloud Computing: Technologies and Enterprise IT Strategies. Virtualization of Clusters and Data Centers

Operating Systems OS Architecture Models

Cisco Networking Academy Program Curriculum Scope & Sequence. Fundamentals of UNIX version 2.0 (July, 2002)

Principles of Operating Systems CS 446/646

Operating Systems Overview

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

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com

Enabling Technologies for Distributed and Cloud Computing

Operating Systems. Lecture 03. February 11, 2013

Virtual Machine Security

Distributed Systems LEEC (2005/06 2º Sem.)

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.

Virtualization. Explain how today s virtualization movement is actually a reinvention

Transcription:

Operating System Components and Services Tom Kelliher, CS 311 Feb. 6, 2012 Announcements: From last time: 1. System architecture issues. 2. I/O programming. 3. Memory hierarchy. 4. Hardware protection. Outline: 1. Operating system components. 2. System calls. 3. Operating system structure. 4. Virtual machines. Next week: kernel hacking lab. 1

1 Operating System Components From the virtual machine point of view (also resource management) These components reflect the services made available by the O.S. 1. User interface Command-line interface Linux shell, Windows cmd. Graphical user interface desktop metaphor, tiles metaphor (MS Metro), direct manipulation (ios, Android). Characterized by pointer mouse, multi-touch, etc; icons to represent objects. Batch system historic. NIH Biowulf. 2. Process Management Process is a program in execution numerous processes to choose from in a multiprogrammed system, Process creation/deletion (bookkeeping) Process suspension/resumption (scheduling, system vs. user) Process synchronization Process communication Deadlock handling 3. Memory Management (a) Maintain bookkeeping information 2

(b) Map processes to memory locations (c) Allocate/deallocate memory space as requested/required 4. I/O Device Management (a) Disk management functions such as free space management, storage allocation, fragmentation removal, head scheduling (b) Consistent, convenient software to I/O device interface through buffering/caching, custom drivers for each device. 5. File System Built on top of disk management (a) File creation/deletion. (b) Support for hierarchical file systems (c) Update/retrieval operations: read, write, append, seek (d) Mapping of files to secondary storage 6. Protection Controlling access to the system (a) Resources CPU cycles, memory, files, devices (b) Users authentication, communication (c) Mechanisms, not policies 7. Network Management Often built on top of file system 3

(a) TCP/IP, IPX, IPng (b) Connection/Routing strategies (c) Circuit management circuit, message, packet switching (d) Communication mechanism (e) Data/Process migration 8. Network Services (Distributed Computing) Built on top of networking (a) Email, messaging (Exchange) (b) FTP (c) gopher, www (d) Distributed file systems NFS, AFS, LAN Manager (e) Name service DNS, YP, NIS (f) Replication gossip, ISIS (g) Security kerberos 9. User Interface (a) Character-Oriented shell sh, csh, command.com (User replaceable) (b) GUI X, Win32 4

2 System Calls Some of the Linux system calls: (Refer to man 2.) 1. Process Management Scheduling, deadlock detection is transparent. (a) fork, vfork, exit, exec (b) wait (c) signals, pipes, streams, sockets 2. Memory management For the most part, transparent to the user. (a) malloc, free 3. I/O Device Management Devices are treated as files, so I/O devices are supported by the file system. 4. File System (a) creat, open, close (b) lseek, read, write (c) stat, chmod, chown (d) link, unlink (e) mkdir, rmdir 5

(f) sync 5. Communication Two models: (a) Message passing i. Processes communicate by passing messages mailbox model. ii. Primitives: send, receive. iii. Each Process has a private address space. iv. Perfect for inter-processor communication. No synchronization problems. Latency can be a problem. Queueing. (b) Shared memory i. Processes communicate by sharing memory bulletin board model. ii. Primitives are implicit once spaces are mapped. iii. Good for large amounts of intra-processor communication. Synchronization problems. Issues: naming, security, transparency, replication, etc. Message passing (a) socket, bind, accept, read. (b) socket, connect, write. Shared memory: (a) mmap. 6

3 Operating System Structures Definitions: Layered System A system in which pieces are built on top of other pieces, with hardware as a foundation. A layer make calls exclusively to the layer beneath it. Advantages: 1. Well defined structure. 2. Modular. 3. Information Hiding. Disadvantages: 1. Poor performance on deep calls latency. 2. Difficulty in creating a good layered design. Micro Kernel A small executive that provides only necessary functionality to support threads/processes: CPU scheduling. Process primitives: create, destroy, suspend, activate, change priority, etc. IPC. Virtual Memory. Interrupt handlers. Device driver interface. 7

Runs in kernel (supervisor) mode. Everything else runs in user mode. Advantages: 1. Only a small amount of code runs in kernel mode. 2. Easily extended. 3. System routines work with an abstract machine model portability. Disadvantages: 1. System calls require a context switch (slow). 2. Not easily extended (traditional kernel). 3.1 MS-DOS Weak layering: Application Program DOS API ROM BIOS Hardware 3.2 Unix Traditional kernel: 8

Users Programs Kernel -- Implementing All System Services Hardware 3.3 MS Windows NT 4.0 Micro kernel: Users Subsystems (Filesystem, Security, etc.), Applications Executive Services (Thread Support, Phys. I/O) Microkernel Hardware 4 Virtual Machines Lowest software level (between kernel and hardware) provides a virtual machine interface to multiple, independent kernels. VMware. Java VM. 1. Support for OS development alongside a production system. 2. Virtual user/kernel mode, real user/kernel mode. 3. How is a disk operation carried out? 4. Virtual Machine is/isn t a simulation/emulation: Java VM: simulate one architecture with another. VMware, Xen, MS Virtual Server, not so much. Efficiency? 9

5. How are physical devices (a disk) virtualized? 6. Java portability: Write once run anywhere. 7. Java security: the sandbox. Access to local resources. Security or impediment to application development? 8. Java consistency: same look, feel between platforms? 10