دانلود ترجمه کتاب سیستم عامل ویلیام استالینگز فارسی

  • از

کتاب سیستم عامل استالینگز

دانلود کتاب

 

 

 

 

 

 

 

 

بخش اول. پیش زمینه: یک نمای کلی از دانلود کتاب سیستم عامل ویلیام استالینگز به زبان فارسی و سازماندهی کامپیوتر، با تاکید بر موضوعاتی که به طراحی سیستم عامل OS مربوط می شود، به : : ‌: ‌‌‌‌‌‌‌/: //فایل ارائه می دهد.
بخش ششم سیستم های جاسازی شده: تعداد سیستم های جاسازی شده بسیار بیشتر از سیستم های محاسباتی همه منظوره است و تعدادی از چالش های سیستم عامل منحصر به فرد را ارائه می دهند. این بخش شامل بحث در مورد اصول مشترک به علاوه پوشش دو سیستم نمونه است: TinyOS و eCos.
بخش هفتم امنیت: بررسی تهدیدها و مکانیسم‌هایی را برای تأمین امنیت رایانه و شبکه ارائه می‌کند.
بخش هشتم سیستم های توزیع شده: روندهای اصلی در شبکه سازی سیستم های کامپیوتری، از جمله TCP/IP، محاسبات مشتری/سرور، و خوشه ها را بررسی می کند. همچنین برخی از زمینه های طراحی کلیدی در توسعه سیستم عامل های توزیع شده را توضیح می دهد.
تعدادی از فصل‌ها و ضمیمه‌های آنلاین موضوعات اضافی مرتبط با کتاب را پوشش می‌دهند.
0.2 چند مثال از سیستم ها

دانلود کتاب سیستم عامل ویلیام استالینگز به زبان فارسی

دانلود کتاب سیستم عامل ویلیام استالینگز به زبان فارسی

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

دانلود کتاب سیستم عامل ویلیام استالینگز به زبان فارسی PDF

 

طبیعی است که خواننده ترتیب خاص موضوعات ارائه شده در این کتاب را زیر سوال ببرد. به عنوان مثال، مبحث زمان‌بندی فصل 9 و 10 ارتباط نزدیکی با مباحث همزمانی فصل 5 و 6 و موضوع کلی فرآیندها فصل 3 دارد و ممکن است به طور منطقی بلافاصله پس از آن مباحث پوشش داده شود.
مشکل این است که موضوعات مختلف بسیار به هم مرتبط هستند. به عنوان مثال، در بحث حافظه مجازی، اشاره به مسائل زمان بندی مربوط به خطای صفحه مفید است. البته اشاره به برخی مسائل مربوط به مدیریت حافظه هنگام بحث در مورد تصمیمات زمان بندی نیز مفید است. این نوع مثال را می‌توان بی‌پایان تکرار کرد: بحث در مورد زمان‌بندی نیاز به درک کمی از مدیریت ورودی/خروجی دارد و بالعکس.
شکل 0.1 برخی از روابط متقابل مهم بین موضوعات را نشان می دهد. خطوط جامد نشان دهنده روابط بسیار قوی، از نقطه نظر تصمیمات طراحی و اجرا است. بر اساس این نمودار، منطقی است که با یک بحث اساسی در مورد فرآیندها، که در فصل 3 انجام می دهیم، شروع کنیم. پس از آن، ترتیب تا حدودی دلخواه است. بسیاری از روش‌های سیستم‌عامل در ابتدا همه مواد را روی فرآیندها جمع‌آوری می‌کنند و سپس به موضوعات دیگر می‌پردازند. این قطعا معتبر است. با این حال، اهمیت مرکزی مدیریت حافظه، که به اعتقاد من اهمیتی برابر با مدیریت فرآیند دارد، منجر به تصمیم‌گیری برای ارائه این مطالب قبل از نگاهی عمیق به زمان‌بندی شده است.

