موضوع مقاله: سامانه فایل‌بندی | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # سامانه فایل‌بندی | مقدمه: مقدمه پرونده سامان یا پروندسامان (به انگلیسی: File system) یکی از بخش‌های بنیادین در هر سیستم‌عامل است که شامل مدیریت و گردانش، ذخیره‌سازی، کنترل و پالایش دسترسی، به طور کلی روش‌های سازماندهی و ساماندهی برای پرونده‌ها و پوشه‌ها را فراهم می‌کند. | ## بخش 1: سامانه فایل‌بندی | بدون وجود فایل‌سیستم، داده‌ها به‌صورت یکپارچه و بی‌ساختار روی دیسک ذخیره می‌شوند و امکان مدیریت مؤثر آن‌ها از بین می‌رود. این مقاله با هدف ارائهٔ شناختی جامع و کاربردی از مفهوم فایل‌سیستم، ساختارهای رایج آن، ابزارهای مدیریتی، و تفاوت آن در سیستم‌عامل‌های مختلف مانند لینوکس تدوین شده است. در ادامه، با مهم‌ترین ویژگی‌ها، مفاهیم و اجزای سامانه‌های پرونده‌ای آشنا خواهید شد. تعریف سامانه پرونده‌ای در رایانش، «سامانهٔ پرونده‌ای» (File System) روشی ساختاری برای ذخیره، بازیابی و سازمان‌دهی اطلاعات بر روی دستگاه‌های ذخیره‌سازی است. بدون این سامانه، اطلاعات تنها به‌صورت توده‌ای از داده‌ها وجود دارند که مرز مشخصی میان آن‌ها دیده نمی‌شود. یکی، ساختار سلسله‌مراتبی دایرکتوری‌ها که از ریشه یا همان دایرکتوری / آغاز می‌شود و دیگری، فرمت ذخیره‌سازی اطلاعات روی دیسک است که می‌تواند در قالب‌های مختلفی مانند ext4، NTFS یا XFS باشد. ساختار فایل‌سیستم در لینوکس در سیستم‌عامل‌هایی مانند لینوکس، فایل‌سیستم به‌صورت درختی و سلسله‌مراتبی طراحی شده است. در این ساختار، دستگاه‌های ذخیره‌سازی جانبی نیز در نقاطی از این درخت به نام mount point متصل می‌شوند و همه‌چیز یکپارچه دیده می‌شود؛ بر خلاف ویندوز که از درایوهای جداگانه مانند C: و D: استفاده می‌کند. جنبه‌های سامانه پرونده‌ای مدیریت فضا توجه: این موضوع فقط به سامانه‌های پرونده‌ای استفاده‌شده در دستگاه‌های ذخیره‌گاه اعمال می‌شود. قاب|به‌عنوان مثالی از فضای سست که با پوسته‌های NTFS از نوع ۴۰۹۶ بایت نشان داده می‌شوند: ۱۰۰٬۰۰۰ پرونده که هر ۵ بایت در پرونده، برابر ۵۰۰٬۰۰۰ بایت دادهٔ واقعی است؛ اما نیازمند ۴۰۹٬۶۰۰٬۰۰۰ بایت از فضای دیسک برای ذخیره شدن می‌باشد. سامانه‌های پرونده‌ای فضا را به شکل تکه‌تکه‌ای اختصاص می‌دهند که معمولاً به‌صورت چندین واحد فیزیکی در دستگاه است. سامانه پرونده‌ای عهده‌دار سازماندهی پرونده‌ها و فهرست‌های راهنما و پیگیری اینکه کدام نواحی رسانه، متعلق به کدام پرونده است و کدام بخش‌ها استفاده نمی‌شوند. وقتی که یک پرونده دقیقاً چندین واحد تخصیص را شامل نمی‌شود، گاهی به نام فضای سست معرفی می‌شود. انتخاب واحد تخصیص بر اساس میانگین اندازهٔ پرونده‌هایی که انتظار می‌رود در سامانه پرونده‌ای باشد، می‌تواند مقدار فضای غیرقابل استفاده را به حداقل برساند. انتخاب یک واحدِ یک اندازهٔ تخصیص که بسیار کوچک است، باعث هزینهٔ بیش از حد می‌شود. اگر سامانه پرونده‌ای غالباً متشکل از پرونده‌های بسیار بزرگ باشد، ممکن است سامانه‌های پرونده‌ای تکه‌تکه شوند. هنگامی که یک سامانه پرونده‌ای استفاده می‌شود، پرونده‌ها ساخته، اصلاح یا پاک می‌شوند. بعضی از سامانه‌های پرونده‌ای نیاز به تعیین یک تخصیص فضای اولیه دارند و تخصیص‌های افزایشی بعدی هنگامی که پرونده‌ها بزرگ می‌شوند، امکان‌پذیر است. زمانی که پرونده‌ها پاک می‌شوند، فرض می‌شود فضایی که در نهایت به آن‌ها اختصاص داده شد، برای استفاده توسط پرونده‌های دیگر موجود است. این موضوع ناحیه‌هایی با اندازه‌های مختلف را که متناوباً استفاده شده یا استفاده نشده‌است، می‌سازد. وقتی یک پرونده ساخته می‌شود و ناحیه‌ای از فضای پیوسته برای تخصیص اولیهٔ آن موجود نباشد، این فضا باید به تکه‌تکه شدن اختصاص داده شود. وقتی یک پرونده اصلاح می‌گردد، ممکن است آن پرونده بزرگ‌تر شود و از فضایی که در ابتدا به آن اختصاص داده شده بود، تجاوز کند. نام پرونده یک نام پرونده برای شناسایی مکان ذخیره‌گاه در سامانه پرونده‌ای استفاده می‌شود. در بعضی از سامانه‌های پرونده‌ای، نام‌های پرونده به بزرگی یا کوچکی حروف حساس نیستند؛ یعنی نام‌های پرونده مانند FOO و foo به یک پرونده ارجاع داده می‌شوند. در بقیهٔ سامانه‌های پرونده‌ای، نام‌های پرونده به بزرگی یا کوچکی حروف حساسند؛ یعنی نام‌های Foo ،FOO و foo به سه پروندهٔ مختلف ارجاع داده می‌شوند. بسیاری از سامانه‌های پرونده‌ای پیشرفته، اجازهٔ می‌دهند نام پرونده‌ها شامل محدوده‌ای گسترده از نویسه‌های یونی‌کد شوند. اگرچه آن‌ها ممکن است محدودیت‌هایی برای استفاده از بعضی نویسه‌های خاص، آن‌ها را در داخل نام پرونده‌ها غیرمجاز کند، آن نویسه‌ها ممکن است برای نشان دادن یک دستگاه، نوع دستگاه، پیشوند فهرست راهنما، جداکنندهٔ مسیر پرونده یا نوع پرونده استفاده شوند. فهرست‌های راهنما سامانه‌های پرونده‌ای معمولاً دارای فهرست‌های راهنما هستند — که پوشه نیز گفته می‌شوند — و کاربر را برای گروه‌بندی کردن پرونده در مجموعه‌های جداگانه مجاز می‌سازد. این موضوع ممکن است با ارتباط نام پرونده با یک نمایه در یک جدول محتوا یا یک گروه اطلاعاتی در سامانه پروندهٔ مشابه یونیکس (Unix-like) اجرا شود. ساختارهای فهرست راهنما ممکن است مسطح (خطی) باشند، یا سلسله مراتب‌ها را جایی که فهرست‌های راهنما امکان دارد شامل زیرفهرست‌ها شوند، مجاز سازد. فراداده بقیهٔ اطلاعات مربوط به هر پرونده در داخل یک سامانه پرونده‌ای معمولاً ساماندهی می‌شوند. طول داده‌ای که شامل یک پرونده می‌شود ممکن است مانند تعداد بلوک‌های تخصیص‌داده‌شده برای پرونده یا مانند شمارش یک بایت باشد. زمانی که پرونده آخرین‌بار اصلاح شده، ممکن است مانند برچسب زمان پرونده ذخیره شود. سامانه‌های پرونده‌ای ممکن است زمان ایجاد شدن پرونده را ذخیره کند؛ زمانی که آخرین‌بار دیده شده، زمانی که فرادادهٔ پرونده تغییر داده شده‌است، یا زمانی که پرونده برای آخرین‌بار پشتیبان‌گیری شده‌است. بقیهٔ اطلاعات می‌توانند نوع دستگاه پرونده (برای مثال بلوک، نویسه، سوکت، زیرفهرست و…)، مالک شمارهٔ شناسه کاربر و شمارهٔ شناسه گروه، اجازه‌های دسترسی و بقیهٔ صفات پرونده (مانند اینکه پرونده فقط خواندنی، قابل اجرا و… باشد) را شامل شوند. یک سامانه پرونده‌ای همهٔ فراداده‌های تخصیص‌داده‌شده به پرونده را ذخیره می‌کند – شامل نام پرونده، طول محتوایات یک پرونده و مکان پرونده در سلسله‌مراتب پوشه – که از محتویات پرونده متمایز می‌سازد. بسیاری از سامانه‌های پرونده‌ای نام‌های همهٔ پرونده‌ها را در فهرست راهنما در یک مکان ذخیره می‌کند – جدول فهرست راهنما برای آن فهرست راهنما – که غالباً مانند بقیه پرونده‌ها ذخیره می‌شود. بسیاری از سامانه‌های پرونده‌ای فقط تعدادی از فراداده‌ها را برای یک پرونده در جدول فهرست راهنما قرار می‌دهند و باقی ماندهٔ فراداده‌ها برای آن پرونده در یک ساختار کاملاً مجزا قرار دارند، مانند گروه اطلاعاتی. بسیاری از سامانه‌های پرونده‌ای نیز فراداده‌های تخصیص داده نشده با هر یک از پرونده‌های خاص را ذخیره می‌کنند. این‌گونه فراداده‌ها شامل اطلاعاتی دربارهٔ مناطق استفاده نشده می‌شود – نگاشت بیت فضای خالی، نقشه دسترسی بلوک – و اطلاعاتی دربارهٔ بخش‌های خراب. غالباً این‌گونه اطلاعات دربارهٔ یک گروه تخصیص در داخل گروه تخصیص خودش ذخیره می‌شود. بعضی از سامانه‌های پرونده‌ای برای صفات تعرف شده توسط کاربر تهیه شده‌اند، مانند نویسنده اسناد، کدبندی نویسه‌های یک سند یا اندازه یک تصویر. بعضی سامانه‌های پرونده‌ای اجازه می‌دهند که مجموعه‌های داده‌ای مختلف به یک نام پرونده تخصیص داده شوند. این مجموعه‌های جدا ممکن است به عنوان جریان‌هایی یا محل‌های انشعاب، ارجاع داده شوند. شرکت اپل مدت طولانی از سامانه انشعاب در مکینتاش استفاده می‌کرد، و همچنین شرکت مایکروسافت نیز در NTFS جریان‌ها را پشتیبانی می‌کند. بعضی از سامانه‌های پرونده‌ای چندین تجدید نظر از یک پرونده را در یک نام پرونده حفظ می‌کنند. خود نام پرونده بیشتر نسخه اخیر را بازیابی می‌کند، این در حالی است که نسخه‌های قدیمی تر تنها با یک نام‌گذاری خاص قابل دسترسی هستند، همانند “filename;4” یا “filename(-4)” که برای دسترسی به چهار نسخهٔ قبل نگه داشته شد. برای به‌دست آوردن اطلاعات بیشتر روی دربارهٔ اینکه کدام سامانه‌های پرونده‌ای کدام یک از انواع فرا داده را پشتیبانی می‌کنند، مقایسهٔ سامانه‌های پرونده‌ای و فرا داده‌ها را ببینید. دایرکتوری‌های کلیدی در لینوکس ساختار فایل‌سیستم لینوکس بر پایه استانداردی به نام FHS تعریف شده است. تنظیمات کلی سیستم در مسیر /etc نگهداری می‌شود و اطلاعات کاربران در زیرشاخه‌های /home قرار می‌گیرد. فایل‌های موقت در /tmp قرار دارند و اطلاعات متغیر نظیر لاگ‌ها یا ایمیل‌ها در /var ذخیره می‌شوند. سامانه پرونده‌ای به عنوان خلاصه‌ای از واسط کاربری در بعضی موارد، یک سامانه پرونده‌ای ممکن است از یک دستگاه ذخیره گاه استفاده نکند اما می‌تواند برای سازماندهی و نشان دادن دسترسی به هر داده‌ای استفاده شود، اگرچه ذخیره می‌شود یا به صورت پویا تولید می‌گردد (مانند procfs). سودمندی‌ها سامانه‌های پرونده‌ای شامل سودمندی‌هایی برای مقدار دهی اولیه می‌شوند، تغییر دادن پارامترها و حذف یک نمونه از سامانه پرونده‌ای. بعضی شامل توانایی گسترش یا کوتاه کردن فضای تخصیص داده شده به سامانه پرونده‌ای می‌شوند. سودمندی‌های فهرست راهنما ممکن است برای ایجاد، تغییر نام و حذف مدخل‌های فهرست راهنما استفاده شوند که به عنوان dentries نیز شناخته می‌شوند (مفرد: dentry),ساختار فایل‌سیستم لینوکس پیمایش در فایل‌سیستم لینوکس و برای تغییر دادن فرا داده‌ای که به یک فهرست راهنما تخصیص داده شده‌است. سودمندی‌های فهرست راهنما ممکن است شامل قابلیت‌هایی برای ایجاد پیوندهای اضافی به یک فهرست راهنما شوند (پیوندهای سخت در یونیکس)، برای تغییر نام پیوندهای پدر (در سامانه عامل‌های شبیه یونیکس)، و برای ایجاد پیوندهای دوسویه به پرونده‌ها. سودمندی‌های پرونده برای ایجاد، فهرست، رونوشت، حرکت و حذف پرونده‌ها و تغییر فرا داده‌ها است. | ## بخش 2: سامانه فایل‌بندی | آن‌ها ممکن است قابلیت کوتاه کردن داده‌ها، کوتاه کردن یا گسترش تخصیص فضا، افزودن به، حرکت و تغییر پرونده‌ها درجا را داشته باشند. بسته به ساختار اساسی سامانه پرونده‌ای، آن‌ها ممکن است یک سازوکار برای اضافه کردن، کوتاه کردن از، ابتدای یک پرونده، درج مدخل‌ها به وسط یک پرونده یا حذف مدخل‌ها از یک پرونده تهیه کنند. سودمندی‌های آزاد کردن فضا برای پرونده‌های حذف شده، اگر سامانه پرونده‌ای یه تابع احیا تهیه کند، به این دسته نیز تعلق پیدا می‌کند. بعضی از سامانه‌های پرونده‌ای عملیاتی مانند سازماندهی مجدد فضای آزاد، حذف امن فضای آزاد و بازسازی ساختارهای سلسله مراتبی با فراهم کردن سودمندی‌هایی برای انجام دادن این توابع در زمان‌های حداقل فعالیت، به تعویق می‌اندازند. بعضی از مهم‌ترین ویژگی‌های سودمندی‌های سامانه پرونده‌ای، شامل فعالیت‌های نظارتی می‌شود که ممکن است شامل دور زدن مالکیت یا دسترسی مستقیم به دستگاه اساسی شود. اینها شامل پشتیبان با عملکرد بالا و بازیافت، تکرار داده و سازماندهی مجدد ساختارهای دادهٔ متفاوت و جدول‌های تخصیص در داخل سامانه پرونده‌ای می‌شوند. محدود کردن دسترسی در سامانه پرونده‌ای چندین مکانیزم برای کنترل دسترسی به داده‌ها استفاده می‌شود. معمولاً هدف اینست که از خواندن یا دستکاری پرونده‌ها، توسط هر کاربری، یا گروهی از کاربران، جلوگیری به عمل آید. دلیل دیگر اینست که مطمئن باشیم که داده‌ها به صورت کنترل شده‌ای دست کاری می‌شوند، پس دسترسی به آن‌ها ممکن است محدود به یک برنامهٔ خاص باشد. به عنوان مثال، پسوردهای ذخیره شده در فرا دادهٔ یک پرونده یا ذخیره شده در جای دیگر، اجازه‌های پرونده در قالب بیت‌های اجازه (permission bits)، لیست‌های کنترل دسترسی، یا توانایی‌ها. نیاز ما به سودمندی سامانه پرونده‌ای برای داشتن دسترسی به داده‌ها در سطح رسانه برای شناخت ساختار و ایجاد یک پشتیبان مؤثر، به این معنی است که این‌ها فقط برای کاربران مؤدب مؤثر هستند و در برابر مزاحمان اثری ندارد. در بعضی از مواقع، متدها برای رمزگذاری داده‌های پرونده در خود سامانه پرونده‌ای شامل می‌شوند. این روش بسیار مؤثر است چراکه دیگر نیازی به سودمندی‌های سامانه پرونده‌ای برای دانستن هر قسمت از رمزگذاری برای مدیریت مؤثر داده، نیست. ریسک‌های موجود در رمزگذاری شامل این حقیقت است که یک مهاجم می‌تواند داده‌ها را کپی و با استفاده از ابزاری آن را رمزگشایی کند از دست دادن هر جخش از رمزها به معنی از دست دادن داده‌ها می‌باشد. نگهداری یکپارچگی یک مسیولیت قابل توجه سامانه پرونده‌ای اطمینان حاصل کردن است از اینکه صرف نظر از عملیاتی که برنامه‌ها به داده دسترسی پیدا می‌کنند، ساختار آن سازگار باقی بماند. این شامل عملیات گرفته شده‌است اگر یک برنامه در حال تغییر داده، غیرطبیعی پایان داده شود یا بی‌توجهی به اطلاع دادن از سامانه رونده‌ای که فعالیت‌هایش را به پایان رسانده‌است. این ممکن است شامل به روز کردن فرا داده، مدخل فهرست راهنما و ادارهٔ هر داده که میانگیری شده‌است اما تاکنون در ذخیره گاه فیزیکی رسانه‌ها به روزرسانی نشده‌است. بقیه خرابی‌ها که سامانه پرونده‌ای باید سر و کار داشته باشند عبارتند از خرابی‌های رسانه‌ها یا کمبود ارتباطات سامانه‌های از راه دور. به هنگام خرابی یک سامانه عامل یا خرابی باتری، روال‌های مخصوص در سامانه پرونده‌ای باید شبیه به وقتی که یک برنامه شخصی خراب می‌شود، احضار شوند. سامانه پرونده‌ای همچنان باید توانایی تصحیح ساختارهای خراب شده را نیز داشته باشد. این ممکن است به عنوان یک نتیجه از خرابی سامانه عامل، در حالتی که سامانه عامل نتواند سامانه پرونده‌ای را آگاه کند، در اثر خرابی باتری یا بازنشانی، رخ دهد. سامانه پرونده‌ای همچنین باید رخدادها را ضبط کند تا موضوعات آنالیزهای سامانه‌ای و همچنین مسایلی با پرونده‌های خاص یا فهرست‌های راهنما را مجاز سازند. مفهوم «همه‌چیز یک فایل است» یکی از اصول طراحی یونیکس و لینوکس این است که «همه‌چیز یک فایل است». این یعنی فایل متنی، دستگاه سخت‌افزاری، ارتباط شبکه‌ای و حتی پردازه‌ها همگی از دیدگاه سیستم به‌صورت فایل دیده می‌شوند. بعضی از سامانه‌های پرونده‌ای داده را برای ذخیره گاه مانند یک جریانی از بایت‌ها می‌پذیرند که در یک روش مؤثر برای رسانه جمع‌آوری و ذخیره شده‌اند. هنگامی‌که یک برنامه داده را بازیابی می‌کند، اندازه یک میانگیر حافظه را مشخص می‌کند و سامانه پرونده‌ای داده را از رسانه به میانگیر انتقال می‌دهد. روال کتابخانه در حین اجرا ممکن است گاهی کاربر برنامه را برای تعریف یک ضبط بر اساس یک فراخوانی کتابخانه که طول را مشخص می‌کند، مجاز می‌سازد. وقتی کاربر برنامه داده را می‌خواند، کتابخانه داده را توسط سامانه پرونده‌ای بازیابی می‌کند و یک ضبط بازمی‌گرداند. بعضی از سامانه‌های پرونده‌ای مشخصهٔ یک طول ضبط ثابت که برای همه نوشته‌ها و خوانده‌ها استفاده می‌شود را می‌پذیرد. یک شناسایی برای هر ضبط که به عنوان یک کلید نیز شناخته می‌شود، برای یک سامانه پرونده‌ای پیچیده‌تر ساخته می‌شود. کاربر برنامه می‌تواند بخواند، بنویسد و ضبط‌ها را بدون توجه به محل آن‌ها به روزرسانی کند. این موضوع نیازمند مدیریت پیچیدهٔ بلوک‌های رسانه که معمولاً بلوک‌های کلید و بلوک‌های داده را جدا می‌سازد، خواهد بود. الگوریتم‌های بسیار کارآمد می‌توانند با ساختار هرمی برای محل یابی ضبط‌ها توسعه یابند. استفاده از یک سامانه پرونده‌ای سودمندی‌ها، زبان مخصوص برای کتابخانه‌های در حین اجرا و کاربر برنامه از API سامانه پرونده‌ای برای ساخت درخواست‌های سامانه پرونده‌ای استفاده می‌کنند. این موضوع‌ها شامل انتقال داده، موقعیت‌یابی، به روز کردن فراداده، مدیریت کردن فهرست‌های راهنما، مدیریت کردن مشخصه‌های دسترسی و رفع آنها. طراحی محدودیت‌ها همهٔ سامانه‌های پرونده‌ای تعدادی حد تابعی دارند که حداکثر گنجایش داده قابل ذخیره در داخل همان سامانه تعریف می‌شود. این حدود تابعی یک تلاش بهترین حدس توسط طراح براساس این است که هم‌اکنون سامانه‌های ذخیره گاه چه قدر بزرگ هستند و سامانه‌های ذخیره گاه در آینده احتمال دارند چه قدر بزرگ شوند. ذخیره گاه دیسک ادامه داشت که نزدیک به نرخ‌های نمایی رشد پیدا کند (قانون مور را ملاحظه نمایید)، به همین دلیل بعد از چند سال، سامانه‌های پرونده‌ای رسیدن به طراحی محدودیت‌ها را نگه داشته‌اند که نیازمند این است که کاربران رایانه مکرراً به یک سامانه جدیدتر با گنجایش هر چه بیشتر نقل مکان کنند. پیچیدگی سامانه پرونده‌ای معمولاً به تناسب با گنجایش ذخیره گاه موجود تغییر می‌کند. سامانه پرونده‌ای اوایل دهه ۱۹۸۰ رایانه‌های خانگی با ۵۰ کیلوبایت تا ۵۱۲ کیلوبایت از ذخیره گاه ممکن است انتخاب معقولی برای سامانه‌های ذخیره گاه پیشرفته با صدها گیگابات گنجایش نباشد. به همین ترتیب، سامانه‌های پرونده‌ای پیشرفته ممکن است انتخاب معقولی برای این سامانه‌های اولیه نباشد، از آنجا که پیچیدگی ساختارهای سامانه پرونده‌ای پیشرفته ممکن است به سرعت تحلیل روند یا حتی از گنجایش بسیار محدود سامانه‌های ذخیره گاه اولیه تجاوز کنند. انواع سامانه‌های پرونده‌ای انواع سامانه‌های پرونده‌ای می‌تواند به دسته‌های: سامانه‌های پرونده‌ای از نوع دیسک/ نواری، سامانه‌های پرونده‌ای از نوع شبکه‌ای و سامانه‌های پرونده‌ای با اهداف خاص تقسیم شوند. سامانه‌های پرونده‌ای از نوع دیسک یک سامانه پرونده‌ای از نوع دیسک از توانایی‌های رسانه‌های (media) ذخیره‌گاه دیسک (disk storage) استفاده می‌کند تا در مدت کوتاهی، به صورت تصادفی داده‌ها را آدرس‌دهی کند. از دیگر ملاحظاتی که انجام می‌شوند، می‌توان به سرعت دسترسی به داده‌ها اشاره کرد، که ابتدا باید درخواست شود و پیش‌بینی شود که داده مورد نظر نیز ممکن است درخواست شده باشد. این موضوع به چندین کاربر یا پردازه اجازه می‌دهد، تا به داده‌های متفاوتی روی دیسک، بدون توجه به توالی مکان قرارگیری داده، دسترسی داشته باشند. سامانه پرونده‌ای از نوع فلش مقالهٔ اصلی: سامانه پرونده‌ای فلش سامانه پرونده‌ای فلش توانایی‌های خاص، کارایی و محدودیت‌های دستگاه‌های با حافظهٔ فلش را در نظر می‌گیرد. به‌طور مداوم یک سامانه پرونده‌ای از نوع دیسک می‌تواند از دستگاه با حافظهٔ فلش، به عنوان یک رسانه ذخیره گاه پایه، استفاده کند، ولی بهتر است از سامانه پرونده‌ایی که به‌طور اختصاصی برای دستگاه‌های فلش ساخته شده‌است، استفاده شود. سامانه پرونده‌ای از نوع نوار سامانه پرونده‌ای از نوع نوار، نوعی از سامانه پرونده‌ای است. در این نوع، قالب نوار، که برای ذخیره کردن پرونده‌ها روی نوار است، به صورت خود توصیف‌کننده، طراحی شده‌است. نوارهای مغناطیسی در واقع، رسانه‌های ذخیره گاه متوالی با زمان دسترسی به داده‌های تصادفی بسیار بالاتری از دیسک‌ها هستند که چالش‌هایی برای ساخت و مؤثر نمودن مدیریت سامانه‌های پرونده‌ای عام منظوره، ایجاد کرده‌اند. هر پرونده‌ای که می‌خواهد اضافه، عوض، یا حذف شود، نیازمند به روزرسانی فهرست راهنما و نقشهٔ استفاده/آزاد شده‌است. نوار نیاز به حرکت خطی، برای بستن و باز کردن قرقره‌های عموماً بسیار بلند رسانه‌ها دارد. این حرکت نوار برای جابه‌جا کردن سر (head) خواندن/ نوشتن از انتهای یک نوار به نواری دیگر، ممکن است از چند ثانیه تا چند دقیقه طول بکشد. در عوض سامانه‌های پرونده‌ای از نوع نوار معمولاً اجازه می‌دهند تا فهرست راهنمای پرونده در نوار بخش و با داده‌ها ترکیب شود، که استریمینگ (streaming) معرفی شده‌است، به این ترتیب حرکات زمان بر و تکراری نوار دیگر نیازی به نوشته شدن ندارند. بیشتر نرم‌افزارهای آرشیو داده، که با ذخیره گاه نوار کار می‌کنند، یک کپی محلی از کاتالوگ نوار را در یک سامانه پرونده‌ای از نوع دیسک نگهداری می‌کنند، تا عمل اضافه کردن پرونده‌ها به نوار با سرعت بیشتری و بدون نیاز به پیمایش دوبارهٔ نوار برای رسانه‌ها، انجام شود. کپی محلی از کاتالوگ نوار، عموماً برای مدت زمان معینی کاربرد دارد و در صورت نیاز در آینده مجدداً باید یک پیمایش در نوار صورت بگیرد. سامانه پرونده‌ای از نوع نوار خطی از یک بخش جدا در نوار، برای ذخیرهٔ شاخص فرا داده (meta-data) استفاده می‌کند. | ## بخش 3: سامانه فایل‌بندی | به همین دلیل، مشکلات مربوط به فهرست راهنماهای ورودی پراکنده در سراسر نوار از بین می‌روند. با توجه به تکنولوژی‌های بسیار زیاد نوار داده (data tape) ضروری نیست که قبل از نوشتن مجدد داده‌ها روی نوار، آن را قالب بندی کنیم. به خاطر اینکه قالب بندی نوارها می‌تواند زمان بر باشد، عموماً نوارها از قبل قالب بندی می‌شوند، تا کاربران نوار نیازی به صرف زمان برای آماده‌سازی هر نوار قبل از استفاده، نداشته باشند. تنها چیزی که عموماً ضروری است این است که قبل از استفاده، یک برچسب قابل تشخیص برای رسانه روی نوار نوشته شود. حتی این نیز می‌تواند به صورت خودکار وقتی یک نوار جدید برای اولین بار استفاده می‌شود، توسط نرم‌افزار نوشته شود. سامانه پرونده‌ای از نوع پایگاه داده یک جنبهٔ دیگر از مدیریت پرونده، ایدهٔ سامانه پرونده‌ای بر پایهٔ پایگاه داده‌است. به جای یا علاوه بر ساختار وراثتی در مدیریت، پرونده‌ها به کمک مشخصاتشان مانند: نوع پرونده، اسم پرونده، نویسندهٔ پرونده یا فرا داده‌های غنی مشابه، شناخته می‌شوند. در سال‌های ۱۹۷۸ تا ۱۹۸۸ آقای سولتیس و تیمش در IBM Rochester تکنولوژی‌هایی مانند سامانه پرونده‌ای از نوع پایگاه داده را به صورت موفقیت‌آمیز طراحی و پیاده‌سازی کردند. در زیر به بعضی از پروژه‌هایی که بخشی از جنبه‌های سامانه پرونده‌ای از نوع پایگاه داده را در خود داشته‌اند، پرداخته می‌شود: بسیاری از سامانه‌های مدیریت محتوای وب از یک سامانه مدیریت پایگاه داده رابطه‌ای (relational DBMS)، برای ذخیره و بازیابی پرونده‌ها استفاده می‌کنند. به عنوان مثال، پرونده‌های XHTML، به عنوان XML یا فیلدهای متنی ذخیره می‌شوند، در حالی که پرونده‌های تصویری به صورت فیلدهای حبابی ذخیره می‌شوند: SQL SELECT (به همراه XPath به صورت اختیاری) توضیحات پرونده‌ها را بازیابی می‌کنند، و استفاده از منطق پیچیده را ممکن می‌سازند و با اطلاعات با ارزش تری در مقایسه با سامانه‌های پرونده‌ای معمول در ارتباط هستند. بسیاری از سامانه‌های مدیریت محتوا نیز از توانایی ذخیره کردن فقط فرا داده در پایگاه داده، با یک سامانه پرونده‌ای استاندارد مورد استفاده در ذخیره کردن محتوای پرونده‌ها، برخوردار هستند. به عنوان مثال، نصب نرم‌افزار ممکن است باعث نوشتن پرونده‌های باینری، کتابخانه‌ها، و تأیید پرونده‌های برنامه شود. اگر نصب نرم‌افزار موفقیت‌آمیز نباشد، احتمال می‌رود که برنامه قابل استفاده کردن نباشد. اگر فرایند نصب در حال به روزرسانی یک بخش اصلی از سامانه باشد، همانند پوستهٔ فرمان (command shell)، احتمال می‌رود که کل سامانه به حالت غیرقابل بهره‌وری، وارد شود. فرایند تراکنش، انزوا را ضمانت می‌کند، که این به این معنی است که عملیاتی که روی آن‌ها تراکنش انجام می‌شود از دیگر ریسه‌های درون سامانه، تا زمانی که عمل تراکنش به پایان برسد، پنهان می‌شوند و عملیات متداخل درون سامانه در هر تراکنش، به صورت مناسبی، پشت سر هم مرتب می‌شوند. همچنین تراکنش‌ها ظرفیت اتمی را ضمانت می‌کنند، به این معنی که عملیات داخل یک تراکنش یا همگی متعهدند یا تراکنش می‌تواند به بعد موکول شود و سامانه تمامی نتایج به‌دست آمده تا آن زمان از تراکنش را پاک می‌سازد. یعنی، در صورتی که یک حادثه رخ دهد یا باتری تمام شود، بعد از عملیات ترمیم وضعیت ذخیره شده ثبت شده باقی می‌ماند. اگر عملیات ناموفق باشد در این صورت، پس از برگشت به حالت اولیه دیگر هیچ اثری از نرم‌افزار معیوب در سامانه نمی‌ماند. یکسری نمونه‌های اولیه از سامانه‌های پرونده‌ای از نوع تراکنشی برای سامانه عامل لینوکس، در دست آزمایش هستند. اطمینان از سازگاری در سراسر چندین سامانه پرونده‌ای دشوار، ولی بدون تراکنش‌های سامانه پرونده‌ای قابل اجرا است. قفل کردن پرونده‌ها می‌تواند به عنوان یک مکانیزم برای کنترل همروندی برای پرونده‌های مستقل استفاده شود، ولی در حالت کلی از ساختار فهرست راهنما یا پروندهٔ فرا داده حفاظت نمی‌کند. همچنین با قفل کردن پرونده نمی‌تواند به صورت خودکار یک عملیات ناموفق را پاکسازی کرد، همانند عملیات ارتقای یک نرم‌افزار، که نیاز دارد به صورت خودکار انجام شود. سامانه‌های پرونده‌ای ژورنالی یک روش برای معرفی تراکنش‌ها با سازگاری درجه یک در ساختار سامانه‌های پرونده‌ای هستند. آن‌ها فقط برای مصارف داخلی برای حفظ سازگاری در یک سامانه کال واحد استفاده دارند. سامانه پشتیبان داده به‌طور معمول، داده‌های ذخیره شده به صورت تراکنشی را مستقیماً پشتیبانی نمی‌کنند، این موجب می‌شود که عملیات بازیابی مجموعه داده‌های قابل اعتماد و سازگار، سخت شود. بیشتر نرم‌افزارهای پشتیبانی داده، بدون توجه به حالت تراکنشی مشترک موجود بین چند پرونده در یک مجموعه پایگاه داده، فقط اعلان می‌کنند که آیا داده‌ها بعد از مدت زمان معینی تغییر کرده‌اند، یا نه. در بعضی از پایگاه داده‌ها، راه حل به‌دست آمده برای این مشکل اینست که، یک آرشیو از وضعیت هر پرونده، شامل تمام داده‌های به‌دست آمده تا آن زمان و ذخیره‌سازی این داده‌ها در نرم‌افزار پشتیبان، به صورتی که مستقیماً با پایگاه داده‌های تراکنشی فعال در ارتباط نباشد، است. بازیابی نیازمند جداسازی بازسازی پایگاه داده از وضعیت پرونده، بعد از اینکه پرونده در نرم‌افزار پشتیبان ذخیره شد، می‌باشد. سامانه پرونده‌ای از نوع شبکه سامانه پرونده‌ای از نوع شبکه، نوعی از سامانه پرونده‌ای است که، به شکل یک مشتری برای پروتکل دسترسی از راه دور پرونده، برای دسترسی پیدا کردن به پرونده‌ها در سرور، عمل می‌کند. برنامه‌هایی که از رابط‌های محلی استفاده می‌کنند، می‌توانند به صورت پنهانی، فهرست‌های راهنمای درختی و پرونده‌های درون کامپیوترهای کنترل از راه دور را ایجاد، مدیریت یا به آن‌ها دسترسی پیدا کنند. مثال‌هایی از سامانه پرونده‌ای شبکه‌ای: مشتری‌های پروتکل‌های سامانه پرونده‌ای از نوع شبکه‌ای(NFS)، سامانه پرونده‌ای از نوع اندرو (AFS)، بلوک پیام سرور (SMB) و همچنین شبه مشتری‌های سامانه‌های پرونده‌ای از جمله: پروتکل انتقال پرونده (FTP) و WebDAV. سامانه پرونده‌ای‌های از نوع دیسک مشترک سامانه پرونده‌ای از نوع دیسک اشتراکی نوعی از سامانه پرونده‌ای است که در آن تعدادی از ماشین‌ها (معمولاً سرورها) همگی دسترسی به یک زیرسامانه دیسک خارجی یکسان (معمولا یک SAN دارند. صفات سامانه پرونده‌ای به زیر سامانه دسترسی پیدا می‌کنند تا از نوشتن برخورد جلوگیری کنند. سامانه پرونده‌ای‌های ویژه سامانه پرونده‌ای ویژه، یک عنصر غیر پرونده‌ای از پرونده‌های سامانه عامل را ارائه می‌دهد. این کار بیشتر روی سامانه عامل‌هایی شبیه یونیکس انجام می‌شود، ولی در یکسری سامانه عامل‌هایی که شبیهٔ ونیکس هم نیستند، به دستگاه‌ها نام داده می‌شود. و در سامانه عامل‌های دیگر عبارت اند از: TOPS-10 و دیگر سامانه عامل‌های مشابه این، که نام کامل پرونده یا نام مسیر آن در پیشوند دستگاه می‌آید. دیگر دستگاه‌های شامل سامانه پرونده‌ای به کمک پیشوند یک دستگاه، که نمایانگر آن دستگاه است، بدون اینکه چیزی در انتهایش بیاید، ارجاع داده می‌شوند. Procfs پردازه‌ها و دیگر ساختارهای سامانه عامل را در فضای یک پرونده، روی لینوکس، نگاشت می‌کند. سامانه پرونده‌ای از نوع حداقلی / ذخیره گاه نوار-صوتی در اواخر دههٔ ۱۹۷۰ میلادی، پیشرفت تکنولوژی میکرو کامپیوترها آغاز شد. در آن زمان، یک سامانه ذخیره گاه ارزان پایه‌ای، پیشنهاد می‌شد، که نوارهای صوتی را استفاده می‌کرد. وقتی نیاز بود در سامانه داده‌ای نوشته شود، به کاربر پیام داده می‌شد که دکمهٔ ضبط (Record) روی نوار را فشار دهد، و سپس دکمهٔ (Return) را که روی کیبورد است فشار دهد تا سامانه متوجه شود که نوار در حال ضبط کردن می‌باشد. سامانه خود، یک صدا را برای ایجاد یک هماهنگی در زمان، می‌نویسد، و سپس صداهایی برای کدگذاری یک پیشوند هستند، خود داده، یک سرجمع (check sum) و یک پسوند را مدلسازی می‌کند. وقتی سامانه نیاز داشت که داده‌ای را بخواند، به کاربر گفته می‌شد که دکمهٔ شروع (Play) را از روی نوار بزند و سامانه در این صورت به صداهای روی نوار گوش می‌داد، تا زمانی که مجموعه‌ای از صداهای پشت سر هم قابل، به عنوان یک هماهنگ ساز، شناسایی بودند. وقتی کار خواندن داده‌ها تمام می‌شود، سامانه به کاربر می‌گوید که دکمهٔ توقف (Stop) روی نوار را بزند. در این سامانه‌ها عموماً داده‌ها معمولاً در قالب بدون نامی، پشت سر هم ذخیره می‌شدند، البته در بعضی از سامانه‌ها (مانند سری کامپیوترهای کامادور پی ای تی (Commodore PET اجازهٔ نام‌گذاری پرونده‌ها را داده می‌شد. ممکن بود کاربر مجبور باشد به صداها گوش دهد تا ناحیه مناسب بعدی برای شروع داده‌ها را پیدا کند. بعضی از پیاده‌سازی‌ها که حتی شامل صداهای قابل شنیدن هم بودند با داده‌ها درمی‌آمیختند. در سامانه پرونده‌ای از نوع تخت، هیچ زیر فهرست راهنمایی وجود ندارد، برای همهٔ پرونده‌ها، مداخل فهرست راهنما، در یک فهرست راهنمای یگانه ذخیره می‌شود. وقتی برای اولین بار رسانهٔ فلاپی دیسک در دسترس عموم قرار گرفت، این مدل از سامانه پرونده‌ای به خاطر حجم کوچک موجود در فلاپی دیسک‌ها، کافی بود. ماشین‌های CP/M، شامل سامانه پرونده‌ای تخت بودند که، پرونده‌ها می‌توانستند بهٔ کی از ۱۶ نواحی کاربری (user areas) اختصاص داده شوند و عملیات پرونده‌های عمومی، به جای کار کردن روی تمامی نواحی، فقط روی یکی از این نواحی کار می‌کرد. در اصل این نواحی کاربری همان صفت‌ها و ویژگی‌های در ارتباط با پرونده‌ها هستند، بنابراین دیگر نیازی به تعریف هیچ تعرفهٔ خاصی برای هر یک از این نواحی نیست و پرونده‌ها می‌توانند تا وقتی که فضای خالی در ذخیره گاه موجود است، گروهبندی شوند. در این ساختار نیاز بود که هر پرونده اسم منحصر به فردی داشته باشد، حتی اگر دو پرونده در دو پوشهٔ متفاوت باشند. با رشد تعداد پرونده‌ها استفاده از سامانه پرونده‌ای تخت دشوار و توانایی سازماندهی داده‌ها در گروه‌های مرتبط با پرونده‌ها سخت شد. S3 یک سرویس ذخیره‌سازی کنترل از راه دور است، که به سادگی به کاربران توانایی شخصی‌سازی طریقهٔ ذخیره شدن داده‌ها را می‌دهد. تنها سازه‌ها همان به اصطلاح سطل‌ها (تصور کنید یک گردانندهٔ دیسک با ظرفیت بی‌نهایت دارید) و اشیاء (مشابه آنچه توضیح داده شد، ولی قابل شناسایی برای استاندارد جنبه‌های پرونده نیستند)، هستند. | ## جمع‌بندی | مدیریت پروندهٔ پیشرفته، تنها در صورتی قابل استفاده است که، بشود از هر کاراکتری (حتی "/") در نام‌گذاری اشیاء استفاده کرد و همچنین اینکه بتوان از سطل محتوا، یک زیرمجموعه‌ای را بر اساس پیشوندهای قابل شناسایی انتخاب کرد.