IdeBook.ir
مبانی و مفاهیم سیستم عامل ویرایش نهم

کتاب مبانی و مفاهیم سیستم عامل ویرایش نهم

معرفی کتاب مبانی و مفاهیم سیستم عامل ویرایش نهم

4.5 (1)
کتاب مبانی و مفاهیم سیستم عامل ویرایش نهم، اثر آبراهام سیلبرشاتس پیتر بیر گالوین گرگ گاگنه ، با ترجمه قدرت سپیدنام ، در بازار نشر ایران، توزیع شده است. این محصول در سال 1395 توسط انتشارات دانش بنیاد ، به چاپ رسیده است. این محصول در قطع و اندازه‌ی وزیری، در سایت ایده بوک قرار دارد. دانلود pdf و ارسال رایگان
ناموجود

این محصول ممکن است با عنوان یا انتشارات دیگری موجود باشد، مجموعه آنها را اینجا ببینید.

دسته بندی های مرتبط با این محصول را هم ببینید

کامپیوتر

محصولات بیشتر

فهرست

تهیه شده توسط تیم تولید محتوای ایده‌بوک

  • بخش 1    مرور   1
  •  
  •  فصل 1         مقدمه    3
  • 1.1    سيستم‌هاي عامل چه كاري انجام مي‌دهند   4
  • 1.1.1    ديدگاه كاربر (user view)    4
  • 1.1.2     ديدگاه سيستمي (system view)    5
  • 1.1.3    تعريف سيستم‌هاي عامل    6
  • 1.2    سازمان سيستم كامپيوتر    7
  • 1.2.1    عملكرد سيستم كامپيوتر    7
  • 1.2.2    ساختار ذخيره‌ساز    10
  • 1.2.3        ساختار I/O    12
  • 1.3        معماري سيستم كامپيوتر    13
  • 1.3.1        سيستم‌هاي تك‌پردازنده‌اي    13
  • 1.3.2        سيستم‌هاي چند پردازنده‌اي    14
  • 1.3.3        سيستم‌هاي كلاستري    17
  • 1.4        ساختار سيستم عامل    19
  • 1.5        عمليات سيستم عامل    22
  • 1.5.1        عمليات دو حالته و چند حالته    22
  • 1.5.2        تايمر    25
  • 1.6        مديريت فرآيند    25
  • 1.7        مديريت حافظه    26
  • 1.8    مديريت ذخيره‌سازي    27
  • 1.8.1    مديريت سيستم فايل    27
  • 1.8.2    مديريت ذخيره‌ساز حجيم    28
  • 1.8.3    كَش كردن    29
  • 1.8.4    سيستم‌هاي ورودي خروجي (I/O)    31
  • 1.9    حفاظت و امنيت    31
  • 1.10    ساختار داده كرنل    32
  • 1.10.1    ليست‌ها، پشته‌‌ها و صف‌ها    32
  • 1.10.2    درخت‌ها    34
  • 1.10.3    توابع هَش و نگاشت‌ها    34
  • 1.10.4    بيت مپ    35
  • 1.11    محيط‌هاي محاسباتي    36
  • 1.11.1    محاسبه سنتي    36
  • 1.11.2    عمليات متحرك (موبايل)     37
  • 1.11.3    سيستم‌هاي توزيع شده    38
  • 1.11.4    عمليات سرور- كلاينت    39
  • 1.11.5    عمليات نظير به نظير (همتا به همتا)    40
  • 1.11.6    مجازي‌سازي    41
  • 1.11.7    عمليات ابري    43
  • 1.11.8    سيستم‌هاي اختصاصي بلادرنگ    44
  • 1.12    سيستم‌هاي عامل رايگان (متن  باز)    45
  • 1.12.1    تاريخچه    46
  • 1.12.2    لينوكس    46
  • 1.12.3    يونيكس BSD    47
  • 1.12.4    سولاريس    48
  • 1.12.5    سيستم‌هاي رايگان به‌عنوان ابزارهاي آموزشي    48
  • 1.13    خلاصه     48
  • تمرين‌ها    51
  • مراجع    54
  •  فصل 2         ساختار سيستم‌هاي عامل    57
  • 2.1    سرويس‌هاي سيستم عامل    57
  • 2.2    واسط كاربر سيستم عامل    60
  • 2.2.1    مفسرهاي فرمان    60
  • 2.2.2    واسط‌هاي گرافيكي كاربر    61
  • 2.2.3    انتخاب واسط    62
  • 2.3    فراخوان‌هاي سيستم (system calls)
  • 2.4    انواع فراخواني‌هاي سيستم    68
  • 2.4.1    كنترل فرآيند    69
  • 2.4.2    مديريت فايل    72
  • 2.4.3    مديريت دستگاه    73
  • 2.4.4    نگهداري اطلاعات    73
  • 5.4.2    ارتباطات    74
  • 2.4.6    حفاظت    75
  • 2.5    برنامه‌هاي سيستمي    75
  • 2.6    طراحي و پياده‌سازي سيستم  عامل    77
  • 2.6.1    اهداف طراحي    77
  • 2.6.2    راهكارها و سياست‌ها    77
  • 2.6.3    پياده‌سازي    78
  • 2.7    ساختار سيستم عامل    79
  • 2.7.1    ساختار ساده    80
  • 2.7.2    روش لايه‌اي    81
  • 2.7.3    ريزكرنل    83
  • 2.7.4    مدول‌ها    84
  • 2.7.5    سيستم‌هاي هيبريد    85
  • 2.8    اشكال‌زدايي سيستم عامل    87
  • 2.8.1    تحليل خرابي    87
  • 2.8.2    تنظيم كارايي    87
  • 2.8.3    DTrace    89
  • 2.9    توليد سيستم عامل    93
  • 2.10    بوت (راه‌اندازي) سيستم    94
  • 2.11    خلاصه    95
  • تمرين‌ها    96
  • مراجع    102
  • بخش 2    مديريت فرآيند    105
  •  فصل 3         فرآيندها    107
  • 3.1    مفهوم فرآيند    107
  • 3.1.1    فرآيند    108
  • 3.1.2    حالت فرآيند    109
  • 3.1.3    بلوك كنترل فرآيند    110
  • 3.1.4    نخ‌ها    111
  • 3.2    زمان‌بندي فرآيند    112
  • 3.2.1    صف‌‌هاي زمان‌بندي    112
  • 3.2.2    زمان‌بندي‌ها    114
  • 3.2.3    تعويض متن    115
  • 3.3    عمليات در فرآيندها    117
  • 3.3.1    ايجاد فرآيند    117
  • 3.3.2    پايان فرآيند    121
  • 3.4    ارتباطات بين فرآيندها    122
  • 3.4.1    سيستم‌هاي حافظه مشترك    125
  • 3.4.2    سيستم‌هاي مبادله پيام    127
  • 3.5    مثال‌هايي از سيستم‌هاي IPC 130
  • 3.5.1    مثال حافظه مشترك در POSIX    130
  • 3.5.2    مثال: mach    132
  • 3.5.3    مثال: ويندوز    134
  • 3.6    ارتباط در سيستم‌هاي كلاينت- سرور    135
  • 3.6.1    سوكت‌ها    136
  • 3.6.2    فراخواني‌هاي رويه راه دور    138
  • 3.6.3    لوله‌ها    141
  • 3.7    خلاصه    146
  • تمرين‌ها    148
  •  فصل 4         نخ‌ها    159
  • 4.1    مرور    159
  • 4.1.1    انگيزه وجود نخ‌ها    159
  • 4.1.2    مزاياي برنامه‌نويسي چند نخي    161
  • 4.2    برنامه‌نويسي چند هسته‌اي    162
  • 4.2.1    چالش‌هاي برنامه نويسي    163
  • 4.2.2    انواع موازي‌سازي    164
  • 4.3    مدل‌هاي چند نخي    165
  • 4.3.1    مدل چند- به- يك    165
  • 4.3.2    مدل يك به يك    166
  • 4.3.3    مدل چند- به- چند    166
  • 4.4    كتابخانه‌هاي نخ    167
  • 4.4.1    Pthreads    168
  • 4.4.2    نخ‌هاي ويندوز    170
  • 4.4.3    نخ‌هاي جاوا    172
  • 4.5    نخ‌سازي ضمني    173
  • 4.5.1    مخزن نخ‌ها    175
  • 4.5.2    OpenMP    175
  • 4.5.3    تكنولوژي Grand Central Dispatch    178
  • 4.5.4    روش‌هاي ديگر    179
  • 4.6    نكات مربوط به نخ‌سازي    179
  • 4.6.1    فراخوان‌هاي سيستم fork( ) و exec( )    179
  • 4.6.2    اداره كردن سيگنال    179
  • 4.6.3    لغو نخ    181
  • 4.6.4    ذخيره محلي نخ    182
  • 4.6.5    فعال‌سازي زمان‌بند    183
  • 4.7    مثال‌هايي از سيستم عامل    184
  • 4.7.1    نخ‌هاي ويندوز    184
  • 4.7.2    نخ‌هاي لينوكس    185
  • 4.8    خلاصه    146
  • تمرين‌ها    187
  • مراجع    196
  • فصل 5       همگام‌سازي فرآيند199
  • 5.1    زمينه    199
  • 5.2    مسئله بخش- حياتي    201
  • 5.3    راه حل پيترسون    203
  • 5.4    سخت‌افزار همگام‌سازي    204
  • 5.5    قفل‌هاي انحصاري    207
  • 5.6    سمافورها    208
  • 5.6.1    كاربرد سمافور    209
  • 5.6.2    پياده‌سازي سمافور    209
  • 5.6.3    بن‌بست‌ها و گرسنگي    211
  • 5.6.4    معكوس كردن اولويت    212
  • 5.7    مسائل كلاسيك همگامي    213
  • 5.7.1    مسئله بافر محدود    2135.7.2    مسئله خوانندگان و نويسندگان    214
  • 5.7.3    مسئله تغذيه فيلسوفان    217
  • 5.8    ناظرها    217
  • 5.8.1    كاربرد ناظرها (monitors)    219
  • 5.8.2    راه‌حل مسئله تغذيه فيلسوفان با استفاده از ناظرها    221
  • 5.8.3    پياده‌سازي يك ناظر با استفاده از سمافورها    221
  • 5.8.4    از سرگيري فرآيند‌ها در ناظر    223
  • 5.9    مثال‌هايي از همگام‌سازي    226
  • 5.9.1    همگامي در ويندوز    226
  • 5.9.2    همگامي در لينوكس    227
  • 5.9.3    همگامي در سولاريس    228
  • 5.9.4    همگامي Pthreads    230
  • 5.10    روش‌هاي ديگر    232
  • 5.10.1    حافظه تراكنش    232
  • 5.10.2    Open MP    233
  • 5.10.3    زبان‌هاي برنامه‌نويسي عملياتي    234
  • 5.11    خلاصه    235
  • تمرين‌ها    235
  • مراجع    249
  •  فصل 6        زمان‌بندي cpu 251
  • 6.1    مفاهيم اصلي    251
  • 6.1.1    چرخه انفجار CPU-I/O    252
  • 6.1.2    زمانبند CPU    252
  • 6.1.3    زمانبندي قبضه‌اي (پيشدستانه)    253
  • 6.1.4    توزيع‌گر    254
  • 6.2    معيارهاي زمانبندي    255
  • 6.3    الگوريتم‌هاي زمانبندي    256
  • 6.3.1    زمانبندي ورود- اول، سرويس اول 256
  • 6.3.2    زمانبندي كوتاه‌ترين كار- اول    257
  • 6.3.3    زمان‌بندي با اولويت    260
  • 6.3.4    زمانبندي نوبت گردشي    261
  • 6.3.5    زمانبندي صف چند سطحي    264
  • 6.3.6    زمانبندي صف چند سطحي پسخوردي (فيدبك)    265
  • 6.4    زمانبندي نخ    266
  • 6.4.1    زمينه رقابت    266
  • 6.4.2    زمانبندي Pthread    267
  • 6.5    زمانبندي چند پردازنده‌اي    267
  • 6.5.1    روش‌هاي زمانبندي چند پردازنده‌اي268
  • 6.5.2    وابستگي به پردازنده    269
  • 6.5.3    روش‌هاي زمانبندي چندپردازنده‌اي 270
  • 6.5.4    پردازنده‌هاي چندهسته‌اي    271
  • 6.6    زمانبندي CPU بلادرنگ    272
  • 6.6.1    حداقل كردن تأخير    273
  • 6.6.2    زمانبندي مبتني بر اولويت    275
  • 6.6.3    زمانبندي يك‌نواخت- سريع    276
  • 6.6.4    زمانبندي مهلت زودتر- اول    278
  • 6.6.5    زمانبندي اشتراك نسبي    279
  • 6.6.6    زمانبندي بلادرنگ POSIX    279
  • 6.7    مثال‌هايي از سيستم‌هاي عامل 281
  • 6.7.1    مثال زمانبندي لينوكس    281
  • 6.7.2    مثال زمانبندي ويندوز    283
  • 6.7.3    مثال زمانبندي سولاريس    286
  • 6.8    ارزیابی الگوریتم    289
  • 6.8.1    مدل‌سازي قطعي    289
  • 6.8.2    مدل‌هاي صف‌بندي    290
  • 6.8.3    شبيه‌سازي    291
  • 6.8.4    پياده‌سازي    292
  • 6.9    خلاصه    293
  • تمرين‌ها    294
  • مراجع    300
  •  فصل 7             بن‌بست‌ها    305
  • 7.1    مدل سيستم    305
  • 7.2    مشخصه‌هاي بن‌بست    307
  • 7.2.1    شرايط ضروري    308
  • 7.2.2    گراف تخصيص منبع    309
  • 7.3    روش‌هاي اداره كردن بن‌بست311
  • 7.4    پيشگيري از بن‌بست    312
  • 7.4.1    انحصار متقابل    312
  • 7.4.2    نگهداري و انتظار    313
  • 7.4.3    بدون قبضه كردن    313
  • 7.4.4    انتظار چرخشي    314
  • 7.5    اجتناب از بن‌بست    316
  • 7.5.1    حالت امن    317
  • 7.5.2    الگوريتم گراف تخصيص – منبع    318
  • 7.5.3    الگوريتم بانكدار    319
  • 7.6    تشخيص بن‌بست    322
  • 7.6.1    حالت تك نمونه از هر نوع منبع    323
  • 7.6.2    چند نمونه از يك نوع منبع    323
  • 7.6.3    كاربرد الگوريت تشخيص    325
  • 7.7    خروج از حالت بن‌بست    325
  • 7.7.1    خاتمه فرآيند    325
  • 7.7.2    قبضه منبع    326
  • 7.8    خلاصه    327
  • تمرين‌ها    327
  • مراجع    334
  • بخش3   مديريت حافظه    335
  •  فصل 8            حافظه اصلي   337
  • 8.1    زمينه    337
  • 8.1.1    سخت‌افزار پايه    338
  • 8.1.2    مرتبط سازي آدرس    340
  • 8.1.3    فضاي آدرس منطقي در برابر فيزيكي   342
  • 8.1.4    بار كردن ديناميكي    343
  • 8.1.5    پيوندزني ديناميكي و كتابخانه‌هاي مشترك    343
  • 8.2    مبادله    344
  • 8.2.1    مبادله استاندارد    345
  • 8.2.2    مبادله بر روي سيستم‌هاي متحرك    346
  • 8.3    تخصيص حافظه همجوار    347
  • 8.3.1    حفاظت حافظه    347
  • 8.3.2    تخصيص حافظه    349
  • 8.3.3    چند تكه شدن    350
  • 8.4    قطعه‌بندي    351
  • 8.4.1    روش پايه    351
  • 8.4.2    سخت‌افزار قطعه‌بندي    352
  • 8.5    صفحه‌بندي    353
  • 8.5.1    روش پايه    354
  • 8.5.2    پشتيباني سخت‌افزاري    359
  • 8.5.3    حفاظت    362
  • 8.5.4    صفحات مشترك    364
  • 8.6    ساختار جدول صفحه    365
  • 8.6.1    صفحه‌بندي سلسله مراتبي    365
  • 8.6.2    جداول صفحه درهم شده    368
  • 8.6.3    جداول صفحه معكوس شده    368
  • 8.6.4    Oracle SPARC Solaris    370
  • 8.7    مثال معماري 32 بيت و 64 بيتي اينتل    371
  • 8.7.1    معماري 32-IA    371
  • 8.7.2    64-X86    374
  • 8.8    مثال معماري ARM    375
  • 8.9    خلاصه    376
  • تمرين‌ها    377
  • مراجع    382
  •  فصل 9            حافظه مجازي 385
  • 9.1    زمينه    385
  • 9.2    صفحه‌بندي درخواستي    388
  • 9.2.1    مفاهيم اساسي    389
  • 9.2.2    كارايي صفحه‌بندي درخواستي    393
  • 9.3    كپي در نوشتن    395
  • 9.4    جايگزيني صفحه    397
  • 9.4.1    جايگزيني صفحه پايه    398
  • 9.4.2    جايگزيني صفحه FIFO    401
  • 9.4.3    جايگزيني صفحه بهينه    402
  • 9.4.4    جايگزيني صفحه LRU    403
  • 9.4.5    جايگزيني صفحه LRU تقريبي    405
  • 9.4.6    جايگزيني صفحه مبتني بر شمارش    407
  • 9.4.7    الگوريتم‌هاي بافر كردن صفحه    408
  • 9.4.8    كاربردها و جايگزيني صفحه    408
  • 9.5    تخصيص فريم‌ها    409
  • 9.5.1    حداقل تعداد فريم‌ها    409
  • 9.5.2    الگوريتم‌هاي تخصيص    410
  • 9.5.3    تخصيص سراسري در برابر محلي    411
  • 9.5.4    دستيابي غيريكنواخت به حافظه (NUMA)    412
  • 9.6    كوبيدگي    413
  • 9.6.1    علت كوبيدگي    413
  • 9.6.2    مدل مجموعه- كاري    415
  • 9.6.3    فركانس خطاي صفحه    417
  • 9.6.4    نتيجه‌گيري    417
  • 9.7    فايل‌هاي نگاشت در حافظه    418
  • 9.7.1    مكانيزم اصلي    418
  • 9.7.2    حافظه مشترك در API ويندوز    420
  • 9.7.3    I/O نگاشت به حافظه    420
  • 9.8    تخصيص حافظه كرنل    423
  • 9.8.1    سيستم رفاقتي    423
  • 9.8.2    تخصيص ورقي    424
  • 9.9    ساير ملاحظات    426
  • 9.9.1    پيش صفحه‌بندي    426
  • 9.9.2    سايز صفحه    427
  • 9.9.3    حافظه قابل دسترسي از TLB    428
  • 9.9.4    جداول صفحه معكوس شده    429
  • 9.9.5    ساختار برنامه    430
  • 9.9.6    ميان قفلي I/O و قفل صفحه    431
  • 9.10    مثال‌هايي از سيستم عامل    432
  • 9.10.1    ويندوز    432
  • 9.10.2    سولاريس    431
  • 9.11    خلاصه    435
  • تمرين‌ها    436
  • مراجع    447
  • بخش 4  مديريت ذخيره‌سازي   451
  •  فصل 10        ساختار ذخير‌ساز انبوه 453
  • 10.1    مروري بر ساختار ذخيره‌ساز انبوه    453
  • 10.1.1    ديسك‌هاي مغناطيسي    453
  • 10.1.2    ديسك‌هاي حالت جامد    455
  • 10.1.3    نوارهاي مغناطيسي    456
  • 10.2    ساختار ديسك    456
  • 10.3    پيوست ديسك    457
  • 10.3.1    ذخيره‌ساز پيوست ميزبان    457
  • 10.3.2    ذخيره‌ساز پيوست شبكه    458
  • 10.3.3    شبكه ناحيه ذخيره‌سازي    458
  • 10.4    زمانبندي ديسك    459
  • 10.4.1    زمانبندي FCFS    460
  • 10.4.2    زمانبندي SSTF    460
  • 10.4.3    زمان‌بندي پيمايش (SCAN)    461
  • 10.4.4    زمانبندي پيمايش حلقوي (C-SCAN)462
  • 10.4.5    زمانبندي LOOK    463
  • 10.4.6    گزينش يك الگوريتم زمانبندي ديسك 463
  • 10.5    مديريت ديسك    464
  • 10.5.1    فرمت كردن ديسك    464
  • 10.5.2    بلوك بوت    465
  • 10.5.3    بلوك‌هاي خراب    466
  • 10.6    مديريت فضاي مبادله    469
  • 10.6.1    كاربرد فضاي مبادله    469
  • 10.6.2    مكان فضاي مبادله    469
  • 10.6.3    مديريت فضاي مبادله: مثال    469
  • 10.7    ساختار RAID    470
  • 10.7.1    اصلاح قابليت اعتماد با افزودگي    471
  • 10.7.2    بهبود عملكرد با موازي‌سازي    472
  • 10.7.3    سطوح RAID    472
  • 10.7.4    انتخاب يك سطح RAID    477
  • 10.7.5    بسط RAID    478
  • 10.7.6    مشكلات همراه RAID    478
  • 10.8    پياده‌سازي ذخيره‌ساز پايدار   481
  • 10.9    خلاصه    481
  • تمرين‌ها    482
  • مراجع    487
  •  فصل 11      واسط سيستم فايل  489
  • 11.1    مفهوم فايل    489
  • 11.1.1    صفات فايل    490
  • 11.1.2    عمليات فايل    492
  • 11.1.3    انواع فايل‌ها    496
  • 11.1.4    ساختار فايل    498
  • 11.1.5    ساختار داخلي فايل‌ها    498
  • 11.2    روش‌هاي دستيابي    499
  • 11.2.1    دستيابي ترتيبي    499
  • 11.2.2    دستيابي مستقيم    500
  • 11.2.3    ديگر روش‌هاي دستيابي    501
  • 11.3    دايركتوري و ساختار ديسك 502
  • 11.3.1    ساختار ذخيره‌ساز    503
  • 11.3.2    مروري بر دايركتوري‌    504
  • 11.3.3    دايركتوري يك سطحي    505
  • 11.3.4    دايركتوري دو سطحي    505
  • 11.3.5    دايركتوري‌هاي ساختار درختي    507
  • 11.3.6    دايركتوري‌هاي گراف بي‌چرخه    509
  • 11.3.7    دايركتوري گراف عمومي    512
  • 11.4    نصب سيستم فايل    513
  • 11.5    اشتراك فايل    515
  • 11.5.1    چند كاربره    515
  • 11.5.2    سيستم‌هاي فايل راه دور    516
  • 11.5.3    مفاهيم سازگاري    519
  • 11.6    حفاظت    520
  • 11.6.1    انواع دستيابي    521
  • 11.6.2    كنترل دستيابي    521
  • 11.6.3    روش‌هاي ديگر حفاظت    524
  • 11.7    خلاصه    525
  • تمرين‌ها    526
  • مراجع    528
  •  فصل 12          پياده‌سازي سيستم فايل    529
  • 12.1    ساختار سيستم- فايل    529
  • 12.2    پياده‌سازي سيستم فايل    532
  • 12.2.1    مرور    532
  • 12.2.2    پارتيشن‌ها و سوار كردن (نصب)    534
  • 12.2.3    سيستم فايل‌هاي مجازي    535
  • 12.3    پياده‌سازي دايركتوري    538
  • 12.3.1    ليست خطي    538
  • 12.3.2    جدول درهم‌سازي    539
  • 12.4    روش‌هاي تخصيص    540
  • 12.4.1    تخصيص همجواري    540
  • 12.4.2    تخصيص پيوندي    542
  • 12.4.3    تخصيص انديس‌دار    545
  • 12.4.4    كارآيي    547
  • 12.5    مديريت فضاي آزاد    548
  • 12.5.1    بردار بيتي    548
  • 12.5.2    ليست پيوندي    549
  • 12.5.3    گروه‌بندي    550
  • 12.5.4    شمارش    550
  • 12.5.5    نگاشت‌هاي فضا    550
  • 12.6    كارآمدي و كارآيي    551
  • 12.6.1    كارآمدي    551
  • 12.6.2    كارآيي    552
  • 12.7    ترميم    555
  • 12.7.1    چك كردن سازگاري    556
  • 12.7.2    سيستم فايل‌ها با ساختار كارنامه (گزارش)    556
  • 12.7.3    راه‌حل‌هاي ديگر    557
  • 12.7.4    تهيه پشتيبان و بازيابي (بازگرداني)  548
  • 12.8    NFS    559
  • 12.8.1    مرور كلي    559
  • 12.8.2    پروتكل سوار كردن (نصب)    561
  • 12.8.3    پروتكل NFS    562
  • 12.8.4    تبديل نام مسير    564
  • 12.8.5    عمليات راه‌دور    564
  • 12.9    مثال: سيستم فايل WAFL    565
  • 12.10    خلاصه    567
  • تمرين‌ها    568
  • مراجع    573
  •  فصل 13       سيستم‌هاي I/O  575
  • 13.1    مرور    575
  • 13.2    سخت‌افزار I/O    576
  • 13.2.1    سركشي    579
  • 13.2.2    وقفه‌ها    580
  • 13.2.3    دستيابي مستقيم به حافظه(DMA)   584
  • 13.2.4    خلاصه سخت‌افزار I/O    585
  • 13.3    واسط I/O برنامه كاربردي    586
  • 13.3.1    دستگاه‌هاي بلوكي و كاراكتري    588
  • 13.3.2    دستگاه‌هاي شبكه    589
  • 13.3.3    ساعت‌ها و تايمرها    590
  • 13.3.4    I/O غيرمسدود و غيرهمزمان    591
  • 13.3.5    I/O برداري    593
  • 13.4        زير سيستم I/O كرنل    593
  • 13.4.1    زمانبندي I/O    593
  • 13.4.2    بافركردن    594
  • 13.4.3    كش‌كاري (نهان‌كاري)    596
  • 13.4.4    اسپولينگ و رزرو كردن دستگاه    596
  • 13.4.5    اداره خطا    597
  • 13.4.6    حفاظت I/O    597
  • 13.4.7    ساختمان‌هاي داده كرنل    599
  • 13.4.8    خلاصه زير سيستم I/O كرنل    599
  • 13.5    تبديل درخواست‌هاي I/O به عمليات سخت‌افزار    600
  • 13.6    جريان‌ها (STREAMS)    602
  • 13.7    كارآيي    604
  • 13.8    خلاصه    606
  • تمرين‌ها    608
  • مراجع    610
  • بخش 5    حفاظت و امنيت    611
  •  فصل 14          حفاظت    613
  • 14.1    اهداف حفاظت    613
  • 14.2    اصول حفاظت    613
  • 14.3    حوزه حفاظت    615
  • 14.3.1    ساختار دُمين (حوزه)    616
  • 14.3.2    يك مثال: يونيكس    617
  • 14.3.3    مثال: Multics    618
  • 14.4    ماتريس دستيابي    620
  • 14.5    پياده‌سازي ماتريس دستيابي624
  • 14.5.1    جدول كلي    624
  • 14.5.2    ليست دستيابي‌ها براي اشياء    624
  • 14.5.4    مكانيزم كليد- قفل    625
  • 14.5.5    مقايسه    626
  • 14.6    كنترل دستيابي    627
  • 14.7    ابطال حق دستيابي    628
  • 14.8    سيستم‌هاي مبتني بر قابليت‌ها629
  • 14.8.1    يك مثال: Hydra    629
  • 14.8.2    سيستم CAP، كمبريج    631
  • 14.9    حفاظت مبتني بر زبان    632
  • 14.9.1    تحميل مبتني بر كامپايلر    633
  • 14.9.2    حفاظت در جاوا    635
  • 14.10    خلاصه    637
  • تمرين‌ها    638
  • مراجع    640
  •  فصل 15          امنيت    643
  • 15.1    مسئله امنيت    643
  • 15.2    تهديدهاي برنامه    647
  • 15.2.1    اسب ترواي (trojan horse)  647
  • 15.2.2    روزنه (Trap Door)    649
  • 15.2.3    بمب منطقي    649
  • 15.2.4    پشته و سرريز بافر    649
  • 15.2.5    ويروس‌ها    653
  • 15.3    تهديدهاي سيستم و شبكه 656
  • 15.3.1    كرم‌ها (worms)    656
  • 15.3.2    پيمايش پورت    659
  • 15.3.3    انكار سرويس    660
  • 15.4    رمزنگاري به‌عنوان يك ابزار امنيت    661
  • 15.4.1    رمزگذاري    662
  • 15.4.2    پياده‌سازي رمزنگاري    668
  • 15.4.3    يك مثال: SSL    670
  • 15.5    تأييد كاربر    672
  • 15.5.1    پسورد (رمز عبور)    672
  • 15.5.2    آسيب‌پذيري پسورد    672
  • 15.5.3    ايمن كردن پسورد    674
  • 15.5.4    پسوردهاي يكبار مصرف    675
  • 15.5.5    بيومتريك‌ها    676
  • 15.6    پياده‌سازي دفاع‌هاي امنيتي 676
  • 15.6.1    سياست ايمني    677
  • 15.6.2    ارزيابي آسيب‌پذيري    677
  • 15.6.3    شناسايي مزاحمت    679
  • 15.6.4    حفاظت ويروس    681
  • 15.6.5    مميزي، حسابداري و گزارش‌گيري  683
  • 15.7    فايروال براي حفاظت سيستم‌ها و شبكه‌ها    683
  • 15.8    دسته‌بندي امنيت كامپيوتر 685
  • 15.9    مثال: ويندوز 7    687
  • 15.10    خلاصه    689
  • تمرين‌ها    690
  • مراجع    692
  • بخش 6    عناوين پيشرفته    697
  •  فصل 16     ماشين‌هاي مجازي  699
  • 16.1    مرور    699
  • 16.2    تاريخچه    701
  • 16.3    مزايا ويژگي    702
  • 16.4    ساختارهاي بلوكي    705
  • 16.4.1    تقليد- و- تله    705
  • 16.4.2    ترجمه دودويي    706
  • 16.4.3    كمك سخت‌افزاري    708
  • 16.5    انواع ماشين‌هاي مجازي و پياده‌سازي آن‌ها    710
  • 16.5.1    چرخه حيات ماشين مجازي    710
  • 16.5.2    هايپروايزور نوع o    711
  • 16.5.3    هايپروايزور نوع 1    712
  • 16.5.4    هايپروايزور نوع 2    712
  • 16.5.5    فوق مجازي‌سازي    713
  • 16.5.6    مجازي‌سازي محيط برنامه‌نويسي    714
  • 16.5.7    تقليد (امولاسيون)    714
  • 16.5.8    محدودسازيبرنامه كاربردي    715
  • 16.6    مجازي‌سازي و اجزاء سيستم عامل    716
  • 16.6.1    زمانبندي CPU    716
  • 16.6.2    مديريت حافظه    717
  • 16.6.3    I/O    719
  • 16.6.4    پمديريت ذخيره‌ساز    720
  • 16.6.5    انتقال زنده    721
  • 16.7    مثال‌ها    722
  • 16.7.1    VMware    723
  • 16.7.2    ماشين مجازي جاوا    723
  • 16.8    خلاصه    725
  • تمرين‌ها    725
  • مراجع    726
  •  فصل 17         سيستم‌هاي توزيع شده    729
  • 17.1    مزاياي سيستم‌هاي توزيع شده729
  • 17.1.1    اشتراك امكانات (منابع)    729
  • 17.1.2    افزايش سرعت محاسبات    730
  • 17.1.3    قابليت اعتماد    730
  • 17.1.4    ارتباط     731
  • 17.2    انواع سيستم‌هاي عامل مبتني بر شبكه    731
  • 17.2.1    سيستم عامل‌هاي شبكه    731
  • 17.2.2    سيستم‌هاي عامل توزيع شده    732
  • 17.3    ساختار شبكه    735
  • 17.3.1    شبكه‌هاي محلي    735
  • 17.3.2    شبكه‌هاي گسترده (WAN)    737
  • 17.4    ساختار ارتباط    738
  • 17.4.1    نام‌گذاري و تبديل نام    738
  • 17.4.2    راهكارهاي مسيريابي    740
  • 17.4.3    راهكارهاي بسته‌بندي    742
  • 17.4.4    راهكارهاي اتصال    742
  • 17.5    پروتكل‌هاي ارتباط    743
  • 17.6    يك مثال: TCP/IP    747
  • 17.7    توانمندي    748
  • 17.7.1    شناسايي خرابي    749
  • 17.7.2    پيكربندي مجدّد    749
  • 17.7.3    بازگشت از خرابي    750
  • 17.7.4    تحمل نقص    750
  • 17.8    نكات طراحي    751
  • 17.9    سيستم فايل‌هاي توزيع شده753
  • 17.9.1    نام‌گذاري و شفافيت    754
  • 17.9.2    دستيابي راه دور به فايل    757
  • 17.10    خلاصه    761
  • تمرين‌ها    762
  • مراجع    764
  • بخش 7 مطالعات پژوهشي     767
  •  فصل 18       سيستم لينوكس 769
  • 18.1    تاريخچه لينوكس    769
  • 18.1.1    كرنل لينوكس    770
  • 18.1.2    سيستم لينوكس    772
  • 18.1.3    توزيع‌هاي لينوكس    773
  • 18.1.4    مجوزگيري  لينوكس    773
  • 18.2    اصول طراحي    774
  • 18.2.1    اجزاء يك سيستم لينوكس    775
  • 18.3    مدول‌هاي كرنل    777
  • 18.3.1    مديريت مدول     778
  • 18.3.2    ثبت درايور    779
  • 18.3.3    جلوگيري از تضادها    779
  • 18.4    مديريت فرآيند    780
  • 18.4.1    مد فرآيند fork() و exec()    780
  • 18.4.2    فرآيندها و نخ‌ها    783
  • 18.5    زمانبندي    784
  • 18.5.1    زمانبندي فرآيند    784
  • 18.5.2    زمانبندي بلادرنگ    786
  • 18.5.3    همگامي كرنل    786
  • 18.5.4    چند پردازش متقارن    768
  • 18.6    مديريت حافظه    768
  • 18.6.1    مديريت حافظه فيزيكي    789
  • 18.6.2    حافظه مجازي    792
  • 18.6.3    اجرا و بار كردن برنامه‌هاي كاربر    795
  • 18.7    سيستم فايل‌ها    797
  • 18.7.1    سيستم فايل مجازي    797
  • 18.7.2    سيستم فايل ext3 از لينوكس    799
  • 18.7.3    گزارش‌گري    802
  • 18.7.4    سيستم فايل فرآيند لينوكس    802
  • 18.8    ورودي/ خروجي    804
  • 18.8.1    دستگاه‌هاي بلوكي    805
  • 18.8.2    دستگاه‌هاي كاراكتري    805
  • 18.9    ارتباط ميان فرآيندي    806
  • 18.9.1    همگامي و سيگنال‌ها    806
  • 18.9.2    ارسال داده‌ها ميان فرآيندها    807
  • 18.10    ساختار شبكه    807
  • 18.11    امنيت    810
  • 18.11.1    تأييد    810
  • 18.11.2    كنترل دستيابي    811
  • 18.12    خلاصه    812
  • تمرين‌ها    813
  • مراجع    815
  •  فصل 19         ويندوز 7   817
  • 19.1    تاريخچه    817
  • 19.2    اصول طراحي    819
  • 19.2.1    امنيت    820
  • 19.2.2    قابليت اعتماد    821
  • 19.2.3    سازگاري برنامه‌هاي كاربردي ويندوز و POSIX    822
  • 19.2.4    كارآيي بالا    822
  • 19.2.5    گسترش‌پذيري    824
  • 19.2.6    قابليت حمل    825
  • 19.2.7    براي دستيابي بين‌المللي    825
  • 19.2.8    كارآمدي انرژي    826
  • 19.2.9    پشتيباني ديناميكي دستگاه    826
  • 19.3    اجزاء سيستم    826
  • 19.3.1    لايه تجريد يا ابستره - سخت‌افزار (HAL)    827
  • 19.3.2    كرنل    828
  • 19.3.3    مدير اجرايي    833
  • 19.4    سرويس‌هاي پايانه و تعويض كاربر سريع    852
  • 19.5    سيستم فايل    853
  • 19.5.1    طرح داخلي NTFS    853
  • 19.5.2    بازيابي    856
  • 19.5.3    امنيت    856
  • 19.5.4    مديريت ولوم و تحمل خرابي    857
  • 19.5.5    فشرده‌سازي    859
  • 19.5.6    نقاط نصب، پيوندهاي سمبليك و پيوندهاي سخت    859
  • 19.5.7    تغيير گزارش    859
  • 19.5.8    كپي‌هاي ساده ولوم    860
  • 19.6    شبكه‌بندي    860
  • 19.6.1    رابط‌هاي شبكه    860
  • 19.6.2    پروتكل‌ها    860
  • 19.6.3    هدايت‌گرها و سرورها    863
  • 19.6.4    دُمين‌ها    864
  • 19.6.5    دايركتوري فعال (Active directory)    864
  • 19.7    رابط برنامه نويسي    865
  • 19.7.1    دستيابي به اشياء كرنل    865
  • 19.7.2    اشتراك اشياء بين فرآيندها    865
  • 19.7.3    مديريت فرآيند    866
  • 19.8    خلاصه    875
  • تمرين‌ها    875
  • مراجع    877
  •  فصل 20      سيستم عامل موثر    879
  • 20.1    انتقال ويژگي    879
  • 20.2    سيستم‌هاي Eavly   880
  • 20.2.1    سيستم‌هاي كامپيوتري خاص    881
  • 20.2.2    سيستم‌هاي كامپيوتر اشتراكي    882
  • 20.2.3    I/O هم‌پوشان    884
  • 20.3    Atlas    886
  • 20.4    XDS-940    887
  • 20.5    THE    888
  • 20.6    RC4000    889
  • 20.7    CTSS    889
  • 20.8    MULTICS    890
  • 20.9    IBM OS/360    890
  • 20.10    TOPS- 20    892
  • 20.11    CP/M و MS/DOS    892
  • 20.12    سيستم عامل مكينتاش و ويندوز    893
  • 20.13    Mach    894
  • 20.14    سيستم‌هاي ديگر    895
  • تمرين‌ها    895
  • مراجع    897






  •  

  • نمایش بیشتر
  • نمایش کمتر
  • مشخصات محصول

    ویرایش: -
    تعداد صفحات: 944
    انتشارات: دانش بنیاد
    وزن: 1397
    شابک: 9786009676606
    تیراژ: -
    اندازه(قطع): وزیری
    سال انتشار: 1395
    تصویرگر: -
    نوع جلد: شومیز / گالینگور (+ 30000 تومان)

    معرفی محصول

    تهیه شده توسط تیم تولید محتوای ایده‌بوک

    توضیحات



    پیشگفتار



    سیستم‌های عامل بخش عمده‌ای در هر سیستم کامپیوتر است. به همین ترتیب یک دوره آموزشی درباره سیستم‌های عامل هم بخش عمده‌ای از هر آموزش در علوم کامپیوتر است. این زمینه دستخوش تغییر سریعی است، به طوری که اکنون در واقع در هر عرصه از زندگی روزانه ـ از دستگاه‌های اختصاصی در اتومبیل‌ها تا پیچیده‌ترین ابزارهای برنامه‌ریز برای دولت و شرکت‌های چند ملیتی، متداول شده است. در عین حال مفاهیم اساسی نسبتاً روشن است، و بر این اساس ما این کتاب را بنا نهاده‌ایم.

    ما این کتاب را به منظور یک دوره آموزش مقدماتی درباره سیستم‌های عامل در سطح سال‌های آخر دوره‌های کارشناسی و بالاتر یا سال اول دوره‌های ارشد نوشته‌ایم. ما امیدواریم تکنیسین‌ها هم آن را مفید بیابند. به عنوان پیش‌نیاز، فرض می‌کنیم خواننده با ساختارهای داده پایه، سازمان کامپیوتر، و زبان‌های سطح بالا، مانند C یا Java آشناست. عناوین سخت‌افزاری لازم برای درک سیستم‌های عامل در فصل 1 پوشش یافته است. در این فصل، مروری بر ساختارهای داده بنیادی به عمل آمده که در بسیاری از سیستم‌های عامل رایج است. برای مثال‌هایی از کد، ما زبان غالب C را همراه با Java به کار می‌بریم، ولی خواننده هنوز می‌تواند الگوریتم‌ها را بدون آگاهی کامل از این زمان‌ها، درک کند.

    مفاهیم با استفاده از توصیف مبتنی بر درک ارائه شده‌اند. نتایج مهم تئوریک پوشش یافته‌اند، ولی اثبات‌ها عمدتاً نادیده گرفته شده‌اند. یادداشت‌های مربوط به تاریخچه در انتهای هر فصل حاوی اشاره‌هایی به مقالات تحقیقاتی است که برای اولین بار اثبات و ارائه شده است، و نیز برای خواندنی‌های بیشتر هم برای مراجع فراهم شده است. به جای اثبات، شکل‌ها و مثال‌ها برای پاسخ‌ها به کار رفته‌اند تا حدس بزنیم چرا انتظار داریم که نتایج حاصل درست باشند.

    مفاهیم بنیادی و الگوریتم‌های پوشش یافته در این کتاب اغلب براساس همان‌هایی است که در سیستم‌های عامل تجاری و منبع ـ آزاد به کار رفته‌اند. هدف ما ارائه این مفاهیم و الگوریتم‌ها به طور کلی است و به یک سیستم عامل خاص وابسته نیست. با این وجود، ما تعداد زیادی مثال مرتبط با رایج‌ترین و ابداعی‌ترین سیستم‌های عامل را ارائه نموده‌ایم، از جمله لینوکس، ویندوز ماکروسافت، اپل مکینتاش OSX و سولاریس را می‌توان نام برد. همچنین مثال‌هایی از اندروید و iOS ارائه شده است که دو سیستم عامل موبایل رایج هستند.

    سازمان کتاب منعکس کننده سال‌ها تدریس در سیستم‌های عامل و خط مشی‌های دوره‌ای چاپ شده ما به وسیله IEEE Compuling Society و Association omputing Machinary (ACM) است. توجهی نیز به پسخوردهای مرور کنندگان متن، همراه با توضیحات و پیشنهاد دریافتی از خوانندگان ویرایش‌های قبلی و دانشجویان جاری و قبلی شده است.

    محتوای این کتاب

    کتاب در هشت بخش عمده سازمان یافته است.

    مرور. فصل‌های 1 و 2 توضیح می‌دهند که سیستم عامل چیست، آنها چکار می‌کنند، و چگونه طراحی و ساخته می‌شوند. این فصل‌ها توضیح می‌دهند که ویژگی‌های یک سیستم عامل چیست، و یک سیستم عامل برای کاربر چه کاری انجام می‌دهد. ما هر دو نوع سیستم عامل PC قدیمی و سرور را پوشش داده‌ایم، همچنین سیستم عامل برای موبایل هم مورد بحث قرار گرفته است. ارائه طبیعتاً انگیزه‌دار و توصیفی است. ما در این فصل از هرگونه بحث درباره چگونگی انجام چیزها در داخل پرهیز کرده‌ایم. بنابراین، آنها برای آموختن هر خواننده‌ای در کلاس‌های پائین‌تر که بخواهند بدانند سیستم عامل چیست، مناسب‌اند، بدون آن که نیاز به ورود به جزئیات الگوریتم‌های داخلی داشته باشند.

    مدیریت فرآیند. فصل‌های 3 تا 7 مفهوم فرآیند و همروندی را به عنوان قلب سیستم‌های عامل مدرن توصیف می‌کنند. یک فرآیند واحدی از کار در یک سیستم است. چنین سیستمی کلکسیونی از فرآیندهاست که به طور همروند در حال اجرا هستند، که بعضی از آنها فرآیندهای سیستم عامل (آنهایی که کد سیستم را اجرا می‌کنند) و به وسیله فرآینداهی کاربرند (آنهایی که کد کاربر را اجرا می‌نمایند). این فصل‌ها روش‌هایی را برای زمانبندی، محاوره بین فرآیندی، همزمانی یا سنکرون کردن فرآیند، و مدیریت بن‌بست را پوشش می‌دهند. همچنین بحثی در مورد نخ‌ها و سیستم‌های چند هسته‌ای و برنامه‌نویسی موازی آورده شده است.

    مدیریت حافظه. فصل‌های 8 و 9 مدیریت حافظه اصلی را در زمان اجرای یک فرآیند بحث می‌‌نمایند. برای اصلاح به کارگیری CPU و سرعت پاسخ آن به کاربرانش، کامپیوتر باید چند فرآیند را در حافظه نگه دارد. چندین روش مدیریت حافظه وجود دارد که منعکس کننده انواع طرق مختلف اداره حافظه است، و مؤثر واقع شدن یک الگوریتم خاص به موقعیت بستگی دارد.

    مدیریت ذخیره‌ساز. فصل‌های 10 الی 13 توصیف می‌کنند که چگونه ذخیره کننده‌های حجیم، سیستم فایل و I/O یک سیستم کامپیوتر جدید اداره می‌شوند. سیستم فایل مکانیزمی برای ذخیره‌سازی آنلاین فراهم می‌سازد و دستیابی به داده‌ها و برنامه‌ها را میسر می‌سازد. ما الگوریتم‌های داخلی کلاسیک، و ساختارهای مدیریت ذخیره‌ساز را فراهم می‌نمائیم و درکی عملی از الگوریتم‌های به کار رفته را تهیه می‌کنیم ـ یعنی خواص آنها، مزایا و معایب آنها را تهیه می‌نمائیم. چون دستگاه‌های I/O متصل به کامپیوتر به طور گسترده در حال تغییرند، سیستم عامل باید قابلیت عملیاتی گسترده‌ای را برای برنامه‌های کاربردی داشته باشد، تا به آنها اجازه کنترل تمام جنبه‌های این دستگاه‌ها را بدهد. ما سیستم I/O را به طور عمیق مورد بحث قرار می‌دهیم و از جمله طراحی سیستم I/O ، واسط‌ها، و ساختار سیستم داخلی و عملکردشان را مورد بررسی قرار داده‌ایم. در بسیاری از کارها، دستگاه‌های I/O کندترین قطعات کامپیوترند. چون آنها گلوگاه کارآیی را ارائه می‌دهند، ما موضوعات کارآیی با دستگاه‌های I/O را هم بررسی کرده‌ایم.

    حفاظت و امنیت. فصل‌های 14 و 15 مکانیزم‌هایی را توصیف می‌کنند که برای حفاظت و امنیت سیستم‌های کامپیوتر لازم‌اند. فرآیندها در یک سیستم عامل باید از فعالیت یکدیگر حفاظت شوند، و برای فراهم کردن چنین حفاظتی، ما باید مطمئن باشیم که تنها فرآیندهایی که مسئولیت صحیحی از سیستم عامل دریافت کرده‌اند می‌توانند روی فایل‌ها، حافظه‌ها، CPU ، و دیگر امکانات سیستم عمل نمایند. حفاظت مکانیزمی برای کنترل دستیابی به برنامه‌ها، فرآیندها، یا کاربران به امکانات سیستم ـ کامپیوتر است. این مکانیزم باید کنترل‌هایی که باید اعمال شوند واداشتن‌هایی را شناسایی کند. امنیت یکپارچگی اطلاعات ذخیره شده در سیستم (هم داده و هم کد) و نیز امکانات فیزیکی در سیستم و امکانات (منابع) سیستم را از دستیابی افراد غیرمجاز، تخریب یا تغییر، و معرفی ناسازگاری‌های اتفاقی حفظ می‌کند.

    عناوین پیشرفته. فصل‌های 16 و 17 ماشین‌های مجازی و سیستم‌های توزیع شده را مورد بحث قرار می‌دهد. فصل 16 فصل جدیدی است که مروری از ماشین‌های مجازی و رابطه آنها را با سیستم‌های عامل امروزی فراهم ساخته است. در این فصل تکنیک‌های سخت‌افزاری و نرم‌افزاری که مجازی‌سازی را ممکن می‌سازد مرور شده‌اند. فصل 17 سه فصل از ویرایش قبلی را از فشرده کرده و به روزآوری کرده است. این تغییر به خاطر این است که مدرسین در زمان محدود باقیمانده دو ترم در طول ترم مطالب را به پایان برساند و نیز دانشجویان درک خوبی از ایده درک محاسبات توزیع شده را سریع‌تر کسب کنند.

    مطالعات پژوهشی. فصل‌های 18 و 19 در متن، همراه با پیوست‌های (الف) و (ب) که در سایت (http://www.os.book.com) در دسترسند، جزئیات مطالعات پژوهشی سیستم‌های عامل واقعی را ارائه نموده‌اند، از جمله آنها لینوکس، ویندوز 7 ، Free BSD و Mach می‌باشند. پوشش لینوکس و ویندوز 7 در سرتاسر این متن پوشش یافته است؛ با این وجود، مطالعات پژوهشی جزئیات بیشتری دارد. نکته جالب این است که دو سیستم کاملاً متفاوت با هم مقایسه و مقابله شده‌اند. فصل 20 چند سیستم عامل مطرح دیگر را به طور خلاصه توصیف کرده است.

    ویرایش نهم

    در ضمن نوشتن ویرایش نهم تحت عنوان مفاهیم سیستم عامل، با رشد فعلی در راستای سه زمینه بنیادی که سیستم‌های عامل را تحت تأثیر قرار می‌دهند هدایت شدیم:

    سیستم‌های چند هسته‌ای

    محاسبات موبایلی

    مجازی‌سازی

    در تأکید این عناوین ما پوشش مناسبی را در سرتاسر این ویرایش جدید یکپارچه کردیم ـ و در مورد مجازی‌سازی، یک فصل جدیدی را به طور کامل نوشتیم. به علاوه ما مطالب را تقریباً با تکرار مطالب قدیمی به روز کرده‌ایم و مطالبی که دیگر جالب نیستند و یا نامناسبد را حذف نموده‌ایم.

    همچنین تغییرات قابل توجهی در سازماندهی به وجود آمده است. مثلاً، فصل سیستم‌های بلادرنگ را حذف کرده و در عوض در سرتاسر کتاب آن را لحاظ نموده‌ایم. ما ترتیب فصل‌ها را در مدیریت ذخیره‌سازها عوض کرده و سنکرون‌سازی فرآیند را تغییر جا داده‌ایم به طوری که در قبل از زمانبندی فرآیند ظاهر شده است. اغلب این تغییرات سازمانی بر تجربه ما مبتنی است که در حین تدریس درس سیستم‌های عامل حاصل شده هاست.

    در ادامه، رئوس خلاصه‌ای از تغییرات عمده برای فصل‌های مختلف آمده است.

    فصل 1 ، مقدمه، شامل مطالب به روز شده‌ای از چند پردازنده‌ها و سیستم‌های چند هسته‌ای است، و نیز بخش جدیدی در رابطه با ساختارهای کرنل داده آمده است. به علاوه، پوششی بر محیط‌های محاسباتی فعلی شامل سیستم‌های موبایل و ابری هم لحاظ شده است. همچنین مروری از سیستم‌های بلادرنگ صورت گرفته است.

    فصل 2 ، ساختارهای سیستم‌های عامل، پوشش جدیدی از واسط‌های کاربر برای دستگاه‌های موبایل فراهم می‌سازد، که از جمله آنها بحث‌های iOS ، و Android بوده و پوشش توسعه‌یافته‌ای ازMac OS X که به عنوان نوعی سیستم هیبرید آورده شده است.

    فصل 3 ، فرآیندها، اینک شامل پوششی است از چند وظیفه‌ای در سیستم‌های عامل موبایل است که پشتیبانی‌ای برای مدل چند فرآیندی در مرورگر وب Googleʼs Chrome ، و فرآیندهای zombie و orphan در UNIX را فراهم ساخته است.

    فصل 4 ، نخ، پوشش گسترش یافته‌ای از موازی‌سازی و قانون Amdahl است. در این فصل یک بخش جدید در مورد نخ ضمنی شامل OpenMP و Appleʼs Grand Central Dispateh نیز اضافه شده است.

    فصل 5 ، همزمان‌سازی (سنکرون‌سازی) فرآیند (قبلاً فصل 6)، یک بخش جدیدی در مورد قفل‌های Mutex و نیز پوششی بر همزمان‌سازی با استفاده از OpenMP ، و نیز زبان‌های عملیاتی اضافه شده است.

    فصل 6 ، زمانبندی CPU (قبلاً فصل 5)، حاوی پوشش جدیدی از زمانبندی CGS لینوکس و زمانبندی مد ـ کاربر ویندوز می‌باشد. پوشش الگوریتم‌های زمانبندی بلادرنگ نیز در این فصل ادغام شده است.

    فصل 7 ، بن‌بست‌ها، تغییر عمده‌ای نداشته است.

    فصل 8 ، حافظه اصلی، شامل پوشش جدیدی از معاوضه (تعویض) در سیستم‌های موبایل و معماری‌های Intel 32 و 64 بیتی می‌باشد.

    فصل 9 ، حافظه مجازی، مدیریت حافظه کرنل برای لحاظ حافظه Linux SLUB و SLOP .

    فصل 10 ، ساختار ذخیره‌سازی حجیم، (قبلاً فصل 12)، پوششی بر دیسک‌های حالت جامد می‌افزاید.

    فصل 11 ، واسط سیستم فایل (قبلاً فصل 10) با اطلاعاتی درباره تکنولوژی‌های جاری به روز شده است.

    فصل 12 ، پیاده‌سازی سیستم فایل (قبلاً فصل 11)، با پوششی بر تکنولوژی‌های جاری به روز شده است.

    فصل 13 ، I/O ، تکنولوژی‌ها تعداد کارآیی‌ها را به روز می‌کند، پوشش همزمان / غیرهمزمان را گسترش داده و I/O بلوکی و غیربلوکی را پوشش داده و یک بخش درباره I/O اضافه شده است.

    فصل 14 ، حفاظت، تغییر عمده‌ای نکرده است.

    فصل 15 ، امنیت، یک بخش رمزنگاری اصلاح شده با نشانه‌های جدید و یک توضیح اصلاح شده از روش‌های رمزگذاری و کاربرد آن است. فصل شامل پوشش جدیدی از امنیت ویندوز 7 است.

    فصل 16 ، ماشین‌های مجازی، فصل جدیدی است که مروری بر مجازی‌سازی و چگونگی ارتباط آن با سیستم‌های عامل جدید می‌باشد.

    فصل 17 ، سیستم‌های توزیع شده، یک فصل جدید است که گزیده‌ای از مطالب در فصل‌های 16 ، 17 و 18 را ترکیب و به روزآوری کرده است.

    فصل 18 ، سیستم Linux (قبلاً فصل 21)، به روزآوری شده تا کرنل Linux 3.2 را پوشش دهد.

    فصل 19 ، ویندوز 7 ، فصل جدیدی است که یک Case study از ویندوز 7 را ارائه می‌دهد.

    فصل 20 ، سیستم‌های عامل تأثیرگذار  (قبلاً فصل 23) تغییر چندانی نیافته است.

    محیط‌های برنامه‌نویسی

    این کتاب از چند مثال نمونه از سیستم‌های عامل بلادرنگ برای تشریح مفاهیم اصلی سیستم عامل استفاده می‌کند. توجه خاصی به لینوکس و ویندوز ماکروسافت شده، ولی ما به انواع یونیکس (شامل سولاریس، BSD و Mac OS X نیز اشاره کرده‌ایم.

    کتاب، چند برنامه هم که در C و Java نوشته شده‌اند را هم فراهم کرده است. این برنامه‌ها برای اجرا در محیط‌های برنامه‌نویسی زیر اجرا خواهند شد:

     POSX . Posix (که به معنی Portable Operating System Interface می‌باشد) مجموعه‌ای از استانداردهاست که ابتدا برای سیستم‌های عامل مبتنی بر UNIX پیاده‌سازی شد. گرچه سیستم‌های ویندوز می‌توانند برنامه‌های POSIX معینی را اجرا کنند، پوشش ما از posix بر سیستم‌های UNIX و Linux تمرکز دارد. سیستم‌های موافق ـ POSIX باید هسته posix استاندارد را پیاده‌سازی کنند. (POSIX.1)؛ لینوکس، سولاریس، و Mac OSX مثال‌هایی از سیستم‌های موافق ـ posix اند. همچنین posix چندین توسعه را برای استانداردها تعریف می‌کند، از جمله توسعه‌های بلادرنگ (POSIX1.b)، و یک توسعه برای کتابخانه از نخ‌ها (POSIX1.c ، که بیشتر به نام Pthread معروف است) تعریف شده‌اند. ما چندین مثال برنامه‌نویسی را که در C نوشته شده و API مبتنی بر POSIX و Plhreads و توسعه برای برنامه‌نویسی بلادرنگ را شرح می‌دهند، تهیه نموده‌ایم. این برنامه‌های نمونه روی سیستم‌های لینوکس 2.6 و 3.2 Mac OSX107 و سولاریس 10 با استفاده از کامپایلر gcc 4.0 تست شده‌اند.

     Java . Java یک زبان برنامه‌نویسی است که به طور گسترده به کار رفته همراه با یک API غنی و پشتیبانی زبان درونی برای پشتیبانی در ایجاد و مدیریت نخ است. برنامه‌های جاوا روی هر سیستم عاملی که ماشین مجازی Java (JVM) را پشتیبانی کنند، اجرا می‌گردند. ما انواع سیستم عامل و مفاهیم شبکه با برنامه‌های Java را که با Java 1.6 JVM تست شده شرح خواهیم داد.

     سیستم‌های ویندوز. محیط برنامه‌نویسی اصلی برای سیستم‌های ویندوز، Window API است، که مجموعه جامعی از توابع را برای مدیریت فرآیند، نخ‌ها، حافظه و دستگاه‌های جانبی فراهم می‌سازند. ما چند برنامه C را که این API تشریح می‌کند، تهیه کرده‌ایم. برنامه‌ها روی سیستم‌های در حال اجرای ویندوز XP و ویندوز 7 تست شده‌اند.

    ما این سه محیط برنامه‌نویسی را به این دلیل اختیار کرده‌ایم زیرا معتقدیم آنها به بهترین وجه مدل‌های سیستم عامل رایج ـ یعنی ویندوز و یونیکس / لینوکس ـ را همراه با محیط Java که به طور گسترده به کار می‌رود، نشان می‌دهد. اغلب برنامه‌های نمونه در C نوشته می‌شوند، و ما انتظار داریم که خوانندگان با این زبان آشنا باشند. خوانندگانی که با هر دو زبان C و Java باشند باید به سادگی با اغلب برنامه‌های تهیه شده در این کتاب را بفهمند.

    در بعضی از مثال‌ها ـ مانند ایجاد نخ ـ ما یک مفهوم خاص را شرح می‌دهیم که هر سه محیط را به کار می‌برد، و به خواننده اجازه می‌دهد تا بر سه کتابخانه متفاوت که به وظیفه یکسانی اشاره دارند، تمرکز کند. در دیگر جوامع، ما ممکن است فقط یکی API ها را برای نمایش یک مفهوم به کار ببریم. مثلاً ما حافظه مشترک را فقط با POSIX API شرح می‌دهیم؛ برنامه‌نویسی سوکت در TP/IP با Java API توصیف شده است.



    ماشین مجازی لینوکس

    برای کمک به دانشجویان در کسب درک بهتر از سیستم لینوکس، ما یک ماشین مجازی لینوکس را تهیه کرده‌ایم که شامل کد منبع لینوکس بوده و برای دانلود از سایت وب پشتیبان این کتاب (http://www.os.book.com) قابل دستیابی است همچنین این ماشین مجازی شامل یک محیط گسترش gcc همراه با کامپایلر و انکدر است. اغلب تمرین‌های برنامه‌نویسی در این کتاب می‌توانند در این ماشین مجازی تکمیل شوند، به جز تمرین‌هایی که Java یا ویندوز API لازم دارند.

    همچنین ما سه تمرین برنامه‌نویسی که کرنل لینوکس را از طریق مدول‌های کرنل اصلاح می‌کنند، فراهم نموده‌ایم.

    افزودن یک مدول کرنل پایه به کرنل لینوکس.

    افزودن یک مدول کرنل که از انواع ساختارهای داده کرنل استفاده می‌نماید.

    افزودن یک مدول کرنل که روی وظایف در یک سیستم لینوکس در حال اجرا تکرار می‌کند.

    به تدریج توجه ما به افزودن تمرین‌های مدول کرنل اضافی در سایت وب پشتیبانی جلب خواهد شد.

    سایت وب پشتیبانی

    وقتی که شما سایت وب پشتیبان این کتاب را ویزیت می‌کنید (http://www.os.book.com)، می‌توانید امکانات زیر را دانلود نمائید.

    ماشین مجازی لینوکس

    کد سورس C و Java

    اسلایدهای نمونه

    مجموعه اسلایدهای پاورپوینت

    مجموعه شکل‌ها و توضیحات

    مطالعات پژوهشی FreeBSD و Mach .

    راهنمای مطالعه برای دانشجویان

    اصلاحات

    یادداشت‌هایی برای مدرسین

    برای این کتاب در سایت وب، ما چند نمونه از کارها با روش‌های مختلف، را برای استفاده از کتاب در هر دو سطح درسی مقدماتی و پیشرفته فراهم نموده‌ایم. به عنوان یک قانون کلی، ما مدرسین را به پیشروی متوالی فصل‌ها تشویق می‌کنیم، زیرا این استراتژی مناسب‌ترین روش مطالعه سیستم‌های عامل را فراهم می‌کند. با این وجود، با استفاده از این هجا، یک مدرس می‌تواند ترتیب متفاوتی از فصل‌ها یا زیر بخش‌های یک فصل را برگزیند.

    در این ویرایش ما بیش از شصت تکلیف جدید را اضافه کرده‌ایم و بیش از بیست مسئله برنامه‌نویسی و پروژه را افزوده‌ایم. اغلب تمرین‌های برنامه‌نویسی شامل فرآیندها، نخ‌ها و سنکرون‌سازی فرآیند، و مدیریت حافظه است. بعضی مربوط به افزودن مدول‌های کرنل به سیستم لینوکس است که نیازمند استفاده از ماشین مجازی لینوکس، یا هر توزیع لینوکس دیگری است که این کتاب را همراهی می‌کند.

    حل تمرینات نوشته شده و تکلیف‌های برنامه‌نویسی برای مدرسینی در دسترس‌اند که این کتاب را برای کلاس سیستم عامل خود برگزیده‌اند. برای به دست آوردن این بخش‌های کمکی با فروشنده یا نماینده John Wiley & Sons تماس بگیرید. http://www.wiley.com/college ما برای شما آرزوی موفقیت در مطالعه سیستم‌های عامل را داریم.



    یادداشت‌هایی برای دانشجویان

    ما شما را برای استفاده از مزیت تمرین‌های عملی که در آخر هر فصل می‌آید ترغیب می‌نمائیم. راه‌حل‌ها برای دانلود از سایت وب همراه http://www.os-book.com قابل برداشتند. همچنین شما را برای خواندن راهنمای مطالعه که به وسیله یکی از دانشجویان تهیه شده تشویق می‌نمائیم. بالاخره برای دانشجویانی که با سیستم‌های UNIX و Linux آشنا نیستند، پیشنهاد می‌کنیم شما ماشین مجازی لینوکس را که ما در سایت وب گذاشته‌ایم دانلود نمائید. این کار نه فقط یک تجربه جدید را برای شما به ارمغان می‌آورد، بلکه طبیعت منبع باز (آزاد) لینوکس به شما اجازه می‌دهد تا جزئیات داخلی این سیستم عامل مطرح را بررسی کنید.

    تماس با ما

    ما تلاش بسیاری در راستای حذف غلط‌های حروفچینی و باگ‌ها از کتاب نموده‌ایم. اما در نسخه‌های جدید نرم‌افزار مطمئناً این باگ‌ها باقی می‌مانند. لیستی از اصلاحات که از سایت وب کتاب قابل دستیابی است ارائه شده است. ما قطعاً خوشحال خواهیم شد اگر ما را از وجود هر غلط املایی یا موضوعی در مورد کتاب و یا جا افتادگی در لیست جاری را به آدرس پشت جلد مطلع نمائید.


     







    نویسنده

    مختصری درباره نویسنده

    آبراهام سیلبرشاتس پیتر بیر گالوین گرگ گاگنه

    آبراهام سیلبرشاتس پیتر بیر گالوین گرگ گاگنه

    در حال حاضر مطلبی درباره آبراهام سیلبرشاتس پیتر بیر گالوین گرگ گاگنه نویسنده مبانی و مفاهیم سیستم عامل ویرایش نهم در دسترس نمی‌باشد. همکاران ما در بخش محتوا، به مرور، نویسندگان را بررسی و مطلبی از آنها را در این بخش قرار خواهند داد. با توجه به تعداد بسیار زیاد نویسندگان این سایت، درج اطلاعات تکمیلی، نقد و بررسی تمامی آنها، کاری زمانبر خواهد بود؛ لذا در صورتی که کاربران سایت برای مطلبی از نویسنده، از طریق صفحه «ارتباط با ما» درخواست دهند، تهیه و درج محتوای برای آن نویسنده در اولویت قرار خواهد گرفت.ضمنا اگر شما کاربر ارجمندِ سایت ایده‌بوک، این نویسنده را می شناسید یا حتی اگر خود، نویسنده هستید و تمایل دارید با مطلبی جذاب و مفید، سایرین را به مطالعه‌ی کتاب ترغیب و دعوت کنید، می توانید محتوای مورد نظرتان را از صفحه «ارتباط با ما» ارسال نمایید.

    مترجم

    مختصری درباره مترجم

    قدرت سپیدنام

    در حال حاضر مطلبی درباره قدرت سپیدنام مترجم کتاب مبانی و مفاهیم سیستم عامل ویرایش نهم در دسترس نمی‌باشد. همکاران ما در بخش محتوا، به مرور، مترجمان را بررسی و مطلبی از آنها را در این بخش قرار خواهند داد. با توجه به تعداد بسیار زیاد مترجمان این سایت، درج اطلاعات تکمیلی، نقد و بررسی تمامی آنها، کاری زمانبر خواهد بود؛ لذا در صورتی که کاربران سایت برای مطلبی از مترجم، از طریق صفحه «ارتباط با ما» درخواست دهند، تهیه و درج محتوای برای آن مترجم در اولویت قرار خواهد گرفت.ضمنا اگر شما کاربر ارجمندِ سایت ایده‌بوک، این مترجم را می شناسید یا حتی اگر خود، مترجم هستید و تمایل دارید با مطلبی جذاب و مفید، سایرین را به مطالعه‌ی کتاب ترغیب و دعوت کنید، می توانید محتوای مورد نظرتان را از صفحه «ارتباط با ما» ارسال نمایید.

    قدرت سپیدنام

    دیدگاه کاربران

    دیدگاه شما

    کد امنیتی ثبت نظر

    با ثبت دیدگاه، موافقت خود را با قوانین انتشار دیدگاه در ایده بوک اعلام می‌کنم.

    پرسش خود را درباره این محصول ثبت کنید