شکل 0.1 موضوعات سیستم عامل
راه‌حل ایده‌آل این است که دانش‌آموز پس از تکمیل فصل‌های 1 تا 3 از سری، فصل‌های زیر را به صورت موازی بخواند و جذب کند: 4 و سپس اختیاری 5. 6 به دنبال آن 7; 8 به دنبال آن اختیاری 9; 10. قسمت های باقی مانده را می توان به هر ترتیبی انجام داد. با این حال، اگرچه مغز انسان ممکن است درگیر پردازش موازی باشد، دانش‌آموز انسانی کار موفقیت‌آمیز با چهار نسخه از یک کتاب را به طور همزمان در چهار فصل مختلف غیرممکن و گران‌قیمت می‌بیند. با توجه به ضرورت ترتیب خطی، به نظر من ترتیب استفاده شده در این کتاب بیشترین تأثیر را دارد.
نظر پایانی فصل 2، به ویژه بخش 2.3، نمای سطح بالایی از تمام مفاهیم کلیدی تحت پوشش در فصل های بعدی را ارائه می دهد. بنابراین، پس از خواندن فصل 2، انعطاف پذیری قابل توجهی در انتخاب ترتیب خواندن فصل های باقی مانده وجود دارد.
0.4 منابع اینترنت و وب
منابع متعددی در اینترنت و وب برای پشتیبانی از این کتاب و برای همگام شدن با پیشرفت‌ها در این زمینه وجود دارد.
وب سایت های این کتاب
سه وب سایت منابع اضافی را برای دانش آموزان و مربیان فراهم می کنند. یک وب سایت همراه برای این کتاب به آدرس http://williamstallings.com/OperatingSystems/ وجود دارد. برای دانش‌آموزان، این وب‌سایت شامل فهرستی از پیوندهای مرتبط سازمان‌دهی شده بر اساس فصل و فهرست اشتباهی برای کتاب است. همچنین اسنادی وجود دارد که زبان برنامه نویسی C را برای دانش آموزانی که با این زبان آشنا نیستند یا نیاز به تجدید نظر دارند معرفی می کند. برای مدرسان، این وب سایت به صفحات درسی اساتیدی که از این کتاب تدریس می کنند پیوند می دهد و تعدادی اسناد و پیوندهای مفید دیگر را ارائه می دهد.
همچنین یک وب‌سایت محتوای ممتاز با دسترسی دانلود کتاب سیستم عامل ویلیام استالینگز به زبان فارسی وجود دارد، که مقدار زیادی از مطالب پشتیبانی، از جمله فصل‌های آنلاین اضافی، پیوست‌های آنلاین اضافی، مجموعه‌ای از مشکلات تکالیف خانه با راه‌حل‌ها، مجموعه‌ای از انیمیشن‌هایی که مفاهیم کلیدی را نشان می‌دهند، و مجموعه‌ای از یادداشت‌های ویدیویی را ارائه می‌دهد. که روایت‌های بسیاری از الگوریتم‌های کتاب هستند. برای اطلاعات دسترسی به کارت جلوی این کتاب مراجعه کنید.
در نهایت، مطالب اضافی برای مربیان در مرکز منابع مدرس IRC برای این کتاب موجود است. برای جزئیات و اطلاعات دسترسی به مقدمه مراجعه کنید.
به محض اینکه هرگونه اشتباه تایپی یا سایر خطاها کشف شود، فهرست اشتباه این کتاب در وب سایت موجود خواهد بود. لطفاً هر گونه خطایی را که مشاهده کردید گزارش دهید. برگه های اشتباه برای کتاب های دیگر من در WilliamStalings.com هستند.
من همچنین سایت منابع دانشجویی علوم کامپیوتر را در ComputerScienceStudent.com نگهداری می کنم. هدف این سایت ارائه اسناد، اطلاعات و پیوندها برای دانشجویان و متخصصان علوم کامپیوتر می باشد. پیوندها و اسناد به هفت دسته سازماندهی می شوند:
Math: شامل یک تجدید کننده پایه ریاضی، یک آغازگر تجزیه و تحلیل صف، یک آغازگر سیستم اعداد، و پیوندهایی به سایت های ریاضی متعدد است.
نحوه: مشاوره و راهنمایی برای حل مشکلات تکالیف، نوشتن گزارش های فنی و تهیه ارائه های فنی.
منابع تحقیق: پیوند به مجموعه های مهم مقالات، گزارش های فنی و کتابشناسی.
سایر موارد مفید: انواع اسناد و پیوندهای مفید دیگر.
مشاغل علوم کامپیوتر: پیوندها و اسناد مفید برای کسانی که در نظر دارند شغلی در علوم کامپیوتر داشته باشند.
کمک به نوشتن: کمک به تبدیل شدن به یک نویسنده واضح تر و موثرتر.
موضوعات متفرقه و طنز: باید هر چند وقت یکبار ذهن خود را از کار خود دور کنید.
وب سایت های دیگر
وب سایت های متعددی وجود دارند که اطلاعات مربوط به موضوعات این کتاب را ارائه می دهند. وب سایت Companion پیوندهایی را به این سایت ها ارائه می دهد که بر اساس فصل سازماندهی شده اند.

 

