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

پیاده سازی سیستم فایل

صفحه 1:

صفحه 2:

صفحه 3:

صفحه 4:

صفحه 5:
مقدمه همانطور که درفصل 11 دیسیم. سیستم فلیل راهکاری رابرای حافظه و دستیابی به داده ها و برنامه ها فراهم عی کند.سیستم فلیل در حافظه انهیه ذخیره می شود. حافظه ثانویه اطلاعات زیادی را به طور دائمی ذخیره می کند. 1-2 ساختار سیستم فایل دیسک. حافظه انبوهی است که سیستم فایل در آن نگهداری می شود. 2ویژگی مهم فابلها: انوشتن درجا امکان پذیر است. ابه هر بلوکی از اطلاعات می توانیم مستقیما دستیابی داشته باشیم.

صفحه 6:
آأبرای بهبود کارلیی 1/00. انتقال 1/0 بین حافظه و دیسک بر حسب واحدهایی از بلوک صورت ی گیرد. که هر بلوک ازیک یا چند قطاع تشکیل می شود. اندازه قطاع از 32 بلیت تا 4096 بلیت است و بستگیبه گرداننده دیسک دارد. معمولا اندازه قطاع 2 بایت است. آ/برای دستیابی کارآمد و راحت‌به دیسک. سیستم علمل از یک سیستم فلیل استفاده می کند. سیستم فایل برای ذخیره. ‎GEL‏ و بازیابی سریع اطلاعات مناسب است.

صفحه 7:
سیستم فایل دو مسئله عمده طراحی دارد: 7 جكونكى سیستم فایل از دیدگاه کاربر #ایجاد الگوریتمها و ساختمان داده هایی برای نگاشت سیستم فایل منطقی به دستگاه حافظه فیزیکی ثانویه خود سیستم فایل هم از چند سطح تشکیل می شود

صفحه 8:
۳ وز "بزنامه ها کاربردی ۲ ۳ سیستم فایل منطقی پیمانه سازمان دهی فایل سیستم فایل اصلی کنترل ۱/0 8 دستگاهها

صفحه 9:
‎caw pF‏ در این طراحی با استفاده از ویژگیهای سطوح پایین تر. ویژگیهای جدیدی را ایجاد می کند که توسط لابه های بالاتر به کار گرفته می شود. ‎ches oi) ony‏ یعنی کنترل 1/0 متشکل از گرداننده های دستگاه و پردازنده وقفه برای انتقال اطلاعات بین حافظه و سیستم دیسک است.گرداننده دستگاه را مى توان به عنوان یک انتقال دهنده در نظر گرفت. ورودی آّن فرمانهای سطح بالا است.خروجی ‎ald ol‏ دستورات سطح پایین وبئّه سخت افزاری بکار گرفته می شود که واسط دستگاه 1/00 و بقیه سیستم است. ‎9

صفحه 10:
تا بلوکهای فیزیکی را از روی دیسک بخوانند و بنوبسند.هر بلوک فیزیکی با آدرس عددی روی دیسک مشخص می شود. 7"پیملنه سازمان دهی فلیل. اطلاعلتی راجع‌به فایلها. بلوکهای منطقی و فیزیکی آنها در اختیار دارد.با دانستن نوع تخصیص فایل و محل وجود فلیل. پیملنه سازمان دهی فلیل می تولند آدرسهای بلوک منطقی رابه آدرسهای بلوک فیزیکی تبدیل کند.پیملنه سازمان دهی فلیل شامل مدیر فضای آزاد است که بلوکهای تخصیص نیافته را نگهداری ی کند و در صورت نیاز در اختیار پیملنه سازمان دهی فایل قرار هی دهد.

صفحه 11:
آ#"سیستم فلیل منطقی. اطلاعات شبه داده را مدیریت می کند. شبه داده حاوی ساختار سیستم فلیل. به جز داده واقعی است. سیستم فلیل منطقی سلختار دایرکتوری را مدیریت عی کندتا اطلاعلتی را در اختیار پیملنه سازمان دهی فایل قرار دهدتا بعدا از آنها استفاده شود.ساختار فلیل را از طریق بلوکهای کنترل فایل نگهداری می کند.سیستم فایل منطقی مسئول حفاظت و امنیت است. 11

صفحه 12:

صفحه 13:
2-2 پیاده سازی سیستم فابل سیستم عامل فراخوانهای سیستم 0۳612 و 01056 را برای فرآیندها پیاده سازی می کند تا به محتویات فایل دستیابی داشته باشد. 1-2-2 مرور کلی چندین ساختار بر روی دیسک و حافظه برای پیاده سازی سیستم فابل مورد استفاده قرار عى كيرند. لين موضوع بسته‌به سیستم علمل و سیستم فلیل فرق می کند. ولی قواعد کلی برای لین کار وجود دارد. سیستم فلیل بر روی دیسک. ممکن است حاوی اطلاعلتی راجع‌به چگونگی راه اندازی سیستم علمل. تعداد کل بلوکها. رتعداد و محل بلوکهای آزاد. ساختار دایرکتوری و فایل باشد.

صفحه 14:
ساختارهای روی دیسک: آ[بلوک کنترل راه اندازی حاوی اطلاعلتی است که سیستم برای راه اندازی سیستم عامل از آن پارتیشن استفاده‌می کند. اگر دبسک فلقد سیستم علمل باشد. این بلوک عی تولند خللی باشد. لین بلوک. معمولا اولین بلوک دیسک است . در 7۳۴85 . نامش بلوک راه اندازی است. در 1۳5 1۷ نامش قطاع راه انداز پارتیشن است. 7 بلوک کنترل پارتیشن حاوی جزئیات پارتیشن است. در 7195 نلمش سوير بلوى و در 1۳۴5 نامش جدول فایل اصلی است. 14

صفحه 15:
7 ساختار دایرکتوری برای سازمان دهی فایل بکار می رود. ‎cule ۳09‏ جزئیات ف ایللست‌در ۳]8] نامش‌گره شاخص‌لست‌در 5 لير طلاعات در جدولفايلإصلىذخيره موشود كه از ساختار بلنى لطلهلتی‌وجود دارد. 15

