چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Practical Operating Systems: A Hands-On Approach with Python

Shafiei, Amir Keivan

قیمت نهایی

۴۴٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۰٪ تخفیف
  • تخفیف زمان‌دار−۵٬۰۰۰ تومان

۵٬۰۰۰ تومان صرفه‌جویی نسبت به قیمت اصلی

نسخه اصلی و اورجینال

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

مشخصات کتاب

نویسنده
Shafiei, Amir Keivan
سال انتشار
۲۰۲۳
فرمت
EPUB
زبان
انگلیسی
تعداد صفحات
۵ صفحه
حجم فایل
۳٫۸ مگابایت

دربارهٔ کتاب

"Practical Operating Systems: A Hands-On Approach with Python" is a comprehensive and accessible guide that demystifies the intricate world of operating systems while empowering readers with practical skills in Python. This book introduces essential OS concepts, memory management, storage systems, I/O management, and more, all while using Python to facilitate hands-on learning. Key Features Clear explanations of complex OS concepts: Understand the inner workings of operating systems, memory management, and storage systems through intuitive and real-world examples. Practical Python applications: Leverage Python to implement essential OS features, allowing you to see theory in action and gain valuable programming skills. I/O management: Explore the I/O subsystem and techniques for efficient I/O operations in Python. Whether you're a student, aspiring software developer, or IT professional, this book equips you with a strong foundation in operating systems and practical Python skills. Master the complexities of OS management and empower yourself with the tools to create efficient and reliable software systems. Dive into the world of OS with Python by your side. DEDICATION ACKNOWLEDGMENTS 0Introduction 1Basic Concepts and System Architectures 1.1 Introduction to Operating Systems 1.3 Computer Architectures 1.4 Software Systems and Their Role 1.5 Interrupts and Dual-Mode Operation 1.6. Case Study: Python-Based Interrupt Handling 2Operating System Structures 2.1. Understanding Operating System Architectures 2.2. The Significance of APIs in Operating Systems 2.3. The Essence of System Calls 2.4. The Power of Virtualization and Cloud Computing 2.5. Practical Python for System Calls and APIs 2.6. Using Python to Interact with OS APIs 3Understanding Processes in Operating Systems 3.1 Introduction to Processes 3.1.1 Definition and Importance 3.1.2 The Role of Processes in Computing 3.2 Process Control Blocks (PCBs) 3.2.1 Understanding PCBs 3.2.2 PCB Components and Their Significance 3.3 Context-Switching and Multitasking 3.3.1 Context-Switching Explained 3 Figure 3.5: Concurrent processes: Interleaving execution of two processes. .3.2 The Role of Context-Switching in Multitasking 3.3.3 Context-Switch Overhead 3.4 Schedulers in Operating Systems 3.4.1 Short-Term Scheduler (CPU Scheduler) 3.4.2 Medium-Term Scheduler 3.4.3 Long-Term Scheduler 3.4.4 Scheduling Algorithms and Policies 3.5 Process Creation and Communication 3.5.1 Process Creation 3.5.2 Inter-Process Communication (IPC) 3.6 Process Management in Python 3.6.1 Leveraging Python for Process Management 3.6.2 Creating Processes in Python 3.6.3 Managing Processes in Python Terminating Processes Listing All Processes 3.6.4 Process Termination and Cleanup 3.6.5 Real-World Use Cases and Examples 4Threads 4.1 Understanding Multi-Threading 4.1.1 Definition and Concept 4.1.2 Multi-Threading Models 4.2 Thread Management in Operating Systems 4.2.1 Kernel Support for Threads 4.2.2 Thread States and Transitions 4.2.3 The Significance of Thread Synchronization 4.3 Unlocking the Benefits of Multi-Threading 4.3.1 Improved Responsiveness 4.3.2 Enhanced Resource Utilization 4.3.3 Simplified Program Structure 4.4 Multi-Threading in Python 4.4.1 Python's Threading Module 4.4.3 Examples of Multi-Threaded Python Programs 5Process Synchronization 5.1 Understanding Process Synchronization 5.1.1 Definition and Importance 5.1.2 The Need for Synchronization 5.2 Synchronization Mechanisms 5.2.1 Critical Sections 5.2.2 Mutexes: Ensuring Exclusive Access 5.2.3 Monitors: Safeguarding Shared Resources 5.2.4 Semaphores: Safeguarding Shared Resources 5.3 Solutions to Synchronization Problems 5.3.1 The Producer-Consumer Problem: Balancing Data Flow 5.3.2 The Dining Philosophers Problem 5.3.3 The Readers-Writers Problem 5.3.4 Other Classical Synchronization Problems 5.4 The World of CPU Scheduling Algorithms 5.4.1 Preemptive Scheduling: Empowering Fairness 5.4.2 Non-Preemptive Scheduling: A Dance of Cooperation 5.4.3 SMT Multi-Core Scheduling: Leveraging Thread Power 5.5 Synchronization in Python: Taming Concurrency 5.5.1 Python's Threading Module: The Conductor of Threads 5.5.2 Synchronization Tools in Python's Threading 3.5.3 Example: Managing Print Jobs with Semaphores in a Print Shop 6Deadlock Management 6.1 Understanding Deadlock: The Standstill Scenario 6.1.1 Definition and Importance 6.1.2 Characteristics of Deadlock 6.2 Parameters for Deadlock Handling: Unraveling the Components 6.2.1 Resource Types 6.2.2 Resource Instances 6.2.3 Processes 6.3 Introducing the Resource Allocation Graph 6.3.1 Nodes and Edges 6.3.2 Resource and Process States 6.3.3 Graph Representation 6.4 Deadlock Handling: Avoid, Prevent, and Recover 6.4.1 Deadlock Avoidance 6.4.2 Deadlock Prevention 6.4.3 Deadlock Recovery 6.4.4 Safe State and Unsafe State in Deadlock Handling 6.5 Deadlock Detection Algorithms: Unveiling the Strategies 6.5.1 Single Resource Instance: Deadlock Detection Simplified 6.5.2 Multiple Resource Instances: A Graph-Based Approach 6.5.3 Banker's Algorithm: A Deadlock Avoidance Strategy 6.6 Handling Deadlocks with Python: Leveraging Python's Versatility 6.6.1 Python's Role in Deadlock Management 6.6.2 Detecting Deadlocks in Python 6.6.3 Resolving Deadlocks in Python 6.6.4 Deadlock Detection in Python: Unveiling Deadlock Detection 6.6.5 Deadlock Recovery in Python: Navigating Deadlock Recovery 7Memory Management 7.1 Introduction to Memory Management 7.1.1 The Importance of Memory Management 7.2 Binding of Physical and Logical Addresses 7.2.1 The Crucial Role of Address Binding 7.2.2 How Logical Addresses Are Utilized 7.3 Fragmentation 7.3.1 Types of Fragmentation 7.3.2 Fragmentation Solutions 7.4 Paging and the Role of TLB 7.4.1 Paging Concept 7.4.2 Translation Lookaside Buffer (TLB) 7.5 Page Sharing Techniques 7.5.1 Copy-on-Write (COW) 7.5.2 Shared Memory 7.5.3 Memory-Mapped Files 7.6 Python for Memory Management 7.6.1 Implementing Page Sharing Techniques in Python 8Virtual Memory Management 8.1 Introducing Virtual Memory 8.1.1 Demand Paging and Its Advantages 8.1.2 Virtual Address Space Segmentation 8.1.3 Page Replacement Algorithms and the Peril of Thrashing 8.1.4 Memory Overcommitment and Swapping 8.1.5 Additional Benefits of Virtual Memory 8.1.6 Drawbacks of Virtual Memory 8.2 Page Fault Management 8.3 Copy-on-Write Page Replacement Rules 8.4 Exploring Belady's Anomaly 8.5 Frame Allocation Strategies 8.5 I/O Bumping with Memory Mapping 8.5.1 Core Memory Management of Files 8.5.2 Working with Memory Mapped Files in Python 8.6 Simulating Virtual Memory with Python 9Storage Management 9.1 Structure of File Systems 9.1.1 File System Components 9.1.2 File and Directory Hierarchy 9.1.3 File Attributes 9.1.4 Storage Media Characteristics 9.2 Storage Allocation Methods 9.2.1 Contiguous Allocation 9 Figure 9.5: Contiguous Allocation .2.2 Linked Allocation 9.2.3 Indexed Allocation 9.2.4 Selecting Block Size 9.3 File System Management and Data Organization 9.3.1 Data Storage and Retrieval 9.3.2 File Metadata 9.3.3 Directory Structures 9.3.4 Journaling and Crash Recovery 9.4 File System Operations in Python 9.4.1 Interacting with the File System 9.4.2 Creating and Writing Files in Python 9.4.3 Reading Files in Python 9.4.4 File System Navigation 9.4.5 Creating a File System with Python 10I/O Management 10.1 Importance of I/O Management 10.2 Interrupts and Their Role in I/O Operations 10.3 Exploring the I/O Subsystem 10.3.1 The Role of Bus Architectures 10.4 I/O Management Techniques and System Performance 10.4.1 Orchestrating I/O with Scheduling Algorithms 10.4.2 Memory-Mapped I/O 10.4.3 Emerging I/O Technologies - The Future Is Here! 10.5 Python for I/O Operations References ABOUT THE AUTHOR

قیمت نهایی

۴۴٬۰۰۰ تومان