سیستم عامل

سیستم عامل

بخش 1 پیشینه
فصل 1
نمای کلی سیستم کامپیوتری

1.1 عناصر اساسی
1.2 تکامل ریزپردازنده
1.3 اجرای دستورالعمل
1.4 وقفه ها
وقفه ها و چرخه دستورالعمل پردازش وقفه
وقفه های متعدد
1.5 سلسله مراتب حافظه
1.6 حافظه کش
1.7 دسترسی مستقیم به حافظه
1.8 چند پردازنده و سازمان چند هسته ای متقارن چند پردازنده کامپیوترهای چند هسته ای
1.9 مطالعه توصیه شده
1.10 اصطلاحات کلیدی، بررسی سوالات و مشکلات ضمیمه 1A ویژگی های عملکرد حافظه های دو سطحی محل عملکرد حافظه دو سطحی

اهداف یادگیری
پس از مطالعه این فصل، شما باید بتوانید:
– عناصر اساسی یک سیستم کامپیوتری و رابطه متقابل آنها را توضیح دهید.
– مراحل انجام شده توسط یک پردازنده برای اجرای یک دستورالعمل را توضیح دهید.
– درک مفهوم وقفه ها و چگونگی و چرایی استفاده پردازنده از وقفه ها.
– سطوح سلسله مراتب حافظه معمولی رایانه را فهرست و توصیف کنید.
– ویژگی های اساسی سازمان های چند پردازنده ای و چند هسته ای را توضیح دهید.
– مفهوم محلی بودن را مورد بحث قرار دهید و عملکرد یک سلسله مراتب حافظه چند سطحی را تجزیه و تحلیل کنید.
– عملکرد یک پشته و استفاده از آن برای پشتیبانی از فراخوانی و بازگشت رویه را درک کنید.
یک سیستم عامل OS از منابع سخت افزاری یک یا چند پردازنده برای ارائه مجموعه ای از خدمات به کاربران سیستم سوء استفاده می کند. این سیستم عامل همچنین حافظه ثانویه و دستگاه های ورودی/خروجی ورودی/خروجی را از طرف کاربران خود مدیریت می کند. بر این اساس، قبل از شروع بررسی سیستم‌عامل‌ها، داشتن درک درستی از سخت‌افزار سیستم‌های کامپیوتری ضروری است. در این فصل مروری بر سخت افزار سیستم کامپیوتری ارائه می شود. در بیشتر زمینه ها، نظرسنجی مختصر است، زیرا فرض بر این است که خواننده با این موضوع آشنا است. با این حال، چندین حوزه به دلیل اهمیت آنها برای موضوعاتی که بعداً در کتاب پوشش داده می شوند، با جزئیات مورد بررسی قرار گرفته اند. موضوعات بیشتر در پیوست C پوشش داده شده است.
1.1 عناصر اساسی

 

دانلود رایگان کتاب سیستم عامل استالینگز

در سطح بالا، یک کامپیوتر از پردازنده، حافظه و اجزای ورودی/خروجی با یک یا چند ماژول از هر نوع تشکیل شده است. این اجزا به نوعی به هم متصل می شوند تا به عملکرد اصلی رایانه که اجرای برنامه ها است، دانلود کتاب سیستم عامل ویلیام استالینگز به زبان فارسی یابند. بنابراین، چهار عنصر ساختاری اصلی وجود دارد:
– پردازنده: عملکرد کامپیوتر را کنترل می کند و عملکردهای پردازش داده آن را انجام می دهد. هنگامی که تنها یک پردازنده وجود دارد، اغلب به عنوان واحد پردازش مرکزی CPU شناخته می شود.
– حافظه اصلی: داده ها و برنامه ها را ذخیره می کند. این حافظه معمولاً فرار است. یعنی وقتی کامپیوتر خاموش می شود، محتویات حافظه از بین می رود. در مقابل، محتویات حافظه دیسک حتی زمانی که سیستم کامپیوتری خاموش است، حفظ می شود. حافظه اصلی به عنوان حافظه حقیقی یا حافظه اصلی نیز شناخته می شود.

 