صفحه 16:
اطلاعات موجود در حافظه برای مدبربت سیستم فلیل و بهبود کارایی از طریق حافظه پنهان بکار می رود.این ساختار شامل موارد زیر است: آآجدول پارتیشن موجود در حافظه حاوی اطلاعلتی راجع به هر پارتیشن سوار شده است. جدول فلیل باز در سیستط سیستم حاوییک کپی از 8783[ مربوطبه هر فایل باز و سایر اطلاعات است. 7 جدول فلیل باز در سطح فرآیند حاوی اشاره گربه ورودیهای مناسبی در جدول فایل باز سطح سیستم است و اطلاعات دیگری را نیز در بر می گیرد. 16

صفحه 17:
را فراخولنی می کند.سیستم فلیل منطقی فرمت ساختارهای دایرکتوری را می داند. برای ایجاد فلیل جدید.یک ۳/12 جدید ایجاد عی کند. دایرکتوری مناسبی را در حافظه می خولند. آن رابا نام فلیل و ۳613 جدید نوسازی می کند ون را بر روی دیسک می نویسد. 17

صفحه 18:
مجوزهای فایل تاریخهای فایل (ایجاد. دستیابی» نوشتن) مالک فایل» گروه» و ۸۱ اندازه فایل بلوک های داده فایل 18

صفحه 19:
اليس از لين كه فایلی ابتدا بايد باز شود. جاد شد. می تولند براى 1/00 مورد استفاده قرار كيرد. 7" فراخوان 0211 نام فليل راجه سیستم فلیل می فرستد. وقتی فلیل باز شد. ساختار دایرکتوری برای آّن نام فایل جستجو می شود. بخشهایی از ساختار دایرکتوری در حافظه قرار می گیرند تا عملیات دایرکتوری سریع شود. آآوقتی فایلی پیدا شد. ‎FCB‏ 59 جدول فایل باز سطح سیستم کپی می شود. این جدول‌نه تنها ‎FCB‏ را ذخیره عی کند. بلکه تعداد فرآیندهلیی که ن فایل را باز وکرده اند. نگهداری می نماید.

صفحه 20:
ِ 17 (PR PATRAS ‏7آپس یک ورودی در جدول فایل باز در سطح فرآیند‎ ‏ایجاد می شود که به ورودیی در جدول باز در سطح‎ ‏سیستم اشاره می کند و فیلدهای دیگری هم دارد.‎ این فیلدها می توانند موقعیت فعلی در داخل فایل را نگهداری کنند تا عملیات ۲6۵0 و ۷۲:۲۵ انجام شوند.علاوه براین» حالت دستیابی فایل نيز در اين فيلد مشخص مى گردد. 0فراخوانی 0۳6 اشاره گری به ورودی مناسبی در

صفحه 21:
آآنام فلیل‌به عنوان بخشی از جدول فلیل باز نباشد. زیرا وقتی 16013 مناسبی بر روی دیسک قرار دارد. سیستم از نام فایل استفاده نمی کند. نامج که به اندیس داده می شود. در سیستمهای عامل مختلف فرق می کند. یونیکس آن را توصیفگر فایل و ویندوز 2000 آن را دستگیره فایل می نامد. آآوقتی فرآیندی فایلی را عی بندد. ورودی آن از جدول سطح فرآیند حذف می شود و از تعدافایلهای باز در سطح سیستم یک واحد کم می شود. 21

صفحه 22:
آوقتی تمامی کاربرلنی که فایلی را باز کردند. آنرا ببندند. اطلاعات نوسازی شده مربوطبه فلیل در ساختار دایرکتوری دیسک کپی عی شود و ورودی آن از جدول فایل باز در سطح سیستم حذف می شود. 7در ولقع فراخوان سیستم 00610 ابتدا جدول فلیل باز در سطح سیستم را جستجومی کندتا مشخص گردد که آیا لین فلیل توسط فرآیند دیگری در حال استفاده است يا خیر. اگر باشد. یک ورودی در جدول فایل باز سطح سیستم اشاره می کند. این الگوریتم سربار ناشی ازباز کردن فالی را که فعلا از است. کاهش می دهد. 22

صفحه 23:
"در بعضی از سیستمها , از سیستم فایل به عنوان واسطی به جنبه های دیگر سیستم استفاده می کنند و در جنبه ذخیره سازی در حافظه پنهان سرباری ندارد. 23

صفحه 24:
4 ساختارهای سیستم فایل ر موجود در حافظه بلوک کنترل فایل حافظه نانویه بلوکهای داد Sob woah | ساختار دایرکتوزی حافظه هسته باز كردن فايل جدول فايل باز در جدول فایل باز درا سطح سیستم سطح فرآیند حافظه هسته خواندن فایل rs = open(filename) Spel ‏ساختار‎ فضای کاربر read(index) فضای کاربر ۱

صفحه 25:
2-2-2 پارتیشن ها و سوار کردن آنها طرح بندی دبسک بسیار متنوع است وبه سیستم عامل بستگی دارد. دبسک می تولند به چند پارتیشن تقسیم شود یایک پارتیشن عى تولند چند دیسک را در بر گیرد. حالت اول: هر پارتیشن می تواند خام باشد یا آماده و حاوی سیستم فایل باشد. دیسک خام وقتی مورد استفاده قرار می گیرد که هیچ سیستم فایلی مناسب نباشد.فضای مبادله یونیکس می تواند زر بارتيشن خام استفاده كند. بعضى از بانكهاى اطلاعاتى از ديسك خام استفاده مى كنند.

صفحه 26:
#دیسک خام می تولند حاوی اطلاعلنی باشد که موردنیاز سیستمهای 13۸10 است. مثل نقشه های بیتی که مشخص حی کنند کدام بلوکها آینه ای شدند و کدامها تغییر دارند تا آیینه ای شوند. #"اطلاعات راه اندازی سیستم می تولند در پارتیشن جداگلنه ای قرار گیرد. فرمت اطلاعات. وییه است. زیرا در هنگام راه اندازی. گرداننده دستگاه سیستم فایل بار نشده است و نمی تواند فرمت سیستم فایل را تفسیر کند. بصورت دنبلله ای از بلوکها است که‌به شکل تصویربه حافظه باررحی شوند. اجرای این تصویر از محل خاصی مثل اولین بلیت تصویر شروع حی شودلین تصویر راه اندازی می تولند دستوراتی بیش از دستورات لازم برای راه اندازی سیستم علمل را در بر داشته ‎de‏

صفحه 27:
آآدر چنین سیستمهایی, چندین سیستم عامل را می توان نصب |أباركننده راه انداز که سیستمهای فلیل چندگلنه و سیستمهای علمل چندگلنه را می فهمد. می تولند فضای راه اندازی را اشغال کند. هنگامی که بار می شود. می تواند یکی از سیستمهای عامل موجود در دیسک را راه اندازی کند. [أدیسک می تولند چندین پارتیشن داشته باشد و هر کدام دارای سیستم فایل و سیستم عامل متفاوتی باشند. [آپارتیشن ريشه که حاوی هسته سیستم عامل و سایر فایلهای سیستم است» در زمان راه اندازی سوار می شود. | سایر پارتیشن ها می توانند بطور خودکار در زمان راه اندازی یا بعدا بطور دستی پبوار شوند. این موضوع به سیستم عامل بستگی دارد.

صفحه 28:
أابه عنوان بخشی از عملیات موفق سوار کردن. سیستم عامل کنترل می کند که آیا دستگاه حاوی سیستم فایل معتبری است پا خیر. اگر فرمت نامعتبر باشد, پارتیشن باید از نظر سازگاری تست و درست شود. سرانجام. سیستم عامل در ساختار جدول سوار كردن خود يادداشت: مى كند كه يك سيستم فايل سوار شده است و نوع سيستم فايل را نيز ذخيره مى كند. 28

صفحه 29:
لأدر يونيكس. سيستمهآى فليل مى توانند در هر دایرکتوری سوار شوند. برای ببلدهسازى آن. يك برجم در كره شاخص مربوط به آن دايركتورى كه در حافظه قرار دارد. مقئار مى كيرد. ‎ool]‏ يرجم نشان حى دهد كه دايركتورى.يك نقطه سوار كردن است. سبس فيلدى به يك ورودى در جدول سوار كردن اشاره مى كند و مشخص مى كند كه كدام دستكاه در اينجا سوار شده است. ‏لأ ورودى جدول سوار كردن حاوى اشاره كرى .به سوير بلوى سيستم فليل در آن ويستكاه است.

صفحه 30:
3-2-2 سیستمهای فایل مجازی لأسيستمهاى عامل مدرن. همزمان باید چندین نوع سیستم فایل راپشتیبانی کنند. آأبرای انجام لین کار.بیک روش پیاده سازی انواع مختلفی از سیستمهای فلیل لین است که برای هر نوع . روالهای دابرکتوری و یفایل جداگانه ای نوشته شود. [ اغلب سیستمهای عامل. ازجمله یونیکس: برای سهولت. سازمان دهی. و پیمانه ای كردن پیاده سازی . از شی گرایی استفاده می کند. 30

صفحه 31:
‎ul‏ استفاده از این روشها می توان سیستمهای فایل متفاوت را در یک ساختار پیاده سازی کرد. کاربران می توانندبه فایلهای موجود در سیستمهای فلیل مختلف در ‏دیسک محلی . يا سیستمهای فایل شبکه دستیابی داشته باشند. ‎ ‎ ‏آابرای تفکیک عملکرد فراخوان سیستم اصلی از جزئیات پیاده سازی. از ساختمان داده ها و رویه هلیی استفاده عی شود. لذا. پیاده سازی سیستم فلیل شامل 3 لابه اصلی است. ‎31

صفحه 32:
_ سیستم فایل مجازی واسط سیستم واسط ۷۴5 سیستم فایل ‎ol,‏ سیستم فایل سیستم فایل دور نوع 1 محلی نوع 2 محلی نوع 1 < < NY “32

صفحه 33:

صفحه 34:
3-2 پیاده سازی دای رکتوری انتخاب الگوربتمهای تخصیص دایرکتوری و مدیریت بر دایرکتوری, اثر زبادی بر کارلیی و قابلیت اعتماد سیستم فلیل دارد.لذاء بین لین الگوریتمها باید توازن برقرار باشد. 1-3-2 ليست خطی ساده ترين روش بياده سازى دايركتورى استفاده ازيك ليست خطى از اسامى فایلها و اشاره گرهایی به بلوک داده ها است. برای یافتن ورودى خاصى از دایرکتوری. نیازبه جستجوی خطی است. برنلمه نویسی لین روش ساده است ولی اجرای آن به زمان زیادی نیاز دارد. 34

صفحه 35:
موجود نباشد. سپس ورودی جدیدی در انتهای دایرکتوری قرا می دهیم. برای حذف فلیل. آنرا در دایرکتوری جستجومی کنیم و فضای تخصیص یافته‌به آن را آزاد مى کنیم. برای استفاده مجدد از دایرکتوری. چندین کار را می توان انجام داد: لأمى توانیم آن ورودی را علامتگذاری کنیم که به معنای حذف باشد. لأمی توانیم لیستی از ورودیهای آزاد دایرکتوری را به آن وصل کنیم. لأمى توانيم آخرين ورودى دايركتورى را در لين محل خللى كيى كنيم تا طول ایرکتوری کاهش یابد. دایرکتوری ان یاف

صفحه 36:
عيب لیست خطی برای وروّدیهای دایرکتوری,جستجوی خطی رای یافتن فابل است. أ اطلاعات دای رکتوری‌به وفور بکار می شوند و چنانچه الگوریتم دستیابی کند باشد از دیدگاه کاربر مشهود است. 7 در واقع. اغلب سیستمهای عامل یک حافظه پنهان نرم افزاری را برای ذخیره اطلاعلتی از دایرکتوری که اخیرا مورد استفاده قرار گرفته لند. بکار می گیرند.بدین تر تیب اطلاعات دوباره از دیسک خوانده نمی شود. آآلگر لیست مرتب باشد. جستجوى دودويى از میانگین زمان جستجو عی کاهد. اما مرتب بودن خطی. حذف و اضلفه فلیل را مشکل حی کند. زیرا فایلهای زیادی از لیست بيد جا به جا شوند.

صفحه 37:
2-3-2 جدول در هم سازی در لین روش یک لیست خطی ورودیهای دایرکتوری را ذخیره می کند ولی از ساختمان داده در هم سازی نیز استفاده می شود. أجدول در هم سازی. مقداری را که از نام فلیل محاسبه می شود می گیرد و اشاره گر به نام فلیل را در لیست خطی برمی كرداند.بدبين ترتیب زمان جستجو در دایرکتوری کاهش می پابد. أ افزودن فلیل جدید و حذف فلیل نیز ساده است. گر چه بلید تمهیداتی برای برخوردها اندیشیده شود. منظور از برخورد لین است که دو فلیل ممکن است 37

صفحه 38:
به اندازه جدول a ‎ol,‏ دیگر لین است که از جدول در هم سازی سرریز استفاده شود. یعنی هر ورودی در هم سازی می تولندبه ‎cle‏ یک مقدار.یک لیست پیوندی باشد و برای ‏رفع برخورد . ورودی جدیدی را در لیست پیوندی قرار می دهیم. ‏7 جستجو ممکن است کمی طول بکشد ولی از جستجوی خطی در سراسر دایرکتوری سریعتر است. ‎38

صفحه 39:
Pree) ‏مدیریت فضای ازاد‎

صفحه 40:
4-2 روشهای تخصیص فضا به فایل ماهیت دستیابی مستقیم دیسکها منجربه قابلیت انعطاف در پیاده سازی فابلها می شود. بر روی هر دیسک چندین فلیل ذخیره می شود.مسئله اصلی چگونگی تخصیص فضابه این فایلها است. بطوری که فضای دیسک بطئر کار آمد مورد استفاده قرار گیرد و فایلها نیز سریعا دستیابی شوند. 3 روش متداول برای تخصیص فضای دبسک وجود دارد: 1. تخصیص همجوار پیوندی كلل شاخص دار 40

صفحه 41:
1-4-2 تخصیص همجوار در روش تخصیص همجوار, هر فایل مجموعه پیوسته ای از بلوکهای دیسک را اشغال می کند. آدرسهای دیسک یک ترتیب خطی را روی دبسک تعریف می کند. [أ توجه کنید که در این ترتیب. با فرض اینکه فقط یک کار به دیسک دستیابی دارد. دستيابى .به بلوى 1 +9پس از بلوک 0 نیازبه حرکت هد ندارد. در صورت نیاز به حرکت هد. فقط یک شیار حرکت خواهد کرد. [] لذاء تعداد بيكردهاى مورد نیاز برای دستیابی به فایلهلیی که تخصیص همجوار 1ارند. اندك است.

صفحه 42:
تخصیص همجوار فایل توسط آدرس دیسک و طول اولین بلوک تعریف می شود. اگر طول فایل - 9 بلوک محل شروع - 1 آنكاه بلوكهاى 33-1+ («1,... ,2 + 1,19 +10 را اشغال خواهد کرد آآورودی دایرکتوری برای هر فایل آدرس بلوک اول فایل و طول ناحیه ای راکمبه آن تخصیص یافته است مشخص می کند. 42

صفحه 43:
43 دایرکتوری طول شروع فایل count 0 tr 14 mail 19 list 28 f 6 NPOWN count ۰] 6 9 ۰] 6 ‏و‎ 5 ۰ 3 ill ih) Bk) | 9 16 ۰71 ۰۰ 13 mail 2013 2118 2: 23 24 0 ‏ات‎ 271 2 9 9 ‏ال‎ |

صفحه 44:
أدستیابی به فایلی که بطور همجوار تخصیص يافته است آسان است. در دستیابی ترتیبی. سیستم فلیل با استفاده از آدرس آخرین بلوکی که‌به آن مراجعه شده است. بلوک بعدی را می خواند. برای دستیابی مستقیم به بلوى 1 مربروط به فایلی که از بلوک 0 شروع می شود. می توانیم فورا به بلوى 1+1 دستیابی داشته باشد. یکی از مشکلات تخصیص همجوار. یافتن فضای کافی برای فایل جدید است. المسئله تخصیص فضای دیسک به صورت همجوار. به عنوان کاربرد خاصی از پرهسئله کلی تخصیص حافظه پویا است.

صفحه 45:
چگونگی تخصیص حافظه به طول 9 از لیستی از حفره های آزاد: اولین جای مناسب و بهترین جای مناسب. دو روش متداول برای انتخاب حفره آزاد از بين مجموعه اى از بين مجموعه ای از حفره های آزاد هستند. 7 شبیه سازیها نشان دادند که این دو روش کارآمدتر از روش بدترین جای مناسب 5 هيجكدام از دو روش اولین جای مناسب و بهترین جای مناسب. در بهره وری از حافظه بر دیگری ارجح نیست ولی روش اولین جای مناسب . سریعتر است. 45

صفحه 46:
با ایجاد و حذف فلیل. فضای آزاد دیسک به چند تکه کوچک شکسته می شود. ‎ast‏ تکه شدن خارجی وقتی بوجود می آید که فضای دیسک به قطعات کوچکی ‏تقسیم گردد. ‏گر قطعات موجود در حافظه برای تخصیص همجوار فایلی مناسب نباشند. این مسئله جدی است.یعنی حافظه به تعدادی حفره تقسیم می شود که هیچکدام ‏ازآنها به تنهایی نمی توانند پاسخگوی درخواست باشند. ‏[أبسته بهمیزان کل حافظه دیسک و میانگین اندازه فلیل . تکه تکه شدن خارجی 6مکن است اندک یا زباد باشد.

صفحه 47:
7" بعضی از سیستمهای ریز کامپیوتر قدیمی. در دیسک فالپی آز تخصیص همجوار استفاده کرده اند. آآبرای جلوگیری از هدر رفتن فضای دیسک در لثر تکه تکه شدن خارجی کاربر بلید روللی را اجرا کند که کل سیستم فلیل را در فللپی دیگر یا نوار کپی نماید. سپس دیسک فللپی اصلی آزاد می شود ویک فضای خللی همجوار بوجود می آید. سپس لین روال. فایلها راجه لين دیسک می آورد و حافظه همجواری راجه آنها تخصیص عی دهد. لین الگو. کل فضای آزاد را دریک فضای همجوار فشرده عی ‎WS‏ ‏و تکه تکه شدن خارجی را حل می کند. 47

صفحه 48:
[آهزینه لین الگو. زملنی است که برای ن مصرف می شود. لین هزینه برای دیسکهای سخت بزرگ. بسیار زیاد است. در این مدت. کار عادی سیستم صورت نمی گیرد. آأمسئله اصلی دیگر در مورد تخصیص همجوار. تعیین میزان فضای لازم برای فایل است. برای ایجاد فایل. کل فضای مورد نیاز آن باید تعبین شود و تخصیص یابد. لأدر بعضى از موارد. تعيين اندازه فلیل ممکن است آسان باشد. اما بطور کلی تعیین اندازه فایل دشوار است. 48

صفحه 49:
مخصوصا در راهبرد بهترین جای مناسب . فضای هر دو طرف فلیل ممکن است مورد استفاد ولقع شده باشد.لذا نمی توان ن فلیل را درجا توسعه داد. دو امکان وجود دارد: 1 برنامه کاربر می تولند.با صدور پیامی خاتمه یابد. کاربر باید فضای بیشتری را تخصیص دهد و برنلمه را دوباره اجرا کند. هزینه لین کار ممکن است زیاد باشد. برای جلوگیری از ّن. کاربر فضای بیشتری در اختیار فلیل قرار عی دهد و منجر به اتلاف حافظه می شود. 49

صفحه 50:
۰2 یافتن حفره بزرگتر و کپی محتویات فلیل در ن حفره و حذف فضای قبلی است. لین کار منجر به اتلاف وقت عی شود.در لین حللت. لازم نیست کاربر از آنچه که اتفاق می افتد باخبر باشد. خود سیستم اینکار را انجام می دهد. ‎aol‏ اگر کل فضای مورد نیاز فلیل از قبل مشخص باشد. تخصیص زودرس ممکن ‏است کار آمد نباشد. ‏فایلی کمبه تدریج در طول زمان رشد پیداحی کند. تخصیص کل فضابه‌ن منجر جه اتلاف حافظه می شود. زیرا مقدار زیادی از فضای لن مدتها مورد استفاده واقع ‏نمی شود. بدین ترتیب . تکه تکه شدن داخلی بوجود می آید.

صفحه 51:
‎FB‏ برای حل مسئله. بعضی از سیستمهای عامل از الگوی تخصیص همجوار اصلاح شده ای استفاده ی کنند که در ن. در آغاز.یک قطعه همجوار از فضا تخصیص می ‏یابد و چنانچه آن فضا کافی نبود. قطعه دیگری به آن اضافه می شود. ‏بدین ترتیب. محل بلوکهای فابل به صورت محل و شماره بلوک ذخیره می شود.علاوه براين به اولین بلوک قطعه جدیدی نگهداری می شود. ‏در بعضی از سیستمها. اگر مللک فلیل واقعی نباشد. لین تخصیص ممکن است ناکار آمد باشد. در این حالت تکه تکه شدن داخلی بوجود می آید. ‎51

صفحه 52:
2-4-2 تخصیص پیوندی تخصیص پوندی به 2 روش انجام می گیرد: روش اول: تخصیص پیوندی مسائل مربوطبه تخصیص همجوار را حل حی کند.در لین روش . هر فلیل یک لیست پیوندی از بلوکهای دیسک را دارد. بطوری که بلوکهای دیسک می توانند در هر جلیی از دیسک باشند. دایرکتوری حاوی اشاره گرهلیی جه اولین وآخرین بلوک فایل است. 52

صفحه 53:
| و 22 121 20 [_۱27 ۱25626 24 | 30_|31| |28_|29 53

صفحه 54:
2 براى ایجاد فایل جدید. ورودی جدیدی را در دایرکتوری قرار می دهیم. در تخصیص پیوندی . هر ورودى دايركتورى داراى اشاره كرى به اولين بلوى فايل است. "7 اكر لين اشاره گر تهی باشد. نشان دهنده فلیل خللی است.فیلد اندازه نیز برابر با صفر می شود. 1 نوشتن در بلوک موجب ی شودتا سیستم ‎glad Cy pre‏ آزاد. ‎Sob‏ آزادی را پیدا کند و در آن نوشته شود. این بلوک به انتهای فایل پیوند زده می شود. مق برای خواندن فایل, بلوکها را از طریق اشاره گرها دنبال می کنیم.

صفحه 55:
‎Se‏ تخضیض وتف ی ککه نکه شدرم خازجی ود تارف مكلو آزاد موجوة در لیست فضای آزاد می تولند برای پاسخگویی به درخواست مورد استفاده قرار گیرد. ‏7 توجه کنید که در لين روش لازم نيست اندازه فليل در هنكام ايجاد فايل ‏مشخص باشد. تا زمانى كه بلوكهاى آزاد موجود باشند. فايل مى تواند توسعه يابد. ‏تجاعلاوه بزآین: نیاز به فشرده سازی دیسکت فیست: ‎55

صفحه 56:
معایب تخصیص پیوندی: ‎ol‏ در لین روش حی تولند برای فایلهلیی,با دستیابی ترتیبی.به خوبی مورد استفاده قرار گیرد. برای یافتن 1 امین بلوک فلیل. بليد از ابتدای فلیل شروع کرده. اشاره گر ها را دنبال کنیم اجه ّن بلوک برسیم. هر دستیابی.به اشاره گر مستلزم مراجعه‌به دیسک و گاهی پیگرد دیسک است. در نتیجه. پشتیبانی دستیابی مستقیم کارآمد نیست. عیب دیکر آن فضای مورد نیاز برای اشاره گرهاست. 56

صفحه 57:
‎cp! Jo of;‏ مسئله: ‎I‏ راه حل عادى لين است که بلوکها در کلاستر ها دسته بندی شود و بجای ‏تخصيص بلوك. كلاستر تخصيص يابد... . ‏لآ مسئله دیگر . قابلیت اعتماد است. چون بلوکها از طریق اشاره گرهابه هم وصل حی شوند که در سراسر دبسک پخش است. اگر اشاره گری خراب شود. مشکلات فراولنی بوجود می آید.خطلیی در سیستم یا خرلبی سخت افزاری دیسک منجر به انتخاب نادرستی می شود.... ‎57

صفحه 58:
شکل دیگری از روش تخصیص پیوندی استفاده از ‎Jove‏ ایجاد فلیل است.این روش ساده و کارآمد . در سیستم علمل 1]5-1(005 و 625/2 مورد استفاده قرار می گیرد. 7" بخشی از دیسک در ایتدای هر پارتیشن برای نگهداری این جدول در نظر گرفته ‎Satis‏ آآهر پلوک دیسک یک ورودی در لین جدول دارد و جدول بر حسب شماره بلوک شاخص بندی شده است. 58

صفحه 59:
اين جدول همانند لیست پیوندی بکار گرفته می شود؛ آآورودی دایرکتوری حاوی شماره اولین بلوک فایل است. آآورودی جدول برحسب شماره بلوک شاخص بندی می شود و حاوی شماره بلوک بعدی موجود در فایل است. |ألين زنجيره تا آخرین بلوک ادامه می یلبد که حاوی مقدار خاصی برای نمایش انتهای فایل است. 59

صفحه 60:
60 elec 1 217 339) 618 339 FAT ورودی دایرکتوری LE بلوک شروع نام ره بلوکهای دیسک.-1

صفحه 61:
3-4-2 تخصیص شاخص دار تخصیص پیوندی مسئله های تکه تکه شدن خارجی و اعلان اندازه فایل را در روش تخصیص همجوار حل می کند. ادر صورت عدم استفاده از ۰۴78 تخصیص پیوندی دستیابی مستقیم را بطور كارآعد يشتيبلنى نمى كند.. زيرا اشره كرهاى بلوكها همراه خود بلوكها در سراسر ديسك بخش هستند و بايد به ترتيب بازيابى شوند. 61

صفحه 62:
تخصیص شاخص دار لین مسئله را حل حی کندبرای لین منظور. تمام اشاره گرها را در محلی بنام بلوک شاخص جمع می کند. مر فلیل دارآی بلوکت شا خن مخسوس‌ببه خوجفن سب که آرلیه ای از آدوسهای بلوک دیسک است. لا امین وروذی:بلوک شاخبی به 1 ی بلوک فایل آشازهوسن کننه آادانزکتوری خاوی محتویات: آدزش بلوک شاخ اننت: 62

صفحه 63:

صفحه 64:
|أوقتى فايلى ايجاد شد. تمامى اشاره گرهای موجود در بلوک شاخص برابربا هی می شوند. آأبرای نوشتن 1 امین بلوک. بلوکی از مدیر فضای آزاد گرفته می شود و آدرس آن در امین ورودی بلوک شاخص نوشته می شود. [اتغصیص شاخص دار از دستیابی مستقیم پشتیبلنی عی کند و دچار تکه تکه شدن خارخی نعی شود: لاتخصيص شاخص دار فضاى حافظه را به هدر نمی دهد. 64

صفحه 65:
آأسربار اشاره گر در بلوک شاخص بیشتر از سربار اشاره گر تخصیص پیوندی است.حالتی را در نظر بگیرید که فایلی حاوی یک یا دو بلوک است. [آدر تخصیص شاخص دار. کل بلوک شاخ بايد تخصيص یابد. حتی اگر فقط یک یا دو اشاره گر تهی نباشند. سوال: اندزه بلوک چقدر بايد باشد؟ هر فلیل بلید دارای یک شاخص بلوک باشد. لذا مطلوب است که بلوک شاخص رحتی الامکان کوچک باشد.

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

صفحه 67:
67 ** برای دستیابی به بلوک ۰ سیستم با استفاده از شاخص سطح اول. بلوک شاخص دار را در سطح دوم عی بلبد وبا استفاده از لین بلوک نیز بلوک داده مطلوب را پیدا می کند. این روش می تواند بر حسب اندازه فایل از سطح سوم يا چهارم شاخص نیز استفاده کند. اگوی تر کیبی :روش دیگر لین است که چند اشاره گر اول بلوک شاخص در بلوک شاخص فلیل نگهداری شود. اسن روش در یونیکس ]5 8]استفاده می شود. توجه کنید که ورودی دایرکتوری به گره شاخص اشاره می کند.

صفحه 68:
حالت مالکین (2) مهرزمانی (3) اندازه بلوک 9 شمارش ‎fe‏ ومد مستقيم ‏,۲ غیرمستقیم ‎sa :‏ لامك دوگانه ‏رمه ‎ ‎ ‎ ‎68

صفحه 69:
4-4-2 کارایی روشهای تخصیصی که مورد بحث قرار گرفتند از نظر کارایی حافظه و زمان دستیابی به بلوى داده هابا هم فرق عى كنند . لين عولمل: معیارهای مهمی در انتخاب روش مناسبی برای پیاده سازی سیستم عامل می باشند. % *# یکی از مشکلات مقایسه کارایی سیستمهای مختلف تعیین چگونگی استفاده از % ”0“ روشی که سیستم‌با دستیابی ترتیبی بکاررمی گیرد متفاوت از روشی است که سیستمی با دستیابی تصادفی بکار می گيرد. برای هرنوع دستیابی . نخصیص وی‌همجوار برای رسیدن به یک بلوک داده. به یک دستیایی نیاز دارد.

صفحه 70:
تم مستقیما می خوانیم. ر تخصیص پیوندی . آدرس بلوک بعدی را در حافظه نگه می دایم و آن را این روش برای دستیابی تر آ#آلما در دستیابی مستقیم. برای دستیابی‌به بلوک لام. بلید 1 بار عمل خواندن از دیسک انجام شود. أ ‎an‏ از سیستمها برای پشتیبلنی از دستیابی مستقیم از تخصیص همجوار و برای پشتیبانی از دستیابی ترتیبی از تخصیص پیوندی استفاده می کنند. 6 در این سیستمها . نوع دستیابی باید هنگام ایجاد فایل مشخص شود. 70

صفحه 71:
77 فایلی که‌با دستیابی ترتیبی ایجاد شد نمی تولند برای دستیابی مستقيم بكار گرفته شود. ‎hee‏ که با دستیابی مستقیم ایجاد شد می تولند برای دستیابی ترتیبی و ‏مستقیم بکار گرفته شود. ‏براى تبديل يك نوع فايل به نوع ديكر. بايد از فایل موجود. فایل جدیدی با نوع ‏جديد ايجاد شود. ‎71

صفحه 72:
[اتخصیص شاخص دار پیچیده -تر است. اگر بلوک شاخص در حافظه باشد. دستیابی بطور مستقیم صورت می گیرد. اما نگهداری بلوک شاخص در حافظه موجب مصرف کردن فضای حافظه می شود. لأكر لين ميزان فضا موجود نباشد. ابتدا بلید بلوک شاخص و سپس بلوک داده ها را بخوانیم. لأدر شاخص دو سطحی, ممکن است بلوک شاخص دو بار خوانده شود. 72

صفحه 73:
در فایلهای خیلی بزرگ . برای دستیابی,به بلوکی که در انتهای فلیل است. باید تمام بلوکهای شاخص خوانده شهند تا زنجیر اشاره گرها برای یافتن بلوک مورد نظر, پیمایش شود. بنابراین . کارایی تخصیص شاخص به ساختار شاخص ‏ اندازه فایل. و موقعیت بلوک مورد نظر بستگی دارد. 73

صفحه 74:

صفحه 75:
6-19 مديريت فضاي آزاد [آچون فضاي ديسك محدود است. لازم است از فضاي مربوط به فايلهاي حذف شده؛ براي فايلهاي جدید استفاده گردد. |أدر ديسكهاي نوري كه يك بار قابل نوشتن هستند استفاده مجدد از فضا ممكن نيست . |أبراي نكهداري فضاي آزاد ديسك؛ سيستم از ليست فضاي آزاد استفاده مي كند. ليست فضاي آزادءهمه ي بلوكهاي آزاد ديسك را نكهداري مي كند. 75

صفحه 76:
|أبراي ايجاد فايل اين لست را جستجو مي كنيم تآ فضاي مورد نیاز را بیابیم و آن را تخصيص دهيم. اين فضا از ليست فضاي آزاد حذف مي كردد. |] وقتي فايلي حذف شد»ءفضاي ديسك آن به ليست فضاي آزاد بر مي كردد. ليست فضاي آزاد» برخلاف نامش ممكن است به صورت ليست بيام سازي نشود. 1-6-08)-برداربيتي اغلب» لیست فضاي آزاد به صورت بيتي یا بردار بيتي پیاده سازي مي شود هر بلوط توسط يك بیت نمایش داده مي شود اگر بلوك آزاد باشد آن بیت برابر با يك عوگرنه صفر است.

صفحه 77:
7 متیاز اصلي این رش سادگي و كارايي بالاي آن مي توان بلوط آزاد روي ديسك را بيدا کرد. ي كه به راحتي 7 سیستم عامل مکینتاش براي تخصیص فضاي ديسك از روش بردار بيتي استفاده مي کند. براي یافتن اولین بلوگ خالي» سيستم عامل مكينتاش براي تخصيص فضاي ديسك از روش بردار بيتي استفاده مي کند. 7 براي یافتن اولین بلوك خالي» سیستم عامل مکینتاش هر کلمه موجود در بردار بيتي را به ترتیب جستجو مي کند تا مشخص شود که صفر نیست زیرا مقدار صفر در کلیه نشان دهند مجموعه اي از بلوكهاي تخصیص يافته است. 77

صفحه 78:
"7 اولین کلمه غیر صفر جستجو مي شود تا اولین بيت يك بيدا شود. اين بيت محل اولين بلوك آزاد را مشخص مي کند. محاسبه شماره بلوك به صورت زیر است: آفست اولین بیت يك + (تعداد کلمات با مقدار صفر) * تعداد بیتها در هر کلمه) بدین ترتیب ويژگي سخت افزار بر روي عملکرد نرم افزار موثر است. 0-0 -صلیست پيرندي روش دیگر براي نگهداري لیست فضاي آزاد اين است که بلوكهاي آزاد ديسك به هم پیوند داده شوند به طوري که اشاره گر به اولین بلوك آزاد در جايي از ديسك نگهداري شود و در حافظه پنهان نیز ذخیره گردد این بلوك حاوي اشاره گري به اولین بلوك است و اين روند ادامه مي یابد. 78

صفحه 79:
79 aan

صفحه 80:
”اين الكو كارآمد نيسّت زيرا براي بيمايش ليسث بايد هر بلوگ را بخوانیم و اين كار مستلزم وقت زيادي براي 1/0 است خوشبختانه بيمايش ليست آزاد جندان تكرار نمي شود. 77 سیستم عامل بلوك آزاد را به فايلي تخصیص مي دهد زیرا اولین بلوك لیست مورد استفاده قرار مي گيرد. هگروه بندي شکل ديگري از لیست فضاي آزاد این است که آدرس ب بلوك آزاد در اولین بلوك آزاد قرار داده شود. بدین ترتیب 1ب بلوگ اول آزاد است. آخرین بلوك حاوي آدرس » بلوك آزاد بعدي است و اين روند ادامه مي یابد. اهمیت این پیاده سازي این است که مآهرس تعداد زيادي از بلوكهاي آزاد سريعاً بيدا مي شود.

صفحه 81:
6-6-1 شمارش روش ديكر اين است كه جند بلوك همجوار ممكن است به طور همزمان تخصيص يابند يا آزاد شوند. بخصوص در حالتي كه فضا از طريق الكوريتم تخصيص همجوار يا کلاسترها تخصیص مي یابند‌اين موضوع مشهود است. بنابراین به جاي نگهداري ليستي از ب آدرس بلوك ديسك» مي توانیم آدرس اولین بلوك آزا و تعددبلوكهاي آزاد همجوار بعد از اولینبلوك )@( را نگهداري کنیم 81

صفحه 82:

صفحه 83:
۵-0 اثر بخشي و كارايي دیسکها تنگناهاي زيادي را براي كارايي سيستم ايجاد مي کنند زیرا کندترین قطعه كامبيوتر هستند. 40 ار بخني استفاده کارآمد از فضاي دیسك به الگوريتمهاي تخصیص دیسك و دايركتوري بستگي دارد. به عنوان مثال گرههاي شاخص یونیکس از قبل به يك پارتیشن تخصیص مي يابند. با تخصيص زودرس كرههاي شاخص و پخش کردن آنها در پارتیشن كارايي سیستم فايل افزايش مي يابد. 53

صفحه 84:
اين كارايي بهبود يافته نتيجه الكوريتم تخصيص فضاي آزاد است که در يونيكس مورد استفاده قرار مي كيرد. "ادر اين الكوريتم سعي مي شود بلوكهاي داده فايل در نزديكي بلوك كره شاخص آن فايل نكهداري شود تا زمان بيكرد كاهش يابد. آآنتیجه نگهداري این است که وقتي فايلي خوانده شد فيلدي در ساختمان دايركتوري باید نوشته شود. اين تغییر مستلزم این است که بلوك به حافظه خوانده شود بخشي | زآن تغییر کند و بلوك دوباره بر روي ديسك نوشته شود. 84

صفحه 85:
بنابراين هر وقت قایل براي خواندن باز مي شود ورودي دايركتوري آن باید خوانده شد و پس از تغییر نوشته شود. اگر فایلها به وفور دستيابي شوند این عمل کار آمد نخواهد بود. به طور كلي اثر هر قلم داده مربوط به فایل بر روي اثر بخشي و كارايي بايد مورد بررسي قرار گيرد. آّآيكي از مشکلات انتخاب اندازه اشاره گرها یا تخصیص به اندازه ثابت در سیستم عامل» برنامه ريزي براي اثرات تغییر فناوري است.

صفحه 86:
آبآمدل أي : بي ام از مي کرد و سیستم حامل :0653000008 بر ردي آنا موه ‎pagel iy tbe GET EM Su‏ کرد وقتي ديسك سختي با ظرفیت 0000 مكابايت متداول شد ساختمان داده هاي ديسك و الگوريتمهاي 006-0006056 بايستي تغيير كنند تا سيستمهاي عامل بزركتري ايجاد شوند. ©-6-هكرايي يس از انتخاب روشهاي اصلي ديسك راههاي ديكري نيز براي بهبود كارايي وجود دارد. [] اغلب كنترل كننده هاي ديسك شامل حافظه هاي محلي اند كه به عنوان حافظه وینهان عمل مي کنند و اندازه آنها به حدي است که کل شیارها را نگهداري مي کنند

صفحه 87:
آاوقتي پيگردي صورت مي گیرد شیار به حافظه پنهاد ديسك خوانده مي شود بدین ترتیب زمان تأخیر کاهش مي يابد. ]| وقتي بلوكها از كنترل كننده ديسك به حافظه اصلي منتقل شدند سيستم عامل ممكن است آنها را در حافظه ينهان قرار دهد. آابعضي از سیستمها بخشي از حافظه اصلي را براي 7حافظه پنهان ديسك نگهداري مي کنند بعضي دیگر از

صفحه 88:
آاحافظه پنهان صفحه با استفاده از تكنيكهاي حافظه مجازي داده ها را به عنوان صفحات ذخیره مي کنند نه به عنوان بلوكهاي مبتني بر سیستم قرار دادن فایل داده ها در حافظه پنهان با استفاده از آدرسهاي مجازي کارآمدتر از بلوكهاي ديسك مغناطيسي است. لا بعضي از سیستمها از جمله سولاریس؛ نسخه هاي جدید لینوکس, و ویندوز ۱!۲ و 2000 از حافظه پنهان صفحه براي فایل داده استفاده مي کنند. این عمل را

صفحه 89:
|أبعضي از نسخه هاي يُونيكس از حافظه پنهان یکنواخت استفاده مي کنند. دو روش باز كردن و دستيابي به فايل وجود دارد : ]( استفاده از نگاشت حافظه استفاده از فراخوان سیستم استاندارد 4ج و ‎write‏ آآبدون استفاده از حافظه پنهان میانگیر» فراخوانهاي سیستم میم و عبر از طریق حافظه پنهان میانگیر انجام مي شود. 89

صفحه 90:
۳1 eel ‏رم‎ ‎()write , ()read absluuww lS 1/0 90

صفحه 91:
‎O‏ » نگاشست حافظه بلوكهاي ديسك از سیستم مي شوند. ‏حافظه ‎ule‏ میانگیر ارتباط برقرار کند هحتویات فایل در حافظه پنهان میانگیر ‎wb‏ در

صفحه 92:
| ناسازگاريهاي بین این دو حافظه پنهان منجر به خرابي فایل مي شوند. أ با ارائه حافظه پنهان میانگیر یکنواخت, نگاشت حافظه و فراخوانهاي سیستم ۲۵۵0 و ۷۲۱۷۵ از يك حافظه پنهان صفحه استفاده مي کنند. 92

صفحه 93:
93 ۵ با استفادم از حافظمه ينهان 0/! با استفادم از 1

صفحه 94:
اگوریتم همم منظورم معقوليب راي‌جايگزيني صفحه بابلوك‌است *"تکامل الكوريتمهاي حافظه پنهان صفحه در سولاریس, مشکلات انتخاب الگوریتم را روشن کرده است. سولاریس به فرآیندها و حافظه پنهان صفحات اجازه مي دهد از حافظه بلااستفاده به طور اشتراکي استفاده کنند 4 سولاریس 6/2 و سولاریس 7 صفحه بندي اولویت را

صفحه 95:
0 52 سولاريس 8 حد ثابتي را بين صفحات فرايند و حافتقة پنهآن خفخه. مربوظ.به نسیتختم فایل:ذر تقلّر مي گیردو در نتیجه با کمبود حافظه موجه نمي شود. 7 حافظه پنهان صفحه, سیستم فایل و گرداننده هاي دیسك تعاملهاي جالبي دارند. وقتي داده ها در فایل دیسك نوشته شدند صفحات در حافظه پنهان ذخیره مي شوند و گرداننده ديسك صف خروجي خود را بر 5وحسب آدرس ديسك مرتب مي كند. اين دو عمل به

صفحه 96:
به ترتيبي انجام مي شود که زیر سیستم ديسك آنها را دریافت مي کند و نوشتن ها در میانگیر قرار نمي گيرند. بنابراین» روال فراخوان باید منتظر بماند تا ده ها از ديسك خوانده شود و سپس پردازش خود را شروع کند. ]الب نوشتن ها به صورت نوشتن ناهمگام انجام مي شوند در نوشتن ناهمگان داده ها در حافظه پنهان ذخیره مي شود و کنترل به فراخوان بر مي كردد. [#اأدستيابي ترتيبي مي تواند با تكنيكي به نام آزاد سازي دیررس یا خواندن زودرس بهبود يابد. 96

صفحه 97:
7 در تکنيك آزاد سازي دیررس به محض این که صفحه بعدي در خواست شد صفحه اي را از میانگیر حذف مي کند. در تكنيك خواندن زودرس» صفحه در خواستي و چندین صفحه بعدي خوانده شده در حافظه پنهان قرار مي گيرند. این صفحات احتمالاً پس از پردازش صفحه فعلي در خواست مي شوند بازيابي این داده ها از ديسك در يك عامل انتقال و قرار دادن آنها در حافظه پنهان به میزان قابل توجهي در زمان صرفه جويي مي کند. 97

صفحه 98:
در 60 هاء روش ديگزي براي استفاده از اصلي جهت بهبود كارايي وجود دارد؛ بخشي از حافظه کنار گذاشته مي شود و به عنوان ديسك مجازي اي (ديسك 0) مورد استفاده قرار مي گیرد متأسفانه ديسكهاي 000 فقط براي ذخيره موقت مفید هستند معمولا فايلهاي موقتي مثل فايلهاي مياني کامپایلر در آن ذخیره مي شوند. تفاوت بين ديسك ‎)1٩6960(‏ و حافظه پنهان ديسك اين است که : محتویات ديسك ‎)٩690(‏ تحت کنترل کاربر است در حالي که محتویات حافظه پنهان دیسك تحت کنترل سیستم عامل است. 98

صفحه 99:
99

صفحه 100:

صفحه 101:
9 "ترمیم چون فایلها و دايركتوري ها در حافظه و ديسك ذخیره مي شوند باید تضمین شود که خرابي سیتسم به داده ها یا سازگاري داده ها آسیب نرساند. 0 بررسي سازگاري داده ها بخشي از اطلاعات دايركتوري در حافظه ‎(ley)‏ نگهداري مي شود تا سرعت دستيايي افزایش یابد. اطلاعات دايركتوري موجود در حافظه نسبت به اطلاعات دايركتوري که در ديسك ذخیره شده است جدیدتر است. 101

صفحه 102:
بازرس ناسازگاري »داده هاي موجود در ساختار دايركتوري را با بلوك داده هاي روي ديسك مقایسه مي کند و سعي مي کند ناسازگاريهاي موجود در درست کند. الگوريتمهاي تخصیص و مدیریت فضاي آزاد تعبین مي کند که بازرس چه خطاهايي را باید بیابد و آنها را برطرف نماید. آاگر در تخصیص شاخص دار وروديي از دايركتوري از بین برود» سیستم با شکست مواجه مي شود زیرا بلوكهاي داده ها از یکدیگر خبري ندارد. 102

صفحه 103:
۵-6 تهیه پشتیبان و ب چون ديسكهاي مغناطيسي در معرض خراب شدن هستند باید مواظب بود که داده ها از بين نروند. براي اين منظور از داده هاي ديسك روي دستكاه حافظه ديكري مثل ديسكت» نوار مغناطيسي يا ديسك نوري بشتيبان تهيه مي شود. بس از خرابي فايل يا ديسك اين اطلاعات بازيابي مي شود. براي جلوكيري از كبي كردن زياد مي توانيم از اطلاعات مربوط به هر ويدودي فايل استفاده كنيم.

صفحه 104:

صفحه 105:
0-0 سیستم فایل براساس ساختار سابقه اغلب الگوریتمها و فناوریها از کاربرد اولیه خود به سایر نواحي منتقل مي شوند. 7 نمونه اي از اين مورد الگوريتمهاي ترمیم براساس سابقه در بانك اطلاعاتي است این الگوریتمها به طور موفق در بازرسي سازگاري به کار گرفته شده اند. 7 پیاده سازيهاي حاصل را سیستم فایل تراکنش گراي مبتني بر سابقه (یا ثبت سابقه) مي نامند. 105

صفحه 106:
آ7آدر ساختمان داده هاي سیستم فایل روي دیسك» مثل ساختار دايركتوري» اشاره گرهاي بلوك آزاد اشاره گرهاي 069 آزاد ممکن است در اثر خرابي سیستم به حالت ناسازگاري بروند 7عملي مثل ایجاد فایل ممکن است شامل تغییرات ساختاري زيادي در سیستم فایل موجود در ديسك باشد. ساختار دايركتوري اصلاح مي ‎LA POD dp‏ تخصیص مي یابند بلوكهاي داده تخصیص مي یابند شمارنده تعداد بلوکهاي آزاد کاهش مي یابند این تغییرات ممکن است در آثر خرابي دچار وقفه شوند و نتيجه اش اين است كه ساختارها ناسازگار خواهند بود. 106

صفحه 107:

صفحه 108:
90۵ ۵ يك سیستم فایل‌شبکه لسنکه کاربرد وسيعي‌دارد و شبکه مشتري کارگزار را بسه خوبي‌پیاده سازي‌مي‌کند. 68 » پیاد سازيومشخصت مربوط به يك‌سیستم نرم. لفزاريي رايدستيابي به فايلهايرلم دور از طریق00)را(یا حتي(00000) لست 9--مرور كلي 5 » مجوعه لاز ليستكاههايكاريمتصلبه هم را به صورتمجموعه لي از ماشينهايمستقلدر نظر ميكيرد كه سيستمهاوفايللنها مستقلاز هم اسب 108

صفحه 109:
#7"هدف این است که درجه اي از اشتراك بين اين سيستمهاي فایل وجود داشته باشد. 7 اشتراك براساس رابطه مشتري - کارگزار صورت مي گیرد. 7" اشتراك بین هر جفت از ماشینها امکان پذیر است. #آبراي حصول اطمینان از این که ماشینها مستقل 9هستند اشتراك سیستم فایل راه دور فقط برماشین

صفحه 110:
يك دايركتوري راه دور در يك دايركتوري از سيستم فايل محلي سوار مي شود وقتي عمليات سواركردن كامل شدء دايركتوري سوار شده مثل يك زير درخت كامل از سيستم فايل محلي است كه به جاي جانشين زير درخت دايركتوري محلي قرار مي كيرد 77دايركتوري محلي به عنوان نام ريشه دايركتوري محلي قرار مي كيرد دايركتوري محلي به عنوان نام ريشه دايركتوريي محسوب مي شود كه اكنون سوار شده 0ست.

صفحه 111:
LI: 51: 52: usr usr local hi loca shared dir2 dir1 111

صفحه 112:
112 "با توجه به اعتبار مجوزهاي دستيابي, هر سیستم فایل يا هر دايركتوري در سیستم فایل را مي توان از راه دور بر روي دايركتوري محلي سوار کرد. در بعضي از پیاده سازيهاي ۱۴5 سوار کردن مي تواند به صورت آبشاري باشد.

صفحه 113:
usr usr local local dir dirl سوا کردنهای انشاری عملیات سوار کردن 113

صفحه 114:
۵0-0 پروتکل سوار کردن پروتکل سوارکردن اتصال منطقي اولیه را بین کارگزار و مشتري برقرار مي کند. در بياده سازي سان» هر ماشين يك فرايند كاركزار در خارج از هسته دارد كه وظايف بروتكل را انجام مي دهد. : بلوکهاي‌سازنده لي‌ستند که برایپیادم سازودستيابيفايلرلم دور موجود لستفاده قرار گرفتند.

صفحه 115:
[اعملیات سوار کردن شامل نام دايركتوري راه دوري است که باید سوار شود و نام ماشین كارگزاري است که باید آن را ذخیره کند. [] در خواست سوار كردن به 6۲۳0 متناظر نگاشت مي شود و به کارگزار سوارکننده اي ارسال مي شود |أاين كاركزار يك ليست صادراتي را نكهداري مي كند که سيستمهاي فایل محلي را مشخص مي نماید همراه این لیست» اسامي ماشينهايي مشخص مي شوند كه اجازه سوار کردن آنها را دارند. اين مشخصات مي تواند شامل مجوزهاي دستيابي مثل فقط خواندني باشد. 115

صفحه 116:
آابراي سهولت نگهداري ليستهاي صادراتي و جدولهاي سوارکردن مي توان از طرح بندي نامگذاري توزيعي استفاده کرد آن را براي مشتریان مناسبي مهیا نماید. [آهر سیستم پيكربندي ايستايي از سوار کردن دارد که هنگام راه اندازي اعمال مي شود. اما طرح بندي آن قابل تغییر است. [] پروتکل سوار کردن» علاوه بر رویه سوار کردن واقعي حاوي رویه هاي دیگر مثل برگرداندن لیست صادراتي و خنثي كردن عمل سوار كردن است. 116

صفحه 117:
0 همپررتکل پروتکل مجموعه اي از 6۲60 را براي عملیات فایل راه دور فراهم مي کند. این رویه ها از عملیات زیر پشتيباني مي کنند: -جستجوي فایل در داخل يك دايركتوري سخواندن مجموعه اي از وروديهاي دايركتوري -دستكاري پیوندها و دایرکتوریها -دستيابي به صفات فایل سخواندن و نوشتن فایلها 117

صفحه 118:
|أاين رويه ها وقتي مي توانند فراخواني شوند که دستگیره فایل براي دايركتوريي که از راه دور سوار شده است. ایجاد شود آحنف عملیات میم و حصان عمدي است. |] ويزكي مهم خدمات 00208 اين است كه بي هويت هستند كاركزاران راجع به مشتریان خود را از يك دستيابي به دستيابي دیگر» اطلاعاتي را ذخيره نمي كنند هر درخواست باید مجموعه كاملي از آرگومانها را از جمله شناسه منحصر بفرد فایل و آفست مطلق در فایل براي عملیات مناسب تعیین کند. 118

صفحه 119:
هر درخواست 06*9 داراي يك شماره بر اجازه مي دهد تا تعیین کند که آیا درخواستي تکرار شده است یا درخواستي از بین رفته است. تضمین مي شود که فراخواني رویه براي نوشتن ۸۴5 اتمي است و با سایر فراخوانهاي نوشتن براي همان فایل» مخلوط نمي شود. اما پروتکل ‎NFS‏ ‏راهكارهاي کنترل همزمان را تدارك نمي بیند. آآفراخوان سیستم ۷۷۲16۵ ممکن است به چند نوشتن ۳ تبدیل شود. خدمات خراج از ۸165 بايد عمل قفل كردن را تدارك ببيند به کاربران توصیه مي شود كه دستيابي به فايلهاي مشترك را با استفاده از راهكارهايي در خارج از حوزه ‎NES 9‏ هماهنگ کنند.

صفحه 120:
خدمات واقعي در هر کارگزار توسط چندین فرایند هسته اي انجام مي شود که يك جايگزيني موقتي را براي راهکار فرایند سبك (یا بندها) فراهم مي کند. 120

صفحه 121:

صفحه 122:
6-0-0 ترجمه نام مسیر ترجمه نام مسیر به این صورت انجام مي گیرد که مسیر به اسامي مولفه ها تبدیل مي گردد و براي هر جفت از نام مولفه و دايركتوري لحم يك فراخوان صبحاصا مربوط به 000808 انجام مي كيرد. با رسیدن به نقطعه سوار کردن»هر جستجوي مولفه منجر به 050 جداكانه اي مي شود. * این الگوي ترجمه نام مسیر» گران است» ولي ضروري است. اگر با رسیدن به نقطه سوار کردن,» نام مسیر به کارگزار تحویل شود و طحر مقصد وبازيابي گردد کارآمدتر است.

صفحه 123:
0-0 0عملیات راه دور به استثناي باز کردن و بستن فایل» بین فراخوانهاي سیستم یونیکس براي عملیات فایل و ۲0 هاي پروتکل 0008 تقريباً يك تناظر يك به يك وجود دارد. بنابراين يك عميات فايل راه دور مي تواند مستقيماً به ‎0٩0۳0‏ متناظر ترجمه شود. دو حافظه ينهان وجود دارد: ).حافظه ينهان صفت فايل (اطلاعات كره شاخص) ©.حافظه ينهان بلوكهاي فايل

صفحه 124:
| بلوكهاي فايلي که در حافظه پنهان قرار دارند فقط وقتي مورد استفاده قرار مي گیرند که صاف متناظر با آنها که در حافظه پنهان وجود دارد نوسازي شده باشد. ][ هر وقت صفت جديدي از کارگزار مي رسد. صفات موجود در حافظه پنهان نوسازي مي شود. 124

صفحه 125:

صفحه 126:

صفحه 127:

صفحه 128:
دو كار اصلی کامپیوتر عبارتند از 1/0 و پردازش. در اغلب موارد کار اصلی کامپیوتر ۱/0 است و پردازش کمتر مورد توجه است. نقش سیستم عامل در ۰1/0 مدیریت و کنترل عملیات و دستگاههای 1/0 است. 09 مرور کلی چون دستگاههای 1/0 از نظر عملکرد و سرعت متنوع اند ( ماوس » دیسک سخت و 6۳0-۴80۵0 ) » برای کنترل آنها از روش های متعددی استفاده می شود. ‎dl]‏ روش ها » زیر سیستم ۱/0 مربوط به هسته را تشکیل می دهند که تعبیه هسته را از پیچیدگی مدیریت بر دستگاههای 1/0 تفکیک می کند. ‎128

صفحه 129:

صفحه 130:
۵0 سخت افزار ۱/0 آکامپیوترها از دستگاههای متنوعی استفاده می کنند . مثل دستگاههای حافظه ( دیسک ها و نوارها ) » دستگاههای انتقال ( کارت های شبکه) و دستگاههای واسط انسان ها ( صفحه نمایش » صفحه کلید و ماوس ). اعلی رغم تنوع دستگاههای ۱/0 که می توانند در کامپیوتر مورد استفاده قرار گیرند » باید بدانیم که دستگاهها چگونه به کامپیوتر متصل می شوند و نرم افزار چگونه سخت افزار را کنترل می کند. 130

صفحه 131:
[آهر دستگاه با ارسال هايى از طريق كابل يا هوا » با سیستم کامپیوتری ارتباط برقرار می کند که نقطه ی اتصال هر دستگاه را با کامپیوتر » پورت می نامند. [ًاگر یک یا چند دستگاه از مجموعه مشترکی از سیستم ها استفاده کند » اين اتصال را گذرگاه می نامند. گذرگاه ها استفاده وسیعی در معماری کامپیوتر دارند که در شکل صفحه بعد نمونه ای از ساختار گذرگاه ۴ را نمایش می دهد. 131

صفحه 132:
‎Sas‏ کر ‎y‏ ‏= 5 پردازنده مانیتور ‎aba 8‏ = ۳ ۳ ‎are a‏ حافظه/یل ‎Sins‏ ‏گذرگاه ۴۱ صفحه واحد كذركاء کنترل کننده 132 پورت پورت ‏سری موازی

صفحه 133:
آسّاین شکل یک ۳۱ را نشان می دهد كه زیرسیستم حافظه - پردازنده را به دستگاههای سریع اتصال می دهد و یک گذرگاه توسعه را نشان می دهد که دستگاههای نسبتا کند مثل صفحه کلید و پورت های سری و موازی را اتصال می دهد. سا در سمت راست و بالای شکل ؛ چهار دیسک در گذرگاه 55۱ به هم متصل شده اندکه این گذرگاه به کنترل کننده 551 معروف است. کنترل کننده : مجموعه ای از قطعات الکترونیکی است که می توانند به روی پورت » گذرگاه »یا دستگاه عمل کند. 133

صفحه 134:
کنترل کننده ی پورت سری : نمونه ای از کنترل کننده دستگاه ساده است » این کنترل کننده تراشه ای (61010) که سیگنال های موجود در سیستم های یک پورت سری را کنترل می کند. پردازنده چگونه فرمان ها و داده ها را به کنترل کننده بدهد تا انتقال 1/0 را انجام دهد : کنترل کننده یک یا چند ثبات برای داده ها و سیگنال های کنترلی دارد. پردازنده از طریق خواندن و نوشتن بیت هایی اين ثبات ها » با کنترل کننده ارتباط برقرار می کند. *** يك روش برقراری این ارتباط » استفاده از دستورات 1/0 خاصی است که انتقال بایت کلمه را به آدرس پورت 1/0 مشخص می کند.

صفحه 135:
کنترل کننده 0۵۱۱۵ کنترل کننده وقفه تایمر کنترل کننده بازی پورت سری (ثانویه) کنترل کننده دیسک سخت پورت موازی کنترل کننده گرافیکی کنترل کننده گرداننده دیسکت پورت سری (اولیه)

صفحه 136:
پورت 1/0 معمولا از چهار ثبات به نام های وضعیت ؛ کنترلی » ورودی و خروجی تشکیل شده است : ثبات وضعیت : حاوی بیت هایی است که میزبان ( کامپبوتری که پورت 1/0 به آن وصل است ) می تواند آنرا بخواند که اين بیت ها حالت هایی را نشان می دهند. ثبات کنترل : توسط میزبان نوشته می شود تا فرمانی را شروع کند یا حالت دستگاه را تغییر دهد. ثبات ورودی : توسط میزبان خوانده می شود و میزبان در ثبات خروجی می نویسد ‎gla CLE‏ داده 0 تا 6 بایت هستند. ثبات خروجی : توسط میزبان نوشته می شود. 136

صفحه 137:
- = ۱ 5 ‏نظرسن ع‎ (O90 سنجى بروتكل كامل براى تعامل بین میزبان و کنترل کننده می تواند پیچیده باشد » اما ایده ی ‎Cul clu (Hand shaking) (sls cus‏ کنترل کننده حالت خود را از طریق بیت اشفال وضعیت اعلام می کند بيت اشغال 0 : کنترل کننده در حال انجام کاری است. بیت اشفال 60 : کنترل کنندهآماده دریافت فرمان بعدی است. میزبان خواسته هایش را زا طریق بیت آمادگی فرمان اعلان می دارد. وقتی کنترل کننده فرمانی را برای اجرا داشته باشد ؛ بیت آمادگی فرمان را یک می کند.

صفحه 138:
مثال : فروض می کنیم برای هماهنگی رابطه تولید کننده - مصرف كننده بين كنترل کننده و میزبان » از 6 بیت استفاده می شود ؛ برای اين مثال » میزبان خروجی را از طریق یک پورت می نویسد و برای این منظور » از طریق دست دادن که به صورت زير انجام می شود » با کنترل کننده هماهنگ می شود : 4. ميزبان دائما بيت اشغال را مى خواند تا زمانى كه اين بيت (0 شود. 11 .ميزبان بيت نوشتن را در ثبات فرمان ) مى كند و يك بايت را در ثبات ورودى مى نويسد. 111 .ميزبان بيت آمادكى فرمان را ) مى كند. 138

صفحه 139:
(().وقتی کنترل کننده متوجه می شود بیت آمادگی فرمان 0 است » بيت اشغال را 0 می کند. 1).کنترل کننده ثبات فرمان را می خواند و فرمان نوشتن را می بیند. ثبات خروجی را می خواند تا آن بایت را بگیرد و عمل 1/0 را در آن دستگاه انجام دهد 1).کنترل کننده بیت آمادگی فرمان را 00 می کند ؛ بیت خطا را در ثبات وضعیت پاک می کند تا موفقیت 1/0 دستگاه را نشان دهد و بیت اشغال را 9 می کند تا پایان کارش را اعلان نماید. این حلقه برای هر بایت ادامه می یابد. در مرحله ی 6 میزبان در حال انتظار مشغولی یا نظرسنجی است ۰ یعنی در حلقه ای قرار دارد که ثبات وضعیت را و می خواند تا اینکه بیت اشغال برابر 0 شود.

صفحه 140:
60-9 رققه ها روش کار وقفه به اين صورت است : ‎SP‏ سخت افزار لا 6۳ سیمی به نام خط درخواست وقفه دارد که لا6۳ پس از ‏اجرای هر دستور آن را حس می کند. ‏* گر لا۳) پی برد که کنترل کننده ای سیگنالی را در خط درخواست وقفه قرار داده است » ل 6۳ حالت فعلی » مثل مقدار اشاره گر دستور را نخیره می کند و به روال وقفه می رود. ‎140

صفحه 141:
*#*روال وققه علت وقرع وقفه را تعیین می کند » و ستور برگشت از وقفه را اجرا می نماید تا لا6۳ به حالت قبلی برود و اجرای دستوری را که دچار وقفه شده است ادامه دهد. دازش لازم را انجام می دهد » ‏گوییم کنترل کننده دستگاه با قرار دادن سیگنالی در خط درخواست وقفه‎ a SP ‏وقفه را ایجاد می کند ۰ ل81© وقفه را مى كيرد و به روال وقفه مى فرستد و‎ ‏روال وقفه به آن خدمات مى دهد و وقفه را از بين مى برد.‎ در شكل صفحه بعد جرخه 1/0 مبتنى بر وقفه را نشان مى دهد. 141

صفحه 142:
1 CPU ۱/۵ ‏گرداننده دستگاه‎ را شروع می کند ‎a‏ ۱ کنترل کننده ۱/۵ اجرای لا۳) برای برر: وقفه ها بين دستورات ۱ لا وقفه را دریافت ۲ مکند و کنترل‌را شری ۱/۵ به روالوقفه منتقل) 3 5 1 4 فم 1 12 ‎eee‏ پردازش می کید و از 2 وقفه برمی گردد ۹ لا وظیفه يم تاخير افتاده را ان سر مئكيرد 142 ل

