تارا فایل

پاورپوینت مروری اجمالی برسیستم نگاهداری داده ها


File Structure
Lecture 2
مروری اجمالی بر
سیستم نگاهداری داده ها
(File System)

2-2
File Structure
مروری اجمالی بر سیستم نگاهداری داده ها (File System)
فایل ( File ) چِیست ؟

فایل سیستم (File System) چِیست ؟

دیسک (Disk) چیست ؟

دسترسی کاربران به فایلهای داده چگونه میباشد؟

2-3
File Structure
مروری اجمالی بر سیستم نگاهداری داده ها (File System)

فایل ( File ) چِیست ؟

مجموعه ای از داده ها ( Data ) میباشد ،

که بطور واحد بوسیله سیستم عامل ((Operating System قابل شناسایی و مدیریت است.

هر فایل یک واحد مستقل و پایدار (Persistent) از داده ها میباشد.

2-4
File Structure
مروری اجمالی بر سیستم نگاهداری داده ها (File System)

فایل سیستم (File System) چِیست ؟

بخش قابل مشاهده ای از سیستم عامل میباشد ،

که دو وظیفه ی مهم در رابطه با نگهداری فایلهای داده را به عهده دارد:

مدیریت مشخصات فایلها (Directory service )

نگاهداری محتوای فایلها (Storage service )

2-5
File Structure
سیستم نگاهداری داده ها (File System)
تقسیم وظایف در فایل سیستم چگونه است؟

2-6
File Structure
سیستم نگاهداری داده ها (File System)

مدیریت مشخصات فایلها (Directory )

مدیریت نامگذاری فایلها (Logical Naming)

مدیریت مختصات و اطلاعات مربوط به فایلها ( Meta Data )

مدیریت سازماندهی و دسته بندی فایلها ( Organization )

2-7
File Structure
سیستم نگاهداری داده ها (File System)

نگاهداری محتوای فایلها (Storage )

نگهداری فایلها به گونه ای پایدار و مطمئن (Persistent & Reliable)

ارائه امکانات ایجاد ، حذف و بروز نمودن فایلها برای کاربران

به مشارکت گذاشتن فایلها بین کاربران (Sharing)

کنترل امنیت در دسترسی به فایلها (Access Security)

2-8
File Structure
سیستم نگاهداری داده ها (File System)

د یسک (Disk) چیست ؟

یک نوع حافظه مغناطیسی میباشد ،

که برای ذخیره سازی فایلهای داده استفاده میشود.

در فصلهای آینده مفصلا در مورد انواع حافظه صحبت خواهیم نمود.

2-9
File Structure
سیستم نگاهداری داده ها (File System)

مدیریت داده ها روی د یسک با کیست ؟

کلیه اعمال ایجاد، حذف یا هرگونه دسترسی به فایلهای داده روی دیسک (Disk) ،

توسط یک واحد مستقل (Disk Handler) ،

و به موازات وظایف دیگر فایل سیستم انجام میشود.

2-10
File Structure
مدیریت مشخصات فایلها (Directory)
ساختارهای گوناگونی جهت نگاهداری مشخصات فایلها وجود دارد:

ساختار مسطح یا ساده (Flat Directory Structure)

ساختار دو سطحی (2 Level Directory Structure)

ساختار درختواره (Tree Directory Structure)

ساختار گراف (Graph Directory Structure)

2-11
File Structure
مدیریت مشخصات فایلها (Directory)
1 – ساختار مسطح یا ساده (Flat Directory Structure)

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

2-12
File Structure
مدیریت مشخصات فایلها (Directory)
2 – ساختار دو سطحی (2 Level Directory Structure)

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

2-13
File Structure
مدیریت مشخصات فایلها (Directory)
3 – ساختار درختواره (Tree Directory Structure)

نوع تعمیم یافته ساختار قبل می باشد.
که امکان سازماندهی فایلها را در چندین سطح میسر میسازد.
ولی امکان به اشتراک گذاشتن یک فایل در دو گروه مختلف را میسر نمی سازد.
نام هر فایل به صورت یک Path مانند "x/y/cat" ارائه می شود.

2-14
File Structure
مدیریت مشخصات فایلها (Directory)
4 – ساختار گراف (Graph Directory Structure)

این ساختار در تکمیل ساختار قبل ، امکان به اشتراک گذاشتن فایلها و ایجاد ارتباط (Link) بین گروههای مختلف را میسر می سازد.
در این ساختار مسایلی مانند حذف فیزیکی یک فایل یا کنترل امنیت دسترسی به فایلها پیچیده تر خواهند بود چون یک فایل ممکن است چند نام مختلف (path) داشته باشد.

2-15
File Structure
ارتباط بین کاربران و فایل سیستم (File System Interface)

عملیات مربوط به مشخصات فایلها (Directory)
ایجاد یا حذف Directory
ایجاد ، حذف یا باز نمودن فایلها
مرتبط ساختن یک فایل به یک Directory
تعریف امنیت فایلها (Access Rights)
نمایش فهرست فایلها

عملیات مربوط به ذخیره سازی فایلها (Storage)
خواندن فایل
نوشتن یا به روزآوردن فایل
بستن فایل
جستجو (Seek) در داخل یک فایل

2-16
File Structure
مشخصات فایلها (File Attributes)
مشخصات فایلها یعنی چه؟
مختصات و اطلاعات مربوط به فایلها ( Meta Data) شامل اجزاء زیر می باشند:

نوع فایل
محل فیزیکی فایل ) روی دیسک(
اندازه فایل
نام صاحب فایل
امنیت دسترسی به فایل
زمانهای ایجاد ، دسترسی و به روز آوردن فایل

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

2-17
File Structure
دیدگاه کاربران از فایلهای داده (Logical / Physical Mapping)
از دیدگاه کاربران:
یک فایل بعنوان مجموعه ای از رکوردهای داده (Logical Records) تعریف میشود.(کجا؟)
از دیدگاه فایل سیستم:
فضای دیسک به عنوان مجموعه ای از بلوکهای داده (Physical Blocks) تعریف می شود.
نتیجه؟
بایستی دو دیدگاه فوق با یکدیگر منطبق شوند. (Logical / Physical Mapping)
درغیراینصورت؟
فضاهایی بدون استفاده روی دیسکها تشکیل می شود. (Fragmentation) … (چرا؟)

2-18
File Structure
دیدگاه کاربران از فایلهای داده (Logical / Physical Mapping)
متمایز نمودن دیدگاه کاربران از دیدگاه سیستم چه مزایا و معایبی را بهمراه دارد؟
1 – مزایا:
استقلال نرم افزار نسبت به یک سیستم خاص (Portability)
تمایز بین کارآیی نرم افزار و کارآیی سیستم (Performance)
امکان تعریف دقیقتر وظایف و الزامات بین دو دیدگاه
تسهیل در مدیریت دیسکها (Disk Handler) … (چرا؟)

2 – معایب:
مشکلات بهینه سازی فضای استفاده شده (Optimization)
مسئولیت مدیریت رکوردها در نرم افزار … (چرا؟)

2-19
File Structure
دسترسی کاربران به فایلهای داده (Access Methods)

دسترسی به داده های یک فایل از چه طرقی امکان پذیر میباشد؟

دسترسی بطور سری (یعنی بایت به بایت یا رکورد به رکورد) (Sequential)

دسترسی مستقیم به یک آدرس (Direct) … (چگونه؟)

همانند یک Array در حافظه RAM (Memory Mapped)

دسترسی مستقیم بر حسب یک کلید (Indexed)

2-20
File Structure
صحت و همخوانی داده ها (Data Consistency)
منظور از صحت داده ها چیست؟
از دیدگاه کاربران بایستی که داده های موجود در یک فایل یا حتی در فایلهای مختلف نسبت به یکدیگرهمخوانی داشته باشند. (مثال؟)

نقش فایل سیستم؟
در سیستم UNIX داده های یک کاربر به محض نوشته شدن در فایل بوسیله کاربران دیگر(ی که به فایل اجازه دسترسی دارند) قابل مشاهده می باشد … (خطر!)

در برخی دیگر از سیستم ها تا زمان بسته شدن فایل ، داده های نوشته شده در آن قابل مشاهده بوسیله دیگر کاربران نمی باشد.

نتیجه؟
در هر دو مورد فوق ) به خصوص مورد اول ( هماهنگی بین کاربران جهت حفظ صحت داده ها و همخوانی آنها الزامیست. (مورد دوم؟)

2-21
File Structure
حفظ امنیت داده ها (Access Protection)
منظور از امنیت داده ها چیست؟
حفظ امنیت داده ها به مفهوم کنترل دسترسی به آنها بوسیله کاربران مجاز می باشد.

این کنترل دسترسی از چه جهاتی میباشد؟
خواندن ( Read )
نوشتن ( Write )
اجرا ( Execute )
حذف داده ها ( Delete )
اضافه نمودن داده ها ( Append )
مشاهده مشخصات فایلها ( File Attributes )
جستجوی فایلها ( Files & Directory Search ) … (این چرا؟)

2-22
File Structure
حفظ امنیت داده ها (Access Protection)
چه روشهایی برای کنترل امنیت وجود دارد؟
یک روش کنترل امنیت فایلها به وسیله لیستهای ساده (ولی طولانی) از کاربران و فایلهایی که به آن دسترسی دارند انجام پذیر میباشد . ( Access Lists )

در Unix روش ساده تری ( Access Groups ) بکار می رود که شامل تعریف کاربران در سه نوع می باشد:

1- خود ما لک فایل ( Owner )
2- کاربران هم گروه با ما لک فایل (Group )
3- کاربران دیگر (Others ) … (مثال؟)

(چرا این روش ساده تر است؟)

2-23
File Structure
دسترسی به داده های یک فایل (Opening a File)

دسترسی به داده های یک فایل چگونه آغاز میشود؟

قبل از هر گونه دسترسی به داده های یک فایل بایستی فایل را اصطلاحا باز نمود.

باز نمودن یک فایل یعنی چه؟

باز نمودن یک فایل به معنی وارد نمودن اطلاعات مربوط به فایل در جداول سیستم میباشد.

(از کجا؟)

2-24
File Structure
دسترسی به داده های یک فایل (Opening a Files)

باز نمودن یک فایل چگونه است؟

برای فایلهایی که بوسیله کاربران مختلف باز میگردند، اطلاعات گوناگونی در جداول سیستم از جمله Open File Table نگهداری میشود.

(چه نوع اطلاعاتی؟)

2-25
File Structure
دسترسی به داده های یک فایل (Opening a Files)

چه نوع اطلاعاتی در جداول سیستم مورد نیاز میباشد؟

اطلاعات عمومی شامل:

آدرس فایل روی دیسک
و فضای رزرو شده
زمان ایجاد و دسترسی
بافرهای I/O
دفعات باز شدن
Lock ها
غیره

اطلاعات مربوط به هر Process شامل:

نشانگرهای مختلف (Pointers) … (مثال؟)

نوع اجازه ی دسترسی (Access Permissions)

غیره

2-26
File Structure
دسترسی به داده های یک فایل (Opening a Files)
مراحل باز نمودن یک فایل چگونه است؟

2-27
File Structure
نگهداری فایلها روی دیسک (Disk Allocation)
فضای مورد نیاز یک فایل را روی دیسک با چه روشهایی میتوان مشخص نمود؟

1- روش اول:
قطعات مختلفی از فضای دیسک رزرو شده به یکدیگر مرتبط (Link) می شوند. (Linked Allocation)
در این روش محدودیتی در فضای رزرو شده وجود نخواهد داشت ولی دسترسی مستقیم به یک رکورد یا بایت ممکن نخواهد بود. (چرا؟)

2-28
File Structure
نگهداری فایلها روی دیسک (Disk Allocation)
فضای مورد نیاز یک فایل را روی دیسک با چه روشهایی میتوان مشخص نمود؟

2- روش دوم:
آدرس و فضای موجود در قطعات مختلف رزرو شده برای یک فایل در یک Index نگاهداری می شوند (Indexed Allocation)
در این روش امکان دسترسی مستقیم به یک رکورد یا بایت وجود خواهد داشت. (چرا؟)

2-29
File Structure
نگاهداری فایلها تحت سیستم یونیکس (Unix File System)

فایلها تحت سیستم یونیکس چگونه و در چه سطوحی نگهداری می شوند؟

مشخصات فایلها در چه جداولی نگاهداری میشوند؟ (I-nodes & Directories)

مشخصات فایلهای بازشده در چه جداولی نگاهداری میشوند؟ (Open File Structure)

سازماندهی فضای دیسک چگونه است؟ (Disk Organization)

نگاهداری فایلها تحت شبکه به چه صورت انجام میشود؟ (Network File System)

2-30
File Structure
نگاهداری فایلها تحت سیستم یونیکس (Unix File System)
مشخصات فایلها در چه جداولی نگاهداری میشوند؟
جداول Directories
جداول I-nodes
ساختار Directory چگونه است؟
فهرستی ساده از اسامی فایلها و شماره i-node مربوطه می باشد.

2-31
File Structure
نگاهداری فایلها تحت سیستم یونیکس (Unix File System)
ساختار یک جدول I-node چگونه است؟

مشخصات اصلی مربوط به هر فایل در یک جدول I-node نگهداری میشوند.
فضای مورد نیاز روی دیسک بصورت بلوکهای 8 کیلو بایتی رزرو میشوند.
از روش Indexed Allocation برای آدرس دهی به آنها استفاده میشود.
12 اشاره گر مستقیم (direct pointer) امکان دسترسی مستقیم به داده های فایلهایی را که ظرفیت آنها تا 96 کیلو بایت باشد فراهم میکنند.
بوسیله اشاره گر بعدی (Single indirect pointer) تا 16 مگا بایت داده دیگر، فقط با یک index اضافی قابل دسترسی خواهد بود.
سپس ، با اشاره گر Double indirect pointer تا 4 گیگا بایت داده دیگر ، با دو سطح ایندکس قابل دسترسی می باشند.
و این ظرفیت در پروسسورهای 64 بیتی تا 32 گیگا بایت ارتقا پیدا می کند.

2-32
File Structure
نگاهداری فایلها تحت سیستم یونیکس (Unix File System)
ساختار یک جدول I-node چگونه است؟

2-33
File Structure
نگاهداری فایلها تحت سیستم یونیکس (Unix File System)
مشخصات فایلهای بازشده در چه جداولی نگاهداری میشوند؟

جدول File Descriptor Table اطلاعات مربوط به فایلهای باز شده و نشانگرهای مورد استفاده در یک process را مشخص می کند.

جدول (OFT) Open File Table اطلاعات مربوط به تمام فایلهای باز شده در سیستم ، تعداد دفعات بازشدن هر فایل open count ، قفل های مربوط به هر فایل (Locks) کنترل امنیت و صحت داده ها و غیره را مشخص می کند.

جدول File Allocation Table اطلاعات مربوط به بلوکهای داده فایلها را نگاهداری میکند.
جدول Table of I-nodes یک کپی از I-nodes های فایلهای مورد استفاده را در حافظه RAM نگهداری می کند.

2-34
File Structure
نگاهداری فایلها تحت سیستم یونیکس (Unix File System)
مشخصات فایلهای بازشده در چه جداولی نگاهداری میشوند؟

2-35
File Structure
نگاهداری فایلها تحت سیستم یونیکس (Unix File System)

هر واحد دیسک می تواند شامل چند File System باشد.

هر فایل سیستم روی یک Logical Disk تعریف شده و شامل یک boot block و تعدادی Cylinder group میباشد.

اولین بلوک یک Logical Disk به نام boot block میباشد که حاوی boot strap program میباشد.

بقیه logical disk به چندین Cylinder group تقسیم میشود.

هر Cylinder group شامل تعدادی Cylinder مجاور یکدیگر میباشد

سازماندهی فضای دیسک چگونه است؟ (Disk Organization)

2-36
File Structure
نگاهداری فایلها تحت سیستم یونیکس (Unix File System)

در هر Cylinder group یک Super block قرار دارد که حاوی اطلاعات ثابت File System میباشد.

در هر Cylinder group یک cylinder block قرار دارد که حاوی اطلاعات متغیر مربوط به بلوکهای آزاد (free) ، i-node های آزاد و نیز اطلاعات آماری مثل درصد فضای اشغال شده و غیره میباشد.

هر Cylinder group شامل یک فضای رزرو شده برای i-node ها میباشد.

بقیه فضای موجود در cylinder group برای بلوکهای داده (data blocks) رزرو میشود.

سازماندهی فضای دیسک چگونه است؟ (Disk Organization)

2-37
File Structure
نگاهداری فایلها تحت سیستم یونیکس (Unix File System)

فضای لازم برای نگهداری هر فایل شامل تعدادی بلوک داده میباشد.

هر بلوک داده به عنوان تعداد مشخص و ثابتی از بخش های قابل آدرس دهی روی دیسک )بنام(Sector تعریف میشود.

بلوکهای بزرگتر راندمان انتقال داده را از حافظه RAM به دیسک و بالعکس بهتر مینمایند.

بلوکهای کوچکتر از بی استفاده ماندن و به هدر رفتن بخشی از فضای دیسک جلوگیری میکنند.

فضای مفید در هر بلوک بصورت تعدادی قطعه یا Sectorبوسیله کاربر رزرو میشود.

استفاده بهینه از فضای دیسک بسته به تعریف صحیح اندازه های Block ها و Sectorها دارد. معمولاً :
اندازه Block ها بین 4 تا 8 کیلو بایت میباشد.
اندازه Sectorها بین 0.5 تا 2 کیلو بایت میباشد.
سازماندهی فضای دیسک چگونه است؟ (Disk Organization)

2-38
File Structure
نگاهداری فایلها تحت سیستم یونیکس (Unix File System)

تعریف Cylinder Group از نسخه یونیکس BSD 4.2 به بعد ، با هدف گردآوری داده های یک فایل در یک محدوده مشخصی انجام یافته است.

جدول I-node هر فایل (و حتی الامکان داده های اولیه آن) در همان cylinder group مربوط به Directory حفظ میشوند.

هر Sub-directory به یک cylinder group دیگر منتقل میشود.

برای جلوگیری از مونوپولیزه کردن فضای یک cylinder group بوسیله یک فایل بزرگ، بلوکهای داده غیر مستقیم (indirect blocks) مربوط به هر فایل به یک cylinder group دیگر منتقل میشوند.
سازماندهی فضای دیسک چگونه است؟ (Disk Organization)

2-39
File Structure
نگاهداری فایلها تحت سیستم یونیکس (Unix File System)
نگاهداری فایلها تحت شبکه به چه صورت انجام میشود؟
(Network File System)

برای اولین بار شرکت SUN تعریف سیستم های باز (open systems) و پروتوکل های مربوطه (NFS , XDR , RPC ) را ارائه نمود.

NFS به یک استاندارد برای سیستم های heterogeneous تبدیل شده است.

NFS از مدل Client /Server در تعریف سیستم ها استفاده می نماید و باعث تحولات اساسی در Unix شده است.

هر سیستم میتواند به عنوان Server امکان دسترسی به فایلهای خود را به سیستم دیگری ( Client ) بدهد.

2-40
File Structure
نگاهداری فایلها تحت سیستم یونیکس (Unix File System)
نگاهداری فایلها تحت شبکه به چه صورت انجام میشود؟
(Network File System)

مثال:

2-41
File Structure
نگاهداری فایلها تحت سیستم یونیکس (Unix File System)
نگاهداری فایلها تحت شبکه به چه صورت انجام میشود؟ (Network File System)

سیستم Client میتواند درخواست بالا آوردن (mount) را در سطح یک Directory و تمام Sub-directory های مربوطه ، به سیستم Server بدهد.

برای انجام این تحول ، شرکت SUN تعریف (Virtual File Systems) VFS و جایگزینی i-node را با V-node پیشنهاد نمود.

V-node امکان شماره گذاری فایلها به طور Unique در سطح Network را فراهم می سازد.

2-42
File Structure
نگاهداری فایلها تحت سیستم یونیکس (Unix File System)
نگاهداری فایلها تحت شبکه به چه صورت انجام میشود؟ (Network File System)


تعداد صفحات : 42 | فرمت فایل : .ppt

بلافاصله بعد از پرداخت لینک دانلود فعال می شود