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

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

system_amel_8

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






  • جزئیات
  • امتیاز و نظرات
  • متن پاورپوینت

امتیاز

درحال ارسال
امتیاز کاربر [0 رای]

نقد و بررسی ها

هیچ نظری برای این پاورپوینت نوشته نشده است.

اولین کسی باشید که نظری می نویسد “پیاده سازی سیستم فایل”

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

اسلاید 1: 1خلاصه ی فصل 11 سیستم عاملمیلاد جعفریرضا زاهدیآذین مهرپورشادمهسا فرجومهشید ابراهیم نژادسهیلا ابراهیمیآقای عسکری قاسمپوری استاد :

اسلاید 2: 2فصل دوازدهمپیاده سازی سیستم فایلتعداد اسلاید فصل دوازدهم 124

اسلاید 3: 3فصل دوازهم : پیاده سازی سیستم فایلپیاده سازی سیستم فایلساختار سیستم فایلپیاده سازی سیستم فایلپیاده سازی دایرکتوریروشهای تخصیص فضا به فایلمدیریت فضای آزاداثر بخشی و کارآییترمیمسیستم فایل براساس ساختار سابقهNFS

اسلاید 4: 4فصل دوازهم : پیاده سازی سیستم فایلپیاده سازی سیستم فایلساختار سیستم فایلپیاده سازی سیستم فایلپیاده سازی دایرکتوریروشهای تخصیص فضا به فایلمدیریت فضای آزاداثر بخشی و کارآییترمیمسیستم فایل براساس ساختار سابقهNFS

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

اسلاید 6: 6فصل دوازهم : پیاده سازی سیستم فایلبرای بهبود کارایی I/O، انتقال I/O بین حافظه و دیسک بر حسب واحدهایی از بلوک صورت می گیرد. که هر بلوک ازیک یا چند قطاع تشکیل می شود. اندازه قطاع از 32 بایت تا 4096 بایت است و بستگی به گرداننده دیسک دارد. معمولا اندازه قطاع 512 بایت است.برای دستیابی کارآمد و راحت به دیسک، سیستم عامل از یک سیستم فایل استفاده می کند. سیستم فایل برای ذخیره، یافتن و بازیابی سریع اطلاعات مناسب است.

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

اسلاید 8: 8فصل دوازهم : پیاده سازی سیستم فایلبرنامه های کاربردیسیستم فایل منطقیپیمانه سازمان دهی فایلسیستم فایل اصلیکنترل I/Oدستگاههاسیستم فایل لایه ای

اسلاید 9: 9فصل دوازهم : پیاده سازی سیستم فایلهرسطح در این طراحی با استفاده از ویژگیهای سطوح پایین تر، ویژگیهای جدیدی را ایجاد می کند که توسط لایه های بالاتر به کار گرفته می شود.پایین ترین سطح، یعنی کنترل I/O متشکل از گرداننده های دستگاه و پردازنده وقفه برای انتقال اطلاعات بین حافظه و سیستم دیسک است.گرداننده دستگاه را می توان به عنوان یک انتقال دهنده در نظر گرفت. ورودی آن فرمانهای سطح بالا است.خروجی آن شامل دستورات سطح پایین ویژه سخت افزاری بکار گرفته می شود که واسط دستگاه I/O و بقیه سیستم است.

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

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

اسلاید 12: 12فصل دوازهم : پیاده سازی سیستم فایلپیاده سازی سیستم فایلساختار سیستم فایلپیاده سازی سیستم فایلپیاده سازی دایرکتوریروشهای تخصیص فضا به فایلمدیریت فضای آزاداثر بخشی و کارآییترمیمسیستم فایل براساس ساختار سابقهNFSمرور کلیپارتیشن ها و سوار کردن آنهاسیستم های فایل مجازی

اسلاید 13: 13فصل دوازهم : پیاده سازی سیستم فایل2-12 پیاده سازی سیستم فایلسیستم عامل فراخوانهای سیستم open و close را برای فرآیندها پیاده سازی می کند تا به محتویات فایل دستیابی داشته باشد.1-2-12 مرور کلیچندین ساختار بر روی دیسک و حافظه برای پیاده سازی سیستم فایل مورد استفاده قرار می گیرند. این موضوع بسته به سیستم عامل و سیستم فایل فرق می کند، ولی قواعد کلی برای این کار وجود دارد. سیستم فایل بر روی دیسک، ممکن است حاوی اطلاعاتی راجع به چگونگی راه اندازی سیستم عامل، تعداد کل بلوکها، تعداد و محل بلوکهای آزاد، ساختار دایرکتوری و فایل باشد.

اسلاید 14: 14فصل دوازهم : پیاده سازی سیستم فایلساختارهای روی دیسک:بلوک کنترل راه اندازی حاوی اطلاعاتی است که سیستم برای راه اندازی سیستم عامل از آن پارتیشن استفاده می کند. اگر دیسک فاقد سیستم عامل باشد، این بلوک می تواند خالی باشد. این بلوک، معمولا اولین بلوک دیسک است . در UFS ، نامش بلوک راه اندازی است. در NTFS نامش قطاع راه انداز پارتیشن است. بلوک کنترل پارتیشن حاوی جزئیات پارتیشن است. در UFS نامش سوپر بلوک و در NTFS نامش جدول فایل اصلی است.

اسلاید 15: 15فصل دوازهم : پیاده سازی سیستم فایلساختار دایرکتوری برای سازمان دهی فایل بکار می رود.FCB حاوی جزئیات فایل است. در UFS نامش گره شاخص است. در NTFS این اطلاعات در جدول فایل اصلی ذخیره می شود که از ساختار بانک اطلاعاتی وجود دارد.

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

اسلاید 17: 17فصل دوازهم : پیاده سازی سیستم فایلبرای ایجاد فایل جدید، برنامه کاربردی، سیستم فایل منطقی را فراخوانی می کند.سیستم فایل منطقی فرمت ساختارهای دایرکتوری را می داند. برای ایجاد فایل جدید، یک FCB جدید ایجاد می کند، دایرکتوری مناسبی را در حافظه می خواند، آن را با نام فایل و FCB جدید نوسازی می کند و آن را بر روی دیسک می نویسد.

اسلاید 18: 18فصل دوازهم : پیاده سازی سیستم فایلمجوزهای فایلتاریخهای فایل (ایجاد، دستیابی، نوشتن)مالک فایل، گروه، و ACLاندازه فایلبلوک های داده فایلنمونه ای از بلوک کنترل فایل

اسلاید 19: 19فصل دوازهم : پیاده سازی سیستم فایلپس از این که فایلی ایجاد شد، می تواند برای I/O مورد استفاده قرار گیرد، ابتدا باید باز شود. فراخوان Call نام فایل را به سیستم فایل می فرستد. وقتی فایل باز شد، ساختار دایرکتوری برای آن نام فایل جستجو می شود. بخشهایی از ساختار دایرکتوری در حافظه قرار می گیرند تا عملیات دایرکتوری سریع شود. وقتی فایلی پیدا شد، FCB در جدول فایل باز سطح سیستم کپی می شود. این جدول نه تنها FCB را ذخیره می کند، بلکه تعداد فرآیندهایی که آن فایل را باز کرده اند، نگهداری می نماید.

اسلاید 20: 20فصل دوازهم : پیاده سازی سیستم فایلپس یک ورودی در جدول فایل باز در سطح فرآیند ایجاد می شود که به ورودیی در جدول باز در سطح سیستم اشاره می کند و فیلدهای دیگری هم دارد. این فیلدها می توانند موقعیت فعلی در داخل فایل را نگهداری کنند تا عملیات read و Write انجام شوند.علاوه براین، حالت دستیابی فایل نیز در این فیلد مشخص می گردد.فراخوانی Open اشاره گری به ورودی مناسبی در جدول سیستم غایل در سطح فرآیند دارد. تمام عملیات فایل از طریق این اشاره گر انجام می شود.

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

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

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

اسلاید 24: 24فصل دوازهم : پیاده سازی سیستم فایلساختارهای سیستم فایل موجود در حافظهساختار دایرکتوریبلوک کنترل فایلساختار دایرکتوریopen(filename)فضای کاربرحافظه هستهحافظه ثانویهباز کردن فایلread(index)بلوک کنترل فایلفضای کاربرحافظه هستهحافظه ثانویهخواندن فایلبلوکهای دادهجدول فایل باز درسطح سیستمجدول فایل باز درسطح فرآیند

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

اسلاید 26: 26فصل دوازهم : پیاده سازی سیستم فایلدیسک خام می تواند حاوی اطلاعاتی باشد که موردنیاز سیستمهای RAID است، مثل نقشه های بیتی که مشخص می کنند کدام بلوکها آینه ای شدند و کدامها نیاز به تغییر دارند تا آیینه ای شوند.اطلاعات راه اندازی سیستم می تواند در پارتیشن جداگانه ای قرار گیرد. فرمت اطلاعات، ویژه است، زیرا در هنگام راه اندازی، گرداننده دستگاه سیستم فایل بار نشده است و نمی تواند فرمت سیستم فایل را تفسیر کند.بصورت دنباله ای از بلوکها است که به شکل تصویر به حافظه بار می شوند. اجرای این تصویر از محل خاصی مثل اولین بایت تصویر شروع می شود.این تصویر راه اندازی می تواند دستوراتی بیش از دستورات لازم برای راه اندازی سیستم عامل را در بر داشته باشد.

اسلاید 27: 27فصل دوازهم : پیاده سازی سیستم فایلدر چنین سیستمهایی، چندین سیستم عامل را می توان نصب کرد.بارکننده راه انداز که سیستمهای فایل چندگانه و سیستمهای عامل چندگانه را می فهمد، می تواند فضای راه اندازی را اشغال کند. هنگامی که بار می شود، می تواند یکی از سیستمهای عامل موجود در دیسک را راه اندازی کند. دیسک می تواند چندین پارتیشن داشته باشد و هر کدام دارای سیستم فایل و سیستم عامل متفاوتی باشند.پارتیشن ریشه که حاوی هسته سیستم عامل و سایر فایلهای سیستم است، در زمان راه اندازی سوار می شود.سایر پارتیشن ها می توانند بطور خودکار در زمان راه اندازی یا بعدا بطور دستی سوار شوند. این موضوع به سیستم عامل بستگی دارد.

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

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

اسلاید 30: 30فصل دوازهم : پیاده سازی سیستم فایل3-2-12 سیستمهای فایل مجازیسیستمهای عامل مدرن، همزمان باید چندین نوع سیستم فایل راپشتیبانی کنند.برای انجام این کار، یک روش پیاده سازی انواع مختلفی از سیستمهای فایل این است که برای هر نوع ، روالهای دایرکتوری و یفایل جداگانه ای نوشته شود. اغلب سیستمهای عامل، ازجمله یونیکس، برای سهولت، سازمان دهی، و پیمانه ای کردن پیاده سازی ، از شئ گرایی استفاده می کند.

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

