تفاوت میان نسخه‌های «سیستم فایل‌بندی»

ابرابزار
جز (←‏جایگزینی با [[وپ:اشتباه|اشتباه‌یاب]]: ازسازگاری⟸از سازگاری، تمامی‌نواحی⟸تمامی نواحی، تمامی‌پرونده‌ها⟸تمامی پرونده‌ها، ستریمینگ⟸ا...)
(ابرابزار)
 
ساختار و قوانین منطقی که برای مدیریت دسته‌ای از اطلاعات و نام آنها استفاده می‌شود «سیستم فایل» نامیده می‌شود.
انواع مختلفی از سیستم فایل وجود دارد که هر یک دارای ساختار و منطق متفاوتی می‌باشند. هر یک دارای خواص مختلفی از سرعت، انعطاف‌پذیری، امنیت، اندازه و غیره هستند. بعضی از سیستم فایلها برای کاربردهای خاصی طراحی شده‌اند. برای مثال سیستم فایل [[ایزو ۹۶۶۰]] مخصوص [[دیسک نوری|دیسک‌های نوری]] طراحی شده استشده‌است.
 
سیستم‌های پرونده می‌توانند از یک [[وسیله ذخیره اطلاعات|وسیلهٔ ذخیرهٔ اطلاعات]] مانند [[دیسک سخت]] یا [[سی‌دی‌رام]] بهره ببرند و مکان فیزیکی پرونده‌ها را نگهداری کنند و می‌توانند دسترسی به داده‌های یک پروندهٔ برده (یا سرور) را با رفتار به عنوان [[کاربر]] (کلاینت) برای یک [[پروتکل شبکه]] (مانند: کلاینت‌های NFS ,SMB یا 9P) فراهم کنند یا ممکن است مجازی باشند و تنها به عنوان روشی برای دسترسی به داده‌های مجازی (مانند: procfs) وجود داشته باشند. این با [[خدمات دایرکتوری]] و [[رجیستری]] متفاوت است.
]]
 
تکه‌تکه شدن سیستم پرونده‌ای (File system fragmentation) وقتی رخ می‌دهد که فضای استفاده نشده یا تک پرونده‌ها پیوسته نباشند. هنگامیکه یک سیستم پرونده‌ای استفاده می‌شود، پرونده‌ها ساخته، اصلاح و یا پاک می‌شوند. وقتی که یک پرونده ایجاد می‌شود، سیستم پرونده‌ای فضایی برای داده اختصاص می‌دهد. بعضی از سیستم‌های پرونده‌ای نیاز به تعیین یک تخصیص فضای اولیه دارند و تخصیص‌های افزایشی بعدی هنگامیکه پرونده‌ها بزرگ می‌شوند. زمانیکه پرونده‌ها پاک می‌شوند، فرض می‌شود فضایی که در نهایت به آنها اختصاص داده شد، برای استفاده توسط پرونده‌های دیگر موجود است. این موضوع ناحیه‌هایی با اندازه‌های مختلف که متناوباً استفاده و یا استفاده نشده است،نشده‌است، می‌سازد. این موضوع تکه‌تکه شدن فضای خالی نامیده می‌شود. وقتی یک پرونده ساخته می‌شود و ناحیه‌ای از فضای پیوسته برای تخصیص اولیهٔ آن موجود نباشد، این فضا باید به تکه‌تکه شدن اختصاص داده شود. وقتی یک پرونده اصلاح می‌گردد ممکن است آن پرونده بزرگتر شود و از فضایی که در ابتدا به آن اختصاص داده شده بود، تجاوز کند، در این صورت باید یک تخصیص دیگر در جای دیگر معین شود و پرونده تکه‌تکه شود.
 
=== نام پرونده ===
 
