Operating Systems Principles
|
|
|
- Hilary Katrina Boyd
- 10 years ago
- Views:
Transcription
1 bicfm page i Operating Systems Principles Lubomir F. Bic University of California, Irvine Alan C. Shaw University of Washington, Seattle PEARSON EDUCATION INC. Upper Saddle River, New Jersey 07458
2 bicfm page ii Library of Congress Cataloging-in-Publication Data Vice President and Editorial Director, ECS: Publisher: Associate Editor: Editorial Assistant: Vice President and Director of Production and Manufacturing, ESM: Executive Managing Editor: Assistant Managing Editor: Production Editor: Director of Creative Services: Creative Director: Art director: Cover Designer: Art Editor: Manufacturing Manager: Manufacturing Buyer: Marketing Manager: Marketing Assistant: c 2003 by Pearson Education, Inc. Pearson Education, Inc. Upper Saddle River, New Jersey All rights reserved. No part of this book may be reproduced, in any form or by any means, without permission in writing from the publisher. Printed in the United States of America ISBN Pearson Education LTD., London Pearson Education Australia PTY, Limited, Sydney Pearson Education Singapore, Pte. Ltd Pearson Education North Asia Ltd, Hong Kong Pearson Education Canada, Ltd., Toronto Pearson Educación de Mexico, S.A. de C.V. Pearson Education - Japan, Tokyo Pearson Education Malaysia, Pte. Ltd
3 bicfm page iii To Zuzana and Alexander Lubomir Bic To Elizabeth Alan Shaw
4 bicfm page iv
5 bicfm page v Preface Operating systems bridge the gap between the hardware of a computer system and the user. Consequently, they are strongly influenced by hardware technology and architecture, both of which have advanced at a breathtaking pace since the first computers emerged in the 1940s. Many changes have been quantitative: the speed of processors, memories, and devices has been increasing continuously, whereas their size, cost, and power consumption has been decreasing. But many qualitative changes also have occurred. For example, personal computers with sophisticated input, output, and storage devices are now omnipresent; most also are connected to local area networks or the Internet. These advances have dramatically reshaped the world within which operating systems must exist and cooperate. Instead of managing a single processor controlling a collection of local memories and I/O devices, contemporary operating systems are required to manage highly parallel, distributed, and increasingly more heterogeneous configurations. This book is an introduction to operating systems, appropriate for computer science or computer engineering majors at the junior or senior level. One objective is to respond to a major paradigm shift from single-processor to distributed and parallel computer systems, especially in a world where it is no longer possible to draw a clear line between operating systems for centralized environments and those for distributed ones. Although most of the book is devoted to traditional topics, we extend and integrate these with basic ideas in distributed computing. CONTENTS After the introductory chapter, the book is organized into four main sections: Process Management and Coordination, Memory Management, File and I/O Management, and Protection and Security. At the end of each chapter, there is a list of the key concepts, terms, and abbreviations defined in the chapter; the back of the book contains a glossary. Processes and Threads Processes and, more recently, threads, are the basis of concurrency and parallelism, and have always been prominent parts of the study of operating systems. This area can be subdivided into two components: the creation of processes or threads, and their coordination. In Chapters 2 and 3, we treat the topic from the programming point of view, presenting a spectrum of constructs for expressing concurrency and for coordinating the execution of the resulting processes or threads. This includes the coordination of processes in a distributed environment, which must be based ultimately on messagepassing rather than shared variables. In Chapters 4 and 5, we examine the problem from the implementation point of view by presenting the necessary data structures and operations to implement and manage processes and threads at the operating systems level. This discussion also includes issues of process and threads scheduling, interrupt handling, and other kernel functions. Chapter 6 is concerned with the important problem of deadlocks in both centralized and distributed systems. v
6 bicfm page vi vi Preface Main Memory Main memory has always been a scarce resource, and much of the past operating systems research has been devoted to its efficient use. Many of these results have become classical topics of operating systems; these are covered in Chapters 7, 8, and 9. Among these topics are techniques for physical memory allocation, implementation of virtual memory using paging or segmentation, and static and dynamic sharing of data and code. We also present the principles of distributed shared memory, which may be viewed as an extension of virtual memory over multiple computers interconnected by a communication network. File Systems and I/O Files were devised in the early days of computing as a convenient way to organize and store data on secondary storage devices. Although the devices have evolved dramatically, the basic principles of files have not. In Chapter 10, we discuss file types and their representations on disks or tapes. We also present ways of organizing and implementing file directories. In recent years, the most significant developments in the file systems area have been driven by the proliferation of networking. Many systems today do not maintain their own file systems on local drives. Instead, a more typical configuration is a network of machines, all accessing dedicated file servers. Frequently, the file systems are distributed over multiple servers or multiple networks. The last section of the chapter addresses file systems issues in such distributed environments. Hiding the details of individual I/O devices by supporting higher-level abstractions has always been one of the main tasks of operating systems. Modern systems must continue to provide this essential service, but with a larger variety of faster and more sophisticated devices. Chapter 11 is devoted to this topic, presenting the principles of polling, interrupts, and DMA, as employed by various device drivers. Also discussed are device-independent aspects of I/O processing, including buffering and caching, errorhandling, and device scheduling. Protection and Security Protecting a computing facility from various attacks requires a broad spectrum of safeguards. Chapter 12 focuses on the protection and security interface of the system, which guards the system access. This requires authentication of users, remote services, and clients. Despite many technological breakthroughs, user authentication still relies largely on passwords presented by users at the time of login. But the existence of computer networks has again stimulated the most dramatic developments in protection and security: the vulnerability of communication lines makes it necessary to employ techniques in secret or public key cryptography. We discuss the application of cryptographic methods both to protect information transmitted between computers and to verify its authenticity. Once a user has entered the system, the system must control the set of resources accessible to that user. This is accomplished by hardware mechanisms at the instruction level and by access or capability lists at the software level. In addition, mechanisms to prevent unauthorized flow of information among different users also must be provided. Chapter 13 discusses internal protection mechanisms.
7 bicfm page vii Preface vii EXERCISES AND PROGRAMMING PROJECTS Each chapter ends with a set of exercises reflecting the presented topics. The exercises have been chosen carefully to satisfy the needs of different teaching styles. Each exercise set contains both analytical and constructive exercises, where students must apply conceptual knowledge acquired from the chapter to solve specific problems. We also have included questions that lend themselves to discussion or speculative analysis. A solutions manual is available to professors; they can obtain a copy from their local Prentice-Hall representative. The set of five large programming projects and several smaller programming exercises at the end of the book are designed to complement the conceptual understanding gained from the book with practical hands-on experience. They may be used selectively as term projects or can serve as the basis for a separate laboratory component in operating systems. APPROACH AND PHILOSOPHY As expected, we provide in-depth coverage of all standard topics in the field of operating systems. A conventional approach typically also includes separate chapters on operating systems support for distributed network-based environments, usually appearing at the end of the text. The problem with this organization is that it makes an artificial distinction between centralized and distributed systems. In reality, there is often no clear demarcation line between the two, and they have many issues in common. Concurrency and parallelism have always been a major topic of operating systems. Even the earliest mainframes of the 1950s and 1960s attempted to overlap CPU execution with I/O processing to achieve better utilization of both. Advanced programming techniques of the 1970s and 1980s made it necessary to support concurrent processes at the user level, leading operating systems designers to provide new process synchronization and scheduling techniques, many of which also apply to networked environments. The last two decades have forced software manufacturers to seriously consider networking and physical distribution, and to integrate the necessary tools and techniques into their operating systems products. We have chosen to preserve the natural relationship and overlap between centralized and distributed operating systems issues by integrating them within each chapter. The main distributed operating systems topics presented include message-based synchronization and remote procedure calls, distributed deadlocks, distributed shared memory, distributed file systems, and secure communication using cryptography. Following the above philosophy, we also have refrained from presenting case studies of existing operating systems in separate chapters. Instead, we have distributed and integrated all case studies from Unix, Linux, Windows, and many other influential operating systems throughout the chapters. They illustrate the relevance of each concept at the time of its presentation. May Lubomir Bic Alan Shaw
8 bicfm page viii
9 bicfm page ix Contents 1 Introduction The Role of Operating Systems Bridging the Hardware/Application Gap Three Views of Operating Systems Organization of Operating Systems Structural Organization The Hardware Interface The Programming Interface The User Interface Runtime Organization Operating System Evolution and Concepts Early Systems Batch Operating Systems Multiprogramming Systems Interactive Operating Systems Personal Computer and Workstation Operating Systems Real-Time Operating Systems Distributed Operating Systems Part One Process Management and Coordination 37 2 Basic Concepts: Processes and Their Interactions The Process Notion Defining and Instantiating Processes Precedence Relations Among Processes Implicit Process Creation Explicit Process Creation with fork and join Process Declarations and Classes Basic Process Interactions Competition: The Critical Section Problem Cooperation Semaphores Semaphore Operations and Data Mutual Exclusion with Semaphores Semaphores in Producer/Consumer Situations Event Synchronization ix
10 bicfm page x x Contents 3 Higher-Level Synchronization and Communication Shared Memory Methods Monitors Protected Types Distributed Synchronization and Communication Message-Based Communication Procedure-Based Communication Distributed Mutual Exclusion Other Classic Synchronization Problems The Readers/Writers Problem The Dining Philosophers Problem The Elevator Algorithm Event Ordering with Logical Clocks The Operating System Kernel: Implementing Processes and Threads Kernel Definitions and Objects Queue Structures Resource Queues in an Operating System Implementations of Queues Threads Implementing Processes and Threads Process and Thread Descriptors Implementing Operations on Processes Operations on Threads Implementing Synchronization and Communication Mechanisms Semaphores and Locks Monitor Primitives Clock and Time Management Communication Primitives Interrupt Handling Process and Thread Scheduling Organization of Schedulers Embedded and Autonomous Schedulers Priority Scheduling Scheduling Methods A Framework for Scheduling Common Scheduling Algorithms Comparison of Methods Priority Inversion Multiprocessor and Distributed Scheduling Deadlocks Deadlock with Reusable and Consumable Resources Reusable and Consumable Resources Deadlocks in Computer Systems Approaches to the Deadlock Problem
11 bicfm page xi Contents xi 6.3 A System Model Resource Graphs State Transitions Deadlock States and Safe States Deadlock Detection Reduction of Resource Graphs Special Cases of Deadlock Detection Deadlock Detection in Distributed Systems Recovery from Deadlock Process Termination Resource Preemption Dynamic Deadlock Avoidance Claim Graphs The Banker s Algorithm Deadlock Prevention Eliminating the Mutual-Exclusion Condition Eliminating the Hold-and-Wait Condition Eliminating the Circular-Wait Condition Part Two Memory Management Physical Memory Preparing a Program for Execution Program Transformations Logical-to-Physical Address Binding Memory Partitioning Schemes Fixed Partitions Variable Partitions The Buddy System Allocation Strategies for Variable Partitions Measures of Memory Utilization Managing Insufficient Memory Memory Compaction Virtual Memory Principles of Virtual Memory Implementations of Virtual Memory Paging Segmentation Paging with Segmentation Paging of System Tables Translation Look-Aside Buffers Memory Allocation in Paged Systems Global Page Replacement Algorithms Local Page Replacement Algorithms Load Control and Thrashing Evaluation of Paging
12 bicfm page xii xii Contents 9 Sharing of Data and Code in Main Memory Single-Copy Sharing Reasons for Sharing Requirements for Sharing Linking and Sharing Sharing in Systems without Virtual Memory Sharing in Paging Systems Sharing of Data Sharing of Code Sharing in Segmented Systems Sharing of Code and Data Unrestricted Dynamic Linking Principles of Distributed Shared Memory The User s View of Distributed Shared Memory Implementations of Distributed Shared Memory Implementing Unstructured Distributed Shared Memory Implementing Structured Distributed Shared Memory Part Three File Systems and Input/Output File Systems Basic Functions of File Management Hierarchical Model of a File System The User s View of Files File Names and Types Logical File Organization Other File Attributes Operations on Files File Directories Hierarchical Directory Organizations Operations on Directories Implementation of File Directories Basic File System File Descriptors Opening and Closing Files Device Organization Methods Contiguous Organization Linked Organization Indexed Organization Management of Free Storage Space Principles of Distributed File Systems Directory Structures and Sharing Semantics of File Sharing Implementing Distributed File System Basic Architecture Caching
13 bicfm page xiii Contents xiii Stateless Versus Stateful Servers File Replication Input/Output Systems Basic Issues in Device Management A Hierarchical Model of the Input/Output System The Input/Output System Interface Input/Output Devices User Terminals Printers and Scanners Secondary Storage Devices Performance Characteristics of Disks Networks Device Drivers Memory-Mapped Versus Explicit Device Interfaces Programmed Input/Output with Polling Programmed Input/Output with Interrupts Direct Memory Access Device Management Buffering and Caching Error Handling Disk Scheduling Device Sharing Part Four Protection and Security The Protection and Security Interface Security Threats Damage Types Vulnerable Resources Attack Types Functions of a Protection System External Safeguards Verification of User Identity Communication Safeguards Threat Monitoring User Authentication Approaches to Authentication Passwords Secure Communication Principles of Cryptography Secret-Key Cryptosystems Public-Key Cryptosystems Internal Protection Mechanisms The Access Control Environment
14 bicfm page xiv xiv Contents 13.2 Instruction-Level Access Control Register and Input/output Protection Main Memory Protection High-Level Access Control The Access Matrix Model Access Lists and Capability Lists A Comprehensive Example: Client/Server Protection Combining Access Lists and Capability Lists Information Flow Control The Confinement Problem Hierarchical Information Flow The Selective Confinement Problem Part Five Programming Projects 475 PROJECTS I Process/Thread Synchronization Project Overview Setting Up a Race Condition Solutions to the Critical Section Problem Solution Using mutex Locks Software Solution Implementing General Semaphores Solution Using Mutex Locks and Condition Variables Software Solution Bounded Buffer Summary of Specific Tasks Ideas for Additional Tasks II Process and Resource Management Project Overview Basic Process and Resource Manager Process States Representation of Processes Representation of Resources Operations on Processes and Resources The Scheduler The Presentation Shell Extended Process and Resource Manager Timeout Interrupts Input/Output Processing The Extended Shell Summary of Specific Tasks Ideas for Additional Tasks
15 bicfm page xv Contents xv III Main Memory Management Project Overview The Memory Manager Main Memory The User Interface The Simulation Experiment Generating Request Sizes Gathering Performance Data Choosing a Block to Release Summary of Specific Tasks Ideas for Additional Tasks IV Page Replacement Algorithms Project Overview Global Page Replacement Algorithms Local Page Replacement Algorithms Generating Reference Strings Performance Evaluations Summary of Specific Tasks Ideas for Additional Tasks V File System Project Overview The Input/Output System The File System Interface Between User and File System Organization of the File System The Directory Creating and Destroying a File Opening and Closing a File Reading, Writing and Seeking in a File Listing the Directory The Presentation Shell Summary of Specific Tasks Ideas for Additional Tasks Other Programming Projects Timer Facility Process Scheduling The Banker s Algorithm Disk Scheduling Algorithm Stable Storage Glossary 510 Bibliography 525 Index 529
OPERATING SYSTEMS Internais and Design Principles
OPERATING SYSTEMS Internais and Design Principles FOURTH EDITION William Stallings, Ph.D. Prentice Hall Upper Saddle River, New Jersey 07458 CONTENTS Web Site for Operating Systems: Internais and Design
Gildart Haase School of Computer Sciences and Engineering
Gildart Haase School of Computer Sciences and Engineering Metropolitan Campus I. Course: CSCI 6638 Operating Systems Semester: Fall 2014 Contact Hours: 3 Credits: 3 Class Hours: W 10:00AM 12:30 PM DH1153
Weighted Total Mark. Weighted Exam Mark
CMP2204 Operating System Technologies Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 30 00 60 100 40 100 4 Rationale
Computer Science 4302 Operating Systems. Student Learning Outcomes
Computer Science 4302 Operating Systems Student Learning Outcomes 1. The student will learn what operating systems are, what they do, and how they are designed and constructed. The student will be introduced
How To Understand The History Of An Operating System
7 Operating Systems 7.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: 7.2 Understand the role of the operating system.
Concurrent Programming
Concurrent Programming Principles and Practice Gregory R. Andrews The University of Arizona Technische Hochschule Darmstadt FACHBEREICH INFCRMATIK BIBLIOTHEK Inventar-Nr.:..ZP.vAh... Sachgebiete:..?r.:..\).
Introduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization
Lesson Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization AE3B33OSD Lesson 1 / Page 2 What is an Operating System? A
Operating system Dr. Shroouq J.
3 OPERATING SYSTEM STRUCTURES An operating system provides the environment within which programs are executed. The design of a new operating system is a major task. The goals of the system must be well
Far-western University Central Office, Mahendranagar Operating System
Far-western University Central Office, Mahendranagar Operating System Course Title: Operating Systems Credit: 3+1 Course No: B.Sc. CS OS 231 hour 45+15 Nature of the Course: Theory + Lab Year: 2 nd, Semester:
Chapter 11 I/O Management and Disk Scheduling
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization
Chapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:
Chapter 7 OBJECTIVES Operating Systems Define the purpose and functions of an operating system. Understand the components of an operating system. Understand the concept of virtual memory. Understand the
Operating System Tutorial
Operating System Tutorial OPERATING SYSTEM TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Operating System Tutorial An operating system (OS) is a collection
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
The Data Access Handbook
The Data Access Handbook Achieving Optimal Database Application Performance and Scalability John Goodson and Robert A. Steward PRENTICE HALL Upper Saddle River, NJ Boston Indianapolis San Francisco New
CHAPTER 15: Operating Systems: An Overview
CHAPTER 15: Operating Systems: An Overview The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint
Have both hardware and software. Want to hide the details from the programmer (user).
Input/Output Devices Chapter 5 of Tanenbaum. Have both hardware and software. Want to hide the details from the programmer (user). Ideally have the same interface to all devices (device independence).
CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS
CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating? A collection of software modules to assist programmers in enhancing efficiency, flexibility, and robustness An Extended Machine from the users
Operating Systems. www.fetac.ie. Module Descriptor
The Further Education and Training Awards Council (FETAC) was set up as a statutory body on 11 June 2001 by the Minister for Education and Science. Under the Qualifications (Education & Training) Act,
Operating Systems Overview
Operating Systems Overview No single definition, but many perspectives: Role in an overall system: Intermediary between computer hardware and everything else User view: Provides an environment, preferably
Chapter 2: OS Overview
Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:
QF01/0407-1.0 الخطة الدراسية كلية العلوم وتكنولوجيا المعلومات- برنامج الماجستير/ الوصف المختصر
Algorithms analysis and design(0102721). The course introduces students to a variety of computer problems and methods of their solutions. It enables students to assess the complexity of problems and algorithms.
Operating Systems: Basic Concepts and History
Introduction to Operating Systems Operating Systems: Basic Concepts and History An operating system is the interface between the user and the architecture. User Applications Operating System Hardware Virtual
Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu
Introduction to Operating Systems Indiana University Chen Yu Perspective of the Computer System Software A general piece of software with common functionalities that support many applications. Example:
Operating Systems, 6 th ed. Test Bank Chapter 7
True / False Questions: Chapter 7 Memory Management 1. T / F In a multiprogramming system, main memory is divided into multiple sections: one for the operating system (resident monitor, kernel) and one
Computer-System Architecture
Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection General System Architecture 2.1 Computer-System Architecture 2.2 Computer-System
Core Syllabus. Version 2.6 C OPERATE KNOWLEDGE AREA: OPERATION AND SUPPORT OF INFORMATION SYSTEMS. June 2006
Core Syllabus C OPERATE KNOWLEDGE AREA: OPERATION AND SUPPORT OF INFORMATION SYSTEMS Version 2.6 June 2006 EUCIP CORE Version 2.6 Syllabus. The following is the Syllabus for EUCIP CORE Version 2.6, which
Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems
Lecture Outline Operating Systems Objectives Describe the functions and layers of an operating system List the resources allocated by the operating system and describe the allocation process Explain how
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest
Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest 1. Introduction Few years ago, parallel computers could
Chapter 3: Operating-System Structures. Common System Components
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1
Computer Organization
Computer Organization and Architecture Designing for Performance Ninth Edition William Stallings International Edition contributions by R. Mohan National Institute of Technology, Tiruchirappalli PEARSON
Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:
Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.
Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings
Operatin g Systems: Internals and Design Principle s Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Bear in mind,
CDS and Clearing Limited Thapathali, Kathmandu 7 th Level (Technical) Syllabus
CDS and Clearing Limited Thapathali, Kathmandu 7 th Level (Technical) Syllabus Modality of Examination: The examination comprises of two papers, each carrying 100 marks. The first paper is General Overview
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter
CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson
CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,
Virtual Machines. www.viplavkambli.com
1 Virtual Machines A virtual machine (VM) is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software
SYSTEM ecos Embedded Configurable Operating System
BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original
Chapter 1: Introduction. What is an Operating System?
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments
Computers: Tools for an Information Age
Computers: Tools for an Information Age Chapter 3 Operating Systems: Software in the Background Objectives of Chapter 3 Describe the functions of an Operating System Explain the basics of a personal computer
The Deadlock Problem. Deadlocks. Deadlocks. Bridge Crossing Example
The Deadlock Problem Deadlocks A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set. Example System has 2 tape drives. P 1 and P 2 each
Building. Applications. in the Cloud. Concepts, Patterns, and Projects. AAddison-Wesley. Christopher M. Mo^ar. Cape Town Sydney.
Building Applications in the Cloud Concepts, Patterns, and Projects Christopher M. Mo^ar Upper Saddle River, NJ Boston AAddison-Wesley New York 'Toronto Montreal London Munich Indianapolis San Francisco
Client/Server Computing Distributed Processing, Client/Server, and Clusters
Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the
Distributed Systems LEEC (2005/06 2º Sem.)
Distributed Systems LEEC (2005/06 2º Sem.) Introduction João Paulo Carvalho Universidade Técnica de Lisboa / Instituto Superior Técnico Outline Definition of a Distributed System Goals Connecting Users
Rapid System Prototyping with FPGAs
Rapid System Prototyping with FPGAs By R.C. Coferand Benjamin F. Harding AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO Newnes is an imprint of
Chapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
Types Of Operating Systems
Types Of Operating Systems Date 10/01/2004 1/24/2004 Operating Systems 1 Brief history of OS design In the beginning OSes were runtime libraries The OS was just code you linked with your program and loaded
GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications
GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications Harris Z. Zebrowitz Lockheed Martin Advanced Technology Laboratories 1 Federal Street Camden, NJ 08102
COS 318: Operating Systems. Virtual Machine Monitors
COS 318: Operating Systems Virtual Machine Monitors Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Introduction Have been around
The Windows NT Device Driver Book: A Guide for Programmers
- The Windows NT Device Driver Book: A Guide for Programmers Art Baker Cydonix Corporation To join a Prentice Hall PTR Internet mailing list, point to: http://www.prenhall.com/register Prentice Hall PTR
Scaling Networking Applications to Multiple Cores
Scaling Networking Applications to Multiple Cores Greg Seibert Sr. Technical Marketing Engineer Cavium Networks Challenges with multi-core application performance Amdahl s Law Evaluates application performance
Chapter 7 Memory Management
Operating Systems: Internals and Design Principles Chapter 7 Memory Management Eighth Edition William Stallings Frame Page Segment A fixed-length block of main memory. A fixed-length block of data that
Embedded Systems. 6. Real-Time Operating Systems
Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic
Performance Monitoring User s Manual
NEC Storage Software Performance Monitoring User s Manual IS025-15E NEC Corporation 2003-2010 No part of the contents of this book may be reproduced or transmitted in any form without permission of NEC
PARALLEL PROGRAMMING
PARALLEL PROGRAMMING TECHNIQUES AND APPLICATIONS USING NETWORKED WORKSTATIONS AND PARALLEL COMPUTERS 2nd Edition BARRY WILKINSON University of North Carolina at Charlotte Western Carolina University MICHAEL
Contents. Chapter 1. Introduction
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
Computer Science/Software Engineering
292 School of Science and Engineering Computer Science/Software Engineering Everald E. Mills, PhD, Chair Objectives The computer science program seeks to prepare students for careers that require sophisticated
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wānanga o te Ūpoko o te Ika a Māui
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wānanga o te Ūpoko o te Ika a Māui School of Engineering and Computer Science Te Kura Mātai Pūkaha, Pūrorohiko PO Box 600 Wellington New Zealand Tel: +64 4 463
Chapter 18: Database System Architectures. Centralized Systems
Chapter 18: Database System Architectures! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types 18.1 Centralized Systems! Run on a single computer system and
Cloud Computing. Theory and Practice. Dan C. Marinescu. Morgan Kaufmann is an imprint of Elsevier HEIDELBERG LONDON AMSTERDAM BOSTON
Cloud Computing Theory and Practice Dan C. Marinescu AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO M< Morgan Kaufmann is an imprint of Elsevier
How To Understand And Understand An Operating System In C Programming
ELEC 377 Operating Systems Thomas R. Dean Instructor Tom Dean Office:! WLH 421 Email:! [email protected] Hours:! Wed 14:30 16:00 (Tentative)! and by appointment! 6 years industrial experience ECE Rep
Red Hat Linux Internals
Red Hat Linux Internals Learn how the Linux kernel functions and start developing modules. Red Hat Linux internals teaches you all the fundamental requirements necessary to understand and start developing
CSC 2405: Computer Systems II
CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building [email protected]
Principles and characteristics of distributed systems and environments
Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single
Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.
Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Eleventh Edition Technology in Action Chapter 4 System Software: The Operating System, Utility Programs, and File Management. Chapter Topics
Chapter 3: Operating Systems
Chapter 3: Operating Systems Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 3: Operating Systems 3.1 The History of Operating Systems
Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components
ADVANCED COMPUTER ARCHITECTURE: Parallelism, Scalability, Programmability
ADVANCED COMPUTER ARCHITECTURE: Parallelism, Scalability, Programmability * Technische Hochschule Darmstadt FACHBEREiCH INTORMATIK Kai Hwang Professor of Electrical Engineering and Computer Science University
Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan
Chapter 2 Basic Structure of Computers Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Outline Functional Units Basic Operational Concepts Bus Structures Software
Master Data Management
Master Data Management David Loshin AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO Ик^И V^ SAN FRANCISCO SINGAPORE SYDNEY TOKYO W*m k^ MORGAN KAUFMANN PUBLISHERS IS AN IMPRINT OF ELSEVIER
Application Architectures
Software Engineering Application Architectures Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain the organization of two fundamental models of business systems - batch
Operating System Components
Lecture Overview Operating system software introduction OS components OS services OS structure Operating Systems - April 24, 2001 Operating System Components Process management Memory management Secondary
Assessment Plan for CS and CIS Degree Programs Computer Science Dept. Texas A&M University - Commerce
Assessment Plan for CS and CIS Degree Programs Computer Science Dept. Texas A&M University - Commerce Program Objective #1 (PO1):Students will be able to demonstrate a broad knowledge of Computer Science
Real-Time Component Software. slide credits: H. Kopetz, P. Puschner
Real-Time Component Software slide credits: H. Kopetz, P. Puschner Overview OS services Task Structure Task Interaction Input/Output Error Detection 2 Operating System and Middleware Applica3on So5ware
CS491 Great Principles of Information Technology
CS491 Great Principles of Information Technology Prepared by P. J. Denning 1/22/01 Approved by CS Faculty as new course and as senior option course I. CATALOG INFORMATION A. CS 491: Great Principles of
School of Computer Science
School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level
Software Performance and Scalability
Software Performance and Scalability A Quantitative Approach Henry H. Liu ^ IEEE )computer society WILEY A JOHN WILEY & SONS, INC., PUBLICATION Contents PREFACE ACKNOWLEDGMENTS xv xxi Introduction 1 Performance
A Deduplication File System & Course Review
A Deduplication File System & Course Review Kai Li 12/13/12 Topics A Deduplication File System Review 12/13/12 2 Traditional Data Center Storage Hierarchy Clients Network Server SAN Storage Remote mirror
HP ProtectTools Embedded Security Guide
HP ProtectTools Embedded Security Guide Document Part Number: 364876-001 May 2004 This guide provides instructions for using the software that allows you to configure settings for the HP ProtectTools Embedded
Overview of Operating Systems Instructor: Dr. Tongping Liu
Overview of Operating Systems Instructor: Dr. Tongping Liu Thank Dr. Dakai Zhu and Dr. Palden Lama for providing their slides. 1 Lecture Outline Operating System: what is it? Evolution of Computer Systems
OPERATING SYSTEMS STRUCTURES
S Jerry Breecher 2: OS Structures 1 Structures What Is In This Chapter? System Components System Calls How Components Fit Together Virtual Machine 2: OS Structures 2 SYSTEM COMPONENTS These are the pieces
Microsoft Windows Internals, Fourth Edition: Microsoft Windows Server 2003, Windows XR and Windows 2000
Microsoft* Microsoft Windows Internals, Fourth Edition: Microsoft Windows Server 2003, Windows XR and Windows 2000 Mark E. Russinovich David A. Solomon Historical Perspective Foreword Acknowledgments Introduction
Software design (Cont.)
Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java
Operating System Structures
Operating System Structures Meelis ROOS [email protected] Institute of Computer Science Tartu University fall 2009 Literature A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice Hall. 2001. G. Nutt.
Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures
Chapter 18: Database System Architectures Centralized Systems! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types! Run on a single computer system and do
2) What is the structure of an organization? Explain how IT support at different organizational levels.
(PGDIT 01) Paper - I : BASICS OF INFORMATION TECHNOLOGY 1) What is an information technology? Why you need to know about IT. 2) What is the structure of an organization? Explain how IT support at different
How To Get A Computer Science Degree At Appalachian State
118 Master of Science in Computer Science Department of Computer Science College of Arts and Sciences James T. Wilkes, Chair and Professor Ph.D., Duke University [email protected] http://www.cs.appstate.edu/
Multiprogramming. IT 3123 Hardware and Software Concepts. Program Dispatching. Multiprogramming. Program Dispatching. Program Dispatching
IT 3123 Hardware and Software Concepts Operating Systems II October 26 Multiprogramming Two or more application programs in memory. Consider one CPU and more than one program. This can be generalized to
UNISOL SysAdmin. SysAdmin helps systems administrators manage their UNIX systems and networks more effectively.
1. UNISOL SysAdmin Overview SysAdmin helps systems administrators manage their UNIX systems and networks more effectively. SysAdmin is a comprehensive system administration package which provides a secure
Operating Systems CSE 410, Spring 2004. File Management. Stephen Wagner Michigan State University
Operating Systems CSE 410, Spring 2004 File Management Stephen Wagner Michigan State University File Management File management system has traditionally been considered part of the operating system. Applications
Masters in Human Computer Interaction
Masters in Human Computer Interaction Programme Requirements Taught Element, and PG Diploma in Human Computer Interaction: 120 credits: IS5101 CS5001 CS5040 CS5041 CS5042 or CS5044 up to 30 credits from
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Distributed Systems [Fall 2012]
Distributed Systems [Fall 2012] [W4995-2] Lec 6: YFS Lab Introduction and Local Synchronization Primitives Slide acks: Jinyang Li, Dave Andersen, Randy Bryant (http://www.news.cs.nyu.edu/~jinyang/fa10/notes/ds-lec2.ppt,
Implementing Network Attached Storage. Ken Fallon Bill Bullers Impactdata
Implementing Network Attached Storage Ken Fallon Bill Bullers Impactdata Abstract The Network Peripheral Adapter (NPA) is an intelligent controller and optimized file server that enables network-attached
Stream Processing on GPUs Using Distributed Multimedia Middleware
Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research
Software Configuration Management Using Vesta
Allan Heydon Roy Levin Timothy Mann Yuan Yu Software Configuration Management Using Vesta Springer Contents Preface vii Part I Introducing Vesta 1 Introduction 5 1.1 Some Scenarios 6 1.2 The Connguration
Books in the FT Press Project Management Series
Books in the FT Press Project Management Series Mastering Project, Program, and Portfolio Management: Models for Structuring and Executing the Project Hierarchy Lister (ISBN: 0133839745) Mastering Principles
2010-2011 Assessment for Master s Degree Program Fall 2010 - Spring 2011 Computer Science Dept. Texas A&M University - Commerce
2010-2011 Assessment for Master s Degree Program Fall 2010 - Spring 2011 Computer Science Dept. Texas A&M University - Commerce Program Objective #1 (PO1):Students will be able to demonstrate a broad knowledge