اسلاید 32: 32فصل دوازهم : پیاده سازی سیستم فایلسیستم فایل مجازیواسط سیستم فایلواسط VFSسیستم فایل راه دور نوع 1سیستم فایل محلی نوع 2سیستم فایل محلی نوع 1دیسکدیسکشبکه

اسلاید 33: 33فصل دوازهم : پیاده سازی سیستم فایلپیاده سازی سیستم فایلساختار سیستم فایلپیاده سازی سیستم فایلپیاده سازی دایرکتوریروشهای تخصیص فضا به فایلمدیریت فضای آزاداثر بخشی و کارآییترمیمسیستم فایل براساس ساختار سابقهNFSلیست خطیجدول در هم سازی

اسلاید 34: 34فصل دوازهم : پیاده سازی سیستم فایل3-12 پیاده سازی دایرکتوریانتخاب الگوریتمهای تخصیص دایرکتوری و مدیریت بر دایرکتوری، اثر زیادی بر کارایی و قابلیت اعتماد سیستم فایل دارد. لذا، بین این الگوریتمها باید توازن برقرار باشد.1-3-12 لیست خطیساده ترین روش پیاده سازی دایرکتوری استفاده از یک لیست خطی از اسامی فایلها و اشاره گرهایی به بلوک داده ها است. برای یافتن ورودی خاصی از دایرکتوری، نیاز به جستجوی خطی است. برنامه نویسی این روش ساده است ولی اجرای آن به زمان زیادی نیاز دارد.

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

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

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

اسلاید 38: 38فصل دوازهم : پیاده سازی سیستم فایلمشکل جدول در هم سازی، ثابت بودن اندازه آن و وابستگی به اندازه جدول است.راه دیگر این است که از جدول در هم سازی سرریز استفاده شود. یعنی هر ورودی در هم سازی می تواند به جای یک مقدار، یک لیست پیوندی باشد و برای رفع برخورد ، ورودی جدیدی را در لیست پیوندی قرار می دهیم. جستجو ممکن است کمی طول بکشد ولی از جستجوی خطی در سراسر دایرکتوری سریعتر است.

اسلاید 39: 39فصل دوازهم : پیاده سازی سیستم فایلپیاده سازی سیستم فایلساختار سیستم فایلپیاده سازی سیستم فایلپیاده سازی دایرکتوریروشهای تخصیص فضا به فایلمدیریت فضای آزاداثر بخشی و کارآییترمیمسیستم فایل براساس ساختار سابقهNFSتخصیص همجوارتخصیص پیوندیتخصیص شاخص دارکارآیی

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

اسلاید 41: 41فصل دوازهم : پیاده سازی سیستم فایل1-4-12 تخصیص همجواردر روش تخصیص همجوار، هر فایل مجموعه پیوسته ای از بلوکهای دیسک را اشغال می کند. آدرسهای دیسک یک ترتیب خطی را روی دیسک تعریف می کند. توجه کنید که در این ترتیب، با فرض اینکه فقط یک کار به دیسک دستیابی دارد، دستیابی به بلوک b+1 پس از بلوک b، نیاز به حرکت هد ندارد. در صورت نیاز به حرکت هد، فقط یک شیار حرکت خواهد کرد. لذا، تعداد پیگردهای مورد نیاز برای دستیابی به فایلهایی که تخصیص همجوار دارند، اندک است.

اسلاید 42: 42فصل دوازهم : پیاده سازی سیستم فایلتخصیص همجوار فایل توسط آدرس دیسک و طول اولین بلوک تعریف می شود. اگر طول فایل = n بلوک محل شروع = b آنگاه بلوکهای b,b+1,b+2,…,b+n-1 را اشغال خواهد کردورودی دایرکتوری برای هر فایل آدرس بلوک اول فایل و طول ناحیه ای را که به آن تخصیص یافته است مشخص می کند.

اسلاید 43: 43فصل دوازهم : پیاده سازی سیستم فایلفایلcounttrmaillistfشروع 0141928 6طول23642دایرکتوریتخصیص همجوار فضای دیسک013245678910111213141516171819202122232425262728293031countftrmaillist

اسلاید 44: 44فصل دوازهم : پیاده سازی سیستم فایلدستیابی به فایلی که بطور همجوار تخصیص یافته است آسان است. در دستیابی ترتیبی، سیستم فایل با استفاده از آدرس آخرین بلوکی که به آن مراجعه شده است، بلوک بعدی را می خواند. برای دستیابی مستقیم به بلوک i مربروط به فایلی که از بلوک b شروع می شود، می توانیم فورا به بلوک b+i دستیابی داشته باشد.یکی از مشکلات تخصیص همجوار، یافتن فضای کافی برای فایل جدید است.مسئله تخصیص فضای دیسک به صورت همجوار، به عنوان کاربرد خاصی از مسئله کلی تخصیص حافظه پویا است.

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

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

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

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

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

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

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

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

اسلاید 53: 53فصل دوازهم : پیاده سازی سیستم فایلتخصیص پیوندی فضای دیسک1625110-1013245678910111213141516171819202122232425262728293031فایلjeepشروع 9طول25دایرکتوری

اسلاید 54: 54فصل دوازهم : پیاده سازی سیستم فایلبرای ایجاد فایل جدید، ورودی جدیدی را در دایرکتوری قرار می دهیم. در تخصیص پیوندی ، هر ورودی دایرکتوری دارای اشاره گری به اولین بلوک فایل است. اگر این اشاره گر تهی باشد، نشان دهنده فایل خالی است.فیلد اندازه نیز برابر با صفر می شود. نوشتن در بلوک موجب می شود تا سیستم مدیریت فضای آزاد، بلوک آزادی را پیدا کند و در آن نوشته شود. این بلوک به انتهای فایل پیوند زده می شود. برای خواندن فایل، بلوکها را از طریق اشاره گرها دنبال می کنیم.

اسلاید 55: 55فصل دوازهم : پیاده سازی سیستم فایلدر تخصیص پیوندی تکه تکه شدن خارجی وجود ندارد و هر بلوک آزاد موجود در لیست فضای آزاد می تواند برای پاسخگویی به درخواست مورد استفاده قرار گیرد. توجه کنید که در این روش لازم نیست اندازه فایل در هنگام ایجاد فایل مشخص باشد. تا زمانی که بلوکهای آزاد موجود باشند، فایل می تواند توسعه یابد. علاوه براین، نیاز به فشرده سازی دیسک نیست.

اسلاید 56: 56فصل دوازهم : پیاده سازی سیستم فایلمعایب تخصیص پیوندی:در این روش می تواند برای فایلهایی با دستیابی ترتیبی به خوبی مورد استفاده قرار گیرد. برای یافتن i امین بلوک فایل، باید از ابتدای فایل شروع کرده، اشاره گر ها را دنبال کنیم تا به آن بلوک برسیم. هر دستیابی به اشاره گر مستلزم مراجعه به دیسک و گاهی پیگرد دیسک است. در نتیجه، پشتیبانی دستیابی مستقیم کارآمد نیست.عیب دیگر آن فضای مورد نیاز برای اشاره گرهاست.

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

اسلاید 58: 58فصل دوازهم : پیاده سازی سیستم فایلروش دوم:شکل دیگری از روش تخصیص پیوندی استفاده از جدول ایجاد فایل است.این روش ساده و کارآمد ، در سیستم عامل MS-DOS و OS/2 مورد استفاده قرار می گیرد.بخشی از دیسک در ابتدای هر پارتیشن برای نگهداری این جدول در نظر گرفته می شود. هر بلوک دیسک یک ورودی در این جدول دارد و جدول بر حسب شماره بلوک شاخص بندی شده است.

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

اسلاید 60: 60فصل دوازهم : پیاده سازی سیستم فایلجدول تخصیص فایلTest…217ورودی دایرکتورینامبلوک شروع618end-of-file339FAT0217339618 شماره بلوکهای دیسک-1

اسلاید 61: 61فصل دوازهم : پیاده سازی سیستم فایل3-4-12 تخصیص شاخص دارتخصیص پیوندی مسئله های تکه تکه شدن خارجی و اعلان اندازه فایل را در روش تخصیص همجوار حل می کند.در صورت عدم استفاده از FAT، تخصیص پیوندی دستیابی مستقیم را بطور کارآمد پشتیبانی نمی کند.، زیرا اشره گرهای بلوکها همراه خود بلوکها در سراسر دیسک پخش هستند و باید به ترتیب بازیابی شوند.

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

اسلاید 63: 63فصل دوازهم : پیاده سازی سیستم فایلتخصیص شاخص دار فضای دیسک013245789101112131416171819202122232425262728293031156916110251-1-1-19فایلjeepبلوک شاخص 19دایرکتوری

اسلاید 64: 64فصل دوازهم : پیاده سازی سیستم فایلوقتی فایلی ایجاد شد، تمامی اشاره گرهای موجود در بلوک شاخص برابر با تهی می شوند.برای نوشتن i امین بلوک، بلوکی از مدیر فضای آزاد گرفته می شود و آدرس آن در iامین ورودی بلوک شاخص نوشته می شود.تخصیص شاخص دار از دستیابی مستقیم پشتیبانی می کند و دچار تکه تکه شدن خارجی نمی شود.تخصیص شاخص دار فضای حافظه را به هدر نمی دهد.

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

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

اسلاید 67: 67فصل دوازهم : پیاده سازی سیستم فایلبرای دستیابی به بلوک ، سیستم با استفاده از شاخص سطح اول، بلوک شاخص دار را در سطح دوم می یابد و با استفاده از این بلوک نیز بلوک داده مطلوب را پیدا می کند.این روش می تواند بر حسب اندازه فایل از سطح سوم یا چهارم شاخص نیز استفاده کند.الگوی تر کیبی : روش دیگر این است که چند اشاره گر اول بلوک شاخص در بلوک شاخص فایل نگهداری شود. اسن روش در یونیکس BSDاستفاده می شود.توجه کنید که ورودی دایرکتوری به گره شاخص اشاره می کند.

اسلاید 68: 68فصل دوازهم : پیاده سازی سیستم فایلگره شاخص یونیکسحالتمالکین (2)مهرزمانی (3)اندازه بلوکشمارشبلوکهای مستقیمغیرمستقیم منفردغیرمستقیم دوگانهغیرمستقیم سه گانهدادهدادهدادهدادهدادهدادهدادهدادهدادهداده..................

اسلاید 69: 69فصل دوازهم : پیاده سازی سیستم فایل4-4-12 کاراییروشهای تخصیصی که مورد بحث قرار گرفتند از نظر کارایی حافظه و زمان دستیابی به بلوک داده ها با هم فرق می کنند . این عوامل، معیارهای مهمی در انتخاب روش مناسبی برای پیاده سازی سیستم عامل می باشند. یکی از مشکلات مقایسه کارایی سیستمهای مختلف تعیین چگونگی استفاده از سیستم است. روشی که سیستم با دستیابی ترتیبی بکار می گیرد متفاوت از روشی است که سیستمی با دستیابی تصادفی بکار می گیرد. برای هرنوع دستیابی ، تخصیص همجوار برای رسیدن به یک بلوک داده، به یک دستیابی نیاز دارد.