صفحه 143:
آسانکته : اين راهکار وقفه » ۲۳۵ را قادر می سازد تا به رویداد ناهمگام » مثل آماده شدن یک دستگاه برای خدمات پاسخ دهد. اغلب لها دو خط درخواست وقفه دارند ؛ *وقفه يوشش نابذير (©210111113512311) : براى رويداد هايى مثل خطاهاى كشف نشدنى حافظه ى رزرو شده است. *وقفه بوشش بذير (©181351231) : 00000 مى تواند آنها را به تاخير اندازد و دنباله اى از دستورات مهم را اجرا نمايد. 143

صفحه 144:
ST. ‏راهكار به الا8© اجازه مى دهد كه بدون غیرفعال کردن تمام وقفه ها » وقفه های‎ ‏اولویت پایین را به تاخیر اندازد و وقفه ای با اولویت بالا می تواند اجرای وقفه ای با‎ ‏اولویت پایین را قبضه کند.‎ ‏**وققه ها برای مدیریت بر کنترل جریان در هسته به كار مى روند. به عنوان‎ : ‏مثال » پردازش لازم برای کامل شدن عمل خواندن از دیسک را در نظر بگیرید‎ *مرحله اول : کپی کردن داده از فضای هسته به بافر کاربر است. اين عمل کپی منجر به اتلاف زمان می شود ولی فوری نیست یعنی نمی تواند روال وقفه با اولویت ممیالا را مسدود کند.

