کتاب سیستم عامل استالینگز
بخش اول. پیش زمینه: یک نمای کلی از دانلود کتاب سیستم عامل ویلیام استالینگز به زبان فارسی و سازماندهی کامپیوتر، با تاکید بر موضوعاتی : : : /: //: : : : //
ً :
: ً : : ً
: /: ; ; ://// ً :
: : : : : : :
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 اجرای دستورالعمل
برنامه ای که باید توسط یک : 
:
– : – -/: /- : – : بیت برای کد عملیاتی فراهم می کند، که به 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، برای علامت دادن به اتمام عادی یک عملیات یا سیگنال دادن به انواع شرایط خطا.
خرابی سخت افزار ایجاد شده در اثر خرابی، مانند قطع برق یا خطای برابری حافظه.
وقفه ها در درجه اول به عنوان راهی برای بهبود استفاده از پردازنده ارائه می شوند. / ً ////:
– /- ////- ////
فهرست مطالب