موضوع مقاله: سیستم فایل اندرو | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # سیستم فایل اندرو | مقدمه: این نوع سیستم فایل توزیع شده، که بخشی از پروژه اندرو نیز بود، توسط دانشگاه کارنگی ملون توسعه یافته‌است. | ## بخش 1: سیستم فایل اندرو | امکانات سیستم فایل اندرو مزایای بیشتری نسبت به سیستم‌های فایل شبکه ای سنتی دارد، به ویژه در زمینه‌های امنیت و مقیاس پذیری. یکی از سازمان‌های مستقر در مورگان استنلی که سیستم فایل اندرو در آن مورد استفاده قرار می‌گیرد از بیش از ۲۵۰۰۰ سیستم سرویس گیرنده تشکیل شده‌است. سیستم فایل اندرو از پروتکل احراز هویت کربروس (Kerberos) استفاده می‌کند و لیست‌های کنترل دسترسی را برای کاربران یا گروه‌ها، در فهرست‌هایی پیاده‌سازی می‌کند. هر سرویس گیرنده برای سرعت بخشیدن به درخواست‌های بعدی برای همان فایل، فایل‌ها را در سیستم فایل محلی ذخیره می‌کند. این همچنین امکان دسترسی محدود به سیستم فایل را در صورت خرابی سرور یا قطع شدن شبکه فراهم می‌کند. عملیات خواندن و نوشتن روی یک فایل باز تنها روی نسخه محلی ذخیره شده انجام می‌پذیرند. هنگامی که یک فایل اصلاح شده بسته می‌شود، بخش‌های تغییر یافته به سرور فایل کپی می‌شوند. هنگامی که یک فایل ذخیره می‌شود، سرور متوجه این امر می‌شود و اگر فایل توسط شخص دیگری تغییر کند، به مشتری اطلاع می‌دهد. درصورت پدیدار شدن هر گونه خرابی در سرویس گیرنده، سرور یا شبکه، از جمله وقفه زمانی، تماس‌های برگشتی کنار گذاشته می‌شوند و باید دوباره برقرار شوند. برقراری مجدد تماس برگشتی مستلزم بررسی وضعیت است و نیازی به خواندن مجدد خود فایل ندارد. یکی از نتایج به کار بردن روش قفل کردن فایل این است که سیستم فایل اندرو از پایگاه داده‌های مشترک بزرگ پشتیبانی نمی‌کند و اطلاعات ذخیره شده بر روی فایل‌هایی که بین سیستم‌های کلاینت مشترک هستند را به روز رسانی نمی‌کند. تصمیم به طراحی چنین روشی از روی اخیتار شکل گرفت و متجه آن نیازهای محیط محاسباتی دانشگاه بود. | ## بخش 2: سیستم فایل اندرو | به عنوان مثال، در سیستم ایمیل اصلی پروژه اندرو، سیستم پیام اندرو، از یک فایل در هر پیام، مانند maildir، به جای یک فایل در هر صندوق پستی، مانند mbox استفاده می‌شود. توصیه می‌شود که سیستم فایل اندرو و مشکلات ورودی/خروجی بافر را برای مدیریت پایگاه‌های داده مشترک ببینید. از مهم‌ترین ویژگی‌های ای اف اس می‌توان به حجم، درختی از فایل‌ها، زیر پوشه‌ها و نقاط اتصال (پیوند به سایر حجم‌های AFS) آن اشاره کرد. حجم‌ها توسط مدیران ایجاد می‌شوند و در یک سلول AFS، در یک مسیر نامگذاری شده خاص پیوند داده می‌شوند. پس از آنکه AFS به کار گرفته شد، کاربران سیستم فایل می‌توانند به‌طور معمول پوشه‌ها و فایل‌ها را بدون نگرانی نسبت به مکان فیزیکی حجم ایجاد کنند. این امکان وجود دارد که به یک حجم به منظور محدود کردن مقدار فضای مصرف شده، سهمیه ای اختصاص داده شده باشد. در صورت نیاز، مدیران AFS می‌توانند آن حجم را به سرور و مکان دیسک دیگری بدون نیاز به اطلاع کاربران منتقل کنند. این عملیات حتی می‌تواند در حالی رخ دهد که فایل‌های موجود در آن حجم در حال استفاده باشند. حجم‌های ای اف اس را می‌توان به نسخه‌هایی شبیه به خود کپی کرد که فقط قابلیت خوانده شدن دارند. هنگام دسترسی به فایل‌ها در یک حجم فقط خواندنی، یک سیستم سرویس گیرنده داده‌ها را از یک کپی فقط خواندنی خاص بازیابی می‌کند. اگر در آن زمان، آن کپی در دسترس نباشد، سیستم‌های سرویس گیرنده به دنبال هر یک از کپی‌های باقی مانده می‌گردند. اکنون نیز، کاربرانی که از آن داده استفاده می‌کنند از محل کپی فقط خواندنی اطلاع ندارند. | ## بخش 3: سیستم فایل اندرو | مجموعه دستورهای ای اف اس تضمین می‌کند که تمام حجم‌های فقط خواندنی حاوی کپی‌های دقیقی از حجم اصلی خواندن-نوشتن در زمان ایجاد کپی فقط خواندنی هستند. در ایستگاه کاری اندرو، فضای نام فایل به یک فضای نام مشترک و یک فضای اسم نام تقسیم می‌شود. فضای نام مشترک که معمولاً به صورت ای اف اس در سیستم فایل یونیکس نصب می‌شود، در تمام ایستگاه‌های کاری یکسان است. فضای نام محلی مختص به هر ایستگاه کاری است و تنها شامل فایل‌های موقتی است که برای مقداردهی اولیه ایستگاه کاری و همچنین مقدار دهی اولیه پیوندهای نمادین به فایل‌ها در فضای نام مشترک لازم است. Arla یک پیاده‌سازی مستقل از AFS بود که در اواخر دهه ۱۹۹۰ و اوایل دهه ۲۰۰۰ در موسسه سلطنتی فناوری در استکهلم توسعه یافت. چهارمین پیاده‌سازی یک سرویس گیرنده ای اف اس در کد منبع هسته لینوکس از نسخه ۲٫۶٫۱۰ به بعد وجود دارد. این پیاده‌سازی نسبتاً ساده که توسط Red Hat انجام شده‌است، از تاربخ ژانویه سال ۲۰۱۳ هنوز ناقص مانده‌است. درج (i) به کاربر اجازه می‌دهد تا فایل‌ها یا زیر شاخه‌های جدیدی را به فهرست اضافه کند. مجوزهای زیر بر فایل‌ها و زیر شاخه‌ها اثر گذارند: خواندن (r) به کاربر این امکان را می‌دهد که به محتویات فایل‌ها در یک فهرست بخواند و فایل‌ها را در زیر شاخه‌ها فهرست کند. فایل‌هایی که قرار است برای هر کاربری، از جمله مالک، قابل خواندن باشند، باید مجوز استاندارد یونیکس «خواندن مالک» را داشته باشند. فایل‌هایی که قرار است برای هر کاربری، از جمله مالک، قابل نوشتن باشند، باید مجوز استاندارد یونیکس «نوشتن مالک» را داشته باشند. | ## جمع‌بندی | قفل کردن (k) به پردازنده اجازه می‌دهد تا برنامه‌هایی را اجرا کند که نیاز به مجتمع کردن فایل‌ها در دایرکتوری دارند.