اسلاید 70: 70فصل دوازهم : پیاده سازی سیستم فایلدر تخصیص پیوندی ، آدرس بلوک بعدی را در حافظه نگه می داریم و آن را مستقیما می خوانیم. این روش برای دستیابی ترتیبی مفید استاما در دستیابی مستقیم، برای دستیابی به بلوک iام، باید i بار عمل خواندن از دیسک انجام شود.بعضی از سیستمها برای پشتیبانی از دستیابی مستقیم از تخصیص همجوار و برای پشتیبانی از دستیابی ترتیبی از تخصیص پیوندی استفاده می کنند. در این سیستمها ، نوع دستیابی باید هنگام ایجاد فایل مشخص شود.

اسلاید 71: 71فصل دوازهم : پیاده سازی سیستم فایل فایلی که با دستیابی ترتیبی ایجاد شد نمی تواند برای دستیابی مستقیم بکار گرفته شود. فایلی که با دستیابی مستقیم ایجاد شد می تواند برای دستیابی ترتیبی و مستقیم بکار گرفته شود.برای تبدیل یک نوع فایل به نوع دیگر، باید از فایل موجود، فایل جدیدی با نوع جدید ایجاد شود.

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

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

اسلاید 74: 74فصل دوازهم : پیاده سازی سیستم فایلپیاده سازی سیستم فایلساختار سیستم فایلپیاده سازی سیستم فایلپیاده سازی دایرکتوریروشهای تخصیص فضا به فایلمدیریت فضای آزاداثر بخشی و کارآییترمیمسیستم فایل براساس ساختار سابقهNFSبردار بیتیلیست پیوندیگروه بندیشمارش

اسلاید 75: 75فصل دوازهم : پیاده سازی سیستم فایل5-12-مديريت فضاي آزادچون فضاي ديسك محدود است. لازم است از فضاي مربوط به فايلهاي حذف شده، براي فايلهاي جديد استفاده گردد.در ديسكهاي نوري كه يك بار قابل نوشتن هستند استفاده مجدد از فضا ممكن نيست .براي نگهداري فضاي آزاد ديسك، سيستم از ليست فضاي آزاد استفاده مي كند. ليست فضاي آزاد،‌همه ي بلوكهاي آزاد ديسك را نگهداري مي كند.

اسلاید 76: 76فصل دوازهم : پیاده سازی سیستم فایلبراي ايجاد فايل اين ليست را جستجو مي كنيم تا فضاي مورد نياز را بيابيم و آن را تخصيص دهيم. اين فضا از ليست فضاي آزاد حذف مي گردد. وقتي فايلي حذف شد،‌فضاي ديسك آن به ليست فضاي آزاد بر مي گردد. ليست فضاي آزاد، برخلاف نامش ممكن است به صورت ليست پيام سازي نشود. 1-5-12-برداربيتياغلب، ليست فضاي آزاد به صورت بيتي يا بردار بيتي پياده سازي مي شود هر بلوط توسط يك بيت نمايش داده مي شود اگر بلوك آزاد باشد آن بيت برابر با يك وگرنه صفر است.

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

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

اسلاید 79: 79فصل دوازهم : پیاده سازی سیستم فایللیست آزاد روی دیسک به صورت پیوندی013245678910111213141516171819202122232425262728293031راس لیست فضای آزاد

اسلاید 80: 80فصل دوازهم : پیاده سازی سیستم فایلاين الگو كارآمد نيست زيرا براي پيمايش ليست بايد هر بلوك را بخوانيم و اين كار مستلزم وقت زيادي براي I/O است خوشبختانه پيمايش ليست آزاد چندان تكرار نمي شود. سيستم عامل بلوك آزاد را به فايلي تخصيص مي دهد زيرا اولين بلوك ليست مورد استفاده قرار مي گيرد. 3-5-12-گروه بنديشكل ديگري از ليست فضاي آزاد اين است كه آدرس n بلوك آزاد در اولين بلوك آزاد قرار داده شود. بدين ترتيب n-1 بلوك اول آزاد است. آخرين بلوك حاوي آدرس n بلوك آزاد بعدي است و اين روند ادامه مي يابد. اهميت اين پياده سازي اين است كه آدرس تعداد زيادي از بلوكهاي آزاد سريعاً پيدا مي شود.

اسلاید 81: 81فصل دوازهم : پیاده سازی سیستم فایل4-5-12-شمارش روش ديگر اين است كه چند بلوك همجوار ممكن است به طور همزمان تخصيص يابند يا آزاد شوند. بخصوص در حالتي كه فضا از طريق الگوريتم تخصيص همجوار يا كلاسترها تخصيص مي يابند،اين موضوع مشهود است. بنابراين به جاي نگهداري ليستي از n آدرس بلوك ديسك، مي توانيم آدرس اولين بلوك آزاد و تعداد بلوكهاي آزاد همجوار بعد از اولين بلوك (n) را نگهداري كنيم.

اسلاید 82: 82فصل دوازهم : پیاده سازی سیستم فایلپیاده سازی سیستم فایلساختار سیستم فایلپیاده سازی سیستم فایلپیاده سازی دایرکتوریروشهای تخصیص فضا به فایلمدیریت فضای آزاداثر بخشی و کارآییترمیمسیستم فایل براساس ساختار سابقهNFSاثر بخشیکارآیی

اسلاید 83: 83فصل دوازهم : پیاده سازی سیستم فایل6-12-اثر بخشي و كارايي ديسكها تنگناهاي زيادي را براي كارايي سيستم ايجاد مي كنند زيرا كندترين قطعه كامپيوتر هستند. 1-6-12-اثر بخشياستفاده كارآمد از فضاي ديسك به الگوريتمهاي تخصيص ديسك و دايركتوري بستگي دارد. به عنوان مثال گرههاي شاخص يونيكس از قبل به يك پارتيشن تخصيص مي يابند. با تخصيص زودرس گرههاي شاخص و پخش كردن آنها در پارتيشن كارايي سيستم فايل افزايش مي يابد.

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

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

اسلاید 86: 86فصل دوازهم : پیاده سازی سیستم فایلمدل XT اي . بي . ام از ديسك سخت 10 مگابايتي استفاده مي كرد و سيستم عامل MS-DOS بر روي آن موجود بود كه فقط تا 32 مگابايت را پشتيباني مي كرد وقتي ديسك سختي با ظرفيت 100 مگابايت متداول شد ساختمان داده هاي ديسك و الگوريتمهاي MS-DOS بايستي تغيير كنند تا سيستمهاي عامل بزرگتري ايجاد شوند. 2-6-12-كاراييپس از انتخاب روشهاي اصلي ديسك راههاي ديگري نيز براي بهبود كارايي وجود دارد. اغلب كنترل كننده هاي ديسك شامل حافظه هاي محلي اند كه به عنوان حافظه پنهان عمل مي كنند و اندازه آنها به حدي است كه كل شيارها را نگهداري مي كنند

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

اسلاید 88: 88فصل دوازهم : پیاده سازی سیستم فایلحافظه پنهان صفحه با استفاده از تكنيكهاي حافظه مجازي داده ها را به عنوان صفحات ذخيره مي كنند نه به عنوان بلوكهاي مبتني بر سيستم قرار دادن فايل داده ها در حافظه پنهان با استفاده از آدرسهاي مجازي كارآمدتر از بلوكهاي ديسك مغناطيسي است. بعضي از سيستمها از جمله سولاريس، نسخه هاي جديد لينوكس، و ويندوز NT و 2000 از حافظه پنهان صفحه براي فايل داده استفاده مي كنند. اين عمل را حافظه مجازي يكنواخت مي گويند.

اسلاید 89: 89فصل دوازهم : پیاده سازی سیستم فایلبعضي از نسخه هاي يونيكس از حافظه پنهان ميانگير يكنواخت استفاده مي كنند. دو روش باز كردن و دستيابي به فایل وجود دارد :استفاده از نگاشت حافظه استفاده از فراخوان سيستم استاندارد read و write بدون استفاده از حافظه پنهان ميانگير، فراخوانهاي سيستم read و write از طريق حافظه پنهان ميانگير انجام مي شود.

اسلاید 90: 90فصل دوازهم : پیاده سازی سیستم فایلI/O بدون حافظه پنهان میانگیر یکنواختI/O نگاشت حافظه I/O با استفاده از read() و write()حافظه پنهان صفحهحافظه پنهان میانگیرسیستم فایل

اسلاید 91: 91فصل دوازهم : پیاده سازی سیستم فایلفراخوان نگاشت حافظه از دو حافظه پنهان استفاده مي كند: حافظه پنهان صفحه حافظه پنهان ميانگير در نگاشت حافظه بلوكهاي ديسك از سيستم فايل خوانده شده در حافظه پنهان ميانگير ذخيره مي شوند. چون سيستم حافظه مجازي نمي تواند با حافظه پنهان ميانگير ارتباط برقرار كند، محتويات فايل در حافظه پنهان ميانگير بايد در حافظه صفحه كپي شود. اين وضعيت، حافظه پنهان مضاعف ناميده مي شود و لازم است داده هاي سيستم فايل دوبار در حافظه پنهان قرار گيرند.

اسلاید 92: 92فصل دوازهم : پیاده سازی سیستم فایل ناسازگاريهاي بين اين دو حافظه پنهان منجر به خرابي فايل مي شوند. با ارائه حافظه پنهان ميانگير يكنواخت، نگاشت حافظه و فراخوانهاي سيستم read و write از يك حافظه پنهان صفحه استفاده مي كنند.

اسلاید 93: 93فصل دوازهم : پیاده سازی سیستم فایلI/O با استفاده از حافظه پنهان میانگیر یکنواختI/O نگاشت حافظه I/O با استفاده از read() و write()حافظه پنهان میانگیرسیستم فایل

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

اسلاید 95: 95فصل دوازهم : پیاده سازی سیستم فایل سولاريس 8 حد ثابتي را بين صفحات فرايند و حافظه پنهان صفحه مربوط به سيستم فايل در نظر مي گيردو در نتيجه با كمبود حافظه موجه نمي شود. حافظه پنهان صفحه، سيستم فايل و گرداننده هاي ديسك تعاملهاي جالبي دارند. وقتي داده ها در فايل ديسك نوشته شدند صفحات در حافظه پنهان ذخيره مي شوند و گرداننده ديسك صف خروجي خود را بر حسب آدرس ديسك مرتب مي كند. اين دو عمل به گرداننده ديسك اجازه مي دهد تا پيگردهاي هد ديسك كم شود و داده ها طوري نوشته شوند كه براي چرخش ديسك بهينه شده باشند.

