مفاهیم نامگذاری و نامگذاری تخت
توضیحات
در جلسه بیست و پنجم درس سیستمعامل پیشرفته دکتر حقیقت که از مهمترین دروس تخصصی آزمون دکترای مهندسی کامپیوتر در گرایش نرمافزار و گرایش شبکه و رایانش است، فصل پنجم این درس با عنوان «نامگذاری» آغاز میشود. موضوع این جلسه «مفاهیم نامگذاری و نامگذاری تخت» میباشد. نامها در تمامی سيستمهای كامپيوتری، نقش بسيار مهمی بر عهده دارند. نامها برای اشتراك منابع، شناسایی يكتای نهادها، ارجاع به مكانها و مانند آن، به كار میروند. يک مطلب مهم در نامگذاری اين است كه هر نام، به نهاد (entity) يا موجوديتی تحليل (resolve) میشود كه به آن ارجاع دارد. تحليل نام به فرايند امكان میدهد تا به يک نهاد نامگذاری شده، دست يابد. برای تحليل نامها بايد يک سيستم نامگذاری (Naming system) را پيادهسازی كنيم. تفاوت ميان نامگذاری در سيستمهای توزيعشده با سيستمهای غير توزيعشده، در روش پيادهسازی سيستمهای نامگذاری نهفته است. پيادهسازی سيستم نامگذاری در سيستمهای توزيعشده، اغلب خودش روی چندين ماشين توزيع میشود. چگونگی انجام اين توزيع، نقش كليدی در كارایی و مقياسپذيری سيستم نامگذاری ايفا میكند. در اين فصل به سه روش مختلف و مهم بهكارگيری نامها در سيستمهای توزيعشده میپردازيم: 1) نامگذاری تخت (Flat Naming): ويژگی مهم چنين نامی اين است كه فاقد هرگونه اطلاعاتی درباره چگونگی يافتن نقطه دستيابی نهاد (موجودیت) مربوطهاش است. 2) نامگذاری ساختيافته (Structured Naming): نامهای تخت برای ماشينها مناسب هستند، اما برای استفاده انسانها چندان مناسب نيستند. به جای آنها، سيستمهای نامگذاری عموماً از نامهای ساختيافته پشتيبانی میكنند كه تركيبی از نامهای ساده و انسانپسند میباشند. اين نامها ساختاری دارند كه حاوی اطلاعاتی درباره چگونگی يافتن نقطه دستيابی نهاد مربوطه است. نامگذاری فايل و نامگذاری ميزبان در اينترنت (URL) از اين روش بهره میگيرد. 3) نامگذاری مبتنی بر مشخصه (Attribute-based Naming): انسانها گاهی ترجيح میدهند نهادها را با ويژگیهای آنها توصيف كنند. به کمک اين مطلب میتوان توصيفی از مشخصات نهاد را به نهاد دارنده آن مشخصات تحليل كرد. اين نوع از تحليل نام، بسيار مشكل است. در این جلیه پس از تعریف مفاهیم پایه نامگذاری، سیستم های نام گذاری تخت تدریس میشوند. ابتدا مفهوم نامها، شناسهها و آدرسها و نقاط دسترسی و مفهوم نام انسان پسند و نام مستقل از مکان شرح داده میشود. سپس در نامگذاری تخت اواع روشها مورد مطالعه قرار میگیرند: 1) همهپخشی (multicasting) و چندپخشی (broadcasting) 2) اشارهگرهای هدايت كننده (forwarding pointers) 3) روشهای مبتنی بر مكان خانگی (home-based approaches) 4) جداول درهمسازی توزيع شده (DHT) 5) بهرهبرداری از مجاورت شبكه با سه تکنیک الف) انتساب شناسه ها گره مبتنی بر توپولوژی ،(topology-based assignment of node identifiers) ب) مسيريابی مجاورتی (proximity routing) ج) انتخاب همسايه مجاور (proximity neighbor selection) و 6) روشهای سلسله مراتبی (hierarchical approaches).