شکل 1.1 اجزای کامپیوتر: نمای سطح بالا

– ماژول های ورودی/خروجی: داده ها را بین رایانه و محیط خارجی آن جابه جا می کند. محیط خارجی شامل انواع دستگاه‌ها، از جمله دستگاه‌های حافظه ثانویه به عنوان مثال، دیسک، تجهیزات ارتباطی و پایانه‌ها است.
– گذرگاه سیستم: ارتباط بین پردازنده ها، حافظه اصلی و ماژول های ورودی/خروجی را فراهم می کند.
شکل 1.1 این اجزای سطح بالا را نشان می دهد. یکی از وظایف پردازنده تبادل اطلاعات با حافظه است. برای این منظور، معمولاً از دو رجیستر داخلی برای پردازنده استفاده می کند: یک ثبات آدرس حافظه MAR، که آدرس موجود در حافظه را برای خواندن یا نوشتن بعدی مشخص می کند. و یک رجیستر بافر حافظه MBR که حاوی داده هایی است که باید در حافظه نوشته شود یا داده های خوانده شده را از حافظه دریافت می کند. به طور مشابه، یک ثبت آدرس I/O I/OAR یک دستگاه I/O خاص را مشخص می کند. یک ثبات بافر ورودی/خروجی I/OBR برای تبادل داده بین یک ماژول I/O و پردازنده استفاده می شود.
یک ماژول حافظه شامل مجموعه‌ای از مکان‌ها است که با آدرس‌هایی با شماره‌گذاری متوالی تعریف می‌شوند. هر مکان حاوی یک الگوی بیت است که می تواند به عنوان یک دستورالعمل یا داده تفسیر شود. یک ماژول I/O داده ها را از دستگاه های خارجی به پردازنده و حافظه منتقل می کند و بالعکس. این شامل بافرهای داخلی برای نگهداری موقت داده ها تا زمانی که بتوان آنها را ارسال کرد.
1.2 تکامل ریزپردازنده
انقلاب سخت افزاری که محاسبات دسکتاپ و دستی را به وجود آورد، اختراع ریزپردازنده بود که شامل یک پردازنده بر روی یک تراشه بود. اگرچه در اصل بسیار کندتر از پردازنده‌های چند تراشه‌ای است، ریزپردازنده‌ها پیوسته تا حدی تکامل یافته‌اند که به دلیل فیزیک درگیر در جابجایی اطلاعات در بازه‌های زمانی زیر نانوثانیه، برای اکثر محاسبات بسیار سریع‌تر هستند.
ریزپردازنده‌ها نه تنها به سریع‌ترین پردازنده‌های همه منظوره در دسترس تبدیل شده‌اند، بلکه اکنون به چند پردازنده تبدیل شده‌اند. هر تراشه که سوکت نامیده می شود شامل چندین پردازنده که هسته نامیده می شود، هر کدام دارای سطوح مختلف حافظه پنهان بزرگ، و چندین پردازنده منطقی است که واحدهای اجرایی هر هسته را به اشتراک می گذارند. از سال 2010، داشتن 2 یا 4 هسته، هر کدام با 2 رشته سخت افزاری، برای مجموع 4 یا 8 پردازنده منطقی، غیرعادی نیست.
اگرچه پردازنده ها عملکرد بسیار خوبی را برای اکثر اشکال محاسباتی ارائه می دهند، تقاضا برای محاسبات عددی افزایش می یابد. واحدهای پردازش گرافیکی GPU محاسبات کارآمدی را روی آرایه‌های داده با استفاده از تکنیک‌های داده‌های چندگانه تک دستوری SIMD که در ابررایانه‌ها پیشگام شده‌اند، ارائه می‌کنند. پردازنده‌های گرافیکی دیگر فقط برای رندر کردن گرافیک‌های پیشرفته استفاده نمی‌شوند، بلکه برای پردازش‌های عددی عمومی، مانند شبیه‌سازی‌های فیزیک برای بازی‌ها یا محاسبات روی صفحات گسترده بزرگ نیز استفاده می‌شوند. همزمان، خود CPUها قابلیت کار بر روی آرایه‌های داده را به دست می‌آورند – با واحدهای برداری قدرتمندتر که در معماری پردازنده خانواده‌های x86 و AMD64 ادغام شده‌اند.
پردازنده ها و GPU ها پایان داستان محاسباتی رایانه های شخصی مدرن نیستند. پردازنده‌های سیگنال دیجیتال DSP نیز برای کار با سیگنال‌های جریانی مانند صدا یا تصویر وجود دارند. DSP ها قبلاً در دستگاه های ورودی/خروجی مانند مودم ها تعبیه می شدند، اما اکنون به دستگاه های محاسباتی درجه یک، به ویژه در دستگاه های دستی تبدیل می شوند. سایر دستگاه‌های محاسباتی تخصصی واحدهای عملکرد ثابت برای پشتیبانی از سایر محاسبات استاندارد، مانند رمزگذاری/رمزگشایی گفتار و ویدیو کدک‌ها، یا ارائه پشتیبانی برای رمزگذاری و امنیت، با CPU وجود دارند.
برای برآوردن نیازهای دستگاه های دستی، ریزپردازنده کلاسیک جای خود را به سیستم روی تراشه SoC می دهد، جایی که نه تنها CPU ها و حافظه های پنهان روی یک تراشه قرار دارند، بلکه بسیاری از اجزای دیگر سیستم، مانند DSP ها، GPU ها، دستگاه های ورودی/خروجی مانند رادیوها و کدک ها و حافظه اصلی.
1.3 اجرای دستورالعمل
برنامه ای که باید توسط یک پردازنده اجرا شود شامل مجموعه ای از دستورالعمل های ذخیره شده در حافظه است. در ساده ترین شکل، پردازش دستورالعمل شامل دو مرحله است: پردازنده دستورالعمل ها را یکی یکی از حافظه می خواند و هر دستور را اجرا می کند. اجرای برنامه شامل تکرار فرآیند واکشی دستورالعمل و اجرای دستورالعمل است. اجرای دستورالعمل ممکن است شامل چندین عملیات باشد و به ماهیت دستور بستگی دارد. پردازش مورد نیاز برای یک دستورالعمل منفرد، چرخه دستورالعمل نامیده می شود. با استفاده از یک توصیف دو مرحله ای ساده، چرخه دستورالعمل در شکل 1.2 نشان داده شده است. این دو مرحله به عنوان مرحله واکشی و مرحله اجرا نامیده می شوند. اجرای برنامه فقط در صورتی متوقف می شود که پردازنده خاموش باشد، نوعی خطای غیرقابل بازیابی رخ دهد یا دستورالعمل برنامه ای که پردازنده را متوقف می کند مواجه شود.