اسلاید 96: 96فصل دوازهم : پیاده سازی سیستم فایلنوشتن هاي همگام به ترتيبي انجام مي شود كه زير سيستم ديسك آنها را دريافت مي كند و نوشتن ها در ميانگير قرار نمي گيرند. بنابراين، روال فراخوان بايد منتظر بماند تا ده ها از ديسك خوانده شود و سپس پردازش خود را شروع كند. اغلب نوشتن ها به صورت نوشتن ناهمگام انجام مي شوند در نوشتن ناهمگان داده ها در حافظه پنهان ذخيره مي شود و كنترل به فراخوان بر مي گردد. دستيابي ترتيبي مي تواند با تكنيكي به نام آزاد سازي ديررس يا خواندن زودرس بهبود يابد.

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

اسلاید 98: 98فصل دوازهم : پیاده سازی سیستم فایلدر PC ها، روش ديگري براي استفاده از حافظه اصلي جهت بهبود كارايي وجود دارد؛ بخشي از حافظه كنار گذاشته مي شود و به عنوان ديسك مجازي اي (ديسك RAM) مورد استفاده قرار مي گيرد متأسفانه ديسكهاي RAM فقط براي ذخيره موقت مفيد هستند معمولاً فايلهاي موقتي مثل فايلهاي مياني كامپايلر در آن ذخيره مي شوند. تفاوت بين ديسك RAM و حافظه پنهان ديسك اين است كه :محتويات ديسك RAM تحت كنترل كاربر است در حالي كه محتويات حافظه پنهان ديسك تحت كنترل سيستم عامل است.

اسلاید 99: 99فصل دوازهم : پیاده سازی سیستم فایلمحلهای مختلف حافظه پنهان دیسکدیسک RAMجدول فایل بازمیانگیر بلوکحافظه اصلیدیسککنترل کنندهCPUمیانگیر شیار

اسلاید 100: 100فصل دوازهم : پیاده سازی سیستم فایلپیاده سازی سیستم فایلساختار سیستم فایلپیاده سازی سیستم فایلپیاده سازی دایرکتوریروشهای تخصیص فضا به فایلمدیریت فضای آزاداثر بخشی و کارآییترمیمسیستم فایل براساس ساختار سابقهNFSبررسی سازگاری داده ها تهیه پشتیبان و بازیابی

اسلاید 101: 101فصل دوازهم : پیاده سازی سیستم فایل7-12-ترميم چون فايلها و دايركتوري ها در حافظه و ديسك ذخيره مي شوند بايد تضمين شود كه خرابي سيتسم به داده ها يا سازگاري داده ها آسيب نرساند. 1-7-12-بررسي سازگاري داده هابخشي از اطلاعات دايركتوري در حافظه (پنهان) نگهداري مي شود تا سرعت دستيابي افزايش يابد. اطلاعات دايركتوري موجود در حافظه نسبت به اطلاعات دايركتوري كه در ديسك ذخيره شده است جديدتر است.

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

اسلاید 103: 103فصل دوازهم : پیاده سازی سیستم فایل2-7-12-تهيه پشتيبان و بازيابيچون ديسكهاي مغناطيسي در معرض خراب شدن هستند بايد مواظب بود كه داده ها از بين نروند. براي اين منظور از داده هاي ديسك روي دستگاه حافظه ديگري مثل ديسكت، نوار مغناطيسي يا ديسك نوري پشتيبان تهيه مي شود. پس از خرابي فايل يا ديسك اين اطلاعات بازيابي مي شود. براي جلوگيري از كپي كردن زياد مي توانيم از اطلاعات مربوط به هر ورودي فايل استفاده كنيم.

اسلاید 104: 104فصل دوازهم : پیاده سازی سیستم فایلپیاده سازی سیستم فایلساختار سیستم فایلپیاده سازی سیستم فایلپیاده سازی دایرکتوریروشهای تخصیص فضا به فایلمدیریت فضای آزاداثر بخشی و کارآییترمیمسیستم فایل براساس ساختار سابقهNFS

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

اسلاید 106: 106فصل دوازهم : پیاده سازی سیستم فایلدر ساختمان داده هاي سيستم فايل روي ديسك، مثل ساختار دايركتوري، اشاره گرهاي بلوك آزاد اشاره گرهاي FCB آزاد ممكن است در اثر خرابي سيستم به حالت ناسازگاري بروند عملي مثل ايجاد فايل ممكن است شامل تغييرات ساختاري زيادي در سيستم فايل موجود در ديسك باشد. ساختار دايركتوري اصلاح مي شود FCB ها تخصيص مي يابند بلوكهاي داده تخصيص مي يابند شمارنده تعداد بلوكهاي آزاد كاهش مي يابند اين تغييرات ممكن است در اثر خرابي دچار وقفه شوند و نتيجه اش اين است كه ساختارها ناسازگار خواهند بود.

اسلاید 107: 107فصل دوازهم : پیاده سازی سیستم فایلپیاده سازی سیستم فایلساختار سیستم فایلپیاده سازی سیستم فایلپیاده سازی دایرکتوریروشهای تخصیص فضا به فایلمدیریت فضای آزاداثر بخشی و کارآییترمیمسیستم فایل براساس ساختار سابقهNFSمرور کلیپروتکل سوار کردنپروتکل NFSترجمه نام مسیر عملیات راه دور

اسلاید 108: 108فصل دوازهم : پیاده سازی سیستم فایل9-12NFS NFS يك سيستم فايل شبكه است كه كاربرد وسيعي دارد و شبكه مشتري- كارگزار را به خوبي پياده سازي مي كند. NFS ، پياد سازي ومشخصت مربوط به يك سيستم نرم افزاري براي دستيابي به فايلهاي راه دور از طريق LAN(يا حتي WAN) است. 1-9-12-مرور كليNFS ، مجوعه اي از ايستگاههاي كاري متصل به هم را به صورت مجموعه اي از ماشينهاي مستقل در نظر مي گيرد كه سيستمهاي فايل آنها مستقل از هم است.

اسلاید 109: 109فصل دوازهم : پیاده سازی سیستم فایلهدف اين است كه درجه اي از اشتراك بين اين سيستمهاي فايل وجود داشته باشد. اشتراك براساس رابطه مشتري – كارگزار صورت مي گيرد. اشتراك بين هر جفت از ماشينها امكان پذير است. براي حصول اطمينان از اين كه ماشينها مستقل هستند اشتراك سيستم فايل راه دور فقط برماشين مشتري موثر است نه ماشين ديگر.

اسلاید 110: 110فصل دوازهم : پیاده سازی سیستم فایليك دايركتوري راه دور در يك دايركتوري از سيستم فايل محلي سوار مي شود وقتي عمليات سواركردن كامل شد،‌ دايركتوري سوار شده مثل يك زير درخت كامل از سيستم فايل محلي است كه به جاي جانشين زير درخت دايركتوري محلي قرار مي گيرد دايركتوري محلي به عنوان نام ريشه دايركتوري محلي قرار مي گيرد دايركتوري محلي به عنوان نام ريشه دايركتوريي محسوب مي شود كه اكنون سوار شده است.

اسلاید 111: 111فصل دوازهم : پیاده سازی سیستم فایلسه سیستم فایل مستقلlocalusrLI:sharedusrS1:dir1usrS2:dir2

اسلاید 112: 112فصل دوازهم : پیاده سازی سیستم فایلبا توجه به اعتبار مجوزهاي دستيابي، هر سيستم فايل يا هر دايركتوري در سيستم فايل را مي توان از راه دور بر روي دايركتوري محلي سوار كرد. در بعضي از پياده سازيهاي NFS سوار كردن مي تواند به صورت آبشاري باشد.

اسلاید 113: 113فصل دوازهم : پیاده سازی سیستم فایلسوار کردن در NFSdir1localusrLI:dir1localusrLI:عملیات سوار کردنسوار کردنهای آبشاری

اسلاید 114: 114فصل دوازهم : پیاده سازی سیستم فایل2-9-12-پروتكل سوار كردنپروتكل سواركردن اتصال منطقي اوليه را بين كارگزار و مشتري برقرار مي كند. در پياده سازي سان، هر ماشين يك فرايند كارگزار در خارج از هسته دارد كه وظايف پروتكل را انجام مي دهد. RPC : بلوكهاي سازنده اي هستند كه براي پياده سازي دستيابي فايل راه دور موجود استفاده قرار گرفتند.

اسلاید 115: 115فصل دوازهم : پیاده سازی سیستم فایلعمليات سوار كردن شامل نام دایركتوري راه دوري است كه بايد سوار شود و نام ماشين كارگزاري است كه بايد آن را ذخيره كند. در خواست سوار كردن به RPC متناظر نگاشت مي شود و به كارگزار سواركننده اي ارسال مي شود اين كارگزار يك ليست صادراتي را نگهداري مي كند كه سيستمهاي فايل محلي را مشخص مي نمايد همراه اين ليست، اسامي ماشينهايي مشخص مي شوند كه اجازه سوار كردن آنها را دارند. اين مشخصات مي تواند شامل مجوزهاي دستيابي مثل فقط خواندني باشد.

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

اسلاید 117: 117فصل دوازهم : پیاده سازی سیستم فایل3-9-12-پروتكل NFSپروتكل مجموعه اي از RPC را براي عمليات فايل راه دور فراهم مي كند. اين رويه ها از عمليات زير پشتيباني مي كنند:-جستجوي فايل در داخل يك دايركتوري-خواندن مجموعه اي از وروديهاي دايركتوري-دستكاري پيوندها و دايركتوريها-دستيابي به صفات فايل-خواندن و نوشتن فايلها

اسلاید 118: 118فصل دوازهم : پیاده سازی سیستم فایلاين رويه ها وقتي مي توانند فراخواني شوند كه دستگيره فايل براي دايركتوريي كه از راه دور سوار شده است. ايجاد شود حذف عمليات Open و close عمدي است. ويژگي مهم خدمات NFS اين است كه بي هويت هستند كارگزاران راجع به مشتريان خود را از يك دستيابي به دستيابي ديگر، اطلاعاتي را ذخيره نمي كنند هر درخواست بايد مجموعه كاملي از آرگومانها را از جمله شناسه منحصر بفرد فايل و آفست مطلق در فايل براي عمليات مناسب تعيين كند.

اسلاید 119: 119فصل دوازهم : پیاده سازی سیستم فایلهر درخواست NFS داراي يك شماره دنباله است كه به كاربر اجازه مي دهد تا تعيين كند كه آيا درخواستي تكرار شده است يا درخواستي از بين رفته است.تضمين مي شود كه فراخواني رويه براي نوشتن NFS اتمي است و با ساير فراخوانهاي نوشتن براي همان فايل، مخلوط نمي شود. اما پروتكل NFS راهكارهاي كنترل همزمان را تدارك نمي بيند.فراخوان سيستم write ممكن است به چند نوشتن RPC تبديل شود. خدمات خراج از NES بايد عمل قفل كردن را تدارك ببيند به كاربران توصيه مي شود كه دستيابي به فايلهاي مشترك را با استفاده از راهكارهايي در خارج از حوزه NES هماهنگ كنند.

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

