دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: سیستم های عامل ویرایش: نویسندگان: Thomas W. Doeppner سری: ISBN (شابک) : 9780471687238, 2010034669 ناشر: Wiley سال نشر: 2010 تعداد صفحات: 462 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 2 مگابایت
در صورت تبدیل فایل کتاب Operating Systems in Depth به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب سیستم عامل در عمق نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
این کتاب برای یک دوره یک ترم سیستم عامل برای دانشجویان پیشرفته
و دانشجویان مقطع کارشناسی ارشد طراحی شده است. پیش نیازهای این
دوره به طور کلی شامل یک دوره مقدماتی معماری کامپیوتر و یک دوره
برنامه نویسی پیشرفته می باشد.
هدف این کتاب گردآوری و توضیح عملکرد فعلی در سیستم عامل ها است.
این شامل بسیاری از مواردی است که به طور سنتی در کتاب های درسی
سیستم عامل پوشش داده می شود: همزمانی، زمان بندی، پیوند و
بارگذاری، مدیریت ذخیره سازی (اعم از واقعی و مجازی)، سیستم های
فایل، و امنیت. با این حال، این کتاب همچنین موضوعاتی را پوشش
میدهد که هر روز در طراحی و اجرای سیستمهای عامل مطرح میشوند،
اما اغلب در دورههای کارشناسی تدریس نمیشوند. به عنوان مثال،
متن شامل موارد زیر است:
کار معوق، که شامل فراخوانیهای رویههای معوق و ناهمزمان در
ویندوز، تسکلتها در لینوکس و رشتههای وقفه در سولاریس است.
پیچیدگی های سوئیچینگ رشته، در هر دو سیستم تک پردازنده و چند
پردازنده. فایل سیستم های مدرن، مانند ZFS و WAFL. سیستمهای فایل
توزیعشده، از جمله CIFS و NFS نسخه 4. این کتاب و پروژههای
برنامهنویسی مهم همراه با آن، دانشآموزان را با سیستمعاملهای
فعلی و اجزای اصلی سیستم عامل آنها آشنا میکند و به درک دقیقی
از نحوه کارشان دست مییابد.
This book is designed for a one-semester operating-systems
course for advanced undergraduates and beginning graduate
students. Prerequisites for the course generally include an
introductory course on computer architecture and an advanced
programming course.
The goal of this book is to bring together and explain current
practice in operating systems. This includes much of what is
traditionally covered in operating-system textbooks:
concurrency, scheduling, linking and loading, storage
management (both real and virtual), file systems, and security.
However, the book also covers issues that come up every day in
operating-systems design and implementation but are not often
taught in undergraduate courses. For example, the text
includes:
Deferred work, which includes deferred and asynchronous
procedure calls in Windows, tasklets in Linux, and interrupt
threads in Solaris. The intricacies of thread switching, on
both uniprocessor and multiprocessor systems. Modern file
systems, such as ZFS and WAFL. Distributed file systems,
including CIFS and NFS version 4. The book and its accompanying
significant programming projects make students come to grips
with current operating systems and their major operating-system
components and to attain an intimate understanding of how they
work.
Cover......Page 1
Title Page......Page 5
Copyright......Page 6
Preface......Page 9
Contents......Page 15
1 Introduction......Page 19
1.1 Operating Systems......Page 20
1.1.1 Operating Systems as a Field of Study......Page 21
1.2.1 The 1950s: The Birth of the Concept......Page 22
1.2.2 The 1960s: The Modern OS Takes Form......Page 23
1.2.3 Minicomputers and Unix......Page 24
1.2.4 The Personal Computer......Page 26
1.3.1 OS Structure......Page 30
1.3.2 Processes, Address Spaces, and Threads......Page 32
1.3.3 Managing Processes......Page 34
1.3.4 Loading Programs into Processes......Page 37
1.3.5 Files......Page 38
1.4 Beyond a Simple OS......Page 51
1.4.1 Extensions......Page 52
1.4.2 New Functionality......Page 53
1.6 Exercises......Page 55
1.7 References......Page 56
2 Multithreaded Programming......Page 57
2.1 Why Threads?......Page 58
2.2.1 Thread Creation and Termination......Page 62
2.2.2 Threads and C++......Page 71
2.2.3 Synchronization......Page 74
2.2.4 Thread Safety......Page 94
2.2.5 Deviations......Page 97
2.4 Exercises......Page 106
2.5 References......Page 110
3.1 Context Switching......Page 111
3.1.1 Procedures......Page 112
3.1.2 Threads and Coroutines......Page 118
3.1.4 Interrupts......Page 120
3.2 Input/Output Architectures......Page 122
3.3.1 Best-Fit and First-Fit Algorithms......Page 125
3.3.2 Buddy System......Page 126
3.4.1 Static Linking and Loading......Page 127
3.4.2 Shared Libraries......Page 134
3.5 Booting......Page 137
3.7 Exercises......Page 141
3.8 References......Page 143
4 Operating-System Design......Page 144
4.1 A Simple System......Page 145
4.1.1 A Framework for Devices......Page 147
4.1.2 Low-Level Kernel......Page 149
4.1.3 Processes and Threads......Page 155
4.1.4 Storage Management......Page 157
4.2 Rethinking Operating-System Structure......Page 161
4.2.1 Virtual Machines......Page 163
4.2.2 Microkernels......Page 173
4.3 Conclusions......Page 178
4.4 Exercises......Page 179
4.5 References......Page 180
5 Processor Management......Page 181
5.1.1 Strategies......Page 182
5.1.2 A Simple Threads Implementation......Page 188
5.1.3 Multiple Processors......Page 190
5.2 Interrupts......Page 195
5.2.1 Interrupt Handlers......Page 196
5.2.2 Deferred Work......Page 201
5.2.3 Directed Processing......Page 205
5.3 Scheduling......Page 210
5.3.1 Strategy......Page 211
5.3.2 Tactics......Page 222
5.3.3 Case Studies......Page 224
5.5 Exercises......Page 230
5.6 References......Page 233
6 File Systems......Page 235
6.1.1 Unix’s S5FS......Page 236
6.1.2 Disk Architecture......Page 241
6.1.3 Problems with S5FS......Page 244
6.1.4 Improving Performance......Page 245
6.1.5 Dynamic Inodes......Page 254
6.2 Crash Resiliency......Page 255
6.2.1 What Goes Wrong......Page 256
6.2.2 Dealing with Crashes......Page 258
6.3 Directories and Naming......Page 271
6.3.1 Directories......Page 272
6.3.2 Name-Space Management......Page 279
6.4 Multiple Disks......Page 281
6.4.1 Redundant Arrays of Inexpensive Disks (RAID)......Page 284
6.5.1 Flash Technology......Page 287
6.5.2 Flash-Aware File Systems......Page 288
6.6.1 FFS......Page 289
6.6.2 Ext3......Page 290
6.6.3 Reiser FS......Page 291
6.6.4 NTFS......Page 293
6.6.5 WAFL......Page 294
6.6.6 ZFS......Page 296
6.7 Conclusions......Page 300
6.8 Exercises......Page 301
6.9 References......Page 303
7.1 Memory Management in the Early Days......Page 305
7.2 Hardware Support for Virtual Memory......Page 307
7.2.1 Forward-Mapped Page Tables......Page 309
7.2.2 Linear Page Tables......Page 310
7.2.3 Hashed Page Tables......Page 312
7.2.4 Translation Lookaside Buffers......Page 314
7.2.5 64-Bit Issues......Page 315
7.2.6 Virtualization......Page 317
7.3.1 General Concerns......Page 319
7.3.2 Representative Systems......Page 323
7.3.3 Copy on Write and Fork......Page 328
7.3.4 Backing Store Issues......Page 331
7.5 Exercises......Page 333
7.6 References......Page 336
8.1 Security Goals......Page 337
8.1.1 Threats......Page 338
8.2 Security Architectures......Page 341
8.2.1 Access Control in Traditional Systems......Page 343
8.2.2 Mandatory Access Control......Page 352
8.2.3 Capability Systems......Page 360
8.3 Conclusions......Page 364
8.4 Exercises......Page 365
8.5 References......Page 366
9.1 Network Basics......Page 368
9.1.1 Network Protocols......Page 369
9.2 Remote Procedure Call Protocols......Page 382
9.2.1 Marshalling......Page 384
9.2.2 Reliable Semantics......Page 386
9.4 Exercises......Page 392
9.5 References......Page 395
10 Distributed File Systems......Page 396
10.1 The Basics......Page 398
10.2 NFS Version 2......Page 400
10.2.2 Mount Protocol......Page 404
10.2.3 NFS File Protocol......Page 405
10.2.4 Network Lock Manager......Page 406
10.3 Common Internet File System (CIFS)......Page 407
10.3.1 Server Message Block (SMB) Protocol......Page 409
10.3.2 Opportunistic Locks......Page 410
10.4 DFS......Page 412
10.5 NFS Version 4......Page 415
10.5.1 Managing State......Page 416
10.5.2 Dealing with Failure......Page 419
10.6 Conclusions......Page 420
10.7 Exercises......Page 421
10.8 References......Page 422
Appendix Index of URLs......Page 423
Index......Page 425