نمودار

نمودار

شکل 1.2 چرخه دستورالعمل اصلی
در ابتدای هر چرخه دستورالعمل، پردازنده یک دستورالعمل را از حافظه واکشی می کند. به طور معمول، شمارنده برنامه PC آدرس دستور بعدی را که باید واکشی می شود، نگه می دارد. مگر اینکه دستور دیگری داده شود، پردازنده همیشه کامپیوتر را بعد از هر واکشی دستورالعمل افزایش می دهد تا دستور بعدی را به ترتیب یعنی دستورالعملی که در آدرس حافظه بالاتر بعدی قرار دارد واکشی کند. به عنوان مثال، یک کامپیوتر ساده شده را در نظر بگیرید که در آن هر دستورالعمل یک کلمه 16 بیتی از حافظه را اشغال می کند. فرض کنید که شمارنده برنامه روی مکان 300 تنظیم شده است. پردازنده در مرحله بعدی دستورالعمل را در مکان 300 واکشی می کند. در چرخه های دستورالعمل بعدی، دستورالعمل ها را از مکان های 301، 302، 303 و غیره دریافت می کند. این توالی ممکن است تغییر یابد، همانطور که در ادامه توضیح داده شد.

شکل 1.3 ویژگی های یک ماشین فرضی

دستورالعمل واکشی شده در ثبت دستورالعمل IR بارگذاری می شود. این دستورالعمل حاوی بیت هایی است که عملکردی را که پردازنده باید انجام دهد را مشخص می کند. پردازنده دستور را تفسیر می کند و عمل مورد نیاز را انجام می دهد. به طور کلی، این اقدامات به چهار دسته تقسیم می شوند:
– حافظه پردازنده: داده ها ممکن است از پردازنده به حافظه یا از حافظه به پردازنده دیگر منتقل شوند.
– Processor-I/O: داده ها ممکن است با انتقال بین پردازنده و یک ماژول I/O به یک دستگاه جانبی یا از آن منتقل شوند.
– پردازش داده: پردازنده ممکن است برخی از عملیات حسابی یا منطقی را روی داده ها انجام دهد.
– کنترل: یک دستورالعمل ممکن است مشخص کند که توالی اجرا تغییر کند. برای مثال، پردازنده ممکن است دستورالعملی را از مکان 149 واکشی کند، که مشخص می کند دستور بعدی از مکان 182 باشد. پردازنده شمارنده برنامه را روی 182 تنظیم می کند. بنابراین، در مرحله واکشی بعدی، دستورالعمل از مکان 182 واکشی می شود.
اجرای یک دستورالعمل ممکن است شامل ترکیبی از این اقدامات باشد.
یک مثال ساده را با استفاده از یک پردازشگر فرضی در نظر بگیرید که شامل ویژگی های ذکر شده در شکل 1.3 است. پردازنده شامل یک ثبت داده واحد به نام دانلود کتاب سیستم عامل ویلیام استالینگز به زبان فارسی AC است. هر دو دستورالعمل و داده 16 بیتی هستند و حافظه به صورت دنباله ای از کلمات 16 بیتی سازماندهی شده است. فرمت دستورالعمل 4 بیت برای کد عملیاتی فراهم می کند، که به 24 = 16 کد عملیاتی مختلف اجازه می دهد که با یک رقم هگزادسیمال 1 نشان داده می شود. کد عملیاتی را که پردازنده باید انجام دهد را تعریف می کند. با 12 بیت باقیمانده از فرمت دستورالعمل، تا 212 = 4096 4K کلمه حافظه که با سه رقم هگزادسیمال مشخص می شوند می توانند مستقیماً آدرس دهی شوند. شکل 1.4 اجرای جزئی برنامه را نشان می دهد و موارد مربوطه را نشان می دهد.
تعداد حافظه و رجیسترهای پردازنده قطعه برنامه نشان داده شده محتویات کلمه حافظه در آدرس 940 را به محتوای کلمه حافظه در آدرس 941 اضافه می کند و نتیجه را در مکان دوم ذخیره می کند. سه دستورالعمل، که می تواند به عنوان سه مرحله واکشی و سه مرحله اجرا توصیف شود، مورد نیاز است:
1. PC حاوی 300، آدرس اولین دستورالعمل است. این دستورالعمل مقدار 1940 در هگزادسیمال در IR بارگذاری می شود و رایانه شخصی افزایش می یابد. توجه داشته باشید که این فرآیند شامل استفاده از یک ثبات آدرس حافظه MAR و یک ثبات بافر حافظه MBR است. برای سادگی، این رجیسترهای میانی نشان داده نشده اند.
2. 4 بیت اول اولین رقم هگزادسیمال در IR نشان می دهد که AC قرار است از حافظه بارگذاری شود. 12 بیت باقی مانده سه رقم هگزادسیمال آدرس را مشخص می کند که 940 است.
3. دستورالعمل بعدی 5941 از مکان 301 واکشی شده و PC افزایش یافته است.
4. محتویات قدیمی AC و محتویات محل 941 اضافه شده و نتیجه در AC ذخیره می شود.
5. دستورالعمل بعدی 2941 از مکان 302 واکشی شده و PC افزایش یافته است.
6. محتویات AC در محل 941 ذخیره می شود.