اسلاید 121: 121فصل دوازهم : پیاده سازی سیستم فایلدیدگاه معنایی نسبت به معماری NFSواسط فراخوانهای سیستمواسط VFSانواع دیگری از سیستمهای فایلسیستم فایل یونیکسمشتری NFSواسط VFSکارگزار NFSسیستم فایل یونیکسRPC/XDRRPC/XDRشبکهدیسکدیسککارگزارمشتری

اسلاید 122: 122فصل دوازهم : پیاده سازی سیستم فایل4-9-12-ترجمه نام مسيرترجمه نام مسير به اين صورت انجام مي گيرد كه مسير به اسامي مولفه ها تبديل مي گردد و براي هر جفت از نام مولفه و دايركتوري vnode يك فراخوان lookup مربوط به NES انجام مي گيرد. با رسيدن به نقطعه سوار كردن،‌هر جستجوي مولفه منجر به RPC جداگانه اي مي شود. اين الگوي ترجمه نام مسير، گران است، ولي ضروري است. اگر با رسيدن به نقطه سوار كردن، نام مسير به كارگزار تحويل شود و vnode مقصد بازيابي گردد كارآمدتر است.

اسلاید 123: 123فصل دوازهم : پیاده سازی سیستم فایل5-9-12-عمليات راه دوربه استثناي باز كردن و بستن فايل، بين فراخوانهاي سيستم يونيكس براي عمليات فايل و RPC هاي پروتكل NFS تقريباً يك تناظر يك به يك وجود دارد. بنابراين يك عميات فايل راه دور مي تواند مستقيماً به RPC متناظر ترجمه شود. دو حافظه پنهان وجود دارد: حافظه پنهان صفت فايل (اطلاعات گره شاخص) حافظه پنهان بلوكهاي فايل

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

اسلاید 125: 125فصل سیزدهمسیستم های I/Oتعداد اسلاید فصل سیزدهم 88

اسلاید 126: 126فصل سیزدهم : پیاده سازی سیستم فایل126سیستم های I/Oمرور کلیسخت افزار I/Oواسط I/O برنامه کاربردیروشهای تخصیص فضا به فایلزیر سیستم I/O هستهتبدیل درخواست های I/O به عملیات سخت افزاریمجرا هاکارآیی

اسلاید 127: 127فصل سیزدهم : پیاده سازی سیستم فایلسیستم های I/Oمرور کلیسخت افزار I/Oواسط I/O برنامه کاربردیروشهای تخصیص فضا به فایلزیر سیستم I/O هستهتبدیل درخواست های I/O به عملیات سخت افزاریمجرا هاکارآیی

اسلاید 128: 128فصل سیزدهم : پیاده سازی سیستم فایلدو کار اصلی کامپیوتر عبارتند از I/O و پردازش. در اغلب موارد کار اصلی کامپیوتر I/O است و پردازش کمتر مورد توجه است. نقش سیستم عامل در I/O ، مدیریت و کنترل عملیات و دستگاههای I/O است.1-13 مرور کلی چون دستگاههای I/O از نظر عملکرد و سرعت متنوع اند ( ماوس ، دیسک سخت و CD-ROM ) ، برای کنترل آنها از روش های متعددی استفاده می شود.این روش ها ، زیر سیستم I/O مربوط به هسته را تشکیل می دهند که تعبیه هسته را از پیچیدگی مدیریت بر دستگاههای I/O تفکیک می کند.

اسلاید 129: 129فصل سیزدهم : پیاده سازی سیستم فایلنظر سنجیوقفه هادستیابی حافظه مستقیمسیستم های I/Oمرور کلیسخت افزار I/Oواسط I/O برنامه کاربردیروشهای تخصیص فضا به فایلزیر سیستم I/O هستهتبدیل درخواست های I/O به عملیات سخت افزاریمجرا هاکارآیی

اسلاید 130: 130فصل سیزدهم : پیاده سازی سیستم فایل2-13 سخت افزار I/Oکامپیوترها از دستگاههای متنوعی استفاده می کنند . مثل دستگاههای حافظه ( دیسک ها و نوارها ) ، دستگاههای انتقال ( کارت های شبکه) و دستگاههای واسط انسان ها ( صفحه نمایش ، صفحه کلید و ماوس ).علی رغم تنوع دستگاههای I/O که می توانند در کامپیوتر مورد استفاده قرار گیرند ، باید بدانیم که دستگاهها چگونه به کامپیوتر متصل می شوند و نرم افزار چگونه سخت افزار را کنترل می کند.

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

اسلاید 132: 132فصل سیزدهم : پیاده سازی سیستم فایلنمونه ای از ساختار گذرگاه PCمانیتورکنترل کننده حافظه/پلکنترل کننده گرافیکپردازندهحافظه پنهانحافظهکنترل کننده SCSIپورت سریپورت موازیصفحه کلیدواحد گذرگاه توسعهکنترل کننده دیسک IDEدیسکدیسکدیسکدیسکدیسکدیسکدیسکدیسکگذرگاه PCIگذرکاه توسعهگذرگاه SCSI

اسلاید 133: 133فصل سیزدهم : پیاده سازی سیستم فایلاین شکل یک PCI را نشان می دهد که زیرسیستم حافظه – پردازنده را به دستگاههای سریع اتصال می دهد و یک گذرگاه توسعه را نشان می دهد که دستگاههای نسبتا کند مثل صفحه کلید و پورت های سری و موازی را اتصال می دهد. در سمت راست و بالای شکل ، چهار دیسک در گذرگاه SCSI به هم متصل شده اندکه این گذرگاه به کنترل کننده SCSI معروف است.کنترل کننده : مجموعه ای از قطعات الکترونیکی است که می توانند به روی پورت ، گذرگاه ، یا دستگاه عمل کند.

اسلاید 134: 134فصل سیزدهم : پیاده سازی سیستم فایلکنترل کننده ی پورت سری : نمونه ای از کنترل کننده دستگاه ساده است ، این کنترل کننده تراشه ای (Chip) که سیگنال های موجود در سیستم های یک پورت سری را کنترل می کند.پردازنده چگونه فرمان ها و داده ها را به کنترل کننده بدهد تا انتقال I/O را انجام دهد :کنترل کننده یک یا چند ثبات برای داده ها و سیگنال های کنترلی دارد. پردازنده از طریق خواندن و نوشتن بیت هایی این ثبات ها ، با کنترل کننده ارتباط برقرار می کند. یک روش برقراری این ارتباط ، استفاده از دستورات I/O خاصی است که انتقال بایت کلمه را به آدرس پورت I/O مشخص می کند.

اسلاید 135: 135فصل سیزدهم : پیاده سازی سیستم فایلمحلهای پورت I/O دستگاه در PCهابازه آدرس I/O (هگزادسیمال)دستگاه000-00Fکنترل کننده DMA020-021کنترل کننده وقفه040-043تایمر200-20Fکنترل کننده بازی2F8-2FFپورت سری (ثانویه)320-32Fکنترل کننده دیسک سخت378-37Fپورت موازی3D0-3DFکنترل کننده گرافیکی3F0-3F7کنترل کننده گرداننده دیسکت3F8-3FFپورت سری (اولیه)

اسلاید 136: 136فصل سیزدهم : پیاده سازی سیستم فایلپورت I/O معمولا از چهار ثبات به نام های وضعیت ، کنترلی ، ورودی و خروجی تشکیل شده است :ثبات وضعیت : حاوی بیت هایی است که میزبان ( کامپیوتری که پورت I/O به آن وصل است ) می تواند آنرا بخواند که این بیت ها حالت هایی را نشان می دهند.ثبات کنترل : توسط میزبان نوشته می شود تا فرمانی را شروع کند یا حالت دستگاه را تغییر دهد.ثبات ورودی : توسط میزبان خوانده می شود و میزبان در ثبات خروجی می نویسدثبات های داده 1 تا 4 بایت هستند.ثبات خروجی : توسط میزبان نوشته می شود.

اسلاید 137: 137فصل سیزدهم : پیاده سازی سیستم فایل1-2-13 نظرسنجیپروتکل کامل برای تعامل بین میزبان و کنترل کننده می تواند پیچیده باشد ، اما ایده ی دست دادن (Hand shaking) ساده است.کنترل کننده حالت خود را از طریق بیت اشغال وضعیت اعلام می کندبیت اشغال 1 : کنترل کننده در حال انجام کاری است.بیت اشغال 0 : کنترل کننده آماده دریافت فرمان بعدی است.میزبان خواسته هایش را زا طریق بیت آمادگی فرمان اعلان می دارد. وقتی کنترل کننده فرمانی را برای اجرا داشته باشد ، بیت آمادگی فرمان را یک می کند.

اسلاید 138: 138فصل سیزدهم : پیاده سازی سیستم فایلمثال : فرض می کنیم برای هماهنگی رابطه تولید کننده – مصرف کننده بین کنترل کننده و میزبان ، از 2 بیت استفاده می شود ؛ برای این مثال ، میزبان خروجی را از طریق یک پورت می نویسد و برای این منظور ، از طریق دست دادن که به صورت زیر انجام می شود ، با کنترل کننده هماهنگ می شود :میزبان دائما بیت اشغال را می خواند تا زمانی که این بیت 0 شود.میزبان بیت نوشتن را در ثبات فرمان 1 می کند و یک بایت را در ثبات ورودی می نویسد.میزبان بیت آمادگی فرمان را 1 می کند.

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

اسلاید 140: 140فصل سیزدهم : پیاده سازی سیستم فایل2-2-13 وقفه ها روش کار وقفه به این صورت است :سخت افزار CPU سیمی به نام خط درخواست وقفه دارد که CPU پس از اجرای هر دستور آن را حس می کند.اگر CPU پی ببرد که کنترل کننده ای سیگنالی را در خط درخواست وقفه قرار داده است ، CPU حالت فعلی ، مثل مقدار اشاره گر دستور را ذخیره می کند و به روال وقفه می رود.

اسلاید 141: 141فصل سیزدهم : پیاده سازی سیستم فایلروال وقفه علت وقوع وقفه را تعیین می کند ، پردازش لازم را انجام می دهد و دستور برگشت از وقفه را اجرا می نماید تا CPU به حالت قبلی برود و اجرای دستوری را که دچار وقفه شده است ادامه دهد.می گوییم کنترل کننده دستگاه با قرار دادن سیگنالی در خط درخواست وقفه ، وقفه را ایجاد می کند ، CPU وقفه را می گیرد و به روال وقفه می فرستد و روال وقفه به آن خدمات می دهد و وقفه را از بین می برد.در شکل صفحه بعد چرخه I/O مبتنی بر وقفه را نشان می دهد.

اسلاید 142: 142فصل سیزدهم : پیاده سازی سیستم فایلچرخه I/O مبتنی بر وقفهCPUگرداننده دستگاه I/O را شروع می کندCPU وظیفه به تاخیر افتاده را از سر می گیردروال وقفه داده ها را پردازش می کند و از وقفه برمی گرددCPU وقفه را دریافت می کند و کنترل را به روال وقفه منتقل می کندآمادگی ورودی، کامل شدن خروجی یا خطاتولید سیگنال وقفهشروع I/Oکنترل کننده I/Oاجرای CPU برای بررسی وقفه ها بین دستورات1234567

