فصل دوم:آشنایی با مفاهیم سیستم فایل
سیستم فایل
مفاهیم مقدماتی فیلد رکورد کلید رکورد فایل
فیلد Field
رکورد در سطح انتزاعی در سطح برنامه کاربر (سطح منطقی) در محیط ذخیره سازی (سطح فیزیکی)
رکورد در سطح انتزاعی
رکورد در سطح انتزاعی وجود مقدار مجرد به تنهایی فاقد هرگونه بار اطلاعاتی است و فقط هنگامی که متناظر به یک اسم صفت خاصه بشود، اطلاع به دست میآید
رکورد از دید برنامه ساز طرح با قالب ثابت مکان طرح با قالب غیر ثابت مکان
طرح با قالب ثابت مکان
طرح با قالب ثابت مکان طول هر فیلد و طول رکورد میتواند متمایز باشد. طرح با قالب ثابت مکان با طول متغیر
طرح با قالب غیر ثابت مکان
دلایل متغیر شدن طول رکورد
دلایل متغیر شدن طول رکورد
دلایل متغیر شدن طول رکورد
دلایل متغیر شدن طول رکورد وجود اطلاع تکرار شونده فایل را به طور منطقی نامسطح میکند. راه حل: در نظر گرفتن قالب خطی برای رکورد که در آن به تعداد مقادیر صفت خاصه در رکورد فیلد همجوار در نطر گرفته میشود.
رکورد ذخیره شده
رکورد ذخیره شده
فیلد حاوی طول رکورد
فیلد حاوی کد نوع رکورد
فیلد حاوی نشانه رو
فیلد حاوی نشانه رو
فیلد حاوی نشانه رو
فیلد حاوی فلگ عملیات
فیلد حاوی فلگ حفاظتی
کلید رکورد
فایل
فایل
فایل ساختار فایل: مبتنی بر نظم ساده زمانی مبتنی بر نظم مقداری مبتنی بر بستگیها و پیوندهای درونی
سیستم فایل
نامگذاری فایلها
انواع فایل
صفات خاصه فایل attributes
صفات خاصه فایل attributes
صفات خاصه فایل attributes این اطلاعات در فایل دایرکتوری ذخیره میشوند
راهنمای فایل
راهنمای فایل مشکل: اگر تعدادکاربران زیاد باشد تعداد ذاهنمای فایل در سیستمها فرق میکند. ساده ترین طرح ایجاد یک راهنما برای تمام فایلها است. مشکل: اگر تعدادکاربران زیاد باشد و از نام یکسان استفاده کنند سیستم نمیتواند عمل کند. سر راهنما f1 f2 fi
راهنمای فایل
راهنمای فایل سر راهنما f1 f2 f3 A B B1 f5 f4
نام مسیری وقتی راهنمای فایل به شکل درختی باشد، باید راهی برای نامیدن فایلها وجود داشته باشد. نامیدن فایل با نام مسیری مطلق نامیدن فایل با نام مسیری نسبی
عملیات مربوط به راهنما این عملیات در سیستم فایلهای مختلف متفاوت است. نام عمل عملکرد MAKEDIR ایجاد راهنما REMOVEDIR حذف راهنما OPENDIR آماده شدن راهنما برای خواندن CLOSEDIR ازادکردن فضای اشغالی پس از خواندن راهنما READDIR خواندن راهنما RENAME تغییرنام
عملیات کاربر در فایل
عملیات کاربر در فایل
مکانیسم فیزیکی ذخیره سازی
بلاک بندی
پارامترهای بلاک تعداد رکورد n طول رکورد R طول بلاک B تعداد بلاک b 𝐵𝑓= 𝐵 𝑅 𝑏= 𝑛𝐵 𝑅 𝑏= 𝑛 𝐵𝑓
پارامترهای بلاک
تکنیکهای تعیین محدوده رکورد در بلاک
تکنیکهای تعیین محدوده رکورد در بلاک
تکنیکهای تعیین محدوده رکورد در بلاک
مزایای بلاک بندی
معایب بلاک بندی
باکت، خوشه و گسترش
چگالی لود اولیه اگر بتوان در یک کاربرد خاص حجم عملیات ذخیره سازی بویژه عمل درج در فایل را بعد از لود اولیه پیش بینی کرد ، میتوان در هر بلاک مقداری فضای رزرو پیش بینی کرد.
چگالی لود اولیه چکالی لود اولیه بصورت درصدی از اندازه بلاک بیان میشود و این درصد با داشتن نسبت Ld/B < 1 بدست میاید.
مزایا و معایب حفظ کوکالیتی رکوردهای فایل تسهیل در انجام بعضی عملیات مانند درج رکورد جدید ایجاد حافظه هرز و افزایش اندازه فایل سبکبار شدن بلاکها
لوکالیتی رکوردها میزان همسایگی فیزیکی رکوردهای منطقا همجوار را لوکالیتی رکوردها میگویند. A B C A C B B A C
درجات لوکالیتی رکوردبعدی در همان بلاکی باشد که رکورد فعلی هست و بلک در حافظه باشد. رکوردبعدی در بلاکی بلافاصله بعدی بلاک حاوی رکورد فعلی و در همان استوانه باشد. S=0,r=0 رکوردبعدی در همان استوانه رکورد فعلی باشد. S=0,r>0 رکوردبعدی در استوانه هم شماره استوانه رکورد فعلی اما روی دیسکی دیگر باشد. S=0 رکوردبعدی در استوانه همجوار باشد. S>0,r>0
درجات لوکالیتی رکوردبعدی در استوانه شناخته شده است. رکوردبعدی در استوانه شناخته شده است اما ـدرس آن با انجام محاسباتی بدست میاید. رکوردبعدی دریک استوانه ناشناخته است و آدرس آن با مراجعه به یک فایل مرجع دیگر بدست میاید. رکورد بعدی روی رسانه ایست که در حال حاضر در درایو نیست.
روش کلی اجرای دستور کاربر سیستم فایل با دریافت دستورOPEN از برنامه کاربر، فایل را باز میکند. از نظر سیستم فایل این عمل یعنی: مراجعه به راهنمای فایل بدست اوردن اطلاعات لازم در مورد آن انجام عملیات I/O
روش کلی اجرای دستور کاربر بررسی مجاز بودن کاربر بررسی درست بودن مشخصات فایل و پارامترهای حکم بازیابی بررسی وجود رکورد درخواستی در بافر اگر بله تحویل رکورد به برنامه پردازشگر اگر خیر شروع عمل خواندن رکورد (تبدیل آدرس منطقی به فیزیکی) انجام عمل خواندن و انتقال بلاک حاوی رکورد به بافر تکرار از مرحله 3
برنامه پردازشگر فایلها سطوح نشانی دهی سطح کاربری سطح سیستم فایل محیط فیزیکی فایلها برنامه پردازشگر فایلها سیستم فایل منطقی سیستم فایل فیزیکی
سطوح نشانی دهی برنامه فایل پرداز: به کمک احکامی از یک زبان برنامه سازی و از طریق سیستم فایل منطقی به محیط فیزیکی دست میابد سیستم فایل منطقی: درخواستهای کاربر را انجام میدهد. (باز کردن فایل، خواندن فایل، نوشتن فایل، بستن فایل) سیستم فایل فیزیکی: درخواستهای دریافتی بخش منطقی را تبدیل به فرامینی جهت صدور به کنترلر رسانه میکند. (پیگرد، خواندن از رسانه، نوشتن بر رسانه)
سطوح نشانی دهی سطوح برخورد با فایل سطوح نشان دهی نشانی دهی درسطح برنامه کاربر نشانی دهی درسطح سیستم فایل مجازی نشانی دهی درسطح سیستم فایل فیزیکی سطوح برخورد با فایل سطح برنامه کاربر سطح سیستم فایل مجازی سطح سیستم فایل فیزیکی
نشانی دهی در سطح برنامه نشانی دهی محتوایی: نشانی دهی نسبی: مقدار یک یا چند صفت خاصه بعنوان نشانوند جستجو است. مثال : رکورد با نام «علی» نشانی دهی نسبی: فرض یک ساختار خطی برای محیط ذخیره سازی که هر رکورد شماره ای دارد مثال: رکورد شماره 17 نشانی دهی نمادین: مشخص کردن رکورد مورد نظر با نام مثال: رکورد « مدیر گروه»
نشانی دهی در سطح سیستم فایل منطقی فرض بر این است که فایل در یک فضای پیوسته دخیره میشود. این سطح ازنشانی دهی نسبی استفاده میکند: سیستم فایل منطقی کل فضا را بصورت ارایه ای از بلاکها میبیند هر بلاک شماره ای دارد.RBA مقدار RBA بلاک مشخص میکند برای رسیدن به آغاز بلاک مورد نظر باید چند بلاک را پشت سر گذاشت.
نشانی دهی در سطح سیستم فایل منطقی طیف RBA S1=C1*B1*T1 0<= RBA(D1) <=S1-1 S1<=RBA(D2)<=S1+S2-1 0<=RBA <= S1+S2-1 تعداد بلاک در شیار تعداد شیار در استوانه تعداد استوانه شماره دیسک B1 T1 C1 D1 B2 T2 C2 D2
نشانی دهی در سطح سیستم فایل منطقی سیستم فایل منطقی باید آدرس برنامه را به آدرس نسبی بلاک حاوی رکورد تبدیل کند. آدرس برنامه نمادین باشد: از جدولی برای تبدیل استفاده میشود. آدرس برنامه نسبی باشد: BYTEOFFSET = i*R 𝐵 𝐹 = 𝐵 𝑅 𝑟𝑏𝑎 𝑅𝐸𝐶 = 𝑖−1 𝐵 𝐹 𝑅𝐵𝐴 𝑅𝐸𝐶 = 𝑅𝐵𝐴 𝐵𝑂𝐹 + 𝑟𝑏𝑎 𝑅𝐸𝐶
نشانی دهی در سطح سیستم فایل منطقی
نشانی دهی در سطح سیستم فایل فیزیکی RBA را به آدرس فیزیکی تبدیل میکند: شماره درایو شماره استوانه شماره رویه شماره سکتور از شیار (یا شماره بلاک)
آشنایی با بافرینگ بافر ناحیه ای واسط است در عملیات ورودی خروجی برای ایجاد هماهنگی بین عملیات IO و پردازنده مرکزی و تسریع عملیات بکار میرود. بافر معمولا از منطقه ای از حافظه اصلی تخصیص داده میشود.
نحوه ایجاد بافرها توسط سیستم عامل با اجرای یک ماکرو توسط برنامه کاربر
بافر از نظر محل ایجاد بافر سخت افزاری: بافر نرم افزاری: بافری است که در بعضی دستگاهها مانند کنترولر رسانه ذخیره سازی و چاپگر و ... استفاده میشود. بافر نرم افزاری: ناحیه ایست در حافظه اصلی که توسط سیستم عامل طبق الگوریتمهای تخصیص بافر در اختیار برنامه فایل پرداز قرار میگیرد
انواع بافرینگ بافرینگ ساده بافرینگ مضاعف بافرینگ چندگانه
بافرینگ ساده در این نوع بافرینگ یک بافر در اختیار برنامه فایل پرداز قرار میگیرد. در اثنایی که بافر ر میشود CPU بحالت عاطل در میاید. امکان همروندی CPU و IO وجود ندارد
بافرینگ مضاعف با دو بافر میتوان در اثنا خواندن یک بلاک و انتقال آن به بافر، محتوای بافر دیگر را پردازش کرد. برای کارایی بافرینگ مضاعف باید زمانی که CPU برای پردازش یک بافر استفاده میکند، کمتر از زمان بلاک به بافر باشد. 𝐶 𝐵 < 𝑏 𝑡𝑡 𝐶 𝐵 ≤ 𝐵+𝐺 𝑡 𝐶 𝑅 ≤ 𝑅+𝑊 𝑡
خالی کردن بافر اگر فقط یک رکورد از بلاک مورد نظر باشد مدیریت بافر میتواند بافر را ازاد کند معمولا نگه داشتن بلاک مقرون به صرفه است زیرا همیشه ممکن است برنامه به رکوردهای دیگر بلاک نیاز داشته باشد.
بافرینگ چندگانه پیشرس و مفهوم صف در پردازش انبوه فایلها بافرینگ چندگانه میتواند رکوردهای فایل را از پیش خوانده و در بافر بگذارد. چنین تکنیکی را صف بندی گویند. چنین بافرینگی بصورت چرخشی پیاده سازی میشود.
تکنیکهای تولید نسخه پشتیبان در محیط ذخیره و بازیابی همیشه لازم است نسخه های پشتیبان بصورت دوره ای ایجادشوند. این عمل ممکن است بسیاروقت گیر باشد.
تکنیک 1: استفاده از نیمه دو دیسک دو درایو لازم است. هر درایو به دو نیمه تقسیم میشود: داده ها و پشتیبان هر شب نیمه داده ای هر دیسک روی نیمه پشتیبان دیگری کپی میشود.
تکنیک 2: تولید دامپهای تدریجی نسخه پشتیبان بصورت هفتگی یا ماهانه ایجاد میود. دامپ فایلهایی که از اخرین پشتیبان تغییر کرده اند بصورت روزانه تولید میشود. حافظه زیادی مورد نیاز است.
تکنیک 3: آینه سازی (نظیر سازی) دو یا بیشتر دیسک استفاده میشود. عمل نوشتن همزمان در دو دیسک انجام میشود. عمل خواندن فقط از یک دیسک صورت میگیرد.