=== {{لنگر|METADATA}}فراداده ===
بقیه اطلاعات مربوط به هر پرونده در داخل یک سیستم پرونده‌ای معمولاً ساماندهی می‌شوند. طول داده‌ای که شامل یک پرونده می‌شود ممکن است مانند تعداد بلوک‌های تخصیص داده شده برای پرونده یا مانند شمارش یک بایت باشد. زمانی که پرونده آخرین بار اصلاح شده، ممکن است مانند برچسب زمان پرونده ذخیره شود. سیستم‌های پرونده‌ای ممکن است زمان ایجاد شدن پرونده را ذخیره کند، زمانی که آخرین بار دیده شده، زمانی که فرادادهٔ پرونده تغییر داده شده است،شده‌است، یا زمانی که پرونده برای آخرین بار پشتیبا ن گیری شده استشده‌است. بقیه اطلاعات می‌توانند [[فایل دستگاهی|نوع دستگاه]] پرونده (برای مثال [[فایل دستگاهی|بلوک]]، نویسه، [[سوکت شبکه|سوکت]]، [[دایرکتوری (رایانه)|زیر فهرست]] و …)، مالک شماره شناسه کاربر و شماره شناسه گروه، [[مجوزهای سیستم فایل|اجازه‌های دسترسی]] و بقیه صفات پرونده (مانند اینکه پرونده فقط خواندنی، [[اجراپذیر|قابل اجرا]] و … باشد) را شامل شوند.
 
یک سیستم پرونده‌ای همهٔ فراداده‌های تخصیص داده شده به پرونده را ذخیره می‌کند – شامل نام پرونده، طول محتوایات یک پرونده و مکان پرونده در سلسله مراتب پوشه – که از محتویات پرونده متمایز می‌سازد.
سیستم‌های پرونده‌ای شامل سودمندی‌هایی برای مقدار دهی اولیه می‌شوند، تغییر دادن پارامترها و حذف یک نمونه از سیستم پرونده‌ای. بعضی شامل توانایی گسترش یا کوتاه کردن فضای تخصیص داده شده به سیستم پرونده‌ای می‌شوند.
 