شکل 1.4 مثالی از اجرای برنامه محتوای حافظه و رجیسترها به صورت هگزادسیمال
در این مثال، برای افزودن محتویات مکان 940 به محتویات 941، به سه چرخه دستورالعمل، که هر کدام از یک مرحله واکشی و یک مرحله اجرا تشکیل می‌شود، نیاز است. با مجموعه پیچیده‌تری از دستورالعمل‌ها، چرخه‌های دستورالعمل کمتری مورد نیاز است. اکثر پردازنده های مدرن شامل دستورالعمل هایی هستند که بیش از یک آدرس دارند. بنابراین مرحله اجرا برای یک دستورالعمل خاص ممکن است شامل بیش از یک مرجع به حافظه باشد. همچنین، به جای مراجع حافظه، یک دستورالعمل ممکن است یک عملیات I/O را مشخص کند.
1.4 وقفه
تقریباً همه رایانه‌ها مکانیزمی را ارائه می‌کنند که توسط آن سایر ماژول‌ها I/O، حافظه ممکن است توالی عادی پردازنده را مختل کنند. جدول 1.1 رایج ترین کلاس های وقفه ها را فهرست می کند.

جدول 1.1 کلاس های وقفه
برنامه ایجاد شده توسط شرایطی که در نتیجه اجرای یک دستورالعمل رخ می دهد، مانند سرریز حسابی، تقسیم بر صفر، تلاش برای اجرای دستور غیرقانونی ماشین، و مرجع خارج از فضای مجاز حافظه کاربر.
تایمر تولید شده توسط یک تایمر در پردازنده. این به سیستم عامل اجازه می دهد تا عملکردهای خاصی را به طور منظم انجام دهد.
I/O تولید شده توسط یک کنترل کننده I/O، برای علامت دادن به اتمام عادی یک عملیات یا سیگنال دادن به انواع شرایط خطا.
خرابی سخت افزار ایجاد شده در اثر خرابی، مانند قطع برق یا خطای برابری حافظه.