صفحه 145:
*مرحله دوم : اين است که 1/0 دیگری که از آن گرداننده دیسک به تعویق افتاده است ۰ اجرا شود. این مرحله اولویت بالاتری دارد. برای اينکه دیسک بطور کارآمد مورد استفاده قرار گیرد » لازم است بلافاصله پس از کامل شدن یک عمل ‎W/O‏ بعدی شروع شود. ‎say‏ : وقفه در سیستم های عامل مدرن رویدادهای ناهمگام را پردازش می کنند و تله ای را به روال های حالت ناظر در هسته می فرستد. ‎145

صفحه 146:
‎٩-0‏ دستیابی حافظه مستقیم برای دستگاههایی مثل گرداننده ی دیسک که انتقال داده ها در آن زیاد است » استفاده از پردازنده همه ی منظوره گران » برای مشاهده بیت های وضعیت و واکشی داده ها در ثبات کنترل کننده ی دستگاه » که در اصطلاح فرآیند » 1/0 برنامه نویسی شده (۳۱) نام دارد » معقول نیست. ‏| أبسیاری از کامپیوتر ها بعضی از این کارها را به پردازنده ی خاصی به نام کنترل کننده ی دستیابی حافظه ی مستقیم ‎Direct Virtual Memory Access)‏ -) واگذار می کنند تا از مسئولیت پردازنده اصلی کاسته شود. ‎146

