Lecture Notes on File System (Arabic) PDF

Summary

These lecture notes cover file systems, explaining concepts like files, records, fields, keys, directory services, and storage services, suitable for undergraduate computer science courses. The notes also examine file attributes, data consistency, and access protection. Diagrams and examples are included.

Full Transcript

‫به نام خدا‬ ‫برای فرج زیاد دعا کنید که آن گشایش در امور‬ ‫امام زمان (ع)‬ ‫شماست‪.‬‬ ‫فصل ‪2‬‬ ‫مروري اجمالي بر‬ ‫سيستم نگاهداري داده ها‬ ‫)‪(File System‬‬ ‫مروري اجمالي بر سيستم نگاهداري داده ها‬ ‫)‪(File System‬‬ ‫...

‫به نام خدا‬ ‫برای فرج زیاد دعا کنید که آن گشایش در امور‬ ‫امام زمان (ع)‬ ‫شماست‪.‬‬ ‫فصل ‪2‬‬ ‫مروري اجمالي بر‬ ‫سيستم نگاهداري داده ها‬ ‫)‪(File System‬‬ ‫مروري اجمالي بر سيستم نگاهداري داده ها‬ ‫)‪(File System‬‬ ‫فايل ( ‪ ) File‬چيست ؟‬ ‫فايل سيستم )‪ (File System‬چيست ؟‬ ‫ديسک (‪ )Disk‬چيست ؟‬ ‫دسترسي کاربران به فايلهاي داده چگونه ميباشد؟‬ ‫مروري اجمالي بر سيستم نگاهداري داده ها‬ ‫)‪(File System‬‬ ‫فايل ( ‪ ) File‬چيست ؟‬ ‫مجموعه اي از داده ها ( ‪ ) Data‬ميباشد ‪،‬‬ ‫‪‬‬ ‫که بطور واحد بوسيله سيستم عامل (‪ (Operating System‬قابل شناسايي و مديريت است‪.‬‬ ‫‪‬‬ ‫هر فايل يک واحد مستقل و پايدار (‪ )Persistent‬از داده ها ميباشد‪.‬‬ ‫‪‬‬ ‫همه ي اطالعات در كامپيوتر به صورت فايل ذخيره مي شوند‪.‬‬ ‫‪‬‬ ‫فايل‬ ‫هر فايل مجموعه ای از بخشهای منطقی بنام رکورد (‪ )Record‬ميباشد‪.‬‬ ‫‪‬‬ ‫هر رکورد مجموعه ای از واحدهای مفهومی بنام فيلد (‪ )Field‬ميباشد‪.‬‬ ‫‪‬‬ ‫فيلد هايی که براي متمايز نمودن يک رکورد مفيد باشند کليد (‪ )Key‬خوانده ميشوند‪.‬‬ ‫‪‬‬ ‫کليدي که يک رکورد را بطور يکتا متمايز مينمايد‪ ،‬کليد اصلي (‪ )Primary‬ميناميم‪.‬‬ ‫‪‬‬ ‫کليدهايي که برای مواردي از جستجو مفيد هستند‪ ،‬کليد ثانوي )‪ (Secondary‬ميناميم‬ ‫‪‬‬ ‫انواع فيلد‬ ‫فيلدهاي با طول مشخص (‪:)Fixed Length‬‬ ‫‪(1‬‬ ‫دسترسي به هر فيلد راحت و سريع مي باشد ‪.‬‬ ‫‪‬‬ ‫(چرا؟)‬ ‫ولي مقداري از فضاي رزرو شده ممکن است بيهوده مصرف‬ ‫‪‬‬ ‫شود‪ (.‬چرا؟)‬ ‫فضاي اضافی با کاراکتر ‪( Space‬يا صفر) پرميگردد‪.‬‬ ‫‪‬‬ ‫‪Ames‬‬ ‫‪Mary‬‬ ‫‪911 High St.‬‬ ‫‪Austin‬‬ ‫‪TX78701‬‬ ‫‪KammermeisteAlan‬‬ ‫‪102 Main St.‬‬ ‫‪Buda‬‬ ‫‪TX78642‬‬ ‫انواع فيلد‬ ‫‪ (2‬فيلدهاي محتوي شاخص طولي (‪:)Length indicator‬‬ ‫‪ ‬فضاي اضافي رزرو نشده و بيهوده به هدر نميرود‪.‬‬ ‫‪ ‬امکان پرش به فيلدهاي بعدي براحتي ميسر است‪.‬‬ ‫(چرا؟)‬ ‫‪ ‬ولي الاقل يک بايت براي هر فيلد اضافه ميشود )با محدوديت طول فيلد‪(255 :‬‬ ‫‪04Ames04Mary12911 High St.06Austin02TX0578701‬‬ ‫‪13Kammermeister04Alan12102 Main St.04Buda02TX0578642‬‬ ‫انواع فيلد‬ ‫‪ )3‬فيلدهاي مشخص شده بوسيله کلمه کليدي‪:‬‬ ‫هر فيلد بصورت ‪ Keyword=value‬مشخص ميشود‪.‬‬ ‫‪‬‬ ‫در صورت عدم احتياج به يک فيلد‪ ،‬مستقيما فيلد بعدي در‬ ‫‪‬‬ ‫رکورد ثبت ميگردد‪.‬‬ ‫چند کاراکتر اضافي (براي ‪ )Keyword‬به طول هرفيلد‬ ‫‪‬‬ ‫اضافه ميشود‪.‬‬ ‫|‪Last=Ames|First=Mary|Address=911 High St.|City=Austin|State=TX‬‬ ‫‪Zip=78701‬‬ ‫انواع رکورد‬ ‫مشخص‪:‬‬ ‫رکوردهاي با طول‬ ‫‪(1‬‬ ‫معموال با فيلدهاي بطول مشخص هستند‪.‬‬ ‫‪‬‬ ‫ولي انواع ديگر فيلدها نيز ميتوانند در چنين رکوردي تعريف‬ ‫‪‬‬ ‫شوند‪.‬‬ ‫به هر حال فضاي باقيمانده با کاراکتري مثل ‪ Space‬پر‬ ‫‪‬‬ ‫خواهد شد‪(Padding).‬‬ ‫‪Ames‬‬ ‫‪Mary‬‬ ‫‪911 High St.‬‬ ‫‪Austin‬‬ ‫‪TX78701‬‬ ‫‪KammermeisteAlan‬‬ ‫‪102 Main St.‬‬ ‫‪Buda‬‬ ‫‪TX78642‬‬ ‫انواع رکورد‬ :‫رکوردهاي تعريف شده بر حسب تعداد فيلد‬ (2.‫اين رکوردها با طول متغيرهستند‬ .‫معموال با فيلدهاي بطول متغير تعريف ميشوند‬  04Ames04Mary12911 High St.06Austin02TX0578701 13Kammermeister04Alan12102 Main St.04Buda02TX0578642 Last=Ames|First=Mary|Address=911 High St.|City=Austin|State=TX| Zip=78701 ‫انواع رکورد‬ ‫‪ (3‬رکوردهاي همراه با شاخص طول‪:‬‬ ‫‪ ‬در آغاز رکورد حداقل يک يا دو کاراکتربراي شاخص طول الزم است‪.‬‬ ‫‪ ‬معموال با فيلدهاي بطول متغير تعريف ميشوند‪.‬‬ ‫‪4504Ames04Mary12911 High St.06Austin02TX0578701‬‬ ‫‪5213Kammermeister04Alan12102 Main St.04Buda02TX0578642‬‬ ‫‪72Last=Ames|First=Mary|Address=911‬‬ ‫|‪High St.|City=Austin|State=TX‬‬ ‫‪Zip=78701‬‬ ‫رکوردهاي تعريف شده به کمک ايندکس‪:‬‬ ‫‪(5‬‬ ‫يک فايل جداگانه بنام ‪ Index file‬الزم ميباشد‪.‬‬ ‫‪‬‬ ‫که حاوي آدرس اولين بايت هر رکورد ميباشد‪.‬‬ ‫‪‬‬ ‫معموال با فيلدهاي بطول متغير تعريف ميشوند‪.‬‬ ‫‪‬‬ ‫‪Index file:‬‬ ‫‪00 39 85...‬‬ ‫‪Data file:‬‬ ‫‪Ames|Mary|911 High St.|Austin|TX|78701#Kammermeister|Alan|102 Main‬‬ ‫‪St.|Buda|TX|78642#...‬‬ ‫رکوردهاي با طول فيکس‪:‬‬ ‫(چرا؟)‬ ‫از نظر دسترسي سريع به هر رکورد بهتر هستند‪.‬‬ ‫‪‬‬ ‫ولي مقدار فضاي رزرو شده ممکن است بيهوده بماند‪.‬‬ ‫‪‬‬ ‫رکوردهاي با طول متغير‪:‬‬ ‫از به هدر رفتن فضای اضافی پيشگيري ميکنند‪.‬‬ ‫‪‬‬ ‫(چرا؟)‬ ‫ولي دسترسي سريع به هر رکورد مشکل خواهد داشت ‪.‬‬ ‫‪‬‬ ‫استفاده از ايندکس امکان دسترسي سريع را ميسازد‬ ‫‪‬‬ ‫آفست)‪ :(offset‬فاصله فيزيکی برحسب بايت که هر رکورد از‬ ‫‪‬‬ ‫ابتدای فايل دارد‪.‬‬ ‫فاصله نسبی رکورد)‪ :(RRN‬فاصله هر رکورد برحسب تعداد‬ ‫‪‬‬ ‫رکوردها از ابتدای فايل‪.‬‬ ‫در صورتی که طول برابر باشد‪:‬‬ ‫‪‬‬ ‫اندازه رکورد* ‪offset =RRN‬‬ ‫آيا می توان رابطه ای برای رکوردها با طول متفاوت ارائه‬ ‫‪‬‬ ‫نمود؟‬ ‫انواع روشهای دسترسی به رکوردها کدامند؟‬ ‫‪‬دسترسي مستقيم )‪: (Direct Access‬‬ ‫‪‬فقط در مورد رکوردهاي بطول فيکس امکان پذير ميباشد‪.‬‬ ‫‪‬با استفاده ازفاصله ای که هر رکورد از ابتدای فايل برحسب تعداد‬ ‫رکورد دارد) ‪ (Relative Record Number‬انجام ميشود‪.‬‬ ‫‪‬زمان دسترسی بستگي به تعداد رکوردها در فايل ندارد‪(.‬تابع‬ ‫)‪(.(O(1‬چرا؟)‬ ‫مثال‪:‬‬ ‫‪‬اگرطول رکورد ‪ 101‬بايت باشد‪.‬‬ ‫‪‬براي دسترسي به رکورد سي ام )‪(RRN =30‬‬ ‫‪‬آدرس بايت رکورد ‪ 3030‬ميباشد‪.‬‬ ‫(چرا؟)‬ ‫انواع روشهای دسترسی به رکوردها کدامند؟‬ ‫‪ ‬دسترسي سری (‪:)Sequential Access‬‬ ‫رکوردها يکي بعد از ديگري خوانده ميشوند‪.‬‬ ‫‪‬‬ ‫تنها روش امکان پذير در مورد رکوردهاي با طول متغير ميباشد‪.‬‬ ‫‪‬‬ ‫(چرا؟)‬ ‫زمان دسترسی بستگي به تعداد رکوردها در فايل دارد‪(.‬تابع )‪.(O(n‬‬ ‫‪‬‬ ‫موارد استفاده روش دسترسی سری به رکوردها‬ ‫کدامند؟‬ ‫جستجو در فايلهاي متني (‪)Text files‬‬ ‫‪‬‬ ‫جستجو در فايلهاي کوچک‬ ‫‪‬‬ ‫(چرا؟)‬ ‫مروري اجمالي بر سيستم نگاهداري داده ها‬ ‫)‪(File System‬‬ ‫فايل سيستم )‪ (File System‬چيست ؟‬ ‫نرم افزاری است که وظيفه آن ايجاد ومديريت فايلها است‪.‬دارای چندين اليه می‬ ‫باشد که کاربر از جزييات داخلی آن بی اطالع است‪.‬‬ ‫که دو وظيفه ي مهم در رابطه با نگهداري فايلهاي داده را به عهده دارد‪:‬‬ ‫‪‬‬ ‫مديريت مشخصات فايلها (‪) Directory service‬‬ ‫‪.1‬‬ ‫نگاهداري محتواي فايلها (‪) Storage service‬‬ ‫‪.2‬‬ ‫جدول تخصيص فايل )‪ :(FAT‬ارتباط منطقی بين کالسترهای يک فايل را نگه می دارد‪.‬‬ ‫‪‬‬ ‫‪ :File directory‬فايلی است که اطالعات راجع به فايلهای ذخيره شده روی ديسک دارد‪.‬‬ ‫‪‬‬ ‫توسط سيستم فايل ايجاد می شود‪.‬اطالعاتی مانند نام فايل‪ ،‬تاريخ ايجاد يا بروز رسانی‪...،‬و از‬ ‫همه مهمتر آدرس يک مکان خاص در جدول تخصيص فايل که از آن مکان اطالعات فايل‬ ‫آغاز می شود‪.‬‬ ‫سيستم نگاهداري داده ها )‪(File System‬‬ ‫مديريت مشخصات فايلها ( ‪)Directory‬‬ ‫مديريت نامگذاري فايلها (‪)Logical Naming‬‬ ‫‪‬‬ ‫مديريت مختصات و اطالعات مربوط به فايلها ( ‪) Meta Data‬‬ ‫‪‬‬ ‫مديريت سازماندهي و دسته بندي فايلها ( ‪) Organization‬‬ ‫‪‬‬ ‫سيستم نگاهداري داده ها )‪(File System‬‬ ‫نگاهداري محتواي فايلها ( ‪)Storage‬‬ ‫نگهداري فايلها به گونه اي پايدار و مطمئن (‪)Persistent & Reliable‬‬ ‫‪‬‬ ‫ارائه امکانات ايجاد ‪ ،‬حذف و بروز نمودن فايلها براي کاربران‬ ‫‪‬‬ ‫به مشارکت گذاشتن فايلها بين کاربران (‪)Sharing‬‬ ‫‪‬‬ ‫کنترل امنيت در دسترسي به فايلها (‪)Access Security‬‬ ‫‪‬‬ (File System) ‫سيستم نگاهداري داده ها‬ ‫) چيست ؟‬Disk( ‫د يسک‬ ، ‫يک نوع حافظه مغناطيسي ميباشد‬ .‫که براي ذخيره سازي فايلهاي داده استفاده ميشود‬  pathname fileID requested information directory storage service service disk handler disk ‫سيستم نگاهداري داده ها )‪(File System‬‬ ‫مديريت داده ها روي د يسک با کيست ؟‬ ‫كليه اعمال ايجاد‪ ،‬حذف يا هرگونه دسترسي به فايلهاي داده روي ديسک (‪، )Disk‬‬ ‫‪‬‬ ‫توسط يک واحد مستقل (‪، )Disk Handler‬‬ ‫‪‬‬ ‫و به موازات وظايف ديگر فايل سيستم انجام ميشود‪.‬‬ ‫‪‬‬ ‫‪pathname‬‬ ‫‪fileID‬‬ ‫‪requested‬‬ ‫‪information‬‬ ‫‪directory‬‬ ‫‪storage‬‬ ‫‪service‬‬ ‫‪service‬‬ ‫‪disk handler‬‬ ‫‪disk‬‬ ‫ارتباط بين کاربران و فايل سيستم‬ ‫)‪(File System Interface‬‬ ‫عمليات مربوط به مشخصات فايلها (‪)Directory‬‬ ‫‪‬‬ ‫ايجاد يا حذف ‪Directory‬‬ ‫‪‬‬ ‫ايجاد ‪ ،‬حذف يا باز نمودن فايلها‬ ‫‪‬‬ ‫مرتبط ساختن يک فايل به يک ‪Directory‬‬ ‫‪‬‬ ‫تعريف امنيت فايلها (‪)Access Rights‬‬ ‫‪‬‬ ‫نمايش فهرست فايلها‬ ‫‪‬‬ ‫عمليات مربوط به ذخيره سازي فايلها (‪)Storage‬‬ ‫‪‬‬ ‫خواندن فايل‬ ‫‪‬‬ ‫نوشتن يا به روزآوردن فايل‬ ‫‪‬‬ ‫بستن فايل‬ ‫‪‬‬ ‫جستجو (‪ )Seek‬در داخل يک فايل‬ ‫‪‬‬ ‫مشخصات فايلها‬ ‫(‪)File Attributes‬‬ ‫‪name1 fileID‬‬ ‫مشخصات فايلها يعني چه؟‬ ‫مختصات و اطالعات مربوط به فايلها ( ‪ )Meta Data‬شامل‬ ‫‪‬‬ ‫‪name2 fileID‬‬ ‫اجزاء زير مي باشند ‪:‬‬ ‫‪Meta-data‬‬ ‫نوع فايل‬ ‫‪‬‬ ‫محل فيزيکي فايل ) روي ديسک(‬ ‫‪‬‬ ‫اندازه فايل‬ ‫‪‬‬ ‫‪data‬‬ ‫نام صاحب فايل‬ ‫‪‬‬ ‫امنيت دسترسي به فايل‬ ‫‪‬‬ ‫زمانهاي ايجاد ‪ ،‬دسترسي و به روز آوردن فايل‬ ‫‪‬‬ ‫اين اطالعات کجا هستند؟‬ ‫‪‬‬ ‫مختصات و اطالعات مربوط به فايلها بگونه اي مستقل از مسير‬ ‫‪‬‬ ‫دسترسي به فايل (‪ )Path‬نگهداري ميشوند‪.‬‬ ‫صحت و همخواني داده ها‬ ‫(‪)Data Consistency‬‬ ‫منظور از صحت داده ها چيست؟‬ ‫از ديدگاه کاربران بايستي که داده هاي موجود در يک فايل يا حتي در فايلهاي مختلف‬ ‫‪‬‬ ‫نسبت به يکديگرهمخواني داشته باشند‪(.‬مثال؟)‬ ‫نقش فايل سيستم؟‬ ‫در سيستم ‪ UNIX‬داده هاي يک کاربر به محض نوشته شدن در فايل بوسيله کاربران‬ ‫‪‬‬ ‫ديگر(ي که به فايل اجازه دسترسي دارند) قابل مشاهده مي باشد ‪(...‬خطر!)‬ ‫در برخي ديگر از سيستم ها تا زمان بسته شدن فايل ‪ ،‬داده هاي نوشته شده در آن قابل‬ ‫‪‬‬ ‫مشاهده بوسيله ديگر کاربران نمي باشد‪.‬‬ ‫نتيجه؟‬ ‫‪ ‬در هر دو مورد فوق ) به خصوص مورد اول ( هماهنگي بين کاربران جهت حفظ‬ ‫صحت داده ها و همخواني آنها الزاميست‪.‬‬ ‫حفظ امنيت داده ها‬ ‫(‪)Access Protection‬‬ ‫منظور از امنيت داده ها چيست؟‬ ‫حفظ امنيت داده ها به مفهوم کنترل دسترسي به آنها بوسيله کاربران مجاز مي‬ ‫‪‬‬ ‫باشد‪.‬‬ ‫اين کنترل دسترسي از چه جهاتي ميباشد؟‬ ‫خواندن ( ‪) Read‬‬ ‫‪‬‬ ‫نوشتن ( ‪) Write‬‬ ‫‪‬‬ ‫( ‪) Execute‬‬ ‫اجرا‬ ‫‪‬‬ ‫( ‪) Delete‬‬ ‫حذف داده ها‬ ‫‪‬‬ ‫( ‪) Append‬‬ ‫اضافه نمودن داده ها‬ ‫‪‬‬ ‫مشاهده مشخصات فايلها ( ‪) File Attributes‬‬ ‫‪‬‬ ‫‪...‬‬ ‫جستجوي فايلها ( ‪) Files & Directory Search‬‬ ‫‪‬‬ ‫دسترسي به داده هاي يک فايل‬ ‫)‪(Opening a File‬‬ ‫دسترسي به داده هاي يک فايل چگونه آغاز ميشود؟‬ ‫قبل از هر گونه دسترسي به داده هاي يک فايل بايستي فايل را‬ ‫‪‬‬ ‫‪P1‬‬ ‫اصطالحا باز نمود‪.‬‬ ‫‪P2‬‬ ‫‪System OFT‬‬ ‫باز نمودن يک فايل يعني چه؟‬ ‫‪P3‬‬ ‫باز نمودن يک فايل به معني وارد نمودن اطالعات مربوط به فايل‬ ‫‪‬‬ ‫در جداول سيستم ميباشد‪.‬‬ ‫دسترسي به داده هاي يک فايل‬ ‫)‪(Opening a File‬‬ ‫چه نوع اطالعاتي در جداول سيستم مورد نياز ميباشد؟‬ ‫اطالعات مربوط به هر ‪ Process‬شامل‪:‬‬ ‫‪‬‬ ‫اطالعات عمومي شامل‪:‬‬ ‫‪‬‬ ‫نوع اجازه ي دسترسي‬ ‫‪‬‬ ‫آدرس فايل روي ديسک‬ ‫‪‬‬ ‫(‪)Access Permissions‬‬ ‫و فضاي رزرو شده‬ ‫‪‬‬ ‫زمان ايجاد و دسترسي‬ ‫‪‬‬ ‫غيره‬ ‫‪‬‬ ‫بافرهاي ‪I/O‬‬ ‫‪‬‬ ‫دفعات باز شدن‬ ‫‪‬‬ ‫غيره‬ ‫‪‬‬ ‫به نام خدا‬ ‫برای فرج زیاد دعا کنید که آن گشایش در امور‬ ‫امام زمان (ع)‬ ‫شماست‪.‬‬ ‫فصل ‪3‬‬ ‫نحوه سازماندهی اطالعات روی شيار‬ ‫نحوه سازماندهی اطالعات روی شيار‪:‬‬ ‫‪‬‬ ‫‪ -1‬با استفاده از مفهوم سکتور‬ ‫‪ -2‬با استفاده از مفهوم بالک‬ ‫کالستر)‪ :(cluster‬واحد ذخيره سازی يک فايل را به صورت منطقی گويند‪.‬فايل سيستم قطعات مربوط‬ ‫‪‬‬ ‫به هر فايل را روی يک کالستر قرار می دهد‪.‬به عبارتی تعداد سکتورهای همجوار که در حکم واحد‬ ‫هستند را گويند‪.‬‬ ‫روی سيستم هايی که ديسکها سکتور بندی هستند اطالعات ممکن روی يک سکتور به تنخايی قرار نگيرد‬ ‫‪‬‬ ‫بلکه از اتصال چندين سکتور با هم ايجاد شود ‪.‬‬ ‫هر کالستر تنها اختصاص به يک فايل دارد و اگرقسمتی از آن خالی باشد برای فايلهای ديگر قابل استفاده‬ ‫‪‬‬ ‫نيست‪.‬‬ ‫لذا اگر اندازه کالستر خيلی بزرگ باشد فضای هرز زيادی‬ ‫‪‬‬ ‫ايجاد می گردد‪.‬‬ ‫بالک مجموعه ای از رکوردها که از نظر فيزيکی به صورت‬ ‫همجوار بر روی رسانه ذخيره می شوند‪.‬‬

Use Quizgecko on...
Browser
Browser