توضیحاتی در مورد کتاب Operating Systems: Evolutionary Concepts and Modern Design Principles
نام کتاب : Operating Systems: Evolutionary Concepts and Modern Design Principles
عنوان ترجمه شده به فارسی : سیستم عامل: مفاهیم تکاملی و اصول طراحی مدرن
سری :
نویسندگان : Pranabananda Chakraborty
ناشر : CRC Press
سال نشر : 20232
تعداد صفحات : 641
ISBN (شابک) : 9781032467238 , 9781003383055
زبان کتاب : English
فرمت کتاب : pdf
حجم کتاب : 15 مگابایت
بعد از تکمیل فرایند پرداخت لینک دانلود کتاب ارائه خواهد شد. درصورت ثبت نام و ورود به حساب کاربری خود قادر خواهید بود لیست کتاب های خریداری شده را مشاهده فرمایید.
فهرست مطالب :
Cover
Half Title
Title
Copyright
Contents
Preface
Author Bio
Chapter 1 Computers and Software
1.1 Introduction
1.2 Computer Software: System Software
1.3 Operating Systems
1.4 Hardware Structure Terminology
1.5 Programming Terminology
1.6 Evolution of Operating Systems and Their Role
1.6.1 The First-Generation System and Zero-Generation OS (1945–1954)
1.6.2 The Second-Generation System and First-Generation OS (1955–1964)
1.6.3 The Third-Generation System and Third-Generation OS (1965–1980)
1.6.4 Modern Operating Systems
1.6.5 Distributed Operating Systems
1.6.6 Clusters: A Distributed Computer System Design
1.6.7 Real-Time Operating Systems
1.6.8 Genesis of Modern Operating Systems and Grand Challenges
Summary
Exercises
Suggested References and Websites
Websites
Chapter 2 Operating Systems: Concepts and Issues
2.1 Operating Systems: Objectives and Functions
2.1.1 Operating Systems: Resource Manager
2.2 Process: Concepts and Views
2.2.1 Process Types
2.3 Operating Systems: Design Issues
2.3.1 Event: A Fundamental Concept
2.3.2 Interrupts and Traps
2.3.3 Resource Sharing and Protection
2.3.4 Scheduling and Its Role
2.4 Operating System: Supports and Services
2.4.1 System Calls
2.4.2 Procedure Calls
2.4.3 Processor Modes: Mode Bit
2.4.4 Software Interrupt
2.4.5 Message Passing
2.4.6 Signals
2.4.7 Locks
2.4.8 Pipes
2.4.9 Command Language Users
2.5 Design Factors and Related Issues
Summary
Exercises
Chapter 3 Operating System: Structures and Designs
3.1 Evolution of System Structure
3.1.1 Monolithic Systems
3.1.2 Hierarchical and Extended Machines
3.1.3 Layered Systems—Modular Hierarchical Design
3.1.4 Virtual Machine Operating Systems—A Revolutionary Approach
3.1.5 Networks of Computers: Client–Server Model: A New Direction
3.1.6 Comparing MVS and UNIX: Concepts and Terms
3.1.7 Monolithic Kernel
3.1.8 Case Study: Monolithic Kernel-Based Operating System
3.1.9 Microkernel: The Extensible Nucleus
3.1.10 Hybrid Kernel
3.1.11 Exokernel
3.2 Modern Operating Systems: Design Issues and Salient Features
Summary
Exercises
Suggested References and Websites
Chapter 4 Processor Management
4.1 Introduction
4.2 The Concept and Implementation of Process Model
4.3 Processor Management Functions
4.4 Structure of Processor Management
4.5 Process–States Model
4.5.1 Additional Process States: Suspended State
4.5.2 Suspended Processes: Their Characteristics and Importance
4.6 Process Description
4.7 Process Image: Process Totality
4.7.1 Process Data Block and Process Control Block
4.8 Process Creation
4.9 Process Creation Methods
4.10 Process Hierarchy and Daemon Processes
4.11 Process Switch: Change of Process
4.12 Context Switch: Change of Context
4.13 Process-Based Operating Systems
4.14 Threads: An Alternative Approach
4.14.1 Introduction to Threads
4.14.2 Conventional Thread States
4.14.3 Single-Shot Threads
4.14.4 Types of Threads
4.14.5 Threads: Priority
4.14.6 Multithreading
4.14.7 Threads and Processes: A Comparative Overview
4.14.8 Thread Implementations
4.14.9 Case Study: Solaris Threads Implementations
4.15 Objects: Object-Oriented Concept
4.15.1 Case Study: Windows NT Implementation
4.16 Process Scheduling (Uniprocessor): Time Management
4.16.1 Scheduling Criteria: Short-Term Scheduler
4.16.2 Scheduler Design
4.16.3 Scheduling Mechanisms
4.16.4 Process Schedulers: Different Kinds
4.16.5 Process Scheduler Organization
4.16.6 System Performance
4.16.7 Scheduling Strategies
4.16.8 Nonpreemptive Strategies
4.16.9 Preemptive Strategies
4.16.10 Classification of Scheduling Policies
4.16.11 Fair-Share Scheduling
4.16.12 Hybrid Methods
4.16.13 State-Dependent Priority Methods
4.16.14 External Priority Methods
4.16.15 Other Scheduling Systems
4.16.16 Evaluating Policies
4.16.17 Scheduling Levels
4.16.18 Performance Comparison
4.16.19 Guiding Principles
4.16.20 Case Study: UNIX, Linux, Windows NT
4.17 Interprocess Synchronization
4.17.1 Introduction
4.17.2 Concurrency: Forms and Issues
4.17.3 Race Condition
4.17.4 Mutual Exclusion: Requirements
4.17.5 Mutual Exclusion Implementation
4.18 Interprocess Communication and Synchronization
4.18.1 Messages
4.18.2 Message Format
4.18.3 Message Implementation: Different Issues
4.18.4 Message Exchange: Synchronous versus Asynchronous
4.18.5 Design Issues: Message-Passing Systems
4.18.6 Messages: For Interprocess Synchronization and Communication
4.18.7 Message Usage: A Possibility in Interrupt Signaling
4.18.8 Equivalence of Primitives
4.18.9 Implementation: Interprocess Communication and Synchronization
4.19 Deadlock and Starvation
4.19.1 Resources: Different Types
4.19.2 General Resource Systems
4.19.3 Deadlocks and Resources
4.19.4 The Conditions for Deadlocks
4.19.5 Deadlock Modeling: Graphical Representation
4.19.6 Deadlock Detection and Subsequent Recovery
4.19.7 Deadlock Prevention
4.19.8 Deadlock Avoidance
4.19.9 The Banker’s Algorithm
4.19.10 Hybrid Strategy: A Combined Approach
4.19.11 Case Study: Deadlock Handling in UNIX
4.19.12 Discussions: Various Strategies and Their Impacts
4.19.13 Starvation
Summary
Exercises
Suggested References and Websites
Chapter 5 Memory Management
5.1 Introduction
5.2 Key Characteristics of Memory Systems
5.3 Primary Memory: Essential Requirements
5.4 Memory Hierarchies: Access-Time Reduction
5.5 Memory Management: Some Basic Requirements
5.5.1 Separation and Sharing: Importance and Different Approaches
5.5.2 Protection: Importance and Implementation
5.5.3 Relocation: Address Translation
5.5.4 Swapping: Impact and Implementation
5.5.5 Logical Addresses and Logical Organization
5.5.6 Physical Addresses and Physical Organization
5.6 Memory Management: Functions and Responsibilities
5.7 Different Memory-Management Schemes: Comparison Parameters
5.8 Memory Management Schemes
5.8.1 Contiguous Memory Allocation
5.8.2 Noncontiguous Memory Allocation
5.8.3 Memory Allocation Strategy: For OS Kernel Usage
5.9 Virtual Memory
5.9.1 Background and History
5.9.2 Virtual Memory and Locality
5.9.3 Basic Concepts
5.9.4 Virtual Memory Implementation
5.9.5 Virtual Memory Management: Design Issues
5.10 Case Study: Memory Management in UNIX and Solaris
5.11 Case Study: Memory Management in Linux
5.12 Case Study: Memory Management in Windows
5.13 Cache Memory
Summary
Exercises
Suggested References and Websites
Chapter 6 Device Management
6.1 Introduction
6.2 I/O Devices: General Characteristics
6.3 Types of I/O Devices
6.4 I/O Controllers: Device Controllers
6.5 I/O Systems: I/O Modules
6.6 I/O System Organization: Types of I/O Operation
6.7 Physical I/O Operation: Device-Level I/O
6.8 Device Management: Objectives
6.9 Device Management: Functions
6.9.1 Dedicated, Shared, and Virtual Devices
6.10 Physical I/O Function Organization: Logical Structuring
6.11 Device Manager: Its Constituents and Design Principles
6.11.1 Scheduler and Interrupt Handler
6.11.2 Device Drivers
6.11.3 Device-Independent Software
6.11.4 User-Level I/O Software
6.12 I/O Buffering
6.13 Clock
6.13.1 Clock Hardware
6.13.2 Clock Software (Clock Device Drivers)
6.14 Magnetic Disk I/O
6.14.1 Physical Characteristics
6.14.2 Disk Components and Organization
6.15 Disk I/O Operation: Parameters
6.16 Disk Management: Data Organization and Formatting
6.17 Disk Access Time Management: Disk Arm Scheduling Policies
6.17.1 Random Scheduling
6.17.2 First-In-First-Out/First-Come-First-Serve
6.17.3 Priority
6.17.4 Last-In-First-Out
6.17.5 Shortest-Seek (Service)-Time-First
6.17.6 SCAN
6.17.7 LOOK or Elevator Algorithm
6.17.8 Circular SCAN or C-SCAN
6.17.9 C-LOOK
6.17.10 N-step-SCAN
6.17.11 FSCAN
6.17.12 Deadline Scheduling
6.17.13 Anticipatory Scheduling
6.18 Raid
6.19 Disk Cache
6.19.1 Design Considerations
6.20 Page Cache
6.21 Unified Disk Cache
6.22 Case Study: Device Management in UNIX
6.23 Case Study: Device Management in Linux
6.24 Case Study: Device (I/O) Management in Windows
Summary
Exercises
Suggested References and Websites
Chapter 7 File Management
7.1 Introduction
7.2 Files
7.3 File Systems
7.3.1 File Naming
7.3.2 File Structure
7.3.3 File Types
7.3.4 File Attributes
7.3.5 File Operations: System Calls
7.3.6 File Access
7.4 File Service: File Servers
7.5 File Control Blocks
7.6 File Management Systems: Requirements
7.7 File Management Systems: Functions and Design Issues
7.8 File Management Systems: Design Principles
7.9 File Organization and Access: Structured Files
7.9.1 The Pile
7.9.2 The Sequential File
7.9.3 Indexed Sequential Files
7.9.4 Indexed Files: Inverted Files
7.9.5 The Direct (or Hashed) File
7.9.6 Access Methods
7.10 File Directories
7.10.1 Structure
7.11 Graph Directory Structure: File Sharing
7.12 Blocking of Records: Logical to Physical
7.12.1 Fixed-Length Blocking
7.12.2 Variable-Length Spanned Blocking
7.12.3 Variable-Length Unspanned Blocking
7.12.4 Choice of Blocking Factor
7.13 Management of Secondary Storage
7.14 File Allocation: Different Issues and Approaches
7.14.1 Static (Pre-Allocation) and Dynamic Allocation
7.15 File Allocation: Different Methods
7.15.1 Contiguous Allocation
7.15.2 Noncontiguous Allocation: Linked (or Chained) Allocation
7.15.3 Indexed Allocation
7.16 Free Space Management: Different Techniques
7.16.1 Disk Status Map or Bit Tables
7.16.2 Chained Free Blocks and Groups of Blocks
7.16.3 Indexing
7.16.4 Free List of Blocks
7.17 File Organization: Physical Representation
7.18 File System Reliability
7.18.1 File System Integrity: Importance
7.18.2 Reliability Implementation: Different Techniques
7.19 Virtual File Systems
7.20 Pipes
7.21 File System Performance
7.22 Log-Structured File Systems
7.23 Case Study: File Management Systems in UNIX
7.24 Case Study: File Management Systems in Linux
7.25 Case Study: File Management Systems in Windows
Summary
Exercises
Suggested References and Websites
Chapter 8 Security and Protection
8.1 Introduction
8.2 Security and Protection: An Overview
8.3 Goals of Security and Protection: Security Threats
8.4 Security: Types of Threats
8.5 Security Attacks: Penetration Attempts on Computer System Assets
8.5.1 Passive Attacks
8.5.2 Active Attacks
8.6 Security Policies and Mechanisms: Design Issues
8.7 Protection
8.8 Protection of Memory
8.9 Protection Structure: Access Control
8.9.1 User-Oriented
8.9.2 Data-Oriented
8.10 Intruders
8.11 User Authentication
8.11.1 Passwords
8.11.2 Artifact-Based Authentication
8.11.3 Biometrics
8.12 Malicious Programs
8.12.1 Trap Door
8.12.2 Logic Bomb
8.12.3 Trojan Horse
8.12.4 Viruses
8.12.5 Worms
8.12.6 Zombies
8.13 Encryption
8.13.1 Encryption Techniques
8.14 Case Study: UNIX Security
8.15 Case Study: Linux Security
8.16 Case Study: Windows Security
Summary
Exercises
Suggested References and Websites
Recommended Websites
Chapter 9 Distributed Systems—An Introduction
9.1 Distributed Computing Systems: Evolution
9.2 Characteristics of Distributed Computing Systems: Advantages
9.3 Distributed Computing Systems: Disadvantages
9.4 Distributed Computing Systems: Hardware Concepts
9.5 Distributed Computing Systems: Different Forms
9.5.1 Systems Consisting of Minicomputers
9.5.2 Systems Containing Workstations
9.5.3 Workstation–Server Model: Client–Server Model
9.5.4 Systems with Processor Pools
9.5.5 Hybrid Systems
9.6 Distributed Computing Systems: Software Concepts
9.7 Network Operating Systems and NFS
9.8 Distributed Operating Systems
9.9 Distributed Operating Systems: Design Issues
9.9.1 Transparency and Its Different Aspects
9.9.2 Reliability
9.9.3 Flexibility
9.9.4 Scalability
9.9.5 Performance
9.9.6 Security
9.9.7 Heterogeneity
9.10 Multiprocessor Operating Systems
9.10.1 Multiprocessor Architecture
9.10.2 Operating System Considerations
9.10.3 Case Study: Linux in Multiprocessors
9.10.4 Priorities and Time Slices
9.10.5 Case Study: Windows in Multiprocessors (SMP)
9.11 Multicomputer Operating Systems
9.11.1 Multicomputer Architecture
9.11.2 Operating System Considerations
9.11.3 Middleware
9.12 Comparison between Various Types of Operating Systems
9.13 Distributed Systems: Network of Computers
9.13.1 Networking: Concepts and Issues
9.13.2 Communication Protocols for Distributed Systems: Essential Requirements
9.13.3 Standard Communication Protocols
9.13.4 Sockets
9.13.5 A Traditional Distributed Operating System: Amoeba
9.13.6 Internetworking: Concepts and Issues
9.14 Distributed Operating Systems: Workstation–Server Model
9.14.1 Naming
9.14.2 Process Migration
9.14.3 Communication in Distributed Systems: Distributed Message Passing
9.14.4 Remote Procedure Calls
9.14.5 Distributed Shared Memory
9.14.6 Distributed File Systems
9.14.7 Fault Tolerance
9.14.8 Client and Server Node Failures
9.14.9 Operation of Distributed File Systems: An Overview
9.14.10 Case Study: Windows
9.14.11 Case Study: Sun NFS
9.14.12 Case Study: Linux General Parallel File System
9.15 Clusters: A Distributed Computer System Design
9.15.1 Distinct Advantages
9.15.2 Classification of Clusters
9.15.3 Different Clustering Methods
9.15.4 General Architecture
9.15.5 Operating System Considerations
9.15.6 Case Study: Windows Clusters
9.15.7 Case Study: Sun Clusters
Summary
Exercises
Suggested References and Websites
Websites
Chapter 10 Real-Time Operating Systems
10.1 Background: Real-Time Systems
10.2 Real-Time Tasks: An Overview
10.2.1 Real-Time Tasks: Parameters
10.3 Real-Time Systems: Different Issues
10.4 Real-Time Operating Systems: Evolution
10.5 Real-Time Operating Systems: Design Philosophies
10.6 Real-Time Operating Systems: Characteristics and Requirements
10.7 Real-Time Operating Systems: Features
10.8 Real-Time Operating Systems: Basic Components
10.8.1 Threads and Tasks
10.8.2 The Kernel
10.8.3 Scheduling Mechanisms
10.8.4 Time Services: Clocks and Timers
10.8.5 Communication and Synchronization
10.8.6 Memory Management
10.9 Case Studies
10.9.1 Linux: Real-Time Extensions
10.9.2 LynxOS
10.9.3 pSOSystem
10.9.4 VxWorks: The Mars Pathfinder
Summary
Exercises
Suggested References and Websites
Websites
Additional Reading
Index