Transcript پیوسته
فایل چیست
فایل :مجموعه از اطالعات مرتبط به هم است که در رسانه ی جانبی
ذخیره می شود.
از دید کاربر ،فایل کوچکترین واحد تخصیص یافته در حافظه ی ثانوی
است.
انواع فایلها از لحاظ محتوی:
الفبایی
عددی
باینری (شامل برنامه)
...
انواع فایل از لحاظ فرمت:
فرمت آزاد :مانند فایلهای متنی
دقیقاً فرمت بندی شده :مثل فایلهایی که شامل رکوردها هستند
1
ذخیره سازی فایل
فایل در دیسک به دو صورت ذخیره سازی می شود:
پیوسته :فایل در بلوکهای همجوار است
ناپیوسته :فایل در بلوکهای ناهمجوار است
مزایای پیوسته :پیاده سازی ساده ،کارآیی باال
معایب پیوسته :مشکل عدم تطابق فضاهای خالی با اندازه ی
مورد نیاز برای فایل ،نیاز به مشخص بودن طول فایل
2
ساختار فایل
فیزیکی :نشان دهنده ی چگونگی ذخیره سازی بالکها در
رسانه است
منطقی :نشان دهنده ی طرحی است که رکوردهای منطقی
کنار هم قرار می گیرند
3
صفات فایل
نام :رشته ای از کاراکترها برای مراجعه ی کاربران به فایل
اندازه :اندازه ی فعلی فایل بر حسب بایت ،کیلو بایت یا ...
شناسه :نامی که توسط سیستم فایل قابل تشخیص است
مکان فایل :دستگاه یا مکانی که فایل در آن ذخیره شده است.
حفاظت :اطالعاتی که دستیابی به فایل را کنترل می کند
تاریخ و زمان :شامل زمان ایجاد ،آخرین دستیابی ،آخرین تغییر
و ...
4
ساختار دایرکتوری
اطالعات مربوط به فایلها در ساختار دایرکتوری نگهداری می
شود.
دایرکتوری در حافظه ی جانبی قرار دارد.
ورودی دایرکتوری ها شامل نام فایل و شناسه ی یکتای آن
است.
شناسه ی فایل :مکان صفات دیگر فایل را مشخص می کند
برای هر فایل ممکن است که اندازه ی این دایرکتوری بسته به
نوع سیستم فایل از 1کیلو بایت تا 1مگا بایت متغیر باشد.
5
نوع داده ی انتزاعی فایل
فایل ،نوع داده ی انتزاعی ( )Abstract Data Typeاست:
هر سیستم فایل نه تنها باید شامل ابزاری برای ذخیره سازی داده
به صورت فایل باشد ،بلکه باید شامل مجموعه ای از عملیات باشد
که می تواند بر روی فایل انجام پذیرد.
6
عملیات روی فایل
ایجاد فایل :فایل جدیدی تعریف می شود و در ساختار دایرکتوری قرار می
گیرد .مراحل ایجاد فایل:
مرحله ی اول :سیستم فایل فضایی برای فایل پیدا می شود
مرحله دوم :یک ورودی برای فایل در ساختار دایرکتوری ایجاد می شود.
حذف فایل :در ساختار دایرکتوری جستجو می شود ،پس از پیدا شدن فایل
فضای آن آزاد می شود.
باز کردن فایل :فایل وقتی باز است که فرآیندی بتواند کاری روی آن انجام
دهد.
خواندن از فایل :سیستم یک اشاره گر خواندن را نگهداری می کند تا محل
بعدی خواندن در فایل مشخص باشد.
بستن فایل :فایل وقتی بسته است که فرآیندی نتواند کاری روی آن انجام
دهد.
نوشتن در فایل :فرآیند می تواند فایل را به روز رسانی کند .برای این کار
داده ی جدیدی به فایل اضافه می کند تا اندازه ی فایل افزایش یابد یا داده
های موجود در فایل را تغییر دهد.
7
سیستمهای مدیریت فایل
سیستم مدیریت فایل :نرم افزاری است که خدماتی را برای کاربران و
برنامه های کاربردی در استفاده از فایل فراهم می کند.
اهداف سیستمهای مدیریت فایل:
.1
.2
.3
.4
.5
.6
.7
برآورده کردن نیازهای مدیریت داده ها و خواسته های کاربر شامل
ذخیره سازی داده ها و توانایی انجام عملیات
تضمین معتبر بودن داده ها
بهینه سازی کارآیی :هم از نطر سیستم براساس توان عملیاتی و هم
از نظر کاربر براساس زمان پاسخ
پشتیبانی I/Oبرای انواع مختلفی از دستگاههای ذخیره سازی
به حداقل رساندن یا از بین بردن احتمال حذف یا تخریب داده ها
تهیه ی مجموعه از روال های واسط I/Oاستاندارد
پشتیبانی I/Oبرای چندین کاربر در سیستمهای چند کاربره
8
وظایف مدیریت فایل
9
مدیریت حافظه ی ثانوی
فایل در حافظه ی ثانوی مجموعه ای از بلوکها است.
سیستم عامل مسئول تخصیص بلوک به فایل است.
مسایل مرتبط:
تخصیص فضا برای فایلها
مدیریت فضای آزاد
10
تخصیص فضا به فایل
.1وقتی فایل جدیدی ایجاد می شود ،آیا حداکثر فضای مورد نیاز
فایل تخصیص می یابد؟
.2فضای یک یا چند واحد پیوسته به فایل تخصیص می یابد که
به آنها بخش می گویند .اندازه ی هر بخش می تواند از یک
بلوک تا کل فایل باشد .برای تخصیص فایل ،اندازه ی بخش
چقدر باید باشد؟
.3برای نگهداری بخشهای تخصیص یافته به فایل از چه
ساختمان داده یا جدولی استفاده می شود؟
11
پیش تخصیص در مقابل تخصیص پویا
12
اندازه ی بخش
اندازه ی بخش می تواند کل فایل را در برگیرد یا می تواند هر
بار یک بلوک از فضای دیسک برای آن تخصیص یابد.
مسایل مرتبط:
.1پیوستگی فایل باعث بهبود کارآیی می شود
.2تعداد زیادی از بخشهای کوچک اندازه ی جدولهای مورد نیاز
برای مدیریت اطالعات را مشکل می کند
.3بخشها با اندازه ی ثابت ،تخصیص مجدد فضا را آسان می کند
.4بخشهایی با اندازه ی ثابت وکوچک باعث بهبود در مدیریت
فضای دیسک می شود
13
انواع بخشها
بخشهای پیوسته ی بزرگ و متغیر:
کارآیی بهتر
اندازه ی متغیر مدیریت فضا را ساده تر می کند
جدول تخصیصها کوچکتر می شود
استفاده ی مجدد از فضا دشوار تر است
بلوکها (بخشهای کوچک با اندازه ی ثابت):
قابلیت انعطاف زیاد
جدول تخصیصها بزرگ است
پیوستگی مطرح نیست و بلوکها در صورت نیاز تخصیص می یابند.
14
مدیریت فضای آزاد
جدول بیتی :از برداری استفاده می کند که به ازای هر بلوک یک بیت در آن
وجود دارد.
.1
.2
.3
>== 0بلوک آزاد
>== 1بلوک استفاده شده
مثال:
مزایا:
یافتن یک یا گروه پیوسته ای از بلوکهای آزاد آسان است
کوچک بودن آن
اندازه ی جدول ==>
مثال برای بک دیسک 16گیگابایتی با بلوکهای 512بیتی فضای جدول تقریباً 4مگا
بایت است
بخشهای آزاد زنجیره ای :استفاده از اشاره گر برای مشخص کردن زنجیره ای از
بلوکهای آزاد
شاخص بندی :در این روش با فضای دیسک مانند یک فایل رفتار می شود و از
جدول شاخص استفاده می گردد
15
چگالی لود اولیه
در صورتی که بتوانیم فضای دیسک را پیش بینی کنیم می
توانیم فضای بلوکهای آنرا برای استفاده ی بعدی رزرو کنیم.
16
مزایای حافظه ی رزرو
17
معایب حافظه ی رزرو
18
لوکالیتی
میزان نزدیکی رکورد منطقاً بعدی را لوکالیتی می گویند.
رکورد منطقاً بعدی رکوردی است که در هنگام تعریف فایل پس
از رکورد بعدی قرار می گیرد.
انواع لوکالیتی:
رکورد منطقاً بعدی در همان بلوکی باشد که رکورد فعلی است.
رکورد منطقاً بعدی در بلوک دیگر و در مجاورت بلوک حاوی رکورد
فعلی است
رکورد منطقاً بعدی در بلوک دیگر ولی در همان شیاری است که
بلوک حاوی رکورد فعلی در آن قرار دارد
بلوک حاوی رکورد بعدی در سیلندر دیگری قرار دارد.
19
دیدگاه ها نسبت به فایل
فایل منطقی:ساختاری از فایل را نشان می دهد که رکوردهای
فایل براساس آن دستیابی می شوند
فایل فیزیکی :نشان دهنده ی نحوه ی ذخیره ی رکوردها بر
روی دیسک می باشد.
20
سیستم فایل
سیستم فایل بخشی از سیستم عامل است که با فایل سر و کار
دارد و دارای دو بخش است:
بخش منطقی :وظیفه ی انجام درخواستهای کاربر را دارد
بخش فیزیکی :با قسمت فیزیکی در ارتباط است و درخواستهای بخش
منطقی را به دستورات مناسب برای رسانه ی ذخیره سازی تبدیل می
کند.
21
سطوح مختلف آدرس دهی
در سطح برنامه ی پردازشگر فایل
در سطح منطقی سیستم فایل
در سطح فیزیکی سیستم فایل
22
آدرس دهی در سطح برنامه ی
پردازشگر فایل
به یکی از روشهای زیر آدرس دهی می شود:
نسبی :فایل بصورت یک ساختار خطی مشاهده می شود
آدرس نسبی رکورد( )RRAبه عنوان آرگومان جستجو استفاده می
شود
محتوایی :یک مقدار صفت خاصه را به عنوان آرگومان جستجو
استفاده می کند
نمادی :رکورد توسط یک اسم سمبلیک مشخص می شود.
23
آدرس دهی در سطح منطقی سیستم
فایل
از آدرس دهی نسبی استفاده می شود:
آدرس دهی در سطح کل فضای ذخیره سازی انجام می شود
کل فضای ذخیره سازی بصورت آرایه ای از بلوکها دیده می شود و آدرس
هر بلوک با (RBAآدرس نسبی بلوک) مشخص می شود.
برای بدست آوردن آدرس نسبی حاوی بالک مورد نظر باید ابتدا آدرس
نسبی بالکی که رکورد در آن قرار دارد را بدست آورد
سپس این مقدار را به آدرس اولی بالک فایل اضافه می کنیم
24
آدرس دهی در سطح فیزیکی سیستم
فایل
آدرس منطقی را دریافت و آنرا به آدرس مناسب برای محیط
ذخیره سازی تبدیل می کند
25
بافر
بافر :ناحیه ای از حافظه ی اصلی است که جهت هماهنگی در
عملیات I/Oو عملیات CPUبکار می رود
اندازه ی بافر حداقل به اندازه ی یک بالک است.
عموماً از دو بافر استفاده می شود :بافر ورودی و بافر خروجی
روشهای ایجاد بافر:
.1توسط برنامه نویس با ایجاد ناحیه ای از حافظه در برنامه
.2توسط سیستم عامل در هنگام باز شدن یا بسته شدن فایل
.3اجرای یک ماکرو که از سیستم عامل درخواست ایجاد بافر می کند
26
روشهای دسترسی به محتوای بافر
روش انتقالی :رکورد از بافر ورودی به ناحیه ی کاری برنامه
منتقل می شود و بالعکس(.برنامه به بافر دسترسی ندارد و
بافر خاص خود را دارد که همان ناحیه کاری است)
روش مکان نمایی :برنامه مستقیماً به بافر ورودی و خروجی
دسترسی دارد
27
انواع بافر از نظر محل ایجاد
بافر نرم افزاری :ناحیه ای است از حافظه ی اصلی که توسط
سیستم عامل در اختیار برنامه قرار می گیرد
بافر سخت افزاری :بافرهای موجود در دستگاههای سخت
افزاری .داده ها در این نوع دستگاهها ابتدا به بافر سخت
افزاری و سپس به بافر نرم افزاری منتقل می شوند.
28
انواع بافرینگ
استاندارد:تنها از یک بافر برای انتقال اطالعات استفاده می
شود ،در زمانی که بافر در حال پر شدن یا خالی شدن است
CPUنمی تواند از محتوای آن استفاده کند.
مضاعف :استفاده از دو بافر .در حالیکه یک بافر در حال پر
شدن است ،بافر دیگر را می توان پردازش کرد.
نکته :زمان پردازش یک بالک توسط CPUباید از زمان انتقال یک
بالک به بافر کمتر باشد تا این روش کارآیی الزم را داشته باشد.
چندگانه :استفاده از چند بافر برای خواندن فایلها
29