وقفه ها در درجه اول به عنوان راهی برای بهبود استفاده از پردازنده ارائه می شوند. برای مثال، اکثر دستگاه های ورودی/خروجی بسیار کندتر از پردازنده هستند. فرض کنید که پردازنده با استفاده از طرح چرخه دستورالعمل شکل 1.2 داده ها را به چاپگر منتقل می کند. پس از هر عملیات نوشتن، پردازنده باید مکث کند و تا زمانی که چاپگر به کار برسد، بیکار بماند. طول این مکث ممکن است در حدود هزاران یا حتی میلیون ها چرخه دستورالعمل باشد. واضح است که این یک استفاده بسیار بیهوده از پردازنده است.
برای ارائه یک مثال خاص، رایانه‌ای را در نظر بگیرید که با دانلود کتاب مدیریت تحول در سازمان نوشته وندال فرنچ  1 گیگاهرتز کار می‌کند، که تقریباً 109 دستورالعمل در ثانیه را امکان‌پذیر می‌کند. 4 میلیون بار کندتر از پردازنده است.
شکل 1.5a این وضعیت را نشان می دهد. برنامه کاربر یک سری فراخوانی WRITE را با پردازش انجام می دهد. خطوط عمودی جامد بخش هایی از کد را در یک برنامه نشان می دهد. بخش‌های کد 1، 2، و 3 به دنباله‌ای از دستورالعمل‌هایی اشاره دارند که شامل I/O نمی‌شوند. فراخوانی های WRITE به یک روال ورودی/خروجی است که یک ابزار سیستمی است و عملیات ورودی/خروجی واقعی را انجام می دهد. برنامه I/O از سه بخش تشکیل شده است:
– دنباله ای از دستورالعمل ها، با برچسب 4 در شکل، برای آماده شدن برای عملیات I/O واقعی. این ممکن است شامل کپی کردن داده ها برای خروجی در یک بافر خاص و آماده سازی پارامترها برای یک فرمان دستگاه باشد.
– دستور I/O واقعی. بدون استفاده از وقفه، زمانی که این دستور صادر شد، برنامه باید منتظر بماند تا دستگاه I/O عملکرد درخواستی را انجام دهد یا به صورت دوره ای وضعیت یا نظرسنجی دستگاه I/O را بررسی کند. برنامه ممکن است با انجام مکرر یک عملیات آزمایشی منتظر بماند تا مشخص شود آیا عملیات I/O انجام شده است یا خیر.
– دنباله ای از دستورالعمل ها، که در شکل 5 نشان داده شده است، برای تکمیل عملیات. این ممکن است شامل تنظیم پرچمی باشد که موفقیت یا شکست عملیات را نشان می دهد.
خط چین نشان دهنده مسیر اجرایی است که توسط پردازنده دنبال می شود. یعنی این خط دنباله ای را نشان می دهد ////‌ 

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

دانلود کتاب سیستم عامل ویلیام استالینگز به زبان فارسی

کتاب سیستم عامل استالینگز

URL: https://pdf-ketab.ir/download/pdf/book/86/

نویسنده: saman

امتیازدهی ویرایشگر:
4

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *