سیستم فایل

سیستم پرونده روشی برای ذخیره و سازمان‌دهی پرونده‌های رایانه‌ای و داده‌هایشان است تا یافتن و دسترسی به آن‌ها را آسان کند.
در رایانش، یک سیستم فایل برای کنترل نحوه ذخیره و بازیابی اطلاعات استفاده می‌شود. بدون یک سیستم فایل اطلاعات قرار گرفته در فضای ذخیره‌سازی، یک بدنه کلی و بزرگ از اطلاعات خواهد بود که نمی‌توان تشخیص داد یک تکه از اطلاعات در کجا ختم می‌شود و تکه بعدی از کجا شروع می‌شود.
با جداسازی اطلاعات به قطعه‌های منحصر به فرد و نام‌گذاری هر قطعه، اطلاعات به راحتی از هم جدا و تشخیص داده می‌شوند. هر قطعه از اطلاعات فایل نامیده می‌شود.
ساختار و قوانین منطقی که برای مدیریت دسته‌ای از اطلاعات و نام آن‌ها استفاده می‌شود «سیستم فایل» نامیده می‌شود.
انواع مختلفی از سیستم فایل وجود دارد که هر یک دارای ساختار و منطق متفاوتی می‌باشند. هر یک دارای خواص مختلفی از سرعت، انعطاف‌پذیری، امنیت، اندازه و غیره هستند. بعضی از سیستم فایل‌ها برای کاربردهای خاصی طراحی شده‌اند. برای مثال سیستم فایل ایزو ۹۶۶۰ مخصوص دیسک‌های نوری طراحی شده‌است.
سیستم‌های پرونده می‌توانند از یک وسیله ذخیره اطلاعات مانند دیسک سخت یا سی‌دی‌رام بهره ببرند و مکان فیزیکی پرونده‌ها را نگهداری کنند و می‌توانند دسترسی به داده‌های یک پرونده برده (یا سرور) را با رفتار به عنوان کاربر (کلاینت) برای یک پروتکل شبکه (مانند: کلاینت‌های NFS ,SMB یا 9P) فراهم کنند یا ممکن است مجازی باشند و تنها به عنوان روشی برای دسترسی به داده‌های مجازی (مانند: procfs) وجود داشته باشند. این با خدمات دایرکتوری و رجیستری متفاوت است.
در شکل رسمی‌تر، یک سیستم پرونده یک پایگاه‌داده تک کاره برای انباشت، سازمان‌دهی، دستکاری و بازیابی داده‌ها است.
جنبه‌های سیستم پرونده‌ای
مدیریت فضا
توجه: این موضوع فقط به سیستم‌های پرونده‌ای استفاده شده در دستگاه‌های ذخیره گاه اعمال می‌گردد.
به عنوان مثالی از فضای سست که با پوسته‌های NTFS از نوع ۴۰۹۶ بایت نشان داده می‌شوند: ۱۰۰،۰۰۰ پرونده که هر ۵ بایت در پرونده، برابر ۵۰۰،۰۰۰ بایت داده واقعی است اما نیازمند ۴۰۹،۶۰۰،۰۰۰ بایت از فضای دیسک برای ذخیره شدن می‌باشد.
سیستم‌های پرونده‌ای فضا را به شکل تکه‌تکه‌ای اختصاص می‌دهند که معمولا به صورت چندین واحد فیزیکی در دستگاه است. سیستم پرونده‌ای عهده‌دار سازماندهی پرونده‌ها و فهرست‌های راهنما و پیگیری اینکه کدام نواحی رسانه متعلق به کدام پرونده است و کدام بخش‌ها استفاده نمی‌شوند. برای مثال در اپل داس (Apple DOS) در اوایل دهه ۱۹۸۰، بخش‌های ۲۵۶ بایتی در فلاپی دیسک‌های ۱۴۰ کیلوبایتی از روش نقشه مسیر/بخش (track/sector map) استفاده می‌کردند.
این موضوع باعث ایجاد فضاهای استفاده نشده می‌شود وقتی که یک پرونده دقیقا چندین واحد تخصیص را شامل نمی‌شود، گاهی اوقات به نام فضای سست معرفی می‌شود. برای یک تخصیص ۵۱۲ بایتی، میانگین فضای استفاده نشده ۲۵۶ بایت است. برای خوشه‌های ۶۴ کیلوبایتی، میانگین فضای استفاده نشده ۳۲ کیلوبایت است. اندازه واحد تخصیص وقتی انتخاب می‌شود که سیستم پرونده‌ای ایجاد گردد. انتخاب واحد تخصیص بر اساس میانگین اندازه پرونده‌هایی که انتظار می‌رود در سیستم پرونده‌ای باشد، می‌تواند مقدار فضای غیرقابل استفاده را به حداقل برساند. غالبا تخصیص پیش‌فرض می‌تواند کاربرد مناسبی فراهم کند. انتخاب یک واحد یک اندازه تخصیص که بسیار کوچک است باعث هزینه بیش از حد می‌شود اگر سیستم پرونده‌ای غالبا متشکل از پرونده‌های بسیار بزرگ باشد
ممکن است سیستم‌های پرونده‌ای تکه‌تکه شوند.
تکه‌تکه شدن سیستم پرونده‌ای (File system fragmentation) وقتی رخ می‌دهد که فضای استفاده نشده یا تک پرونده‌ها پیوسته نباشند. هنگامیکه یک سیستم پرونده‌ای استفاده می‌شود، پرونده‌ها ساخته، اصلاح یا پاک می‌شوند. وقتی که یک پرونده ایجاد می‌شود، سیستم پرونده‌ای فضایی برای داده اختصاص می‌دهد. بعضی از سیستم‌های پرونده‌ای نیاز به تعیین یک تخصیص فضای اولیه دارند و تخصیص‌های افزایشی بعدی هنگامیکه پرونده‌ها بزرگ می‌شوند. زمانی‌که پرونده‌ها پاک می‌شوند، فرض می‌شود فضایی که در نهایت به آن‌ها اختصاص داده شد، برای استفاده توسط پرونده‌های دیگر موجود است. این موضوع ناحیه‌هایی با اندازه‌های مختلف که متناوبا استفاده یا استفاده نشده‌است، می‌سازد. این موضوع تکه‌تکه شدن فضای خالی نامیده می‌شود. وقتی یک پرونده ساخته می‌شود و ناحیه‌ای از فضای پیوسته برای تخصیص اولیه آن موجود نباشد، این فضا باید به تکه‌تکه شدن اختصاص داده شود. وقتی یک پرونده اصلاح می‌گردد ممکن است آن پرونده بزرگتر شود و از فضایی که در ابتدا به آن اختصاص داده شده بود، تجاوز کند، در این صورت باید یک تخصیص دیگر در جای دیگر معین شود و پرونده تکه‌تکه شود.
نام پرونده
یک نام پرونده برای شناسایی مکان ذخیره گاه در سیستم پرونده‌ای استفاده می‌شود. بسیاری از سیستم‌های پرونده‌ای محدودیتهایی برای طول نام پرونده‌ها دارند. در بعضی از سیستم‌های پرونده‌ای نام‌های پرونده به بزرگی یا کوچکی حروف حساس نیستند. (یعنی نام‌های پرونده مانند FOO و foo به یک پرونده ارجاع داده می‌شوند). در بقیه سیستم‌های پرونده‌ای، نام‌های پرونده به بزرگی یا کوچکی حروف حساسند (یعنی نام‌های Foo ، FOO و foo به سه پرونده مختلف ارجاع داده می‌شوند).
بسیاری از سیستم‌های پرونده‌ای پیشرفته اجازه می‌دهند نام پرونده‌ها شامل محدوده‌ای گسترده از نویسه‌ها از نویسه‌گان یونیکد شوند. اگرچه آن‌ها ممکن است محدودیت‌هایی برای استفاده از بعضی نویسه‌های خاص، آن‌ها را در داخل نام پرونده‌ها غیرمجاز کند، آن نویسه‌ها ممکن است برای نشان دادن یک دستگاه، نوع دستگاه، پیشوند فهرست راهنما، جداکننده مسیر پرونده یا نوع پرونده استفاده شوند.
فهرست‌های راهنما
سیستم‌های پرونده‌ای معمولا دارای فهرست‌های راهنما هستند (که پوشه نیز گفته می‌شوند) که کاربر را برای گروه‌بندی کردن پرونده در مجموعه‌های جداگانه مجاز می‌سازد. این موضوع ممکن است با ارتباط نام پرونده با یک نمایه در یک جدول محتوا یا یک گروه اطلاعاتی در سیستم پرونده مشابه یونیکس (Unix-like) اجرا شود. ساختارهای فهرست راهنما ممکن است مسطح (یعنی خطی) باشند، یا سلسله مراتب‌ها را جایی که فهرست‌های راهنما امکان دارد شامل زیر فهرست‌ها شوند، مجاز سازد. اولین سیستم پرونده‌ای برای پشتیانی سلسله مراتب دلخواه در سیستم عامل مولتیکس (Multics) استفاده شد. سیستم‌های پرونده‌ای محلی سیستم‌های شبیه یونیکس نیز سلسله مراتب فهرست راهنمای دلخواه را پشتیبانی می‌کنند، برای مثال سیستم پرونده‌ای سلسله مراتبی اپل (Apple) و HFS+ بعدی در سیستم عامل کلاسیک مک (HFS+ هنوز در سیستم عامل مک استفاده می‌شود)، سیستم پرونده‌ای FAT در سیستم عامل داس (MS-DOS 2.0) و نگارش‌های بعدی MS-DOS و در ویندوز، سیستم پرونده‌ای NTFS در ویندوز NT خانواده سیستم عامل‌ها، و ODS-2 و مراحل بالاتر سیستم پرونده‌ای Files-11 در OpenVMS.
فراداده
بقیه اطلاعات مربوط به هر پرونده در داخل یک سیستم پرونده‌ای معمولا ساماندهی می‌شوند. طول داده‌ای که شامل یک پرونده می‌شود ممکن است مانند تعداد بلوک‌های تخصیص داده شده برای پرونده یا مانند شمارش یک بایت باشد. زمانی که پرونده آخرین بار اصلاح شده، ممکن است مانند برچسب زمان پرونده ذخیره شود. سیستم‌های پرونده‌ای ممکن است زمان ایجاد شدن پرونده را ذخیره کند، زمانی که آخرین بار دیده شده، زمانی که فراداده پرونده تغییر داده شده‌است، یا زمانی که پرونده برای آخرین بار پشتیبان‌گیری شده‌است. بقیه اطلاعات می‌توانند نوع دستگاه پرونده (برای مثال بلوک، نویسه، سوکت، زیر فهرست و …)، مالک شماره شناسه کاربر و شماره شناسه گروه، اجازه‌های دسترسی و بقیه صفات پرونده (مانند اینکه پرونده فقط خواندنی، قابل اجرا و … باشد) را شامل شوند.
یک سیستم پرونده‌ای همه فراداده‌های تخصیص داده شده به پرونده را ذخیره می‌کند – شامل نام پرونده، طول محتوایات یک پرونده و مکان پرونده در سلسله مراتب پوشه – که از محتویات پرونده متمایز می‌سازد.
بسیاری از سیستم‌های پرونده‌ای نام‌های همه پرونده‌ها را در فهرست راهنما در یک مکان ذخیره می‌کند – جدول فهرست راهنما برای آن فهرست راهنما – که غالبا مانند بقیه پرونده‌ها ذخیره می‌شود. بسیاری از سیستم‌های پرونده‌ای فقط تعدادی از فراداده‌ها را برای یک پرونده در جدول فهرست راهنما قرار می‌دهند و باقی مانده فراداده‌ها برای آن پرونده در یک ساختار کاملا مجزا قرار دارند، مانند گروه اطلاعاتی.
بسیاری از سیستم‌های پرونده‌ای نیز فراداده‌های تخصیص داده نشده با هر یک از پرونده‌های خاص را ذخیره می‌کنند. این‌گونه فراداده‌ها شامل اطلاعاتی درباره مناطق استفاده نشده می‌شود – نگاشت بیت فضای خالی، نقشه دسترسی بلوک – و اطلاعاتی درباره بخش‌های خراب. غالبا این‌گونه اطلاعات درباره یک گروه تخصیص در داخل گروه تخصیص خودش ذخیره می‌شود.
صفات اضافی می‌توانند به سیستم‌های پرونده‌ای تخصیص داده شوند، مانند NTFS, XFS, ex2، ex3، بعضی از نگارش‌های UFS، و HFS+، که از صفات پرونده‌های قابل تعمیم استفاده می‌کنند. بعضی از سیستم‌های پرونده‌ای برای صفات تعرف شده توسط کاربر تهیه شده‌اند، مانند نویسنده اسناد، کدبندی نویسه‌های یک سند یا اندازه یک تصویر.
بعضی سیستم‌های پرونده‌ای اجازه می‌دهند که مجموعه‌های داده‌ای مختلف به یک نام پرونده تخصیص داده شوند. این مجموعه‌های جدا ممکن است به عنوان جریان‌هایی یا محل‌های انشعاب، ارجاع داده شوند. شرکت اپل مدت طولانی از سیستم انشعاب در مکینتاش استفاده می‌کرد، و همچنین شرکت مایکروسافت نیز در NTFS جریان‌ها را پشتیبانی می‌کند. بعضی از سیستم‌های پرونده‌ای چندین تجدید نظر از یک پرونده را در یک نام پرونده حفظ می‌کنند. خود نام پرونده بیشتر نسخه اخیر را بازیابی می‌کند، این در حالی است که نسخه‌های قدیمی‌تر تنها با یک نام‌گذاری خاص قابل دسترسی هستند، همانند “filename;4” یا “filename(-4)” که برای دسترسی به چهار نسخه قبل نگه داشته شد.
برای بدست آوردن اطلاعات بیشتر روی درباره اینکه کدام سیستم‌های پرونده‌ای کدام یک از انواع فرا داده را پشتیبانی می‌کنند، مقایسه سیستم‌های پرونده‌ای و فرا داده‌ها را ببینید.
سیستم پرونده‌ای به عنوان خلاصه‌ای از واسط کاربری
در بعضی موارد، یک سیستم پرونده‌ای ممکن است از یک دستگاه ذخیره گاه استفاده نکند اما می‌تواند برای سازماندهی و نشان دادن دسترسی به هر داده‌ای استفاده شود، اگرچه ذخیره می‌شود یا به صورت پویا تولید می‌گردد (مانند procfs).
سودمندی‌ها
سیستم‌های پرونده‌ای شامل سودمندی‌هایی برای مقدار دهی اولیه می‌شوند، تغییر دادن پارامترها و حذف یک نمونه از سیستم پرونده‌ای. بعضی شامل توانایی گسترش یا کوتاه کردن فضای تخصیص داده شده به سیستم پرونده‌ای می‌شوند.
سودمندی‌های فهرست راهنما ممکن است برای ایجاد، تغییر نام و حذف مدخل‌های فهرست راهنما استفاده شوند که به عنوان dentries نیز شناخته می‌شوند (مفرد: dentry), و برای تغییر دادن فرا داده‌ای که به یک فهرست راهنما تخصیص داده شده‌است. سودمندی‌های فهرست راهنما ممکن است شامل قابلیت‌هایی برای ایجاد پیوندهای اضافی به یک فهرست راهنما شوند (پیوندهای سخت در یونیکس)، برای تغییر نام پیوندهای پدر (در سیستم عامل‌های شبیه یونیکس)، و برای ایجاد پیوندهای دوسویه به پرونده‌ها.
سودمندی‌های پرونده برای ایجاد، فهرست، رونوشت، حرکت و حذف پرونده‌ها و تغییر فرا داده‌ها است. آن‌ها ممکن است قابلیت کوتاه کردن داده‌ها، کوتاه کردن یا گسترش تخصیص فضا، افزودن به، حرکت و تغییر پرونده‌ها درجا را داشته باشند. بسته به ساختار اساسی سیستم پرونده‌ای، آن‌ها ممکن است یک سازوکار برای اضافه کردن، کوتاه کردن از، ابتدای یک پرونده، درج مدخل‌ها به وسط یک پرونده یا حذف مدخل‌ها از یک پرونده تهیه کنند.
سودمندی‌های آزاد کردن فضا برای پرونده‌های حذف شده، اگر سیستم پرونده‌ای یه تابع احیا تهیه کند، به این دسته نیز تعلق پیدا می‌کند.
بعضی از سیستم‌های پرونده‌ای عملیاتی مانند سازماندهی مجدد فضای آزاد، حذف امن فضای آزاد و بازسازی ساختارهای سلسله مراتبی با فراهم کردن سودمندی‌هایی برای انجام دادن این توابع در زمان‌های حداقل فعالیت، به تعویق می‌اندازند. برای مثال سودمندی‌های یکپارچه سازی سیستم پرونده‌ای.
بعضی از مهمترین ویژگی‌های سودمندی‌های سیستم پرونده‌ای، شامل فعالیت‌های نظارتی می‌شود که ممکن است شامل دور زدن مالکیت یا دسترسی مستقیم به دستگاه اساسی شود. اینها شامل پشتیبان با عملکرد بالا و بازیافت، تکرار داده و سازماندهی مجدد ساختارهای داده متفاوت و جدول‌های تخصیص در داخل سیستم پرونده‌ای می‌شوند.
محدود کردن دسترسی
در سیستم پرونده‌ای چندین مکانیزم برای کنترل دسترسی به داده‌ها استفاده می‌شود. معمولا هدف اینست که از خواندن یا دستکاری پرونده‌ها، توسط هر کاربری، یا گروهی از کاربران، جلوگیری به عمل آید. دلیل دیگر اینست که مطمئن باشیم که داده‌ها به صورت کنترل شده‌ای دست کاری می‌شوند، پس دسترسی به آن‌ها ممکن است محدود به یک برنامه خاص باشد. به عنوان مثال، پسوردهای ذخیره شده در فرا داده یک پرونده یا ذخیره شده در جای دیگر، اجازه‌های پرونده در قالب بیت‌های اجازه (permission bits)، لیست‌های کنترل دسترسی، یا توانایی‌ها. نیاز ما به سودمندی سیستم پرونده‌ای برای داشتن دسترسی به داده‌ها در سطح رسانه برای شناخت ساختار و ایجاد یک پشتیبان موثر، به این معنی است که این‌ها فقط برای کاربران مودب موثر هستند و در برابر مزاحمان اثری ندارد.
در بعضی از مواقع، متدها برای رمزگذاری داده‌های پرونده در خود سیستم پرونده‌ای شامل می‌شوند. این روش بسیار موثر است چراکه دیگر نیازی به سودمندی‌های سیستم پرونده‌ای برای دانستن هر قسمت از رمزگذاری برای مدیریت موثر داده، نیست. ریسک‌های موجود در رمزگذاری شامل این حقیقت است که یک مهاجم می‌تواند داده‌ها را کپی و با استفاده از ابزاری آن را رمزگشایی کند از دست دادن هر جخش از رمزها به معنی از دست دادن داده‌ها می‌باشد.
نگهداری یکپارچگی
یک مسیولیت قابل توجه سیستم پرونده‌ای اطمینان حاصل کردن است از اینکه صرف نظر از عملیاتی که برنامه‌ها به داده دسترسی پیدا می‌کنند، ساختار آن سازگار باقی بماند. این شامل عملیات گرفته شده‌است اگر یک برنامه در حال تغییر داده، غیرطبیعی پایان داده شود یا بی‌توجهی به اطلاع دادن از سیستم رونده‌ای که فعالیت‌هایش را به پایان رسانده‌است. این ممکن است شامل به روز کردن فرا داده، مدخل فهرست راهنما و اداره هر داده که میانگیری شده‌است اما تاکنون در ذخیره گاه فیزیکی رسانه‌ها به روزرسانی نشده‌است.
بقیه خرابی‌ها که سیستم پرونده‌ای باید سر و کار داشته باشند عبارتند از خرابی‌های رسانه‌ها یا کمبود ارتباطات سیستم‌های از راه دور.
به هنگام خرابی یک سیستم عامل یا خرابی باتری، روال‌های مخصوص در سیستم پرونده‌ای باید شبیه به وقتی که یک برنامه شخصی خراب می‌شود، احضار شوند.
سیستم پرونده‌ای همچنان باید توانایی تصحیح ساختارهای خراب شده را نیز داشته باشد. این ممکن است به عنوان یک نتیجه از خرابی سیستم عامل، در حالتی که سیستم عامل نتواند سیستم پرونده‌ای را آگاه کند، در اثر خرابی باتری یا بازنشانی، رخ دهد.
سیستم پرونده‌ای همچنین باید رخدادها را ضبط کند تا موضوعات آنالیزهای سیستمیک و همچنین مسایلی با پرونده‌های خاص یا فهرست‌های راهنما را مجاز سازند.
داده‌های کاربر
مهمترین هدف یک سیستم پرونده‌ای، مدیریت داده‌های کاربر می‌باشد. این موضوع شامل ذخیره‌سازی، بازیابی و به روز کردن داده می‌باشد.
بعضی از سیستم‌های پرونده‌ای داده را برای ذخیره گاه مانند یک جریانی از بایت‌ها می‌پذیرند که در یک روش موثر برای رسانه جمع‌آوری و ذخیره شده‌اند. هنگامیکه یک برنامه داده را بازیابی می‌کند، اندازه یک میانگیر حافظه را مشخص می‌کند و سیستم پرونده‌ای داده را از رسانه به میانگیر انتقال می‌دهد. روال کتابخانه در حین اجرا ممکن است گاهی اوقات کاربر برنامه را برای تعریف یک ضبط بر اساس یک فراخوانی کتابخانه که طول را مشخص می‌کند، مجاز می‌سازد. وقتی کاربر برنامه داده را می‌خواند، کتابخانه داده را توسط سیستم پرونده‌ای بازیابی می‌کند و یک ضبط بازمی‌گرداند.
بعضی از سیستم‌های پرونده‌ای مشخصه یک طول ضبط ثابت که برای همه نوشته‌ها و خوانده‌ها استفاده می‌شود را می‌پذیرد. این موضوع محل یابی n امین ضبط و همچنین به روزرسانی آن‌ها را آسان می‌سازد.
یک شناسایی برای هر ضبط که به عنوان یک کلید نیز شناخته می‌شود، برای یک سیستم پرونده‌ای پیچیده‌تر ساخته می‌شود. کاربر برنامه می‌تواند بخواند، بنویسد و ضبط‌ها را بدون توجه به محل آن‌ها به روزرسانی کند. این موضوع نیازمند مدیریت پیچیده بلوک‌های رسانه که معمولا بلوک‌های کلید و بلوک‌های داده را جدا می‌سازد، خواهد بود. الگوریتم‌های بسیار کارآمد می‌توانند با ساختار هرمی برای محل یابی ضبط‌ها توسعه یابند.
استفاده از یک سیستم پرونده‌ای
سودمندی‌ها، زبان مخصوص برای کتابخانه‌های در حین اجرا و کاربر برنامه از API سیستم پرونده‌ای برای ساخت درخواست‌های سیستم پرونده‌ای استفاده می‌کنند. این موضوع‌ها شامل انتقال داده، موقعیت‌یابی، به روز کردن فراداده، مدیریت کردن فهرست‌های راهنما، مدیریت کردن مشخصه‌های دسترسی و رفع آنها.
طراحی محدودیت‌ها
همه سیستم‌های پرونده‌ای تعدادی حد تابعی دارند که حداکثر گنجایش داده قابل ذخیره در داخل همان سیستم تعریف می‌شود. این حدود تابعی یک تلاش بهترین حدس توسط طراح براساس این است که هم اکنون سیستم‌های ذخیره گاه چه قدر بزرگ هستند و سیستم‌های ذخیره گاه در آینده احتمال دارند چه قدر بزرگ شوند. ذخیره گاه دیسک ادامه داشت که نزدیک به نرخ‌های نمایی رشد پیدا کند (قانون مور را ملاحظه نمایید)، به همین دلیل بعد از چند سال، سیستم‌های پرونده‌ای رسیدن به طراحی محدودیت‌ها را نگه داشته‌اند که نیازمند این است که کاربران رایانه مکررا به یک سیستم جدیدتر با گنجایش هر چه بیشتر نقل مکان کنند.
پیچیدگی سیستم پرونده‌ای معمولا به تناسب با گنجایش ذخیره گاه موجود تغییر می‌کند. سیستم پرونده‌ای اوایل دهه ۱۹۸۰ رایانه‌های خانگی با ۵۰ کیلوبایت تا ۵۱۲ کیلوبایت از ذخیره گاه ممکن است انتخاب معقولی برای سیستم‌های ذخیره گاه پیشرفته با صدها گیگابات گنجایش نباشد. به همین ترتیب، سیستم‌های پرونده‌ای پیشرفته ممکن است انتخاب معقولی برای این سیستم‌های اولیه نباشد، از آنجا که پیچیدگی ساختارهای سیستم پرونده‌ای پیشرفته ممکن است به سرعت تحلیل روند یا حتی از گنجایش بسیار محدود سیستم‌های ذخیره گاه اولیه تجاوز کنند.
انواع سیستم‌های پرونده‌ای
انواع سیستم‌های پرونده‌ای می‌تواند به دسته‌های: سیستم‌های پرونده‌ای از نوع دیسک/ نواری، سیستم‌های پرونده‌ای از نوع شبکه‌ای و سیستم‌های پرونده‌ای با اهداف خاص تقسیم شوند.
سیستم‌های پرونده‌ای از نوع دیسک
یک سیستم پرونده‌ای از نوع دیسک از توانایی‌های رسانه‌های (media) ذخیره‌گاه دیسک (disk storage) استفاده می‌کند تا در مدت کوتاهی، به صورت تصادفی داده‌ها را آدرس‌دهی کند. از دیگر ملاحظاتی که انجام می‌شوند، می‌توان به سرعت دسترسی به داده‌ها اشاره کرد، که ابتدا باید درخواست شود و پیش‌بینی شود که داده مورد نظر نیز ممکن است درخواست شده باشد. این موضوع به چندین کاربر یا پردازه اجازه می‌دهد، تا به داده‌های متفاوتی روی دیسک، بدون توجه به توالی مکان قرارگیری داده، دسترسی داشته باشند. به عنوان مثال: جدول تخصیص پرونده (FAT) (فت ۱۲ (FAT12)، فت ۱۶ (FAT16)، فت ۳۲ (FAT32))، اکس فت (exFAT), NTFS, HFSو HFS+, HPFS, APFS, UFS, ext2، ext3، ext4، XFS, btrfs، ایزو ۹۹۶۰ (ISO 9960)، Files-11، سیستم پرونده‌ای وریتاس (Veritas File System), VMFS, Zfs, ReiserFS و UDF. بعضی از سیستم‌های پرونده‌ای از نوع دیسک عبارتند از سیستم پرونده‌ای ژورنالینگ (journaling file system) با سیستم پرونده‌ای ورژنینگ (versioning file system).
دیسک‌های نوری
ایزو 9660 (ISO 9660) و قالب عمومی دیسک (Universal Disk Format) 2 قالب عمومی هستند که هدفشان دیسک‌های فشرده، دی وی دی (DVD) و دیسک‌های بلو-ری(blu-ray disks) است. مونت رینیر (Mount Rainier) یک توسعه برای UFD از سری‌های۲٫۶ هسته لینوکس (linux kernel 2.6) و ویندوز ویستا (windows vista) است که تسهیل بازنویسی در دی وی دی‌ها را پشتیبانی می‌کند.
سیستم پرونده‌ای از نوع فلش
مقاله اصلی: سیستم پرونده‌ای فلش
سیستم پرونده‌ای فلش توانایی‌های خاص، کارایی و محدودیت‌های دستگاه‌های با حافظه فلش را در نظر می‌گیرد. به‌طور مداوم یک سیستم پرونده‌ای از نوع دیسک می‌تواند از دستگاه با حافظه فلش، به عنوان یک رسانه ذخیره گاه پایه، استفاده کند، ولی بهتر است از سیستم پرونده‌ایی که به‌طور اختصاصی برای دستگاه‌های فلش ساخته شده‌است، استفاده شود.
سیستم پرونده‌ای از نوع نوار
سیستم پرونده‌ای از نوع نوار، نوعی از سیستم پرونده‌ای است. در این نوع، قالب نوار، که برای ذخیره کردن پرونده‌ها روی نوار است، به صورت خود توصیف‌کننده، طراحی شده‌است. نوارهای مغناطیسی در واقع، رسانه‌های ذخیره گاه متوالی با زمان دسترسی به داده‌های تصادفی بسیار بالاتری از دیسک‌ها هستند که چالش‌هایی برای ساخت و موثر نمودن مدیریت سیستم‌های پرونده‌ای عام منظوره، ایجاد کرده‌اند.
در سیستم پرونده‌ای از نوع دیسک، معمولا یک فهرست راهنمای اصلی (master directory) و همچنین یک نقشه از نواحی داده‌های استفاده شده و آزاد (used and free data regions)، وجود دارد. هر پرونده‌ای که می‌خواهد اضافه، عوض، یا حذف شود، نیازمند به روزرسانی فهرست راهنما و نقشه استفاده/آزاد شده‌است. دسترسی تصادفی به نواحی داده‌ها در واحد میلی‌ثانیه اندازه‌گیری می‌شوند. در نتیجه این سیستم به خوبی بر روی دیسک‌ها کار می‌کند.
نوار نیاز به حرکت خطی، برای بستن و باز کردن قرقره‌های عموما بسیار بلند رسانه‌ها دارد. این حرکت نوار برای جابه‌جا کردن سر (head) خواندن/ نوشتن از انتهای یک نوار به نواری دیگر، ممکن است از چند ثانیه تا چند دقیقه طول بکشد.
به تبع آن در نوار، یک پرونده فهرست راهنمای اصلی (master file directory) و نقشه استفاده، می‌تواند بسیار کند و ناکارآمد باشد.
نوشتن معمولا با اعمال زیر همراه است:
خواندن نقشه بلوک استفاده (block usage map)، برای پیدا کردن بلوک‌های خالی به منظور نوشتن.
به روزرسانی نقشه استفاده و فهرست راهنما برای اضافه کردن داده.
و در نهایت پیش برد نوار برای نوشتن داده در مکان صحیح.
در عوض سیستم‌های پرونده‌ای از نوع نوار معمولا اجازه می‌دهند تا فهرست راهنمای پرونده در نوار بخش و با داده‌ها ترکیب شود، که استریمینگ (streaming) معرفی شده‌است، به این ترتیب حرکات زمان بر و تکراری نوار دیگر نیازی به نوشته شدن ندارند.
در هر حال، یکی از معایب این طراحی اینست که، خواندن پرونده فهرست راهنمای نوار عموما نیاز به پیمایش (scan) سراسر نوار برای خواندن همه فهرست راهنماهای ورودی پراکنده(scattered directory entries) دارد. بیشتر نرم‌افزارهای آرشیو داده، که با ذخیره گاه نوار کار می‌کنند، یک کپی محلی از کاتالوگ نوار را در یک سیستم پرونده‌ای از نوع دیسک نگهداری می‌کنند، تا عمل اضافه کردن پرونده‌ها به نوار با سرعت بیشتری و بدون نیاز به پیمایش دوباره نوار برای رسانه‌ها، انجام شود. کپی محلی از کاتالوگ نوار، عموما برای مدت زمان معینی کاربرد دارد و در صورت نیاز در آینده مجددا باید یک پیمایش در نوار صورت بگیرد.
IBM یک سیستم پرونده‌ای برای نوار، به نام سیستم پرونده‌ای خطی از نوع نوار (Linear Tape File System) ایجاد کرده‌است. پیاده‌سازی IBM از این سیستم پرونده‌ای به صورت سیستم پرونده‌ای از نوع نوار خطی آی بی‌ام--- تک گرداننده ویرایش (LTFS-SDE) متن باز(open-source IBM Linear Tape File System — Single Drive Edition (LTFS-SDE) product) است. سیستم پرونده‌ای از نوع نوار خطی از یک بخش جدا در نوار، برای ذخیره شاخص فرا داده (meta-data) استفاده می‌کند. به همین دلیل، مشکلات مربوط به فهرست راهنماهای ورودی پراکنده در سراسر نوار از بین می‌روند.
قالب بندی نوار (tape formatting)
نوشتن داده روی نوار، پاک کردن آن، یا قالب بندی نوار عموما یک فرایند زمان بر است و در نوارهای بزرگ می‌تواند تا چندین ساعت طول بکشد. با توجه به تکنولوژی‌های بسیار زیاد نوار داده (data tape) ضروری نیست که قبل از نوشتن مجدد داده‌ها روی نوار، آن را قالب بندی کنیم. این به دلیل ماهیت مخرب بازنویسی داده‌ها بر روی رسانه‌های متوالی می‌باشد (sequential media).
به خاطر اینکه قالب بندی نوارها می‌تواند زمان بر باشد، عموما نوارها از قبل قالب بندی می‌شوند، تا کاربران نوار نیازی به صرف زمان برای آماده‌سازی هر نوار قبل از استفاده، نداشته باشند. تنها چیزی که عموما ضروری است این است که قبل از استفاده، یک برچسب قابل تشخیص برای رسانه روی نوار نوشته شود. حتی این نیز می‌تواند به صورت خودکار وقتی یک نوار جدید برای اولین بار استفاده می‌شود، توسط نرم‌افزار نوشته شود.
سیستم پرونده‌ای از نوع پایگاه داده
یک جنبه دیگر از مدیریت پرونده، ایده سیستم پرونده‌ای بر پایه پایگاه داده‌است. به جای یا علاوه بر ساختار وراثتی در مدیریت، پرونده‌ها به کمک مشخصاتشان مانند: نوع پرونده، اسم پرونده، نویسنده پرونده یا فرا داده‌های غنی مشابه، شناخته می‌شوند.
DB2 برای i (شناخته شده به DB2/400 و DB2 for i5/OS) یک سیستم پرونده‌ای از نوع پایگاه داده‌است که، به عنوان بخشی از یک شی بر اساس سیستم عامل IBM i (شناخته شده به OS/400 و i5/OS) است، در ترکیب با یک فروشکاه یک طبقه‌ای و اجرا شده بر روی سیستم IBM Power (شناخته شده به AS/400 و iSeries)است که آقای فرنک ج. سولتیس (Frank G. Soltis)، دانشمند ارشد سابق IBM i، آن را طراحی کرده‌است. در سال‌های ۱۹۷۸ تا ۱۹۸۸ آقای سولتیس و تیمش در IBM Rochester تکنولوژی‌هایی مانند سیستم پرونده‌ای از نوع پایگاه داده را به صورت موفقیت‌آمیز طراحی و پیاده‌سازی کردند. در حالی که بقیه همانند Microsoft نتوانستند این موفقیت را بدست آورند. این تکنولوژی‌ها به ‘Fortess Rochester’ شناخته شده‌اند و بعدها در چندین جنبه اساسی کوچک گسترش یافت ولی در واقع از دیدگاه فناوری، بسیار پیشرفته‌تر شد.
در زیر به بعضی از پروژه‌هایی که بخشی از جنبه‌های سیستم پرونده‌ای از نوع پایگاه داده را در خود داشته‌اند، پرداخته می‌شود:
بسیاری از سیستم‌های مدیریت محتوای وب از یک سیستم مدیریت پایگاه داده رابطه‌ای (relational DBMS)، برای ذخیره و بازیابی پرونده‌ها استفاده می‌کنند. به عنوان مثال، پرونده‌های XHTML، به عنوان XML یا فیلدهای متنی ذخیره می‌شوند، در حالی که پرونده‌های تصویری به صورت فیلدهای حبابی ذخیره می‌شوند: SQL SELECT (به همراه XPath به صورت اختیاری) توضیحات پرونده‌ها را بازیابی می‌کنند، و استفاده از منطق پیچیده را ممکن می‌سازند و با اطلاعات با ارزش‌تری در مقایسه با سیستم‌های پرونده‌ای معمول در ارتباط هستند. بسیاری از سیستم‌های مدیریت محتوا نیز از توانایی ذخیره کردن فقط فرا داده در پایگاه داده، با یک سیستم پرونده‌ای استاندارد مورد استفاده در ذخیره کردن محتوای پرونده‌ها، برخوردار هستند.
سیستم‌های پرونده‌ای بسیار بزرگ، با نرم‌افزارهایی مانند Apache Hadoop و Google File System، با استفاده از برخی از جنبه‌های سیستم پرونده‌ای از نوع پایگاه داده، مجسم می‌شود.
سیستم پرونده‌ای از نوع تراکنشی(Transactional file system)
در بعضی از برنامه‌ها نیاز است که چندین پرونده به صورت هم‌زمان به روزرسانی شوند. به عنوان مثال، نصب نرم‌افزار ممکن است باعث نوشتن پرونده‌های باینری، کتابخانه‌ها، و تایید پرونده‌های برنامه شود. اگر نصب نرم‌افزار موفقیت‌آمیز نباشد، احتمال می‌رود که برنامه قابل استفاده کردن نباشد. اگر فرایند نصب در حال به روزرسانی یک بخش اصلی از سیستم باشد، همانند پوسته فرمان (command shell)، احتمال می‌رود که کل سیستم به حالت غیرقابل بهره‌وری، وارد شود.
فرایند تراکنش، انزوا را ضمانت می‌کند، که این به این معنی است که عملیاتی که روی آن‌ها تراکنش انجام می‌شود از دیگر ریسه‌های درون سیستم، تا زمانی که عمل تراکنش به پایان برسد، پنهان می‌شوند و عملیات متداخل درون سیستم در هر تراکنش، به صورت مناسبی، پشت سر هم مرتب می‌شوند. همچنین تراکنش‌ها ظرفیت اتمی را ضمانت می‌کنند، به این معنی که عملیات داخل یک تراکنش یا همگی متعهدند یا تراکنش می‌تواند به بعد موکول شود و سیستم تمامی نتایج بدست آمده تا آن زمان از تراکنش را پاک می‌سازد. یعنی، در صورتی که یک حادثه رخ دهد یا باتری تمام شود، بعد از عملیات ترمیم وضعیت ذخیره شده ثبت شده باقی می‌ماند. در نهایت، عملیات نصب نرم‌افزار یا موفقیت‌آمیز است یا ناموفق. اگر عملیات ناموفق باشد در این صورت، پس از برگشت به حالت اولیه دیگر هیچ اثری از نرم‌افزار معیوب در سیستم نمی‌ماند.
شرکت مایکروسافت اولین بار درVista Windows، یک تراکنش با ویژگی Transactional NTFS، برای پشتیبانی ان تی اف اس (NTFS) اضافه کرد، ولی در حال حاضر دیگر استفاده‌ای ندارد. یکسری نمونه‌های اولیه از سیستم‌های پرونده‌ای از نوع تراکنشی برای سیستم عامل لینوکس، در دست آزمایش هستند. از جمله این سیستم‌ها می‌توان به سیستم پرونده‌ای ولور (Valor file system)، آمینو (Amino)، ال اف اس (LFS)، سیستم پرونده‌ای ext3 در هسته TxOS، که از نوع تراکنشی است، و همچنین سیستم پرونده‌ای‌هایی که هدفشان سیستم‌های نهفته (embedded systems) است، همانند TFFها.
اطمینان از سازگاری در سراسر چندین سیستم پرونده‌ای دشوار، ولی بدون تراکنش‌های سیستم پرونده‌ای قابل اجرا است. قفل کردن پرونده‌ها می‌تواند به عنوان یک مکانیزم برای کنترل همروندی برای پرونده‌های مستقل استفاده شود، ولی در حالت کلی از ساختار فهرست راهنما یا پرونده فرا داده حفاظت نمی‌کند. به عنوان مثال، با قفل کردن پرونده نمی‌توان از مسابقه‌ای که در شرایط زمان بررسی تا زمان استفاده (time of check to time of use (TOCTTOU)) در لینک‌های نمادین به وجود می‌آید، جلوگیری به عمل آورد. همچنین با قفل کردن پرونده نمی‌تواند به صورت خودکار یک عملیات ناموفق را پاکسازی کرد، همانند عملیات ارتقای یک نرم‌افزار، که نیاز دارد به صورت خودکار انجام شود.
سیستم‌های پرونده‌ای ژورنالی یک روش برای معرفی تراکنش‌ها با سازگاری درجه یک در ساختار سیستم‌های پرونده‌ای هستند. تراکنش‌های ژورنالی به عنوان بخش‌هایی از API (Application Program Interface)های سیستم عامل در معرض دید برنامه‌ها نیستند. آن‌ها فقط برای مصارف داخلی برای حفظ سازگاری در یک سیستم کال واحد استفاده دارند.
سیستم پشتیبان داده به‌طور معمول، داده‌های ذخیره شده به صورت تراکنشی را مستقیما پشتیبانی نمی‌کنند، این موجب می‌شود که عملیات بازیابی مجموعه داده‌های قابل اعتماد و سازگار، سخت شود. بیشتر نرم‌افزارهای پشتیبانی داده، بدون توجه به حالت تراکنشی مشترک موجود بین چند پرونده در یک مجموعه پایگاه داده، فقط اعلان می‌کنند که آیا داده‌ها بعد از مدت زمان معینی تغییر کرده‌اند، یا نه. در بعضی از پایگاه داده‌ها، راه حل بدست آمده برای این مشکل اینست که، یک آرشیو از وضعیت هر پرونده، شامل تمام داده‌های بدست آمده تا آن زمان و ذخیره‌سازی این داده‌ها در نرم‌افزار پشتیبان، به صورتی که مستقیما با پایگاه داده‌های تراکنشی فعال در ارتباط نباشد، است. بازیابی نیازمند جداسازی بازسازی پایگاه داده از وضعیت پرونده، بعد از اینکه پرونده در نرم‌افزار پشتیبان ذخیره شد، می‌باشد.
سیستم پرونده‌ای از نوع شبکه
مقاله اصلی: سیستم پرونده‌ای از نوع توزیع شده
سیستم پرونده‌ای از نوع شبکه، نوعی از سیستم پرونده‌ای است که، به شکل یک مشتری برای پروتکل دسترسی از راه دور پرونده، برای دسترسی پیدا کردن به پرونده‌ها در سرور، عمل می‌کند. برنامه‌هایی که از رابط‌های محلی استفاده می‌کنند، می‌توانند به صورت پنهانی، فهرست‌های راهنمای درختی و پرونده‌های درون کامپیوترهای کنترل از راه دور را ایجاد، مدیریت یا به آن‌ها دسترسی پیدا کنند. مثال‌هایی از سیستم پرونده‌ای شبکه‌ای: مشتری‌های پروتکل‌های سیستم پرونده‌ای از نوع شبکه‌ای(NFS)، سیستم پرونده‌ای از نوع اندرو (AFS)، بلوک پیام سرور (SMB) و همچنین شبه مشتری‌های سیستم‌های پرونده‌ای از جمله: پروتکل انتقال پرونده (FTP) و WebDAV.
سیستم پرونده‌ای‌های از نوع دیسک مشترک
مقاله اصلی: سیستم پرونده‌ای از نوع دیسک مشترک
سیستم پرونده‌ای از نوع دیسک اشتراکی نوعی از سیستم پرونده‌ای است که در آن تعدادی از ماشین‌ها (معمولا سرورها) همگی دسترسی به یک زیرسیستم دیسک خارجی یکسان (معمولا یک SAN)) دارند. صفات سیستم پرونده‌ای به زیر سیستم دسترسی پیدا می‌کنند تا از نوشتن برخورد جلوگیری کنند. از مثال‌های سیستم پرونده‌ای از نوع دیسک مشترک می‌توان به جی اف اس 2(GFS2)در کلاه قرمز (red hat)، جی پی اف اس (GPFS) در آی بی‌ام (IBM)، اس اف اس (SFS) در پلو داده (DataPlow)، سی اکس اف اس (CXFS) در اس جی آی (SGI) و StorNext در Quantum Corporation.
سیستم پرونده‌ای‌های ویژه
سیستم پرونده‌ای ویژه، یک عنصر غیر پرونده‌ای از پرونده‌های سیستم عامل را ارائه می‌دهد. تا آن‌ها بتوانند به صورت APIهایی برای سیستم پرونده‌ای عمل کنند. این کار بیشتر روی سیستم عامل‌هایی شبیه یونیکس انجام می‌شود، ولی در یکسری سیستم عامل‌هایی که شبیه ونیکس هم نیستند، به دستگاه‌ها نام داده می‌شود.
سیستم پرونده‌ای از نوع دستگاهی
سیستم پرونده‌ای از نوع دستگاه، دستگاه‌های ورودی/خروجی (I/O devices) و دستگاه‌های سودو (pseudo-devices) را به عنوان پرونده‌هایی به نام پرونده‌های دستگاه، نشان می‌دهد. مثال‌های این سیستم پرونده‌ای در سیستم عامل‌های شبه یونیکس عبارت اند از: devfs و لینوکس ۲٫۶، udev. و در سیستم عامل‌های دیگر عبارت اند از: TOPS-10 و دیگر سیستم عامل‌های مشابه این، که نام کامل پرونده یا نام مسیر آن در پیشوند دستگاه می‌آید. دیگر دستگاه‌های شامل سیستم پرونده‌ای به کمک پیشوند یک دستگاه، که نمایانگر آن دستگاه است، بدون اینکه چیزی در انتهایش بیاید، ارجاع داده می‌شوند.
دیگر سیستم‌های پرونده‌ای خاص
در هسته لینوکس، configfs و sysfs پرونده‌هایی، برای پرس و جو در هسته kernel برای بدست آوردن اطلاعات و پیکربندی موجودیت‌ها در kernel ایجاد می‌کنند.
Procfs پردازه‌ها و دیگر ساختارهای سیستم عامل را در فضای یک پرونده، روی لینوکس، نگاشت می‌کند.
سیستم پرونده‌ای از نوع حداقلی / ذخیره گاه نوار-صوتی
در اواخر دهه ۱۹۷۰ میلادی، پیشرفت تکنولوژی میکرو کامپیوترها آغاز شد. دیسک‌ها و نوارهای دیجیتالی برای عموم مردم گران بودند. در آن زمان، یک سیستم ذخیره گاه ارزان پایه‌ای، پیشنهاد می‌شد، که نوارهای صوتی را استفاده می‌کرد.
وقتی نیاز بود در سیستم داده‌ای نوشته شود، به کاربر پیام داده می‌شد که دکمه ضبط (Record) روی نوار را فشار دهد، و سپس دکمه (Return) را که روی کیبورد است فشار دهد تا سیستم متوجه شود که نوار در حال ضبط کردن می‌باشد. سیستم خود، یک صدا را برای ایجاد یک هماهنگی در زمان، می‌نویسد، و سپس صداهایی برای کدگذاری یک پیشوند هستند، خود داده، یک سرجمع (check sum) و یک پسوند را مدلسازی می‌کند. وقتی سیستم نیاز داشت که داده‌ای را بخواند، به کاربر گفته می‌شد که دکمه شروع (Play) را از روی نوار بزند و سیستم در این صورت به صداهای روی نوار گوش می‌داد، تا زمانی که مجموعه‌ای از صداهای پشت سر هم قابل، به عنوان یک هماهنگ ساز، شناسایی بودند. در این صورت سیستم شروع به تفسیر صداهای بعدی که داده‌ها هستند، می‌کند. وقتی کار خواندن داده‌ها تمام می‌شود، سیستم به کاربر می‌گوید که دکمه توقف (Stop) روی نوار را بزند. این روش، در حالی که بسیار ابتدایی بود، ولی در بیشتر مواقع به درستی کار می‌کرد. در این سیستم‌ها عموما داده‌ها معمولا در قالب بدون نامی، پشت سر هم ذخیره می‌شدند، البته در بعضی از سیستم‌ها (مانند سری کامپیوترهای کامادور پی‌ای تی (Commodore PET)) اجازه نام‌گذاری پرونده‌ها را داده می‌شد. چندین سری داده به کمک گزینه سریعتر جلو رفتن (fast-forwarding) در نوار، می‌توانستند نوشته و در نوار قرار گیرند. همچنین با نظارت برشمارنده نوار (tape counter) می‌توانستند ناحیه بعدی که داده در نوار نوشته می‌شود را بیابند. ممکن بود کاربر مجبور باشد به صداها گوش دهد تا ناحیه مناسب بعدی برای شروع داده‌ها را پیدا کند. بعضی از پیاده‌سازی‌ها که حتی شامل صداهای قابل شنیدن هم بودند با داده‌ها درمی‌آمیختند.
سیستم پرونده‌ای از نوع تخت
با سیستم پایگاه داده تخت اشتباه گرفته نشود.
در سیستم پرونده‌ای از نوع تخت، هیچ زیر فهرست راهنمایی وجود ندارد، برای همه پرونده‌ها، مداخل فهرست راهنما، در یک فهرست راهنمای یگانه ذخیره می‌شود.
وقتی برای اولین بار رسانه فلاپی دیسک در دسترس عموم قرار گرفت، این مدل از سیستم پرونده‌ای به خاطر حجم کوچک موجود در فلاپی دیسک‌ها، کافی بود. ماشین‌های CP/M، شامل سیستم پرونده‌ای تخت بودند که، پرونده‌ها می‌توانستند به کی از ۱۶ نواحی کاربری (user areas) اختصاص داده شوند و عملیات پرونده‌های عمومی، به جای کار کردن روی تمامی نواحی، فقط روی یکی از این نواحی کار می‌کرد. در اصل این نواحی کاربری همان صفت‌ها و ویژگی‌های در ارتباط با پرونده‌ها هستند، بنابراین دیگر نیازی به تعریف هیچ تعرفه خاصی برای هر یک از این نواحی نیست و پرونده‌ها می‌توانند تا وقتی که فضای خالی در ذخیره گاه موجود است، گروهلندی شوند. در اولین دستگاه‌های اپل مکینتاش (Apple Macintosh) نیز از سیستم پرونده‌ای تخت استفاده می‌شد (سیستم پرونده‌ای مکینتاش (Macintash File System)). در این دستگاه برنامه مدیریت پرونده (Macintash Finder) در بالای EMFS، خود یک توهم از سیستم بایگانی تا حدی سلسله مراتبی (partially hierarical filing system) می‌ساخت، که این فرایند عجیبی بود. در این ساختار نیاز بود که هر پرونده اسم منحصر به فردی داشته باشد، حتی اگر دو پرونده در دو پوشه متفاوت باشند. در IBM DOS/360 و OS/360 مدخل‌های تمامی پرونده‌ها بر روی یک بسته دیسک (volume) در یک فهرست راهنمای روی همان بسته به نام جدول ظرفیت مطالب (Volume Table of Content (VTOC)) ذخیره می‌شوند.
با رشد تعداد پرونده‌ها استفاده از سیستم پرونده‌ای تخت دشوار و توانایی سازماندهی داده‌ها در گروه‌های مرتبط با پرونده‌ها سخت شد.
اخیرا S3 از شرکت Amazon نیز به خانواده سیستم پرونده‌ای‌های تخت، اضافه شده‌است. S3 یک سرویس ذخیره‌سازی کنترل از راه دور است، که به سادگی به کاربران توانایی شخصی‌سازی طریقه ذخیره شدن داده‌ها را می‌دهد. تنها سازه‌ها همان به اصطلاح سطل‌ها (تصور کنید یک گرداننده دیسک با ظرفیت بی‌نهایت دارید) و اشیاء (مشابه آنچه توضیح داده شد، ولی قابل شناسایی برای استاندارد جنبه‌های پرونده نیستند)، هستند. مدیریت پرونده پیشرفته، تنها در صورتی قابل استفاده است که، بشود از هر کاراکتری (حتی "/") در نام‌گذاری اشیاء استفاده کرد و همچنین اینکه بتوان از سطل محتوا، یک زیرمجموعه‌ای را بر اساس پیشوندهای قابل شناسایی انتخاب کرد.
یادداشت