طراحی و پیادهسازی سیستمهای عامل
نگارنده در این کتاب، ابتدا از عملکرد سیستم عامل از دو جنبه یاد میکند که عبارت است از: مدیریت منابع و مدیریت ماشینهای توسعهیافته. در بخش اول، سیستم عامل، کارآیی بخشهای مختلف سیستم را مدیریت مینماید و از جنبهی دوم، کار سیستم عامل فراهم نمودن یک ماشین مجازی برای کاربر است که استفاده از آن بسیار آسانتر از یک ماشین واقعی باشد. در ادامه، تاریخچهی سیستمهای عامل بازگو میشود. گفتنی است قلب هر سیستمعامل، مجموعهای از فراخوانهای سیستمی است که میتواند آنها را اعمال نماید. این فراخوانها مشخص میکنند که سیستم عامل واقعا شبیه به چیست. برای MINIX3 این فراخوانها به 6 گروه تقسیم میشوند: گروه اول، فراخوانهای سیستمی در رابطه با تولید پروسس و پایان آن است. گروه دوم، اداره کردن سیگنالها را بر عهده دارند. گروه سوم مخصوص خواندن و نوشتن فایلها هستند. گروه چهارم، مدیریت فهرست را انجام میدهند. گروه پنجم، نقش حفاظت از اطلاعات را ایفا میکنند و گروه ششم در نگهداری تراک زمان فعالیت میکنند. سیستمهای عامل میتوانند به چندین روش ساخته شوند که از متداولترین آنها میتوان سیستم یکپارچه، سیستم لایهها، ماشین مجازی، Exokernels و مدل مشتری ـ خدمتگذار را نام برد. در فصول دیگر کتاب، بخشهای بزرگ سیستم عامل معرفی میشود که عبارت است از: مدیریت پروسس، مدیریت دستگاههای I/o، مدیریت حافظه و مدیریت فایل. در فصول یاد شده نخست اصول کلی، سپس نحوهی برخورد با این اجزا در MINIX3 و UNIX عرضه شده و در پایان جزئیات پیادهسازی آن در MINIX3 از نظر میگذرد.