صفحه 147:
آآمیزبان یک بلوک فرمان 011۸ را در حافظه می نویسد اين بلوک حاوی اشاره گری به منبع انتقال » اشاره گری به مقصد انتقال » و تعداد بایت هايى است كه بايد انتقال يابد. ناظ» آدرسلينبلوكفرمازنرا در كنترلكنندم 010۸ مىنويسد و سيس به كار ديكرىمىيردازد. كنترل كننده 01/14 مستقيما بروى كذركاه حافظه عمل كند ؛ براى اين كار آدرس ها را در كذركاه قرار مى دهد تا بدون نياز به كمى لا© اصلی » انتقال را انجام دهد. تیک کنترل ‎salu DMA cs oat‏ ؛ قطعه استانداردی در ۳ است و بردهای 7 معمه لا حار ی سخت افز ار ۳۸۵ هستند.

صفحه 148:
aul ne yarljal alasl> yuyal ‏اسار‎ 1 3. كنترل كننده ديسك انتقال ا 1

صفحه 149:

صفحه 150:
‎٩-9‏ راسط ۱/0 برناقه گاربردی در اين بخش به سازماندهی تکنیکها و واسط ها برای سیستم عامل می پردازیم که توسط این سازماندهی با دستگاههای 1/0 به شکل استاندارد و یکنواخت برخورد می ‏شود. ‏“ادر اين بخش نيز مثل ساير مسائل بيجيده مهندسى نرم افزار » رهیافت انتزاعی » بسته بندى و لايه بندى نرم افزار استفاده مى شود. ‏مى توانيم جزئيات تفاوت ها دستكاههاى 1/0 را با يافتن انواع كلى » انتزاعى مكليم.