اسلاید 143: 143فصل سیزدهم : پیاده سازی سیستم فایلنکته : این راهکار وقفه ، CPU را قادر می سازد تا به رویداد ناهمگام ، مثل آماده شدن یک دستگاه برای خدمات پاسخ دهد.اغلب CPUها دو خط درخواست وقفه دارند ؛وقفه پوشش ناپذیر (Nonmaskable) : برای رویداد هایی مثل خطاهای کشف نشدنی حافظه ی رزرو شده است.وقفه پوشش پذیر (Maskable) : CPU می تواند آنها را به تاخیر اندازد و دنباله ای از دستورات مهم را اجرا نماید.

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

اسلاید 145: 145فصل سیزدهم : پیاده سازی سیستم فایلمرحله دوم : این است که I/O دیگری که از آن گرداننده دیسک به تعویق افتاده است ، اجرا شود. این مرحله اولویت بالاتری دارد. برای اینکه دیسک بطور کارآمد مورد استفاده قرار گیرد ، لازم است بلافاصله پس از کامل شدن یک عمل I/O بعدی شروع شود.تذکر : وقفه در سیستم های عامل مدرن رویدادهای ناهمگام را پردازش می کنند و تله ای را به روال های حالت ناظر در هسته می فرستد.

اسلاید 146: 146فصل سیزدهم : پیاده سازی سیستم فایل3-2-13 دستیابی حافظه مستقیمبرای دستگاههایی مثل گرداننده ی دیسک که انتقال داده ها در آن زیاد است ، استفاده از پردازنده همه ی منظوره گران ، برای مشاهده بیت های وضعیت و واکشی داده ها در ثبات کنترل کننده ی دستگاه ، که در اصطلاح فرآیند ، I/O برنامه نویسی شده (PIC) نام دارد ، معقول نیست.بسیاری از کامپیوتر ها بعضی از این کارها را به پردازنده ی خاصی به نام کنترل کننده ی دستیابی حافظه ی مستقیم (Direct Virtual Memory Access -DMA) واگذار می کنند تا از مسئولیت پردازنده اصلی کاسته شود.

اسلاید 147: 147فصل سیزدهم : پیاده سازی سیستم فایلانتقال DMA : برای شروع انتقال DMA ؛میزبان یک بلوک فرمان DMA را در حافظه می نویسد این بلوک حاوی اشاره گری به منبع انتقال ، اشاره گری به مقصد انتقال ، و تعداد بایت هایی است که باید انتقال یابد.CPU آدرس این بلوک فرمان را در کنترل کننده DMA می نویسد و سپس به کار دیگری می پردازد.کنترل کننده DMA مستقیما بروی گذرگاه حافظه عمل کند ؛ برای این کار آدرس ها را در گذرگاه قرار می دهد تا بدون نیاز به کمک CPU اصلی ، انتقال را انجام دهد.یک کنترل کننده ی DMA ساده ، قطعه استانداردی در PC است و بردهای I/O معمولا حاوی سخت افزار DMA هستند.

اسلاید 148: 148فصل سیزدهم : پیاده سازی سیستم فایلمراحل انتقال DMACPUحافظه پنهانگذرگاه حافظه CPUحافظهXمیانگیرکنترل کننده وقفه /DMA/ گذرگاهگذرگاه PCIکنترل کننده دیسک IDEدیسکدیسکدیسکدیسک1. به کنترل کننده دستگاه دستور داده می شود داده های دیسک را به میانگیری در محل X انتقال دهد2. گرداننده دستگاه به کنترل گننده دیسک دستور می دهد C بایت را از دیسک به میانگیری در آدرس X انتقال دهد.6. وقتی C=0 است DMA وقفه ای را به CPU می فرستد تا کامل شدن عمل انتقال را خبر دهد.5. کنترل کننده DMA بایتها را به میانگیری X میفرستد، آدرس حافظه افزایش می یابد و از C می کاهد تا به صفر برسد.4. کنترل کننده دیسک هر بایت را به کنترل کننده DMA میفرستد.3. کنترل کننده دیسک انتقال DMA را شروع میکند.

اسلاید 149: 149فصل سیزدهم : پیاده سازی سیستم فایلسیستم های I/Oمرور کلیسخت افزار I/Oواسط I/O برنامه کاربردیروشهای تخصیص فضا به فایلزیر سیستم I/O هستهتبدیل درخواست های I/O به عملیات سخت افزاریمجرا هاکارآییدستگاه های کاراکتری و بلوکیدستگاه های شبکهساعت و تایمرI/O با انسداد و بدون انسداد

اسلاید 150: 150فصل سیزدهم : پیاده سازی سیستم فایل3-13 واسط I/O برنامه کاربردیدر این بخش به سازماندهی تکنیکها و واسط ها برای سیستم عامل می پردازیم که توسط این سازماندهی با دستگاههای I/O به شکل استاندارد و یکنواخت برخورد می شود.در این بخش نیز مثل سایر مسائل پیچیده مهندسی نرم افزار ، رهیافت انتزاعی ، بسته بندی و لایه بندی نرم افزار استفاده می شود. می توانیم جزئیات تفاوت ها دستگاههای I/O را با یافتن انواع کلی ، انتزاعی کنیم.

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

اسلاید 152: 152فصل سیزدهم : پیاده سازی سیستم فایلساختار I/O هستهکنترل کننده دستگاه SCSIکنترل کننده دستگاه صفحه کلیدکنترل کننده دستگاه ماوسکنترل کننده دستگاه گذرگاه PCIکنترل کننده دستگاه فلاپیکنترل کننده دستگاه ATAPIهستهزیر سیستم I/O هستهگرداننده دستگاه SCSIگرداننده دستگاه صفحه کلیدگرداننده دستگاه ماوسگرداننده دستگاه گذرگاه PCIگرداننده دستگاه فلاپیگرداننده دستگاه ATAPIدستگاه های SCSIصفحه کلیدماوسگذرگاه PCIگرداننده های دستگاه فلاپیدستگاه های ATAPI(دیسکها، گرداننده ها و نوارها)نرم افزارسخت افزار

اسلاید 153: 153فصل سیزدهم : پیاده سازی سیستم فایلهدف لایه ی گرداننده ی دستگاه ، مخفی کردن تفاوت های بین کنترل کننده دستگاه از زیر سیستم I/O هسته است.فراخوان های سیستم I/O رفتار دستگاه ها را در کلاس های کلی بسته بندی می کند تا تفاوت های سخت افزار را از برنامه های کاربردی پنهان نماید. استقلال زیرسیستم I/O از سخت افزار ، کار طراحی می کنند تا با واسط کنترل کننده ی میزبان موجود مثل SCSI-2 همساز باشد یا گرداننده های دستگاهی می نویسند که واسط سخت افزار جدید و سیستم عامل معروف باشد.

اسلاید 154: 154فصل سیزدهم : پیاده سازی سیستم فایلبنابراین ، دستگاههای جانبی جدید می توانند بدون نیاز به نوشتن گرداننده جدید ، به کامپیوتر متصل شوند.نکته : برای کارخانه های سازنده دستگاهها ،سیستم عامل ، استاندارد خاص خودش را برای واسط گرداننده دستگاه دارد. یک دستگاه ممکن است با چندین گرداننده دستگاه به کار افتد. به عنوان مثال می تواند با گرداننده های دستگاه در MS-DOS ، ویندوز 98 و ویندوز NT کار کند.دستگاههای انواع گوناگونی دارند که در شکل صفحه بعد آمده است.

اسلاید 155: 155فصل سیزدهم : پیاده سازی سیستم فایلویژگی های دستگاههای I/Oمثالحالتموضوعپایانهدیسککاراکتربلوکحالت انتقال دادهمودمCD-ROMترتیبیتصادفیروش دستیابینوارصفحه کلیدهمگامناهمگامزمانبندی انتقالنوارصفحه کلیداختصاصیقابل اشتراکاشتراکتاخیرزمان پیگردنرخ انتقالتاخیر بین عملیاتسرعت دستگاهCD-ROMکنترل کننده های گرافیکیدیسکفقط خواندنیفقط نوشتنیخواندنی و نوشتنیI/O

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

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

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

اسلاید 159: 159فصل سیزدهم : پیاده سازی سیستم فایلاغلب سیستم های عامل دارای یک فراخوان سیستم بنام «گریز» یا «درعقب» دارند که فرمانهایی را از یک برنامه کاربردی به گرداننده دستگاه ارسال می کنند. در یونیکس این فراخوان سیستم ioctrl نام دارد.فراخوان سیستم ioctrl ،یک برنامه ی کاربردی را قادر می سازد تا تمام عملیاتی که توسط هر گرداننده ی دستگاهی قابل پیاده سازی اند ، دستیابی داشته باشد و دارای 3 پارامتر است که قادر می سازد برنامه کاربردی و گرداننده های دستگاه با هم ارتباط برقرار کنند :توصیف گر فایل : متصل کننده ی برنامه های کاربردی به گرداننده دستگاهیک مقدار صحیح : انتخاب فرمان های پیاده سازی شده در گرداننده دستگاهیک اشاره گر : اشاره به یک ساختمان داده ی اختیاری

اسلاید 160: 160فصل سیزدهم : پیاده سازی سیستم فایل1-3-13 دستگاههای کارکتری و بلوکی دستیابی فایل با نگاشت حافظه می تواند در بالای گرداننده های دستگاه بلولی قرار گیرد. به جای عملیات خواندن و نوشتن ، واسط نگاشت حافظه ، دستیابی به حافظه دیسک را از طریق آرایه ای از بایت های موجود در حافظه ی اصلی امکان پذیر می سازد. فراخوان سیستمی که فایلی را در حافظه نگاشت می کند ، آدرس حافظه مجازی آرایه ای از کارکترها را بر می گرداند که حاوی یک کپی از فایل است.

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

اسلاید 162: 162فصل سیزدهم : پیاده سازی سیستم فایل2-3-13 دستگاههای شبکه چون ویژگی کارایی و آدرس دهی I/O شبکه متفاوت از I/O دیسک است ، اغلب سیستمهای عامل یک واسط I/O شبکه را تدارک می بینند که متفاوت از واسط خواندن – نوشتن – پیگرد در دیسک است. واسطی که در بسیاری از سیستم های عامل وجود دارد ، واسط سوکت شبکه است.فراخوان سیستم در واسط سوکت ، برنامه کاربردی را قادر می سازد تا سوکتی را ایجاد نماید. سوکت محلی را به آدرس راه دور متصل می کند ، به هر برنامه کاربردی گوش می دهد تا به سوکت محلی وصل کند ، و بسته ها را از طریق این اتصال ، ارسال و دریافت کند.

