500 likes | 757 Views
سيستمعامل پيشرفته محمد داورپناه جزي ترم اول 84-83 دانشكدة برق و كامپيوتر دانشگاه صنعتي اصفهان. فصل پنجم: سيستم فايل توزيعشده. عنصر كليدي سيستم توزيعشده، سيستم فايل آن است. در اينجا از شباهتها به سيستم متمركز صرفنظر كرده و تفاوتها را ذكر ميكنيم.
E N D
سيستمعامل پيشرفته محمد داورپناه جزي ترم اول 84-83 دانشكدة برق و كامپيوتر دانشگاه صنعتي اصفهان مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • عنصر كليدي سيستم توزيعشده، سيستم فايل آن است. • در اينجا از شباهتها به سيستم متمركز صرفنظر كرده و تفاوتها را ذكر ميكنيم. • سرويسهاي فايل يعني قابليتهاي سيستم و نحوة استفاده از آنها (پارامترها و ....). • سرويسها WHAT را ميگويند نه How (چگونگي پيادهسازي) و توسط File Server پياده ميشود. • تعداد، محل و سرويسهاي File Server بايد از ديد User مخفي (Transparent) باشد. • تعداد و سرويسهاي Serverها به سيستم وابسته است. • مثال يك ماشين با سيستم فايل MSDOS و UNIX روي دو Server، يك ترمينال با دو جور پنجره روي آن. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • بخش 1 طراحي و سيستم فايل توزيعشده • دو عنصر اصلي: عمليات اصلي فايل شامل خواندن، نوشتنن، ..... • : عمليات Directory شامل افزودن و حذف، ..... • فايل يعني چه: در MSDOS, UNIX شامل دنبالهاي از بايتها (كاراكرها)ست كه از ديد برنامة استفاده كننده آن معني و فرمت خاصي دارد و سيستم عامل دخالتي ندارد. • در Main Frame: معمولاً انواع فايل وجود دارد، دنبالهاي از ركوردها با خواندن و نوشتن مخصوص. • رجوع به ركوردها با آدرس واقعي، hash، ايندكس. • در سيستم توزيع شده بيشتر فايل بعنوان مجموعه بايتها استفاده ميشود. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • هر فايل داراي attributeهائي است استاندارد مثال: صاحب، تاريخ، سايز، مجوزها. • فايل immutable را ميتوان بعداز CREATE فقط READ كرد. • فايل immutable براحتي Cache و Replicate ميشود. • ايمني با روش ليست قابليتها و ليست دستيابيهاست. رك OSI. • مثال روش Access can Frul List در UNIX ........ • در مدل: Upload-download و Remote Access شكل 1-5 ص 247. • در ULDL كل فايل منتقل شده و بطور محلي استفاده ميگردد. پيادهسازي راحت دو عمل WAR RD، نياز به فضاي كافي، مقداري كار اضافي. • در RA تعداد زيادي سرويس لازم است. ليست در ص 248، عدم نياز به فضاي زياد و انتقال بيمورد. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • سرويسهاي Directory = نامگذاري، جابجاي، دايركتوري تودرتو • نامگذاري ext، اسم، بعضي نوع با ext است بعضي نوع با Magic #. • سيستم درخت و گراف شكل 5-2 ص 249، خط سيستم گراف در حذف B A . • سيستمها در سيستم متمركز با توقف عمليات و بررسي سيستم امكان دارد ولي در سيستم توزيعشده بسيار مشكل است. • آيا همه ماشينها بايد WIEW يكسان از Directory داشته باشند يا نه؟ شكل 3-5 ص 250. • در b ديوها يكي است در c فرق ميكند /D/E/X در ايندو فرق ميكند. • اگر بخواهم Root يكسان براي همه ماشينها داشته باشيم مسيرها بايد با /Server/path شروع شود. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • شفافيت نام • اولين نوع شفافيت محل است يعني Path راهنماي محل فيزيكي نباشد. • /IUI/ECEDPT/B321 خوب نيست /Server1/dir1/Proj1 خوب است. • تغيير Server بدليل كمبود جا روي Server1 و وجود جا روي Server2 ايجاد مشكل ميكند. • سيستمي كه چنين مشكلي ندارد ........... يا مستقل از محل است ولي پيادهسازي مشكل است. • سه برخورد اصلي در سيستم فايل و دايركتوري ص 251. • اولي و دومي فايل دستيابي است ولي سومي نياز به طراحي دقيق سيستم فايل دارد. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • نامگذاري در سطحي • نام سمبوليك براي كاربر و نام عددي (بيت) براي سيستم، Mapping توسط سيستم dir. • با Serverهاي مستقل، اسم باينري در هر كدام براي خودش بامعني است i-node در يوتيكس. • روش كليتر داشتن اسم Server و سپس اسم dir (يك Server ميتواند به Server ديگر رجوع كند). • راه ديگر استفاده از اسم فيزيكي يا منطقي ماشينها روي شكبه است به روش انتقال پيام يا Broad Cast. • نكته ديگر map شدن چند اسم عددي به رسم سمبوليك است كه شامل فايل و Bk upهايش است بعنوان تحملپذيري خطا خوب است. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • مفاهيم اشتراك فايل • مثال UNIX Semantics شكل a4-5 ص 253 هر Read آخرين نوشتن را برميگرداند. • در سيستم توزيعي با يك Server بدون File Caching اين مدل ميتواند وجود داشته باشد. • انجام درخواستهاي خواندن و نوشتن به ترتيب دقيق زماني. • در عمل حداقل Caching وجود دارد و ايجاد مشكل ميكند شكل b-4-5 ص 253. • ميتوان زندگي را راحت گرفت و گفت ”تغيير كرده كه كرده“ فقط تغيير كننده بداند و بس تا اينكه فايل Close شود،”بعد بقيه بدانند“ به اين Session Semantics گويند. • اگر دو تا همزمان تغيير دهند در Cache، آنكه ديرتر Close كرد نهائي است! • راحتتر اينكه ”ول كنيم هر كدام كه شد“ اينجا UNIX Sem رعايت نشده. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • در UNIX Sem هر فايل يك دارد كه محل خواندن از يا نوشتن در است براي هر پروسس و فرزندانش. • در Session Seفرزندان روي ماشين ديگر است اين PTR نميتواند Share شود. • مثال >Run>Out كه Run در برنامه a بعد b را اجرا كند UNIX خروجي b. بلافاصله بعد از خروجي a است چون هر دوي a، b فرزندان Runاند و PTR را به ارسال ميبرند. • در مورد Session Se اين كار بسيار پيادهسازياش مشكل است و هر سيستمي بطريقي آنرا حل كردن Share • راه ديگر: همه فايلها Immutable اند فقط Create و Read. • تغيير نداريم ولي ميتوان فايل را خواند و از رويش فايل جديدي ساخت كه جانشين قبلي ميشود. • پس مشكل نوشتن روي فايلي كه خوانده شده نداريم. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • مشكلي كه داريم جايگزين همزمان يك فايل توسط دو پروسس، آخري نهائي است يا شانسي باشد. • مشكلي ديگر جايگزيني فايلي كه كسي دارد آنرا ميخواند، به نحوي بگذاريم خواندن ادامه يابد حتي اگر از dir حذف شد. • مثل UXIN: فايل open را ميگذارد و استفاده شود ولو اينكه از كليد dirها حذف شده باشد. • يا اينكه خواندن را fail كنيم. • راه چهارم هم Atomic Xachin است كه در فصل 3 گفته شد End Trans عمليات BtransAll or Nothing ترتيب پذيري. • مثال اضافهكردن 50 دلار توسط دو پروسس به يك حساب حاوي 100دلار بدون ترتيب ممكن است 200 يا 150 دلار شود ولي با ترتيب حتماً 200 دلار ميشود. • خلاصه در شكل 5-5 ص 256. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • بخش 2 پيادهسازي سيستم فايل توزيعشده • بحث اينجا نحوة پيادهسازي است از ديد پيادهساز نه از ديد كاربر. • چگونگي پياده كردن Caching، تكرار، كنترل همزماني، ...... • بكارگيري فايل • اطمينان از اينكه پراستفادهترين عمليات روي فايل داراي كارآئي بالاست. • سنجشهاي استاتيك: اندازه فايل، توزيع اندازهها روي سطح ديسك، توزيع انواع روي سطح ديسك. • سنجشهاي ديناميك: از روي Log ساخته شده استخراج ميشود. • بافر انواع عملها. • تعداد فايلهاي باز در هر لحظه. • حجم اشتراك در عمليات روي فايلها. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • تلفيق دو سنجش ميتواند براي بكارگيري سيستم فايل راهنما باشد. • مسئله ديگر نوع كاربران است تا چه حد آنان نماينده همة كاربرانند. • در تحقيق مورد بحث كاربران دانشگاه هستند، آيا محققان صنعتي، كاربران اداري و ... هم اينگونهاند. • كسي نميداند تا وقتي كه هر سيستمي سنجيده شود. • مطلب ديگر آثار جانبي سيستم مورد استفاده است مثلاً حداكثر حدود 8 كاراكتر در اسم فايل. • اجباراً 8 تا ميگيريم، اگر آزاد بود معلوم نيست كاربران چه ميكردند. • تحقيق كتاب روي UNIX معمولي بوده آيا روي سيستم توزيع شده چگونه است؟ كسي نميداند. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • شكل 6-5 ص 257 خلاصه شرايط سيستم مطالعهشده. • فايلهاي زير 10K جابجائي كل فايل به صرفه است تا نقل و استمال دادهها بينServer, Client. • كوتاه بودن عمر اكثر فايلها مثال فايل مياني كامپلرها ايجاد فايل موقتي در Client نيمه پائين آوردن ترافيك است. • كم بودن درصد Sharing ميتوان از Caching استفاده كرد چون مشكل كمتري دارد. • كلاسهاي مختلف فايل با عمليات خاص برخورد مختلف روي كلاسهاي مختلف مثلاً بانيريها تعمير نميكنند ميتوانند تكرار شوند، Mailها نيازي به تكرار ندارند. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • ساختار سيستم • تشريح ساختار و سازمان داخلي File Server و Directory Server . • سئوال: آيا Client و Server با هم تفاوت دارند. • در بعضي سيستمها اينكه كدام باشي فرقي نميكند هر ماشيني ميتواند مثلاً Server شود. • در بعضي سيستمها Client و Server برنامههاي كاربرند و ميتواند روي يك ماشين باشند. • در بعضي سيستمها Client و Server اساساً تفاوت دارند و روي ماشينهاي مختلفند و حتي DSهاي مختلف. • دليلي هم براي ...... هيچكدام بر ديگري نيست. • موضوع پيادهسازي ديگر در مورد فايلها و دايركتوريهاست. • آيا هر دو روي يك Server باشند يا روي دوتا. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • اگر دو تا باشد دو تا رجوع به دو تا ماشين داريم براي هر دسترسي به فايل. • مزاياي جداسازي: دو تا Dir Server براي Dos و UNIX ولي يك File Server براي نگهداري فيزيكي. • معايب جداسازي: افزودن ترافيك. • مثال شكل 7-5 ص 259. • در a جستجو برعهده كاربر گذاشته ميشود در b سيستم اينكار را ميكند. • در b نميتوان از RPC استفاده كرد زيرا درخواست به كس ديگر است پاسخ از كس ديگر. • جستجوي Pathها گران و دقت گير است، يك راه نگهداري Cache Hint از آنهاست. • اگر در Cache هست پله پله رفتن لازم نيست و گر نه هست. • آيا اطلاعات حالت كاربران توسط Server نگهداري شود؟ مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • Stateless: • طرز فكر 1: هر درخواست كه آمد انجام بده و پس از خاتمه كليه اطلاعات مربوطه را پاك كن. • طرز فكر 2: نگهداشتن اطلاعات حالت كاربران در بين درخواستهاي آنان. • مثال: فايلهاي open شده: سيستم بداند چه كسي چه فايلي را باز كرده. • هر كاربر با يك File Descripter درخواست عمل ميدهد: جدول تبديل اسم به آدرس جدول حالت است. • Stateless: هر دستور بايد خود كفا باشد: نتيجه بالا رفتن ترافيك. • سقوط Server: اطلاعات جدولها از بين ميروند، نياز به ترميم دقيق دارد. • ظاهراً Stateless بهتر بنظر ميرسد از ديد تحمل خطا (حداقل). • خلاصة مزاياي دو روش در شكل 8-5 ص 261. • بعضي اوقات بدلايل ايمني، سيستم Stateless را خودمان Stateless ميكنيم. سيستم ثبت نام. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • Caching • چهار محل حفظ فايل شكل 9-5 ص 262. • سرراستترين محل ديسك سرور است، در دسترس همه، فضاي كافي، بدون افزونگي. • مسئله انتقالهاست ديسك سرورشبكه حافظه Client يك Clint • Caching كارآئي را بالا ميبرد (در حافظة Server). • محدوديت اندازه حافظه Cache، واحد Caching؟ (كل فايل يا بلوك سختافزاري). • كل فايل: نقل و انتقال سريع با كارآئي بالا. • بلوكها: استفاده بهينه از فضاي ديسك و حافظه. • وقتي Cache پرشد چه كنيم: استفاده از الگوريتم LRU و يك ليست پيوندي و بروز كردن ديسك در صورت لزوم. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • Cache در حافظة Server باعث سازگاري فايل و عدم انتقال از فايل ميشود ولي ترافيك شبكه را دارد. • راه ديگر Caching در طرف Client است (حذف ترافيك شبكه) • مسائل جديد: • ديك Client يا حافظه Client اينجا روي حافظه بحث ميشود. • فضاي زياد و سرعت كم فضاي كم و سرعت زياد • سه راه: Cache در فضاي آردس هر كاربر شكل b 10-5، در بستن Cache پس نويسي ميشود. • Overhead كم است در صورتي كارآئي دارد كه هر پروسس مكرراً بفايل رجوع كند. • سيستم DB در مقابل سيستم وابسته به زبان (توربو C). • راه دوم: Cache كردن در فضاي Kernel شكل 10-5.....: هر دسترسي يك احضار Kernel. • راه سوم: Cache كردن در فضاي مدير Cache پروسس جدا شكل b10-5: آزاد كردن Kernel. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • سازگاري Cacheها • دو نفر همزمان بخوانند، بعد نفر سوم بخواند سه كپي متفاوت: راه حل قبول Session Sem. • عيب مهم هم زمان نوشتن است كه آخري ميماند! UNIX Sem اين را قبول ندارد. • يك راه الگوريتم Write through است كه از طريق Cache تغييرات ميرود روي فايل. • مشكل اين راه Cacheهاي كهنه روي ماشينهاي ديگر است كه بعد ممكن است استفاده شود. • راه حل: Cache mgr هر بار بوسيله زمان يا شماره رديف نو بودن يا كهنه بودن را با مقايسه با Server انجام دهد اگر لازم است كپي جديد بياورد نياز به يك RPC دارد ولي با نقل و انتقال كم. • مشكل Wrt tru: همه نوشتنها روي شبكه است انگار Cacheاي نيست. • بعضي طراحان تقلب ميكنند: نوشتنها را جمع ميكننده هر t (30 ثانيه) اعمال ميكنند! مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • مشكل ديگر فايلهاي Scraleh است (ايجاد - خواندن - حذف) كه نيازي به بهنگامسازي ندارد اينها بهتر است روي Server نباشد بطور كلي. • البته t بالا هم Senantis را بهم ميزند و وابستگي به زمان ايجاد ميكند. • نيزا به سازش بين دوستي Semantis و Performance داريم. • Write-on-Close يا همان Session Sem راه حل ديگر است كه مشابه سيستمهاي تك CPU است. • دو پروسس هر يك فايلي را بخوانند اصلاح كنند و بنويسند (در تك CPU). • يك راه كاملاً متفاوت: الگوريتم متمركز، بداند چه فايلي را چه كسي براي چه كاري باز كرده. • خواندن بتواند همزمان باشد ولي نوشتن فقط يكي باشد. • درخواستهاي غيرفايل انجام يا Deny شود يا queue شود. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • يك راه هم ارسال پيام درخواست نشده (Unsoli ated msg) كه فايل خاصي را از cache حذف كنند. • حال خواندن و نوشتنهاي آن فايل مثل سيستم تك CPU ميشود. • ولي اين باعث تغيير نقش Client و Server ميشود. • در Client چند رشتهاي يك رشته گوش بدهد به اين پيامها و گرنه بايد از روش وقفه استفاده شود. • راه ديگر مديريت Cacheها بجاي مديريت فايلهاي باز است و بزور نگهداشتن آنها. • طبق معمول هيچ راه حلي كه 100% كار كند نيست، خلاصه شكل 11-5 ص 267. • خلاصه: Server Caching سادهتر است و مشكل كمتري دارد و مستقل از Client است. • Client Caching بازدهي بهتري دارد ولي پيچيده است. • يك راه هم فايلهاي immutable است كه قبلاً گفته شد و Semautics آن روشتنتر از بالائي است. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • تكرار • به دلايلي كه در زير گفته شده بعضي فايلها روي چند Server كپي ميشوند. • 1- بالابردن قابليت اطمينان (چند back up). • 2- در توقف يك Server بازي ادامه دارد و بقيه سرويس ميدهند (قابليت دسترسي). • 3-تقسيم بار كاري بين چند Server بخصوص در شرايط بار زياد (كارآئي). • موضوع ديگر وجود يا عدم وجود شفافيت تكرار است (دو Extreme: كلاً در اختيار سيستم يا User). • ارائه سه روش در شكل 12-5 ص 269. • در a همه كار با كاربر است فايل prog .c را روي يك Server كامپايل ميكند روي بقيه كپي ميكند. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • در /mach 1/usr/as/ng 2 ايجاد ميشود و با دستور CP روي /mach 2/usr/ast/ng 2 كپي ميشود. • در بازيابي ماشينها به ترتيب چك ميشود تا از يكي بتوان خواند. • اسم سمبوليك با شماره نود و اسم باينري فايل map ميشود. • در b اول client يك كپي روي يك ماشين (معلوم نيست كدام) درست ميكند بعد كه وقت پيدا كرد كپيها را روي بقيه ايجاد ميكند بدون اطلاع كاربر. بايد مواظب تغييرات بعدي باشد. • تكرار در قالب گروه شكل C: همه نوشتنها در يك زمان روي همة كپيها در گروه انجام ميشود. • برعكس Lazy rep كار ايجاد كپيها در Background نيست بلكه همه در يك زمان است. mach 3 مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • پروتكلهاي بهنگامسازي • چگونه كپيهاي موجود بهنگام شود. • يك پروسس مسئول ممكن است وسسط كار سقوط كند و بعضي بهنگام نشوند. • روش Primary ….: يك نسخه اصلي است بقيه كپي. • تغييرات به نسخه اصلي ميرود پس از اعمال از آنجا به فرعيها. • قبل از اعمال روي اصلي در حافظة ماندني ثبت ميشود، در صورت سقوط اصلي بعد از آنجا برداشته ميشود. • مشكل: اگر اصلي توقف كرد هيچ بهنگامسازي نميتواند وارد شود. • يك راه حل رايگيري (Voting) است. • براي هر عمل خواندن يا نوشتن بايد از نصف به اضافه يك Serverها مجوز گرفته شود. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • با 5 كپي اگر 3 تا ورژن 8 باشند بقيه نميتواند 9 باشد، اين سه تا كه 9 شد ميشود اصلي. • روش دقيقتر شكل 13-5 ص 281 Nr تعداد براي خواندن Nw براي نوشتن تعداد كلNr + Nw > N • اگر چند Server سقوط كند نميتوان Nw مناسب گرفت. • راه حل: ايجاد Server مجازي بجاي آنها فقط براي نوشتن و نه خواندن. • وقتي Server اصلي برگشت اول خود را update كند بعد برود در مدار سرويس.(رايگيري با ارواح) • مثال عملي: سيستم فايل روي SUNNFS ≡ Network File System. • يك محيط .................. كه توسط SUN ارائه شد بقيه هم حالا Support ميكنند. • Clientهاي MS Dos فايلهاي UNIX را ميخوانند و مينويسند. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • معماري NFS • استفاده مشترك يك سيستم فايل از طرف گروه دلخواهي از Clientها و Serverها. • معمولاً همه روي يك LANاند ولي ميتوانند روي WAN هم باشند. • فرض ميكنيم روي ماشينهاي مختلف باشند ولي در عمل هر ماشين ميتواند همزمان هم C و هم S باشد. • هر NSF سرويسدهنده دايركتوريهاي خود را براي دسترسي از راه دور Export ميكند. • Dir و همه شاخههايش قابل دسترسي است و در /etc/export قرار دارد. • با هر Reboot اينها صادر ميشوند. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • Clientها Dir مورد نيازشان را mount ميكنند كه بخشي از درخت Dir آنها ميشود. • اكثر سيستمهاي SUN بدون ديسكاند و دايركتوريشان روي Server است. • اگر Disk Full باشد ميتواند بطور محلي هم mount كند كه درخت دوگانه ميشود(محلي + راهدور). • براي برنامههاي در حال اجرا هيچ فرقي نميكند. فايل مورد استفاده ميكنند و هيچ كار اضافي ديگر هم نبايد بكنند. اين مهمترين نكته در سيستم NFS است در رابطه با سيستم فايل. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • پروتكلهاي NFS • بدليل Heterojeneus بودن سيستمهاي مورد پشتيباني با S,C در حال اجرا روي ماشينهاي متفاوت و تحت OSهاي متفاوت، ارتباط در اينجا پايه دقيقاً تعريف شود. • در اينصورت نوشتن Client جديد و صدور آن براي كار با هر Serverاي امكان دارد. • S, C از ديد طرف ..... (C , S) يك جعبه سياه است و پروتكل است كه ارتباط را فراهم ميكند. • نحوة انجام درخواست هم به S مربوط است نه به C. • پروتكل اول: mount كردن را پشتيباني ميكند. • يك مسير بصورت پيام از C به S داده ميشود براي اخذ مجوز mount كردن بدون ذكر محل. • در صورت درستي مسير، S يك فايل handle حاوي نوع سيستم فايل، ديسك، node، اطلاعات ايمني و غيره را برميگرداند. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • عمليات بعدي با فايل با استفاده از .Han dle است. • خيلي Cها با boot شدن، اتوماتيك فايل /etc/rc را كه يك Shell است اجرا ميكند. • اين اجرا باعث mount شدن تعدادي Dir خاص در C ميشود. • راه ديگر .UNIX Automoan Fing است. • به هر C تعدادي Dir راه دور وابسته ميشود بدون mount شدن يا ارتباط با S آن. • با boot شدن هر فايل كه open شد پيامي به Sهاي آن ارسال ميشود. • هر كس زودتر جواب داد، Dir آن mount ميشود. • دو مزيت: اول در /etc/rc (استاتيك ماونت) يك S خراب باشد C نميتواند boot شود در حاليكه در Automntاينطور نيست و با اولين جواب كار حل ميشود. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • دوم: Automnt درجهاي بالا از تحمل خرابي دارد چون كافي است فقط يك S جواب بدهد. • كارآئي بالا ميرود اگر S با كمترين بار كاري انتخاب شود. • از طرف ديگر NFS تكرار را پشتيباني نميكند و اين كلاً برعهدة User است. • Automnt فرض ميكند كلية Sها حاوي نسخههاي مشابه فايلاند. • نتيجه: Automnt عموماً براي فايلهاي Readonly و كد ماشينهاي تا تغيير بسيار كم استفاده ميشود. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • پروتكل دوم: براي دستيابي به Dir و فايل است • C پيغام به S ميدهد براي خواندن يا نوشتن فايل و كار با Dir و يا خواندن مشخصات فايل. • بجز Open و Close بقيه احضارهاي سيستم UNIX توسط NFS قبول ميشود. • حذف ايندو دستور هم براي Stat less كردن Sهاست (قبلاً داشتيم). • سيستم UNIX V روش Remote File Sys يا RFS دارد كه State File است. • عيبش را ميدانيد؟ امكان پيادهسازي UNIX Sem نيست. • مشكل NFS سيستم ................. را بكار برد با اميد موفقيت! • ولي ساده لوحانه بود. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • حالا مشخصات S, C رمزنگاري ميشود تا از تقلب جلوگيري شود. • NIS يا Network Info Server كليدهاي شناسائي و ارتباطات لازم را فراهم ميكند. • دو ستون (كليد، مقدار) ذخيره ميكند، كليد ميگيرد مقدار را برميگرداند. • كليدها را رمزنگاري ميكند و با User mane آنها را map ميكند. • اسم ماشينها را هم با آدرس شبكهشان map ميكند. • به روش master/slave تكرار ميشود، خواندن از هر كپي و نوشتن روي master كه بعد ميرود روي slaveها. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • پيادهسازي NFS • فراموش نكنيد كه كد S, C مستقل از پروتكل NFS است، ولي يك نگاه خود ندارد. • سه سطح در شكل 14-5 ص 276 نشان داده شده. • سطح بالائي: سطح احضار سيستم، احضارهائي مثل READ، OPEN، CLOSE را انجام ميدهد. • سطح وسطي: سطح سيستم فايل مجازي (VFS) بعد از چك شدن دستور و پارامترها در سطح بالائي، اين سطح احضار ميشود. • داراي جدولي است از فايلهاي باز، هر فايل در يك سطر، مشابه جدول i-node فايلهاي باز UNIX. • در UNIX عادي i-node با زوج (device – i node#) مشخص ميشود. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • در VFS يك i-node مجازي داريم ميگويند v-node براي هر فايل باز. • v-node ميگويند فايل محلي است يا از راه دور (با اطلاعات كافي براي دسترسي). • دنبار كردن يك مثال MPUNTOPENREAD احضارهاي سيستم. • 1- مدير سيستم برنامه mount را احضار ميكند و Dir راه دور، Dir محلي براي نصب و ساير اطلاعات را ميدهد. • 2- برنامه mount اسم مسير راه دور (Dir) را تجربه كرده و نام ماشين مربوط را استخراج ميكند. • 3-با پيامي درخواست File handle را از ماشين مزبور ميگيرد (از Server). • 4-در صورت وجود Dir روي آن ماشين و قابل دسترسي بودن، handle مربوطه برگردانده ميشود. • 5-يك احضار سيستم MOUNT انجام شده و handle را به Kernel ميدهد. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • 6- Kernel يك v-node ميسازد براي Dir راه دور و سپس از برنامه NSF Client شكل 14-5 درخواست r-node (i-node از راه دور) در جدول داخلياش ميكند براي نگهداري هندل فايل. • 7- v-node اشاره ميكند به r-node در برنامه NSFC يا به i-node يا به i-node در DS محلي شكل 14-5 از روي v-node محلي يا راه دور بودن فايلها و براي راه دور هندل فايل يافته ميشود. • 8- در هنگام open فايل راه دور، kernel با تجربة اسم مسير، Dir محل نصب فايل را ميفهمد. • 9- از روي v-node آن ميفهمد راه دور است و اشارهگر به r-node را برميدارد. • 10-از كد NSF Client درخواست بازكردن فايل را ميكند. • 11- كد NSF Client از روي بقيه اسم مسير و Sهاي وابسته به آن Dir نصب شده يك هندل براي فايل ميگيرد (رك 6). مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • 12- او براي فايل دور يك r-node ميسازد در جدولش و آنرا به لايه VFS برميگرداند. • 13-لايه وسطي يك سطر در جدول خودش با V-node اشارهگري به r-node درست ميكند پس هر فايل يا Dir باز، اشارهگري در قالب v-node يا به r-node دارد يا به c-node. • 14- به احضار كننده يك File-des cripter براي فايل باز شده داده ميشود. • File des c از طريق جدول VFS به v-node نگاشت ميشود. • هيچ جدولي در طرف S ساخته نميشود. • S با درخواست هندل را ميدهد. • S هندل را ميگيرد، چك ميكند درست باشد و بكار ميبرد. • در صورت وجود كليد مجوز در RPCآنرا هم چك ميكند. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • 15- وقتي يك احضار سيستم براي READ داده ميشود (با استفاده از File-des c) لايه VTIF از جدولش v-node مربوطه را برميدارد. • 16- تشخيص ميدهد كه فايل محلي است يا دور و r-node يا i-node مربوط را مييابد. • 17- VFS تكههاي 8K هر بار ميخواند و قبل از مصرف هر بلوك، بلوك بعدي را درخواست ميكند براي بالا بردن كارآئي، به اين مكانيزم READ AHEAD گويند. • 18 – در نوشتن هم دادهها در Client جمع ميشود تا 8K شود بعد ارشال ميشود مگر زبان تشخيص فايل. • Caching هم براي افزايش كارآئي در Server انجام ميشود كه ترافيك شبكه را كم ميكند. • يك Cache حافظه را دارد باضافه بعضي مسائل جديد Snooping) نميشود كرد). • براي مقابله با اين موضوع. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • هر بلوك Cache يك Timer هم دارد كه وقتي Expine شد بلوك هم حذف ميشود. • 3 ثانيه براي Clala و 30 ثانيه براي DirTimer ميگذارد. • وقتي فايلCache شده را بخواهيم باز كنيم، پيامي بهS ميدهد كه آخرين بار يك فايل اصلاح شده. • اگر تاريخ كپي Cache كهنهتر است آنرا حذف ميكند و كپي جديد درخواست ميكند. • هر 30 ثانيه يكبار ساعت صفر شده و بلوكهاي اصلاح شده به S ارسال ميشود. • هنوز از NFS بدليل عدم پيادهسازي دقيق UNIX Sem انتقاد ميشود. • فايل جديد ايجاد شده ميتواند براي 30 ثانيه رويت نشود و اين خود مشكلزا ميباشد. • پس گر چه NFS بصورت عام استفاده ميشود ولي بعنوان UNIX وصلهشده شناخته ميشود زيرا Semantic مربوطه خوش تركيب نيست و وابسته به زمانبنديهاست. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • آنچه فراگفته شد • شكل 15-5 اصول اوليه مورد لزوم براي طراحي سيستم فايل توزيعشده را ميدهد. • انتخاب W.S. بجاي S وقتي امكان دارد • Caching. • بهرهبرداري از اطلاعات كاربر و Cache نكردن فايلهاي موقتي. • طراحي سلسله مراتبي. • تا ميتوانيد اجزاء را محدودتر كنيد. • يك تراكنش 50K بمراتب كارآتر از 50 تراكنش يك ..... است. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • بخش 3 زمينههاي تحقيقاتي در سيستمهاي فايل توزيعشده • پيشرفت در هر دو زمينه سختافزار و نرمافزار در مقايسه با ساير رشتهها سرسامآور است و تأثير زيادي هم روي سيستم فايل توزيعشده دارد. • موضوع تأثيرگذار ديگر تغيير خواستهها و تغيير كاربردها است. • در اين بخش سئوالات مطرح در زمينه فوق بررسي ميشود و زمينة تحقيق براي شما دانشجويان فراهم ميشود. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • سختفزارهاي جديد • در سيستمهاي موجود ديسك بعنوان محل ذخيره اطلاعات استفاده ميشود و حافظه اصلي نقش Cache را در Serverها دارد كه اجباري نيست، براي بالابردن كارآئي است. • با پائين آمدن شديد قيمت حافظه، امكان دارد در آينده سيستمهاي فايل با چندين گيگابايت حافظه مجهز شوند. • پس ممكن است سيستم فايل كلاً در حافظه بماند و به ديسك احتياجي نباشد كه اين جهش عظيمي در سيستم فايل است در جهت بالابردن كارآئي و سادهسازي ساختار سيستم فايل. • فعلاً ساختار درخت (UNIX) يا ليست پيوندي (NS Dos) بكار ميرود ولي در حافظه اصلي ميتواند فضاي پيوسته باشد كه باعث بالابردن سرعت و كارآئي ميشود. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • جابجاي بلوكها روي ديسك هزينه دارد ولي در حافظه اينطور نيست. • ولي مشكل اصلي قطع برق است. • يك راه back up روي نوار ويدئو است هر نوار معمولي ده دلاري 5 گيگابايت گنجايش دارد. • گر چه زمان دسترسي طولاني است ولي اميد است قطع برق يكي دو بار در سال باشد. • يك پيشرفت HW ديسك نوري است. • ايجاد سوراخ باليزر، يكبار نوشتن و چند بار خواند (WORM). • انواع جديد قابل پاك كردن و نوشتن مجدد. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • خصوصيات ديسك نوري • سرعت پائين ظرفيت بسيار زياد دسترسي مستقيم نسبتاً ارزان • در مقابل ويدئو دسترسي مستقيم را دارد ولي قيمت آن گرانتر است. • داشتن سيستم فايل در حافظه، كپي فايل در زمان بيكاري سيستم روي ديسك نوري با همان اندازه و ساختار. • راه ديگر استفاده از حافظه اصلي Server براي فايل و ديسك نوري براي Back up ولي شبكة فايبر براي انتقال اطلاعات حذف مشكلات شبكة معممولي Client CacheياServer Cache • عيب Client Cache: تغيير فايل پيش يك Client و بوجود آمدن ناسازگاري بين كپيها. • در حافظة مشترك بين چند CPU وقتي يكي تغيير ميدهد به بقيه CPUها خبر ميدهد ولي در سيستم فايل اينطور نبود. چرا نباشد؟ مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • دليل آن عدم وجود سيگنالهاي لازم براي اينكار است. • يك راه حل ساده در شكل 16-5 ص 282 ارائه شده است. • هر كاربر يك Bet Map دارد كه هر بيت مربوط به يك فايل است. • اگر بخواهد فايل Cache شدهاي را تغيير دهد در map خودش بيت آنرا Set ميكند. • سيستم يك پاكت روي شبكه ميفرستد كه بيت مربوط را در جاهاي ديگر Set كند (فايل قفل شود). • بعد فايل را تغيير دهد و بلوكهاي تغيير يافته را علامتگذاري كند. • بلوكهاي تغيير يافته را روي بقيه ماشينها كپي كند و سپس Bet مربوطه در map را صفر كند. • راه حل خوبي است كه فقط در سايه افزودن يك سختافزار ساده امكانپذير شده و آينده اينطور است. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • توسعپذيري • يك روند ديگر توسعهپذيري سيستم و بزرگتر و بزرگترشدن سيستم فايل است. • سيستمي خوب با 100 ماشين بين 1000 ماشين كند ميشود و براي 000,10 ماشين اصلاً نميكند • عناصر متمركز هميشه تنگناهاي سيستم هستند. • يك راه كلي تقسيم كل سيستم به چند پارتيشن با يك Server براي هر پارتيشن است. • سعي شود هر پارتيشن حداكثر استقلال را داشته باشد. • پيچيدگي ديگر broad castها هستند n ماشين با يك broad cast در ثانيه ميشود n2 تا وقفه كه مشكلساز است. • ليست كردن اجزاء و جستجوي خطي روش خوبي نيست در مقابل hash كردن روش مناسب است • Semanticsهاي دقيق نظير UNIX براي پيادهسازي دقيق مشكلند و نياز به يك سازش وجود دارد گر چه sem دقيق خوش تعريف است. • درختهاي فايل UNIX اگر خيلي بزرگ شد كند ميشود بهتر است چند بخش شوند. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • شبكة Wide Area • تمركز فعلي روي LAN است در حاليكه جهت بسوي ارتباط كشورها و ايجاد ارتباط بين LANهاست. • PTT فرانسه ميخواهد در هر خانه يك كامپيوتر بگذارد براي حذف اپراتو ر و دفتر تلفن. • بعد ممكن است بخواهند ده ميليون كامپيوتر را به يك شبكه وصل كنند. • چگونه يك سيستم فايل كل فرانسه، كل اروپا يا كل دنيا را سرويس ميدهد؟ • در سيستم فوق همه ماشينها يكسانند ولي در واقع ممكن است ماشينها هم متفاوت باشند. • استفاده كنندهها در زمانهاي مختلف با بودجههاي مختلف اجباراً ماشينهاي متفاوت دارند. • چگونه كاراكترهاي مختلف ASCII يا ... تطبيق شوند يا مقادير اعشاري با نمايشهاي مختلف. • مطلب ديگر تغييرات در كاربردهاست. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • در شاخه تحقيق در دانشگاهها برنامههاي C روي UNIX نوشته ميشوند. • مسلماً خانوادههاي فرانسوي همه چنين كاري نميكنند. • با توسعه سيستمهاي توزيعشده، كاربردهائي مثل Email، بانك E، دسترسي به DBها و سرگرميها كه كاربردها فايل مختلفي دارند. • تنگناي ديگر ظرفيب خط ارتباطيست، خط تلفن حداكثر 64Kbps است. • ايجاد شبكه Fiber زمان و هزينه بسيار زيادي ميخواهد. • ارسال يك نوار يا CD حاوي كل اطلاعات ممكن است ارزانتر از ايجاد شبكه باشد (سيستم تلفن Dir). • پس بايد بين اطلاعات استاتيك (سيستم تلفن) و اطلاعات ديناميك (Email) در سيستم فايل تمايز قائل شد. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • كاربردهاي موبايل • يك شاخه از كاربردهاي جديد كامپيوترهاي جابجاپذيرند (Mobile Computing). • Laptop، Note book، كامپيوتر جيبي با سرعت تكثير ميشوند. • در حال رانندگي نه ولي در حال پرواز ميتوان با كامپيوتر كار كرد. • يك كامپيوتر و يك موبايل اكنون شما را به شبكه وصل ميكند (اشاره به ..........). • اميد است ظرفيت خط بين هواپيما و زمين و همينطور ارتباط online اين روزها براي همه جا باشد. • البته هنوز هم ارتباط off line وجود دارد و بخش اعظمي از كار كاربران off line است (مثال خودمان). • كاربر وصل ميشود فايلهائي را down load ميكند بعد قطع ميشود و مدتي (ساعتها، روزها) كار ميكند. • دوباره كه وصل شد فايلهاي او با سيستم فايل بايد او تمام شود (مدتي از Caching است). • مسئله ناسازگاري كپيها خيلي شدت پيدا ميكند تا در يك سيستم هميشه online. • آيا دوباره كه وصل شد كجاي دنيا قرار دارد با چه فاصلهاي از Server خود مسئلهاي است. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • تحمل خرابي • بجز سيستمهاي خاص، در حالت عادي كاربر بايد خرابي را بعنوان حقيقت قبول كند چون همه سيستمها متحمل خرابي نيستند ولي عامه مردم اين را نميپذيرند (قطع برق، قطع تلفن، .....). • كاربران عادي انتظار دارند سيستم هميشه كار كند كه اين امكانپذير نيست. • چنين سيستمي نياز به تكرار در اجزاء مختلف (قبلاً گفته شده) دارد. • سيستم بايد بتواند با بخشي از اطلاعات هم كار كند وقتي همة سيستم آماده كار نيست زير F.T. صددرصد بسيار مشكل است. (شماره دانشجو را بدهد نامش را ندهد در ثبتنام). • كاربران غير كامپيوتري بدليل عدم اطلاع توقعاتشان بسيار بالاتر از متخصصين خواهد بود. مهندسي اينترنت محمد داورپناه جزي
فصل پنجم: سيستم فايل توزيعشده • چند رسانگي • يك روند ديگر بخصوص در سيستمهاي R.T. استفاده از صوت و تصوير و فيلم است كه روي سيستم فايل اثر ميگذارد. • يك سيستم Video on Demand نياز به حجم بسيار زيادي حافظه و سيستم فايل خاص دارد. • 5 دقيقه فيلم رنگي • بايت ..., ..., 912, 6 = ... ,..., 296, 55 = 16 × 800 × 600 × 24 × 60 × 5 • با يك خط 64Kbps تقريباً صفحه نمايش ثانيه فريمها بيت رنگ ثانيه ساعت دقيقه مهندسي اينترنت محمد داورپناه جزي