صفحه 151:
[آهر یک از اين انواع کلی » از طریق مجموعه ای از توابع استاندارد به نام واسط » دستیابی می شوند. [] تفاوت های واقعی در پیمانه های هسته به نام گرداننده های دستگاه بسته بندی می 3 شوند. شکل صفحه ی بعد نشان می دهد که بخشهای مربوط به 1/0 هسته » در لایه های نرم افزار سازماندهی شده است, 151

صفحه 152:
ساختار ۱/0 هسته زیر سیستم ۱/0 هسته ۳ 2 گردانند گردانند كردا گردانند ‎fdas] we |e,‏ * © ی اد ‎SCSI ۲ 1 ۰ ۰ 5‏ ين" گذرگاه ماوس|_ کلیر ۸۲۸۳۴۱ ۱ فلایی ‎bie a‏ © © ©

صفحه 153:
[آهدف لایه ی گرداننده ی دستگاه » مخفی کردن تفاوت های بین کنترل کننده دستگاه از زیر سیستم 1/0 هسته است, [آفراخوان های سیستم 1/0 رفتار دستگاه ها را در کلاس های کلی بسته بندی می کند تا تفاوت های سخت افزار را از برنامه های کاربردی پنهان نماید. [] استقلال زیرسیستم 1/0 از سخت افزار ۰ کار طراحی می کنند تا با واسط کنترل کننده ی میزبان موجود مثل 551-2 همساز باشد یا گرداننده های دستگاهی می نویسند که واسط سخت افزار جدید و سیستم عامل معروف باشد. 153

صفحه 154:
|أبنابراین » دستگاههای جانبی جدید می توانند بدون نیاز به نوشتن گرداننده جدید » به کامپیوتر متصل شوند. آسانکته : برای کارخانه های سازنده دستگاهها سیستم عامل ۰ استاندارد خاص خودش را برای واسط گرداننده دستگاه دارد. یک دستگاه ممکن است با چندین گرداننده دستگاه به کار افتد. به عنوان مثال می تواند با گرداننده های دستگاه در 5-5 ۰ ویندوز 060 و ویندوز ۸۱۲ کار کند. دستگاههای انواع گوناگونی دارند که در شکل صفحه بعد آمده است. 154

صفحه 155:
داده ۳ 5 ترتیبی مودم ‎Soe oe‏ تصادفی ‎CD-ROM‏ ‏زمانبندی انتقال ‎et‏ نوار ‎I‏ = ‎wo! 5‏ موار اشتراک قابل اشتراک صفح کلید سرعت دستگاه انتقال ‎CD-ROM ۳‏ فقط خواندنی ‎eRe‏ ‏6 ظ تور ‎at‏ کننده های

صفحه 156:
حالتهای دستگاهها شامل : *بلوک یا جریان کارکتری : دستگاه جریان کارکتری » اطلاعات را بایت به بایت انتقال می دهد در حالی که دستگاه بلوکی اطلاعات را بلوک به بلوک منتقل می کند. *دستیابی تصادفی یا ترتیبی : دستگاه ترتیبی داده ها را به ترتیب خاصی منتقل مى کند ( با توجه به آن دستگاه ) » در حالی که کاربر دستگاه تصادفی می تواند به آن دستور دهد که محل خاصی از داده ها را بخواند. *همگامی یا ناهمگامی : دستگاه همگام داده ها را در زمان پاسخ معینی » انتقال می دهد و دستگاه نا همگام زمان پاسخ نا منظم و غیر قابل پیشبینی دارد. 156

صفحه 157:
*قابل اشتراک یا اختصاصی : دستگاه قابل اشتراک » همزمان توسط چند بند یا فرآیند مورد استفاده قرار می گیرد و در اختصاصی اینطور نیست. *سرعت عملیات : دستگاه ها می توانند از یک بایت تا چند بایت را در ثانیه انتقال دهند. *خواندن و نوشتن ( فقط خواندنی و یا فقط نوشتنی ) : بعضی از دستگاه ها عمل ورودی خروجی را انجام می دهند و بعضی فقط عمل نوشتن و بعضی فقط عمل خواندن را انجام می دهند. 157

صفحه 158:
سیک هایی برای دستیابی به دستگاه ها وجود دارد که قراط آين دستیابی شامل 1/0 بلوک » 1/0 جریان کارکتری » دستیابی فایل با نگاشت حافظه و سوکت های شبکه است. 7 اسیستم عامل فراخوان های سیستمی را برای دستیابی به دستگاههای مثل ساعت و زمان سیستم فراهم می کند. تآبعضی از سیستم عامل ها فراخوان های سیستمی را برای دستگاههای نمایش گرافیک » تصویر و صوت فراهم می کنند. 158

صفحه 159:
فرمانهایی را از یک برنامه کاربردی به گرداننده دستگاه ارسال می کنند. در یونیکس این فراخوان سیستم 106171 نام دارد. فراخوان سیستم 10611 .یک برنامه ی کاربردی را قادر می سازد تا تمام عملیاتی که توسط هر گرداننده ی دستگاهی قابل پیاده سازی اند » دستیابی داشته باشد و دارای 6 پارامتر است که قادر می سازد برنامه کاربردی و گرداننده های دستگاه با هم ارتباط برقرار کنند : توصیف گر فایل : متصل کننده ی برنامه های کاربردی به گرداننده دستگاه یک متدار صحیح : انتخاب فرمان های پیاده سازی شده در گرداننده دستگاه ريب اشاره كر : اشاره به یک ساختمان داده ی اختیاری

صفحه 160:
6-9 دستگاههای کارکتری و بلوکی دستیابی فایل با نگاشت حافظه می تواند در بالای گرداننده های دستگاه بلولی قرار كيرد. ][ به جاى عمليات خواندن و نوشتن » واسط نگاشت حافظه » دستیابی به حافظه دیسک را از طریق آرایه ای از بایت های موجود در حافظه ی اصلی امکان پذیر می سازد. [] فراخوان سیستمی که فایلی را در حافظه نگاشت می کند ۰ آدرس حافظه مجازی آرایه ای از کارکتررها را بر می گرداند که حاوی یک کپی از فایل است. 160

صفحه 161:
‎QE‏ انتقال واقعی داده ‏شود. ‏چون راهکار انجام اين انتقال ها شبیه راهکار دستیابی حافظه ی مجازی صفحه بندی درخواستی بکار گرفته شد ۰ 1/0 نگاشت حافظه » کارآمد است. ‏انجام می شود که به تصویر حافظه انجام ‏آنگاشت حافظه برای برنامه نویسان ساده است » چون دستیابی به فایل نگاشت حافظه به سادگی خواندن و نوشتن در حافظه است. ‏50 معمولا سیستم عامل » حافظه مجازی را برای نگاشت واسط خدمات هسته فراهم وع‌می کند,

صفحه 162:
مه دستگاههای شب چون ویژگی کارایی و آدرس دهی 1/0 شبکه متفاوت از ۱/0 دیسک است » اغلب سیستمهای عامل یک واسط 1/0 شبکه را تدارک می بینند که متفاوت از واسط خواندن - نوشتن - پیگرد در دیسک است. واسطی که در بسیاری از سیستم های عامل وجود دارد » واسط سوکت شبکه است, * فراخوان سیستم در واسط سوکت ؛ برنامه کاربردی را قادر می سازد تا سوکتی را ایجاد نماید. سوکت محلی را به آدرس راه دور متصل می کند » به هر برنامه کاربردی گرش می دهد تا به سوکت محلی وصل کند ۰ و بسته ها را از طریق این اتصال » راسال و دریافت کند.

صفحه 163:
برأى أن ‎sel‏ را تدارک مى بيند كه مجموعه اى از سوكت ها را مديريت مى كند. ‎lalate‏ اطلاعاتی را بر می گرداند که مشخص می کند چه سوکتهایی منتظرند تا بسته ها را تحویل دهند » و چه سوکتی آماده دریافت بسته ها ‏است, ‏* استفاده از 5616۴ منجر به حذف نظرسنجی و انتظار مشغولی برای 1/0 شبکه می شود. این توابع رفتارهای اساسی شبکه ها را بسته بندی می کنند و ‏مخصوصا ایجاد برنامه های توزیعی را آسان می کند. 163

صفحه 164:
00 ساعت و تایمر کامپیوترها دارای ساعت و تایمر سخت افزاری اند که سه عمل را انجام مى دهند : *تعیین زمان جاری تعیین زمان تلف شده *تنظیم تایمر برای اجرای عملیات 26 در زمان ۲" این اعمال توسط سیستم عامل و برنامه های کاربردی حساس به زمان مورد استفاده قرار می گيرد. متاسفانه فراخوانهای سیستمی که اين اعمال را پیلده سازی می کنند » در سیستم های عامل استاندارد نیستند. 164

صفحه 165:
*0* سخت افزار لازم برای اندازه گیری زمان تلف شده و شروع اجرای عملیات ؛ تایمر فاصله زمانی قابل برنامه نویسی نام دارد. ‎a ۳ = 7‏ ىه ‎ter‏ ۳ * می توان تایمر را طوری تنظیم کرد که برای مدت زمانی منتظر بماند و سيس وقفه ای را صادر کند. این راهکار توسط زمانبند مورد استفاده قرار می گیرد. ‏** زمانبند وققه ای را صادر می کند که فرآیند را در انتهای برهه زمانی اش قبظه می کند. زیر سیستم 1/0 از آن استفاده می کند تا میانگرهای پنهان را در دوره های زمانی معینی بر روی دیسک بنویسد » توسط زیر سیستم شبکه مورد استفاده قرار مى كيرد تا عملیات را لغو کند که به دلیل خرابی و ترافیک شبکه بسیار کند اجرا مى شوند. 165

صفحه 166:
7 [سیستم عامل از طریق شبیه سازی ساعتهای مجازی » می تواند درخواست های تایمر بیشتری را نسبت به کانال های سخت افزاری تایمر پشتیبانی کند. آبّآبرای این کار ۰ هسته ( یا گرداننده دستگاه تایمر ) ۰ لیستی از وقفه هایی را نگهداری می کند که توسط تایمر آن درخواست شده است. آبّآوقتی تایمر وقفه ها را صادر مى كند » هسته سیگنالی رل به درخواست کننده می فرستد و قدیمیترین زمان بعدی را در تایمر قرار می دهد. 166

صفحه 167:
وم ۱/0 با انسداد و بدون انسداد وقتی برنامه کاربردی فراخوان سیستمی مسدود کننده را اجرا می کند » اجرای برنامه کاربردی به تعویق می افتد. ‎SP‏ این برنامه کاربردی از صف اجرای سیستم عامل به صف انتظار می رود. پس از کامل شدن فراخوان سیستم » آن برنامه به صف اجرا بر می گردد و برای از سر گیری اجرا مناسب است. ‎۹ ‏* در آن زمان » مقادیر برگشتی از فراخوان سیستم را دريافت مى كند. فعاليت هاى فیزیکی که به وسیله ی دستگاه های 1/0 انجام می شوند معمولا ناهمگام هستند » یعنی ‎Ola‏ مربوط به آنها متغير يا غير قابل بيشبينى است.

صفحه 168:
با این وجود اغلب سیستم عامل ها از فراخوآنهای سیستم مسدود کننده برای واسط برنامه کاربردی استفاده می کنند» زیرا درک کد برنامه کاربردی مسدود کننده نسبت به کد برنامه کاربردی بدون انسداد ساده تر است, بعضی از فرآیندهای سطح کاربر نیازمند 1/0 بدون انسداد هستند. نمونه ای از آن ۰ واسط کاربری است که هنگام پردازش و ظاهر کردن داده ها در صفحه نمایش » ورودیهای صفحه کلید و ماوس را می خواند. * فراخوانی بدون انسداد ۰ برنامه کاربردی را برای مدت زمان طولانی متوقف نمی کند بلکه سریعا خاتمه می یابد و مقداری را برمی گرداند که مشخص می کند وم چند ‎Cy‏ ملتقل شنه إستد

صفحه 169:
شکل دیگری از فراخوان سیستم بدون انسداد » فراخوان سیستم ناهمگام است. فراخوانی نا همگام ؛ فورا برگشت می کند و منتظر نمی ماند که 1/0 کامل شود. برنامه کاربردی اجراش کدش را ادامه می دهد » و کامل شدن 1/0 در زمان آینده به برنامه کاربردی ارتباط دارد. اين ارتباط ممکن است به دو صورت انجام شود : از طریق مقدار دادن به متغیری در فضای آدرس برنامه کاربردی از طریق صدور یک سیگنال یا وقه نرم افزاری یا اجرای روال فراخوانی - برگشت که در خارج از جریان کنترل خطی برنامه کاربردی اجرا می شود. 169

صفحه 170:
170

صفحه 171:
6-09 زيرسيستم 4-9 زمانبندی ۱/0 زمانبندی مجموعه ای از درخواست های 1/0 به معنای تعیین ثرئیب اجرای آنها است. زمانبندی می تواند کارایی سیستم را بهبود بخشد ۰ می تواند دستیابی اشتراکی دستگاهها را برای فرآیندها فراهم کند » و می تواند ميانگین زمان انتظار برای کامل شدن 1/0 را کاهش دهد. **توسعه دهندگان سیستم عامل برای پیاده سازی زمانبندی » برای هر دستگاه » صفی از درخواستها را نگهداری می کنند. 171

صفحه 172:
وقتی یک برنامه کازبردی » فراخوان سیستمی 1/0 با انسداد را اجرا می کند » آن درخواست در صف مربوط به آن دستگاه 1/0 قرار می ‎OS‏ 7 زمانبند 1/0 ترئیب صف را دوباره تنظیم می کند تا اثربخشی کل سیستم و میانگین و زمان پاسخ را بهبود بخشد. روش ديكر براى بهبود اثربخشى ‎٠‏ استفاده از فضای ذخیره سازی در حافظه اصلی یا دیسک » تکنیکهایی مثل میانگری » حافظه پنهان و اسپولینگ است. 172

صفحه 173:
میانگیر » ناحیه ای از حافظه است که داده ها را در حین انتقال بین دو دستكاه يا بين یک دستگاه و یک برنامه کاربردی ذخیره می کند. میانگری به سه دلیل انجام می شود : *یکسان نبودن سرعت تولید کننده و مصرف کننده ی جریان داده ها *ایجاد هماهنگی بین دستگاههایی است که اندازه انتقال داده ها در آنها متفاوت است » معمولا در شبکه های کامپیوتری پیش می آید که در آنها » میانگرها برای تکه تکه کردن و مونتاژ مجدد پیامها به کار می روند. پشتیبانی از معنای کپی برای ۱/0 است.

صفحه 174:
رگاه گیگا ‎SUS 0000000000‏ ات۳ كذركاء |25©: ‎ss 0‏ سسحصسس« 000 انرنت 511111111111117 بكر ليزرى ‎a ee ee‏ صودم ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‏0 1,000.00 100 10 1 0.1 0.01 0 ‎ae‏ ی که 174 کی ‎as‏ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 175:
***كبى كردن داده هآ بین میانگیرهای هسته و فضای داده ی برنامه کاربردی سربارهایی دارد ولی برای حفظ صحت داده ها ضروری است. 0-۳-09 ذخیره در حافظه پنهان حافظه پنهان ناحیه ای از حافظه سریع است که کپی هایی از داده ها را ذخیره می کند. دستیابی به داده های کپی شده در حافظه پنهان » کارآمدتر از داده های اصلی است. تفاوت بین میانگیر و حافظه ی پنهان این است که میانگیر تنها کپی یک قلم داده را نگهداری می کند ۰ در حالی که حافظه پنهان طبق تعریف » یک کپی از یک قلم داده را در حافظه سریع ذخیره مى كند و داده اصلی می تواند در هر جای دیگری باشد. 175

صفحه 176:
7 حافظه پنهان و میانگیری دو عمل جدا هستند » اما گاهی یک ناحیه ی حافظه می تواند برای هر دو منظور مورد استفاده قرار گيرد. 6 اسپولینگ و رزرو کردن دستگاه انباره میانگیری است که خروجی دستگاهی مثل چاپگر را که نمی تواند جریان های ورودی ناپیوسته را بپذیرد » نگهداری می کند. گرچه چاپگر می تواند در هر لحظه به یک کار خدمات دهد » ممکن است چندین برنامه کاربردی بخواهند خروجیهایی را همزمان تولید کنند ولی خروجی آنها با هم مخلوط نشود. 176

صفحه 177:
کند. این خروجی بر روی دیسک دخیره می شود. وقتی خروجی یک برنامه کاربردی تمام شد » سیستم اسپولینگ » فایل خروجی متناظر با آن را در صف چاپ قرار می دهد. لا در بعضی از سیستم های عامل » اسپولینگ توسط یک فرآیند دمون سیستم انجام می شود. در سیستمهای دیگر این کار توسط بندی در داخل هسته انجام می شود. در هر دو حالت » سیستم عامل یک واسط کنترلی را تدارک می بیند که کاربر و مدیران سیستم می توانند با استفاده از آن » صف را نمایش دهند » كارهايى را قبل راز جاب از صف خارج کنند » عمل جاب را به تعویق اندازند و غیره.

صفحه 178:
17 سیستم عامل از طريق اسپولینگ می تواند خروجی همزمان را هماهنگ کند. روش دیگر برای اداره کردن دستیابی به دستگاه همزمان » ارائه امکاناتی برای هماهنگی است. ‎٩-0‏ پردازش خطا سیستم عاملی که از حافظه ی حفاظت شده استفاده می کند ؛ در مقابل بسیاری از خطا های سخت افزاری و نرم افزاری در امان است » به طوری که خرابی کل سیستم ناشی از اشکالات مکانیکی کوچک نیست. سیستم عامل می تواند خرابی های موقتی را جبران کند. ‎178

صفحه 179:
قاس کل اين اسك 2 فراخوان دتم 0/] یک بت از گت را رلجع به وضعیت آن فراخوانی بر می گرداند که مشخص می کند با موفقیت انجام شده است یا خیر. ( به عنوان مثال ۸۸61 و >21ل برای تایید دریافت داده در جواب به دستور 0 در شبکه های کامپیوتری ) ادر سيستم عامل يونيكس ؛ يك متغير صحيح به نام ۵۳۳۲00 برای برگرداندن كد خطا مورد استفاده قرار مى كيرد و ماهيت خطا را نشان مى دهد. سخت افزار مى تواند جزئيات بيشترى از اطلاعات مربوط به خطا را ارائه كند » ولى بسيارى از سیستمهای عامل فعلی » اين اطلاعات را به برنامه کاربردی منتقل نمی کنند. 179

صفحه 180:
0-0-9 ساختمان داده هسته هسته باید اطلاعات حالت مولفه های 1/0 را نگهداری کند. اين کار را با استفاده از ساختمانهای موجود در هسته انجام می دهد ۰ مثل ساختار جدول فایل باز, 7آدر بونیکس دستیابی به نهادهای گوناگونی مثل فایلهای کاربر ؛ دستگاههای خام » و فضای آدرس فرآیندها امکان پذیر است. گرچه هر يك از اين نهادها از عمل 01 پشتیبانی می کنند ۰ معنا شناسی آنها متفاوت است. یونیکس این تفاوت را با استفاده از تکنیک شی گرا » در یک ساختار یکنواخت بسته بندی می کند, 180

صفحه 181:
جدول فرايند باز در سيدا أ ی جدول گره ‎Ets ier es‏ بن شاخص فعال اشاره ‎age‏ اخص اشاره گر به توابع خواندن و نوشتن اشاره گر به تابع 5۵۱6۶ اشاره گر به تابع 106۱ اشاره گر بی‌تابع ۱05۵ ۰ 0 رکورد [(سوکت) شبکه جدول اطلاعاتی اشاره گر به اطلاعات شبکه شبکه اشاره گر به توابع خواندن و نوشنن اشاره گر به تابع 5016۶ اشاره گر به تابع 1068۱ اشاره گر یچ تابع ۱956 1 حافظه هسته

صفحه 182:
7 بعضی از سیستمهای عامل به طور گسترده تری از تکنیک شی گرایی استفاده می کنند. به عنوان مثال » ویندوز 1۲ برای 1/0 از پیاده سازی ارسال پیام استفاده می كند. درخواست 0/ به بيامى تبديل مى شود كه از طريق هسته به مدير 1/0 و سپس به كرداننده دستكاه ارسال مى كردد كه هر كدام از آنها مى توانند محتویات پیام را تغيير دهند. 7 برای عمل خروجی ‎ply‏ حاوی داده هایی است که باید چاپ شود. برای عمل ورودی » پیام حاوی میانگیری برای دریافت داده ها است. 182

صفحه 183:
زیر سیستم 1/0 موارد یر را نظارت می کند : آآمدیریت بر فضای نام برای فایلها و دستگاهها آاکنترل دستیابی به فایلها و دستگاهها آاکنترل عملیاتی دستگاهها ( مثلا مودم نمی تواند 5661 را اجرا کند ) آتخصیص فضای سیستم فایل

صفحه 184:
| میانگیری » حافظه پنهان » اسپولینگ آ] زمانبندی ۱/0 لا نظارت بر وضعیت دستگاه » پردازش خطا و ترمیم خطا [] پیکربندی گرداننده دستگاه و مقداردهی اولیه آسانکته : سطوح بالاتر زیر سیستم ۱/0 » از طریق واسط یکنواختی که به وسیله گرداننده دستگاهها تهیه می شود » به دستگاهها دستیابی دارند. 184

صفحه 185:

صفحه 186:
9-09 تبدیل درخواستهای 1/0 به عملیات سخت افزاری در اين بخش به چگونگی درخواست سیستم عامل و اتصال برنامه های کاربردی با مجموعه ای از سیستم های شبکه یا قطاع خاصی از دیسک می پردازيم. * برای خواندن فایل از دیسک » سیستم فایل باید از طریق نام فایل نگاشتی را در دایرکتوری ها انجام دهد تا فضای تخصیص یافته به فایل را بدست آورد. *** در يونيكس نام به شماره شاخص گره نگاشت می شود و آن گره شاخص حاوی اطلاعاتی راجع به تخصیص فضا است. 186

صفحه 187:
اتصال نام فایل به کنترّل کننده دیسک : ابتدا 115-005 را در نظر مى كيريم که یک سیستم عامل ساده است. * بخشی از نام فایل در ۸15-005 که قبل از حرف : قرار دارد » رشته ای است که دستگاه سخت افزاری را مشخص می کند به عنوان مثال *0:" بخش اول نام تمام فایل های موجود در اولین دیسک سخت است. 187

صفحه 188:
“0 اگر فضای نام دستگاه به فضای نام سیستم فایل الحاق شود ( مثل بونیکس ) » خدمات عادی نام سیستم فایل به طور خودکار فراهم می شود. 7 اگر سیستم فایل کنترل دستیابی و مالکیت را به اسامی تمامی فایلها اعمال کند » آنگاه دستگاه ها دارای کنترل دستیابی و مالکیت خواهند بود. چون فایلها در دستگاهها ذخیره می شوند اين واسطهای دستیابی سیستم 1/0 را در دو سطح انجام می دهد : *اسامی برای دستیابی به خود دستگاهها *دستیابی به فایلهای ذخیره شده در دستگاهها 188

صفحه 189:
یونیکس اسامی دستگاهها را در فضای نام سیستم فایل قرار می دهد. برخلاف نام فایل در 15-005 که حرف : به عنوان جداکننده نام دستگاه است » نام مسیر در پونیکس فاقد کارکتر خاصی برای تفکیک نام دستگاه است. **بعضی از سیستمهای عامل قادرند کنترل کننده های دستگاه را برحسب نیاز بار کنند. 189

صفحه 190:
در زمان راه اندازی کامپیوتر ۰ سیستم ابتدا گذرگاه سخت افزار را جستجو می کند تا دستگاههای موجود را شناسایی کنند و سپس گرداننده های لازم را بار کند. یا فورا آنها را بار کند یا هنگامی که توسط یک درخواست 1/0 مورد نیاز واقع شود » آن را بار می کند. **سیستم یرنیکس ۷ راهکار جالبی به نام جریانها دارد که برنامه کاربردی را قادر می سازد کانالهای کد دستگاه را به طور خودکار مونتاژ کند. 190

صفحه 191:
داده های خروجی آماده برگشت از فراخوان سيستم 8 انتقال داده به فرایند, اعلان بایان کار یا خطا تعیین اینکه کدام ۱/۵ کامل شد, نمایش تغییر حالت در زیرسیستم 1/0 2 3 ميانكير كرداننده دستكاه در صورت ورودى:ارسال سيكنال براى خارج كردن وق كامل شدن ۱/0, تولید وقفه زیر سیستم ۵ هسته گرداننده دستگاه روال وقفه کنترل کننده دستگاه صفحه کلید توح درخواست را به گرداننده ارسال کن؛ درصورت لزوم فرآیند را مسدود کننده,پیکربندی کنترل کننده برای مسدود شدن تا صدور فرمانهای کنترل کننده دسنگا دستگاه ناظر, صدور وقفه پس از کامل شدن ۱/۵

صفحه 192:
این شکل بیان می کند که عملیات 1/0 در چندین مرحله انجام می شود که چرخه های زیادی از ‎CPU‏ را مصرف می کند : [). فرآیند » فراخوان سیستم ۳۵0 را به توصیفگر فایلی که قبلا باز شده است صادر می کند. (6.کد فراخران سیستم در هسته صحت پارامترها را کنترل می کند. در حالت ورودی ؛ اگر داده ها در حافظه پنهان میانگیر آماده باشند » به فرآیند برگرداننده می شوند و درخواست 1/0 کامل می شود. 192

صفحه 193:
صف انتظار آن دستگاه قرار می گیرد. سرانجام » زیر سیستم 1/0 درخواستی را به گرداننده ی دستگاه می فرستد. برحسب نوع سیستم » درخواست از طریق فراخوانی یک زیربرنامه یا پیام داخل هسته » ارسال می شود ).گرداننده دستگاه فضای میانگیر هسته را برای دریافت داده ها تخصیص می دهد و ۱/0 را زمانبندی می کند. سرانجام ۰ گرداننده از طریق نوشتن در ثباتهای کنترل دستگاه » فرمانهایی را به کنترل کننده دستگاه می فرستد. ©.كنترل دستكاه سخت افزار دستكاه را به كار می اندازد تا انتقال داده ها را انجام 3 دهد.

صفحه 194:
0.گرداننده : است_"برای برسی ها نظرسنجی شود , يا ممکن است یک انتقال ۲۱۸ را در حافظه هسته داشته باشد. وضعیت و داده 7.روال وقفه مناسب , وقفه ای را از طریق جدول بردار وقفه دریافت می کند , داده های ضروری را ذخیره می نماید , به گرداننده دستگاه سیگنال می فرستد , و از وقفه برمی گردد. مور 6»کنترل کننده دستگاه سیگنال را می گیرد و تعیین

صفحه 195:
را انتقال می دهد یا کدها را به فضای 9 .هسته داده آدرس فرآیند درخواست کننده بر می گرداند , و فرآیند را از صف انتظار به صف آمادگی می برد. 0.انتقال فرآیند به صف آمادگی , فرآیند را از حالت انسداد خارج می کند. وقتی زمانبند لا را به فرآیندی تخصیص می دهد , فرآیند اجرا را از سر می گیرد. 195

صفحه 196:

صفحه 197:
6-3 مجراها سیستم یونیکس ۷ راهکار جالبی به نام مجراها دارد که به برنامه های کاربردی اجازه می دهد تا مسیر کد یک گرداننده را به طور پویا اسمبل کند. مجرا , یک اتصال دو طزفه ی کامل بین یک گرداننده ی دستگاه و فرآیند سطح کاریر است. مجرا شامل رأآس مجرا است که با فرآیند کاربر ارتباط دارد , و شامل گرداننده پایانی است که دستگاه را کنترل ری کند , و صفر يا چند پیمانه مجرا است که بین آنها

صفحه 198:
‎gully‏ عجرا + گردانندم انان وهر كانه حاو یک بجقت ‏صف است : ‏۰ صف خواندن ‏ات زو لت ‏برای انتقال داده ها بین صفها از شیوه ارسال پیام استفاده می گردد. ‎198

صفحه 199:
پیمانه 1 ها ل صف نوشتن سب ‎ae en‏ گرداننده پایانی راس مجرا صف خواندن صف خواندن

صفحه 200:
آآپیمانه ها عملیات مربوط به پردازش مجراها را تدارک می بینند و با استفاده از فراخوان سیستم [101() در مجرا قرار می گيرد. |[أ1/0 مجرا ناهمكام ( بدونلنسداد ) لست مكر هنكاميكه فرآيند كارير با رلس مجرا ارتباط برقرار كند. هنكام نوشتن‌در مجرا » فرآيند كاربر مسدود ممشود » تا جايىبرلىكبىكردن فرلهم. شود. به همينترتيب» فرليند كاربر هنكام خولندزدادم هااز مجرا » مسدود می‌شود تسا دادم ها آمادم شوند. آگرداننده پایانی همانند رلس مجرا یا یک پیمانه است » به طوری که دارای صف خواندن و نوشتن است. 200

صفحه 201:
|أكرداننده يايانى طورى ب وققه ها ياسع دهد كد كوب وقفه اند كه قابى در شبكه آماده خواندن است. [آاگر رلس مجرا نتواند پیامی را در صف کپی کند ؛ ممکن است مسدود شود. گرداننده ها باید جریان کنترل را نیز پیشبینی کنند. وقتی صادر شده لاما اگر میانگیر دستگاهی پر باشد پیام ورودی را ارسال می کند. کارت شبکه ای را در نظر بگیرید که میانگیر ورودی آن پر است. کارت شبکه پیام های بیشتری را ارسال می کند تا فضای میانگیر برای ذخیره پیامها ورودی فراهم سود. [آفایده استفاده از مجراها این است که چارچوبی برای روش پیمانه ای و فزاینده ای در نوشتن گرداننده های دستگاه و پروتکلهای شبکه است.

صفحه 202:
سخت افزار 1/0 202

صفحه 203:
9 کارایی 0۵ عامل‌مهمی‌در کارایی‌سیستم لستٍ 1/0 تقاضا هاوزيادورا به لاط© لعالمى کند تا کد گرداننده دستگاه را لجرا نماید و فرآیندها را بسه خوبی‌زمانبندوک‌ند. تعویض بستر به [۳۸) و حافظه پنهان سخت افزاری آن فشار وارد می آورد. 1/0 ناکارآمدی را در راهکارهای پردازش وقفه در هسته ایجاد می کند ۰ و 1/0 گذرگاه حافظه را در هنگام کپی کردن داده ها بین کنترل کننده ها و حافظه فیزیکی و در اثنای كيى كردن داده ها بین میانگیرهای هسته و فضای داده ی برنامه کاربردی » اشغال می کند. 203

صفحه 204:
آساگرچه کامپیوترهای مدرن می توانند صدها وقفه را در هر ثانیه پردازش کنند ؛ پردازش وقفه کار نسبتا گرانی است ۰ زیرا هر وقفه موجب می شود سیستم تغییر وضعیت دهد تا روال ‎dilly‏ را اجرا کند » و سپس به وضعیت قبلی برگردد. آساگر تعداد چرخه های مصرف شده توسط انتظار مشغولى زياد نباشد » 1/0 برنامه نویسی شده کارآمدتر از 1/0 وقفه است. کامل شدن 1/0 موجب می شود تا فرآیندی از حالت انسداد خارج شود و منجر به سربار تعویض بستر می شود. 204

صفحه 205:
آسابعضی دیگر از سیستم ها از پایانه کمکی برای 1/0 استفاده کرده تا بار وقفه را بر الا8© كتهش دهند. به عنوان مثال » متمرکز کننده پایانه می تواند ترافیک را از صدها پایانه راه دور به یک پورت در یک کامپیوتر بزرگ تسهیم کند. کانال ۰1/0 اختصاصی است به طورى كه در كامبيوترهاى بزرك از 81 © های خاصی برای اين كار استفاده مى شود. وظیفه کانال اين است که 1/0 را از دوش 6۳ بردارد. بیان قواعدی برای بهبود عمل 1/0 *کاهش تعداد تعویض بستر *کاهش تعداد دفعات کپی داده ها در هنگام انتقال بین دستگاه و برنامه کاربردی 205

صفحه 206:
*کاهش تعداد وقفه ها با آستفاده از انتقالهای بزرگ » کنترل کننده های هوشمند » و نظرسنجی ( اگر انتظار مشغولی بتواند کمینه باشد ) *افزایش همزمانی با استفاده از کنترل کننده های دانش پذیر 01۷1۸ یا کانال ها برای کاهش عما کپی داده ها از ل۳۱» *انتقال پردازشهای اولیه به سخت افزار » تا اينکه عملیات در کنترل کننده های دستگاه با لا۳) و اعمال گذرگاه همزمان شود. *توازن (۳) ۰ زیر سیستم حافظه » گذرگاه » و کارایی ۱/0 ۰ زیرا وجود بار زیادی در هر یک از اين ناحیه ها موجب بیکاری در ناحیه دیگر می شود. 206

صفحه 207:

صفحه 208:
عملیات 1/0 در کجا باید پیاده سازی شود. در سخت افزار دستگاه » در گرداننده دستگاه یا در نرم افزار برنامه کاربردی ؟ در شکل صفحه ی بعد یک نمونه پردازش عملیات یک دستگاه را مشاهده می کنید 208

صفحه 209:
‎ " +‏ الگوریتم جدید ‏کد برنامه کاربردی ‏افزايش کارایی ‏افزایش زمان (نسلها) افزايش هزینه توسعه افزایش انتزاع ‎ny‏ کد گرداننده دستگاه ۲ کد کنترل کننده دستگاه 9 (سخت افزار) | کد دستگاه (سخت 209 افزار)

صفحه 210:
*بتدا الگوریتم 1/0 آز: 1). کد برنامه کاربردی قابل انعطاف است و معمولا خطاهای آن منجر به فروپاشی سیستم نمی شود. .با توسعه اين کد در سطح برنامه کاربردی » پس از هر تغییر در کد نیازی به راه اندازی مجدد سیستم یا بار کردن دوباره گرداننده های دستگاه نیست. [أ اما به دلیل سربار ناشی از تعویض بستر و اینکه برنامه کاربردی نمی تواند از امتیاز ساختمان داده ی داخل هسته و عملیات هسته استفاده کند » پیاده سازی سطح برنامه کاربردی می تواند نا کارآمد باشد. 210

صفحه 211:
*وقتی یک الگوریتم سطحٌ برنامه کاربردی » ارزش خود را نشان داد ؛ می توانیم آن را در هسته پیاده سازی کنیم. * این کار ممکن است منجر به بهبود کارایی شود » اما تلاشی که برای اين کار صورت می گیرد » چالش برانگیز است » زیرا : 1 هسته سیستم عامل » بزرگ و پیچیده است 11 .بياده سازی در هسته باید عاری از خطا باشد » زيرا خطا در هسته منجر به فروپاشی سیستم می شود. 211

صفحه 212:
212 پیاده سازی در سخت افزار ممکن آست منجر به کارایی بالاتری شود. عیب پیاده سازی سخت افزاری شامل دشوارى و اعمال بهبودى بيشتر يا ترميم خرابيها و افزايش زمان توسعه و كاهش قابليت انعطاف است.

جهت مطالعه ادامه متن، فایل را دریافت نمایید.
34,000 تومان