اسلاید 163: 163فصل سیزدهم : پیاده سازی سیستم فایلبرای پشتیبانی از کارگزاران ، واسط سوکت تابعی به نام select را تدارک می بیند که مجموعه ای از سوکت ها را مدیریت می کند.فراخوانی select اطلاعاتی را بر می گرداند که مشخص می کند چه سوکتهایی منتظرند تا بسته ها را تحویل دهند ، و چه سوکتی آماده دریافت بسته ها است. استفاده از select منجر به حذف نظرسنجی و انتظار مشغولی برای I/O شبکه می شود. این توابع رفتارهای اساسی شبکه ها را بسته بندی می کنند و مخصوصا ایجاد برنامه های توزیعی را آسان می کند.

اسلاید 164: 164فصل سیزدهم : پیاده سازی سیستم فایل3-3-13 ساعت و تایمرکامپیوترها دارای ساعت و تایمر سخت افزاری اند که سه عمل را انجام می دهند :تعیین زمان جاریتعیین زمان تلف شدهتنظیم تایمر برای اجرای عملیات X در زمان Tاین اعمال توسط سیستم عامل و برنامه های کاربردی حساس به زمان مورد استفاده قرار می گیرد. متاسفانه فراخوانهای سیستمی که این اعمال را پیاده سازی می کنند ، در سیستم های عامل استاندارد نیستند.

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

اسلاید 166: 166فصل سیزدهم : پیاده سازی سیستم فایلسیستم عامل از طریق شبیه سازی ساعتهای مجازی ، می تواند درخواست های تایمر بیشتری را نسبت به کانال های سخت افزاری تایمر پشتیبانی کند. برای این کار ، هسته ( یا گرداننده دستگاه تایمر ) ، لیستی از وقفه هایی را نگهداری می کند که توسط تایمر آن درخواست شده است. وقتی تایمر وقفه ها را صادر می کند ، هسته سیگنالی رل به درخواست کننده می فرستد و قدیمیترین زمان بعدی را در تایمر قرار می دهد.

اسلاید 167: 167فصل سیزدهم : پیاده سازی سیستم فایل4-3-13 I/O با انسداد و بدون انسدادوقتی برنامه کاربردی فراخوان سیستمی مسدود کننده را اجرا می کند ، اجرای برنامه کاربردی به تعویق می افتد. این برنامه کاربردی از صف اجرای سیستم عامل به صف انتظار می رود. پس از کامل شدن فراخوان سیستم ، آن برنامه به صف اجرا بر می گردد و برای از سر گیری اجرا مناسب است. در آن زمان ، مقادیر برگشتی از فراخوان سیستم را دریافت می کند. فعالیت های فیزیکی که به وسیله ی دستگاه های I/O انجام می شوند معمولا ناهمگام هستند ، یعنی زمان مربوط به آنها متغیر یا غیر قابل پیشبینی است.

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

اسلاید 169: 169فصل سیزدهم : پیاده سازی سیستم فایلشکل دیگری از فراخوان سیستم بدون انسداد ، فراخوان سیستم ناهمگام است. فراخوانی نا همگام ، فورا برگشت می کند و منتظر نمی ماند که I/O کامل شود. برنامه کاربردی اجراش کدش را ادامه می دهد ، و کامل شدن I/O در زمان آینده به برنامه کاربردی ارتباط دارد. این ارتباط ممکن است به دو صورت انجام شود :از طریق مقدار دادن به متغیری در فضای آدرس برنامه کاربردیاز طریق صدور یک سیگنال یا وقفه نرم افزاری یا اجرای روال فراخوانی – برگشت که در خارج از جریان کنترل خطی برنامه کاربردی اجرا می شود.

اسلاید 170: 170فصل سیزدهم : پیاده سازی سیستم فایلسیستم های I/Oمرور کلیسخت افزار I/Oواسط I/O برنامه کاربردیزیر سیستم I/O هستهتبدیل درخواست های I/O به عملیات سخت افزاریمجرا هاکارآییزمانبندی I/Oمیانگیریذخیره در حافظه پنهاناسپولینگ و رزرو کردن دستگاهپردازش خطاساختمان داده هسته

اسلاید 171: 171فصل سیزدهم : پیاده سازی سیستم فایل4-13 زیرسیستم I/O هسته1-4-13 زمانبندی I/O زمانبندی مجموعه ای از درخواست های I/O به معنای تعیین ترتیب اجرای آنها است. زمانبندی می تواند کارایی سیستم را بهبود بخشد ، می تواند دستیابی اشتراکی دستگاهها را برای فرآیندها فراهم کند ، و می تواند میانگین زمان انتظار برای کامل شدن I/O را کاهش دهد.توسعه دهندگان سیستم عامل برای پیاده سازی زمانبندی ، برای هر دستگاه ، صفی از درخواستها را نگهداری می کنند.

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

اسلاید 173: 173فصل سیزدهم : پیاده سازی سیستم فایل2-4-13 میانگیریمیانگیر ، ناحیه ای از حافظه است که داده ها را در حین انتقال بین دو دستگاه یا بین یک دستگاه و یک برنامه کاربردی ذخیره می کند.میانگری به سه دلیل انجام می شود : یکسان نبودن سرعت تولید کننده و مصرف کننده ی جریان داده ها ایجاد هماهنگی بین دستگاههایی است که اندازه انتقال داده ها در آنها متفاوت است ، معمولا در شبکه های کامپیوتری پیش می آید که در آنها ، میانگرها برای تکه تکه کردن و مونتاژ مجدد پیامها به کار می روند.پشتیبانی از معنای کپی برای I/O است.

اسلاید 174: 174فصل سیزدهم : پیاده سازی سیستم فایلنرخ انتقال دستگاه سان Enterprise مدل 6000 (لگاریتمی)گذرگاه گیگاSBUSگذرگاه SCSIاترنت سریعدیسک سختاترنتچاپگر لیزریمودمماوسصفحه کلید00.010.11101001,00010,000100,0001,000,000

اسلاید 175: 175فصل سیزدهم : پیاده سازی سیستم فایلکپی کردن داده ها بین میانگیرهای هسته و فضای داده ی برنامه کاربردی سربارهایی دارد ولی برای حفظ صحت داده ها ضروری است.3-4-13 ذخیره در حافظه پنهانحافظه پنهان ناحیه ای از حافظه سریع است که کپی هایی از داده ها را ذخیره می کند. دستیابی به داده های کپی شده در حافظه پنهان ، کارآمدتر از داده های اصلی است.تفاوت بین میانگیر و حافظه ی پنهان این است که میانگیر تنها کپی یک قلم داده را نگهداری می کند ، در حالی که حافظه پنهان طبق تعریف ، یک کپی از یک قلم داده را در حافظه سریع ذخیره می کند و داده اصلی می تواند در هر جای دیگری باشد.

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

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

اسلاید 178: 178فصل سیزدهم : پیاده سازی سیستم فایلسیستم عامل از طریق اسپولینگ می تواند خروجی همزمان را هماهنگ کند. روش دیگر برای اداره کردن دستیابی به دستگاه همزمان ، ارائه امکاناتی برای هماهنگی است.5-4-13 پردازش خطاسیستم عاملی که از حافظه ی حفاظت شده استفاده می کند ، در مقابل بسیاری از خطا های سخت افزاری و نرم افزاری در امان است ، به طوری که خرابی کل سیستم ناشی از اشکالات مکانیکی کوچک نیست. سیستم عامل می تواند خرابی های موقتی را جبران کند.

اسلاید 179: 179فصل سیزدهم : پیاده سازی سیستم فایلقاعده کلی این است که فراخوان سیستم I/O یک بیت از اطلاعات را راجع به وضعیت آن فراخوانی بر می گرداند که مشخص می کند با موفقیت انجام شده است یا خیر. ( به عنوان مثال Ack و Nak برای تایید دریافت داده در جواب به دستور send در شبکه های کامپیوتری )در سیستم عامل یونیکس ، یک متغیر صحیح به نام errno برای برگرداندن کد خطا مورد استفاده قرار می گیرد و ماهیت خطا را نشان می دهد. سخت افزار می تواند جزئیات بیشتری از اطلاعات مربوط به خطا را ارائه کند ، ولی بسیاری از سیستمهای عامل فعلی ، این اطلاعات را به برنامه کاربردی منتقل نمی کنند.

اسلاید 180: 180فصل سیزدهم : پیاده سازی سیستم فایل6-4-13 ساختمان داده هستههسته باید اطلاعات حالت مولفه های I/O را نگهداری کند. این کار را با استفاده از ساختمانهای موجود در هسته انجام می دهد ، مثل ساختار جدول فایل باز.در یونیکس دستیابی به نهادهای گوناگونی مثل فایلهای کاربر ، دستگاههای خام ، و فضای آدرس فرآیندها امکان پذیر است. گرچه هر یک از این نهادها از عمل read پشتیبانی می کنند ، معنا شناسی آنها متفاوت است. یونیکس این تفاوت را با استفاده از تکنیک شئ گرا ، در یک ساختار یکنواخت بسته بندی می کند.

اسلاید 181: 181فصل سیزدهم : پیاده سازی سیستم فایلساختار هسته یونیکستوصیفگر فایلجدول فرایند باز در فرایندحافظه فرایند کاربرجدول فرایند باز در سیستمرکورد سیستم فایل اشاره گر گره شاخصاشاره گر به توابع خواندن و نوشتناشاره گر به تابع selectاشاره گر به تابع ioctlاشاره گر به تابع closeحافظه هستهرکورد (سوکت) شبکهاشاره گر به اطلاعات شبکهاشاره گر به توابع خواندن و نوشتناشاره گر به تابع selectاشاره گر به تابع ioctlاشاره گر به تابع closeجدول گره شاخص فعالجدول اطلاعاتی شبکه

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

اسلاید 183: 183فصل سیزدهم : پیاده سازی سیستم فایلزیر سیستم I/O موارد زیر را نظارت می کند :مدیریت بر فضای نام برای فایلها و دستگاههاکنترل دستیابی به فایلها و دستگاههاکنترل عملیاتی دستگاهها ( مثلا مودم نمی تواند seek را اجرا کند )تخصیص فضای سیستم فایلتخصیص دستگاه

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

اسلاید 185: 185فصل سیزدهم : پیاده سازی سیستم فایلسیستم های I/Oمرور کلیسخت افزار I/Oواسط I/O برنامه کاربردیروشهای تخصیص فضا به فایلزیر سیستم I/O هستهتبدیل درخواست های I/O به عملیات سخت افزاریمجرا هاکارآیی

اسلاید 186: 186فصل سیزدهم : پیاده سازی سیستم فایل5-13 تبدیل درخواستهای I/O به عملیات سخت افزاریدر این بخش به چگونگی درخواست سیستم عامل و اتصال برنامه های کاربردی با مجموعه ای از سیستم های شبکه یا قطاع خاصی از دیسک می پردازیم. برای خواندن فایل از دیسک ، سیستم فایل باید از طریق نام فایل نگاشتی را در دایرکتوری ها انجام دهد تا فضای تخصیص یافته به فایل را بدست آورد.در یونیکس نام به شماره شاخص گره نگاشت می شود و آن گره شاخص حاوی اطلاعاتی راجع به تخصیص فضا است.