{{لنگر|DENTRY}}سودمندی‌های فهرست راهنما ممکن است برای ایجاد، تغییر نام و حذف مدخل‌های فهرست راهنما استفاده شوند که به عنوان dentries نیز شناخته می‌شوند (مفرد: dentry),<ref>{{Cite book|url=https://books.google.com/books?id=eei_jHVJi3oC|title=Operating Systems|last=Mohan|first=I. Chandra|publisher=PHI Learning Pvt. Ltd.|accessdate=2014-07-27|isbn=9788120347267|location=Delhi|publication-date=2013|page=166|quote=The word dentry is short for 'directory entry'. A dentry is nothing but a specific component in the path from the root. They (directory name or file name) provide for accessing files or directories[.]}}</ref> و برای تغییر دادن فرا داده‌ای که به یک فهرست راهنما تخصیص داده شده استشده‌است. سودمندی‌های فهرست راهنما ممکن است شامل قابلیت‌هایی برای ایجاد پیوندهای اضافی به یک فهرست راهنما شوند (پیوندهای سخت در [[یونیکس]])، برای تغییر نام پیوندهای پدر (در سیستم عامل‌های [[شبه‌یونیکس|شبیه یونیکس]])، و برای ایجاد پیوندهای دوسویه به پرونده‌ها.
{{نیازمند شفاف‌سازی|date=July 2014}}
 
 
=== نگهداری یکپارچگی ===
یک مسیولیت قابل توجه سیستم پرونده‌ای اطمینان حاصل کردن است از اینکه صرف نظر از عملیاتی که برنامه‌ها به داده دسترسی پیدا می‌کنند، ساختار آن سازگار باقی بماند. این شامل عملیات گرفته شده استشده‌است اگر یک برنامه در حال تغییر داده، غیرطبیعی پایان داده شود یا بی‌توجهی به اطلاع دادن از سیستم رونده‌ای که فعالیت‌هایش را به پایان رسانده استرسانده‌است. این ممکن است شامل به روز کردن فرا داده، مدخل فهرست راهنما و ادارهٔ هر داده که میانگیری شده استشده‌است اما تاکنون در ذخیره گاه فیزیکی رسانه‌ها به روزرسانی نشده استنشده‌است.
 
بقیه خرابی‌ها که سیستم پرونده‌ای باید سر و کار داشته باشند عبارتند از خرابی‌های رسانه‌ها یا کمبود ارتباطات سیستم‌های از راه دور.
 
=== استفاده از یک سیستم پرونده‌ای ===
سودمندی‌ها، زبان مخصوص برای کتابخانه‌های در حین اجرا و کاربر برنامه از 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).
 
''مقالهٔ اصلی: سیستم پرونده‌ای فلش''
 
سیستم پرونده‌ای فلش توانایی‌های خاص، کارایی و محدودیت‌های دستگاه‌های با [[حافظه فلش|حافظهٔ فلش]] را در نظر می‌گیرد. به طور مداوم یک سیستم پرونده‌ای از نوع دیسک می‌تواند از دستگاه با حافظهٔ فلش، به عنوان یک رسانه ذخیره گاه پایه، استفاده کند، ولی بهتر است از سیستم پرونده‌ایی که به طور اختصاصی برای دستگاه‌های فلش ساخته شده است،شده‌است، استفاده شود.
 
=== سیستم پرونده‌ای از نوع نوار ===
سیستم پرونده‌ای از نوع نوار، نوعی از سیستم پرونده‌ای است. در این نوع، قالب نوار، که برای ذخیره کردن پرونده‌ها روی نوار است، به صورت خود توصیف کننده، طراحی شده استشده‌است. نوارهای مغناطیسی در واقع، رسانه‌های ذخیره گاه متوالی با زمان دسترسی به داده‌های تصادفی بسیار بالاتری از دیسک‌ها هستند که چالش‌هایی برای ساخت و مؤثر نمودن مدیریت سیستم‌های پرونده‌ای عام منظوره، ایجاد کرده‌اند.
 
در سیستم پرونده‌ای از نوع دیسک، معمولاً یک فهرست راهنمای اصلی (master directory) و همچنین یک نقشه از نواحی داده‌های استفاده شده و آزاد (used and free data regions)، وجود دارد. هر پرونده‌ای که می‌خواهد اضافه، عوض، یا حذف شود، نیازمند به روزرسانی فهرست راهنما و نقشهٔ استفاده/آزاد شده استشده‌است. دسترسی تصادفی به نواحی داده‌ها در واحد میلی ثانیه اندازه‌گیری می‌شوند. در نتیجه این سیستم به خوبی بر روی دیسک‌ها کار می‌کند.
 
نوار نیاز به حرکت خطی، برای بستن و باز کردن قرقره‌های عموماً بسیار بلند رسانه‌ها دارد. این حرکت نوار برای جابه‌جا کردن سر (head) خواندن/ نوشتن از انتهای یک نوار به نواری دیگر، ممکن است از چند ثانیه تا چند دقیقه طول بکشد.
 
به تبع آن در نوار، یک پروندهٔ فهرست راهنمای اصلی (master file directory) و نقشه‌ینقشهٔ استفاده، می‌تواند بسیار کند و ناکارآمد باشد.
 
نوشتن معمولاً با اعمال زیر همراه است:
* به روزرسانی نقشهٔ استفاده و فهرست راهنما برای اضافه کردن داده.
* و در نهایت پیش برد نوار برای نوشتن داده در مکان صحیح.
در عوض سیستم‌های پرونده‌ای از نوع نوار معمولاً اجازه می‌دهند تا فهرست راهنمای پرونده در نوار بخش و با داده‌ها ترکیب شود، که استریمینگ (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) ====
 
=== سیستم پرونده‌ای از نوع پایگاه داده ===
یک جنبهٔ دیگر از مدیریت پرونده، ایدهٔ سیستم پرونده‌ای بر پایهٔ پایگاه داده استداده‌است. به جای و یا علاوه بر ساختار وراثتی در مدیریت، پرونده‌ها به کمک مشخصاتشان مانند: نوع پرونده، اسم پرونده، نویسندهٔ پرونده و یا فرا داده‌های غنی مشابه، شناخته می‌شوند.
 
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’ شناخته شده‌اند و بعدها در چندین جنبهٔ اساسی کوچک گسترش یافت ولی در واقع از دیدگاه فناوری، بسیار پیشرفته تر شد.
 
در زیر به بعضی از پروژه‌هایی که بخشی از جنبه‌های سیستم پرونده‌ای از نوع پایگاه داده را در خود داشته‌اند، پرداخته می‌شود:
در اواخر دههٔ ۱۹۷۰ میلادی، پیشرفت تکنولوژی میکرو کامپیوترها آغاز شد. دیسک‌ها و نوارهای دیجیتالی برای عموم مردم گران بودند. در آن زمان، یک سیستم ذخیره گاه ارزان پایه‌ای، پیشنهاد می‌شد، که نوارهای صوتی را استفاده می‌کرد.
 
وقتی نیاز بود در سیستم داده‌ای نوشته شود، به کاربر پیام داده می‌شد که دکمهٔ ضبط (Record) روی نوار را فشار دهد، و سپس دکمهٔ (Return) را که روی کیبورد است فشار دهد تا سیستم متوجه شود که نوار در حال ضبط کردن می‌باشد. سیستم خود، یک صدا را برای ایجاد یک هماهنگی در زمان، می‌نویسد، و سپس صداهایی برای کد گذاری یک پیشوند هستند، خود داده، یک سرجمع (check sum) و یک پسوند را مدلسازی می‌کند. وقتی سیستم نیاز داشت که داده‌ای را بخواند، به کاربر گفته می‌شد که دکمهٔ شروع (Play) را از روی نوار بزند و سیستم در این صورت به صداهای روی نوار گوش می‌داد، تا زمانی که مجموعه‌ای از صداهای پشت سر هم قابل، به عنوان یک هماهنگ ساز، شناسایی بودند. در این صورت سیستم شروع به تفسیر صداهای بعدی که داده‌ها هستند، می‌کند. وقتی کار خواندن داده‌ها تمام می‌شود، سیستم به کاربر می‌گوید که دکمهٔ توقف (Stop) روی نوار را بزند. این روش، در حالی که بسیار ابتدایی بود، ولی در بیشتر مواقع به درستی کار می‌کرد. در این سیستم‌ها عموماً داده‌ها معمولاً در قالب بدون نامی، پشت سر هم ذخیره می‌شدند، البته در بعضی از سیستم‌ها (مانند سری کامپیوترهای کامادور پی ای تی (Commodore PET)) اجازهٔ نام گذاری پرونده‌ها را داده می‌شد. چندین سری داده به کمک گزینهٔ سریعتر جلو رفتن (fast-forwarding) در نوار، می‌توانستند نوشته و در نوار قرار گیرند. همچنین با نظارت برشمارندهٔ نوار (tape counter) می‌توانستند ناحیهٔ بعدی که داده در نوار نوشته می‌شود را بیابند. ممکن بود کاربر مجبور باشد به صداها گوش دهد تا ناحیه مناسب بعدی برای شروع داده‌ها را پیدا کند. بعضی از پیاده‌سازی‌ها که حتی شامل صداهای قابل شنیدن هم بودند با داده‌ها در می‌آمیختنددرمی‌آمیختند.
 
=== سیستم پرونده‌ای از نوع تخت ===
با رشد تعداد پرونده‌ها استفاده از سیستم پرونده‌ای تخت دشوار و توانایی سازماندهی داده‌ها در گروه‌های مرتبط با پرونده‌ها سخت شد.
 
اخیراً S3 از شرکت [[شرکت آمازون|Amazon]] نیز به خانوادهٔ سیستم پرونده‌ای‌های تخت، اضافه شده استشده‌است. S3 یک سرویس ذخیره سازیذخیره‌سازی کنترل از راه دور است، که به سادگی به کاربران توانایی شخصی‌سازی طریقهٔ ذخیره شدن داده‌ها را می‌دهد. تنها سازه‌ها همان به اصطلاح سطل‌ها (تصور کنید یک گردانندهٔ دیسک با ظرفیت بی‌نهایت دارید) و اشیاء (مشابه آنچه توضیح داده شد، ولی قابل شناسایی برای استاندارد جنبه‌های پرونده نیستند)، هستند. مدیریت پروندهٔ پیشرفته، تنها در صورتی قابل استفاده است که، بشود از هر کاراکتری (حتی "/") در نام گذاری اشیاء استفاده کرد و همچنین اینکه بتوان از سطل محتوا، یک زیرمجموعه‌ای را بر اساس پیشوندهای قابل شناسایی انتخاب کرد.
 
== یادداشت ==