اسلاید 187: 187فصل سیزدهم : پیاده سازی سیستم فایلاتصال نام فایل به کنترل کننده دیسک : ابتدا MS-DOS را در نظر می گیریم که یک سیستم عامل ساده است. بخشی از نام فایل در MS-DOS که قبل از حرف : قرار دارد ، رشته ای است که دستگاه سخت افزاری را مشخص می کند به عنوان مثال “C:” بخش اول نام تمام فایل های موجود در اولین دیسک سخت است.

اسلاید 188: 188فصل سیزدهم : پیاده سازی سیستم فایلاگر فضای نام دستگاه به فضای نام سیستم فایل الحاق شود ( مثل یونیکس ) ، خدمات عادی نام سیستم فایل به طور خودکار فراهم می شود. اگر سیستم فایل کنترل دستیابی و مالکیت را به اسامی تمامی فایلها اعمال کند ، آنگاه دستگاه ها دارای کنترل دستیابی و مالکیت خواهند بود. چون فایلها در دستگاهها ذخیره می شوند این واسطهای دستیابی سیستم I/O را در دو سطح انجام می دهد : اسامی برای دستیابی به خود دستگاههادستیابی به فایلهای ذخیره شده در دستگاهها

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

اسلاید 190: 190فصل سیزدهم : پیاده سازی سیستم فایلدر زمان راه اندازی کامپیوتر ، سیستم ابتدا گذرگاه سخت افزار را جستجو می کند تا دستگاههای موجود را شناسایی کنند و سپس گرداننده های لازم را بار کند. یا فورا آنها را بار کند یا هنگامی که توسط یک درخواست I/O مورد نیاز واقع شود ، آن را بار می کند.سیستم یونیکس V راهکار جالبی به نام جریانها دارد که برنامه کاربردی را قادر می سازد کانالهای کد دستگاه را به طور خودکار مونتاژ کند.

اسلاید 191: 191فصل سیزدهم : پیاده سازی سیستم فایلچرخه زندگی درخواست I/Oآیا درخواستبرآورده میشود؟درخواست را به گرداننده ارسال کن، درصورت لزوم فرآیند را مسدود کندرخواست فرآیند،صدور دستور به کنترل کننده،پیکربندی کنترل کننده برای مسدود شدن تا صدور وقفهدستگاه ناظر، صدور وقفه پس از کامل شدن I/Oفراخوان سیستمخیرفرمانهای کنترل کننده دستگاهدریافت وقفه،ذخیره داده در میانگیر گرداننده دستگاه در صورت ورودی،ارسال سیگنال برای خارج کردن فرآیند از حالت انسدادتعیین اینکه کدام I/O کامل شد، نمایش تغییر حالت در زیرسیستم I/OI/O کامل شد،داده های خروجی آماده است،یا خروجی کامل شده استبرگشت از فراخوان سیستموقفهکامل شدن I/O، تولید وقفهانتقال داده به فرایند، اعلان پایان کار یا خطازیر سیستمI/O هستهزیر سیستمI/O هستهگرداننده دستگاهروال وقفهکنترل کنندهدستگاه صفحه کلیدزماندرخواست I/Oبلی

اسلاید 192: 192فصل سیزدهم : پیاده سازی سیستم فایلاین شکل بیان می کند که عملیات I/O در چندین مرحله انجام می شود که چرخه های زیادی از CPU را مصرف می کند :فرآیند ، فراخوان سیستم read را به توصیفگر فایلی که قبلا باز شده است صادر می کند.کد فراخوان سیستم در هسته صحت پارامترها را کنترل می کند. در حالت ورودی ، اگر داده ها در حافظه پنهان میانگیر آماده باشند ، به فرآیند برگرداننده می شوند و درخواست I/O کامل می شود.

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

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

اسلاید 195: 195فصل سیزدهم : پیاده سازی سیستم فایلهسته داده ها را انتقال می دهد یا کدها را به فضای آدرس فرآیند درخواست کننده بر می گرداند ، و فرآیند را از صف انتظار به صف آمادگی می برد.10.انتقال فرآیند به صف آمادگی ، فرآیند را از حالت انسداد خارج می کند. وقتی زمانبند CPU را به فرآیندی تخصیص می دهد ، فرآیند اجرا را از سر می گیرد.

اسلاید 196: 196فصل سیزدهم : پیاده سازی سیستم فایلسیستم های I/Oمرور کلیسخت افزار I/Oواسط I/O برنامه کاربردیروشهای تخصیص فضا به فایلزیر سیستم I/O هستهتبدیل درخواست های I/O به عملیات سخت افزاریمجرا هاکارآیی

اسلاید 197: 197فصل سیزدهم : پیاده سازی سیستم فایل6-13 مجراهاسیستم یونیکس V راهکار جالبی به نام مجراها دارد که به برنامه های کاربردی اجازه می دهد تا مسیر کد یک گرداننده را به طور پویا اسمبل کند. مجرا ، یک اتصال دو طزفه ی کامل بین یک گرداننده ی دستگاه و فرآیند سطح کاربر است. مجرا شامل رأس مجرا است که با فرآیند کاربر ارتباط دارد ، و شامل گرداننده پایانی است که دستگاه را کنترل می کند ، و صفر یا چند پیمانه مجرا است که بین آنها قرار دارد.

اسلاید 198: 198فصل سیزدهم : پیاده سازی سیستم فایلرأس مجرا ، گرداننده پایانی و هر پیمانه حاوی یک جفت صف است : صف خواندن صف نوشتنبرای انتقال داده ها بین صفها از شیوه ارسال پیام استفاده می گردد.

اسلاید 199: 199فصل سیزدهم : پیاده سازی سیستم فایلساختار مجراهافرایند کاربرراس مجراصف خواندنصف نوشتنصف خواندنصف نوشتنصف خواندنصف نوشتنگرداننده پایانیصف خواندنصف نوشتندستگاهپیمانه ها

اسلاید 200: 200فصل سیزدهم : پیاده سازی سیستم فایلپیمانه ها عملیات مربوط به پردازش مجراها را تدارک می بینند و با استفاده از فراخوان سیستم ioctl() در مجرا قرار می گیرد.I/O مجرا ناهمگام ( بدون انسداد ) است ، مگر هنگامی که فرآیند کاربر با رأس مجرا ارتباط برقرار کند. هنگام نوشتن در مجرا ، فرآیند کاربر مسدود می شود ، تا جایی برای کپی کردن فراهم شود. به همین ترتیب ، فرآیند کاربر هنگام خواندن داده ها از مجرا ، مسدود می شود تا داده ها آماده شوند.گرداننده پایانی همانند رأس مجرا یا یک پیمانه است ، به طوری که دارای صف خواندن و نوشتن است.

اسلاید 201: 201فصل سیزدهم : پیاده سازی سیستم فایلگرداننده پایانی طوری باید به وقفه ها پاسخ دهد که گویی وقفه ها وقتی صادر شده اند که قابی در شبکه آماده خواندن است. اگر رأس مجرا نتواند پیامی را در صف کپی کند ، ممکن است مسدود شود. گرداننده ها باید جریان کنترل را نیز پیشبینی کنند. اما اگر میانگیر دستگاهی پر باشد ،پیام ورودی را ارسال می کند. کارت شبکه ای را در نظر بگیرید که میانگیر ورودی آن پر است. کارت شبکه پیام های بیشتری را ارسال می کند تا فضای میانگیر برای ذخیره پیامها ورودی فراهم سود.فایده استفاده از مجراها این است که چارچوبی برای روش پیمانه ای و فزاینده ای در نوشتن گرداننده های دستگاه و پروتکلهای شبکه است.

اسلاید 202: 202فصل سیزدهم : پیاده سازی سیستم فایلسیستم های I/Oمرور کلیسخت افزار I/Oواسط I/O برنامه کاربردیروشهای تخصیص فضا به فایلزیر سیستم I/O هستهتبدیل درخواست های I/O به عملیات سخت افزاریمجرا هاکارآیی

اسلاید 203: 203فصل سیزدهم : پیاده سازی سیستم فایل7-13 کاراییI/O عامل مهمی در کارایی سیستم است. I/O تقاضا های زیادی را به CPU اعمال می کند تا کد گرداننده دستگاه را اجرا نماید و فرآیندها را به خوبی زمانبندی کند. تعویض بستر به CPU و حافظه پنهان سخت افزاری آن فشار وارد می آورد. I/O ناکارآمدی را در راهکارهای پردازش وقفه در هسته ایجاد می کند ، و I/O گذرگاه حافظه را در هنگام کپی کردن داده ها بین کنترل کننده ها و حافظه فیزیکی و در اثنای کپی کردن داده ها بین میانگیرهای هسته و فضای داده ی برنامه کاربردی ، اشغال می کند.

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

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

اسلاید 206: 206فصل سیزدهم : پیاده سازی سیستم فایلکاهش تعداد وقفه ها با استفاده از انتقالهای بزرگ ، کنترل کننده های هوشمند ، و نظرسنجی ( اگر انتظار مشغولی بتواند کمینه باشد )افزایش همزمانی با استفاده از کنترل کننده های دانش پذیر DMA ، یا کانال ها برای کاهش عما کپی داده ها از CPUانتقال پردازشهای اولیه به سخت افزار ، تا اینکه عملیات در کنترل کننده های دستگاه با CPU و اعمال گذرگاه همزمان شود.توازن CPU ، زیر سیستم حافظه ، گذرگاه ، و کارایی I/O ، زیرا وجود بار زیادی در هر یک از این ناحیه ها موجب بیکاری در ناحیه دیگر می شود.

اسلاید 207: 207فصل سیزدهم : پیاده سازی سیستم فایلارتباطات داخلی کامپیوتر و هزینه آنهاکاراکتر تایپ شدوقفه تولید شدوقفه پردازش شدگرداننده دستگاههستهفرایند کاربروقفه تولید شدگرداننده دستگاههستهوقفه پردازش شدآداپتور شبکهفراخوانی سیستم کامل شدسیستم فرستندهسخت افزارتعویضبسترتعویض بسترتعویض بسترذخیره حالتبسته شبکهدریافت شدگرداننده دستگاههستهدمون شبکهوقفه تولید شددمون فرعی شبکههستهآداپتور شبکهسیستم گیرندهسخت افزارتعویضبسترتعویض بسترتعویض بسترذخیره حالتشبکه

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

اسلاید 209: 209فصل سیزدهم : پیاده سازی سیستم فایلپردازش عملیات دستگاهالگوریتم جدیدکد برنامه کاربردیکد هستهکد گرداننده دستگاهکد کنترل کننده دستگاه (سخت افزار)کد دستگاه (سخت افزار)افزایش قابلیت انعطافافزایش انتزاعافزایش هزینه توسعهافزایش کاراییافزایش زمان (نسلها)

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

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

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

18,000 تومان

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

در صورت عدم رضایت سفارش برگشت و وجه به حساب شما برگشت داده خواهد شد.

در صورت نیاز با شماره 09353405883 در واتساپ، ایتا و روبیکا تماس بگیرید.

افزودن به سبد خرید