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

جز
←‏جایگزینی با [[وپ:اشتباه|اشتباه‌یاب]]: موثر⟸مؤثر، توظیح⟸توضیح، ذخیر ه⟸ذخیره، سودمنذی‌های⟸سودمندی‌های، سیسنم‌های⟸سیستم‌های، حفاطت...
جز (حذف نویسهٔ u+00AD با ویرایشگر خودکار فارسی)
جز (←‏جایگزینی با [[وپ:اشتباه|اشتباه‌یاب]]: موثر⟸مؤثر، توظیح⟸توضیح، ذخیر ه⟸ذخیره، سودمنذی‌های⟸سودمندی‌های، سیسنم‌های⟸سیستم‌های، حفاطت...)
]]
 
سیستم‌های پرونده‌ای فضا را به شکل تکه‌تکه‌ای اختصاص می‌دهند که معمولاً به صورت چندین واحد فیزیکی در دستگاه است. سیستم پرونده‌ای عهده‌دار سازماندهی [[پرونده (رایانه)|پرونده‌ها]] و [[دایرکتوری (رایانه)|فهرست‌های راهنما]] و پیگیری اینکه کدام نواحی رسانه متعلق به کدام پرونده است و کدام بخش‌ها استفاده نمی‌شوند. برای مثال در اپل داس (Apple DOS) در اوایل دهه ۱۹۸۰، بخش‌های ۲۵۶ بایتی در فلاپی دسیک‌هایدیسک‌های ۱۴۰ کیلوبایتی از روش نقشهٔ مسیر/بخش (track/sector map) استفاده می‌کردند.
{{مدرک|date=September 2012}}
 
 
=== {{لنگر|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}}
 
در سیستم پرونده‌ای چندین مکانیزم برای کنترل دسترسی به داده‌ها استفاده می‌شود. معمولاً هدف اینست که از خواندن یا دستکاری پرونده‌ها، توسط هر کاربری، یا گروهی از کاربران، جلوگیری به عمل آید. دلیل دیگر اینست که مطمئن باشیم که داده‌ها به صورت کنترل شده‌ای دست کاری می‌شوند، پس دسترسی به آنها ممکن است محدود به یک برنامهٔ خاص باشد. به عنوان مثال، پسوردهای ذخیره شده در فرا دادهٔ یک پرونده و یا ذخیره شده در جای دیگر، [[مجوزهای سیستم فایل|اجازه‌های پرونده]] در قالب بیت‌های اجازه (permission bits)، [[فهرست کنترل دسترسی|لیست‌های کنترل دسترسی]]، و یا توانایی‌ها. نیاز ما به سودمندی سیستم پرونده‌ای برای داشتن دسترسی به داده‌ها در سطح رسانه برای شناخت ساختار و ایجاد یک پشتیبان مؤثر، به این معنی است که این‌ها فقط برای کاربران مؤدب مؤثر هستند و در برابر مزاحمان اثری ندارد.
 
در بعضی از مواقع، متدها برای رمز کذاریگذاری داده‌های پرونده در خود سیستم پرونده‌ای شامل می‌شوند. این روش بسیار مؤثر است چراکه دیگر نیازی به سودمندی‌های سیستم پرونده‌ای برای دانستن هر قسمت از رمز کذاریگذاری برای مدیریت مؤثر داده، نیست. ریسک‌های موجود در رمز گذاری شامل این حقیقت است که یک مهاجم می‌تواند داده‌ها را کپی و با استفاده از ابزاری آن را رمزگشایی کند از دست دادن هر جخش از رمزها به معنی از دست دادن داده‌ها می‌باشد.
 
=== نگهداری یکپارچگی ===
 
==== دیسک‌های نوری ====
ایزو 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) خواندن/ نوشتن از انتهای یک نوار به نواری دیگر، ممکن است از چند ثانیه تا چند دقیقه طول بکشد.
یک جنبهٔ دیگر از مدیریت پرونده، ایدهٔ سیستم پرونده‌ای بر پایهٔ پایگاه داده است. به جای و یا علاوه بر ساختار وراثتی در مدیریت، پرونده‌ها به کمک مشخصاتشان مانند: نوع پرونده، اسم پرونده، نویسندهٔ پرونده و یا فرا داده‌های غنی مشابه، شناخته می‌شوند.
 
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)های سیستم عامل در حعرضمعرض دید برنامه‌ها نیستند. آنها فقط برای مصارف داخلی برای حفظ سازگاری در یک سیستم کال واحد استفاده دارند.
 
سیستم پشتیبان داده به طور معمول، داده‌های ذخیره شده به صورت تراکنشی را مستقیماً پشتیبانی نمی‌کنند، این موجب می‌شود که عملیات بازیابی مجموعه داده‌های قابل اعتماد و سازگار، سخت شود. بیشتر نرم‌افزارهای پشتیبانی داده، بدون توجه به حالت تراکنشی مشترک موجود بین چند پرونده در یک مجموعه پایگاه داده، فقط اعلان می‌کنند که آیا داده‌ها بعد از مدت زمان معینی تغییر کرده‌اند، یا نه. در بعضی از پایگاه داده‌ها، راه حل بدست آمده برای این مشکل اینست که، یک آرشیو از وضعیت هر پرونده، شامل تمام داده‌های بدست آمده تا آن زمان و ذخیره‌سازی این داده‌ها در نرم‌افزار پشتیبان، به صورتی که مستقیماً با پایگاه داده‌های تراکنشی فعال در ارتباط نباشد، است. بازیابی نیازمند جداسازی بازسازی پایگاه داده از وضعیت پرونده، بعد از اینکه پرونده در نرم‌افزار پشتیبان ذخیره شد، می‌باشد.
در اواخر دههٔ ۱۹۷۰ میلادی، پیشرفت تکنولوژی میکرو کامپیوترها آغاز شد. دیسک‌ها و نوارهای دیجیتالی برای عموم مردم گران بودند. در آن زمان، یک سیستم ذخیره گاه ارزان پایه‌ای، پیشنهاد می‌شد، که نوارهای صوتی را استفاده می‌کرد.
 
وقتی نیاز بود در سیستم داده‌ای نوشته شود، به کاربر پیام داده می‌شد که دکمهٔ ضبط (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 یک سرویس دخیرهذخیره سازی کنترل از راه دور است، که به سادگی به کاربران توانایی شخصی‌سازی طریقهٔ ذخیره شدن داده‌ها را می‌دهد. تنها سازه‌ها همان به اصطلاح سطل‌ها (تصور کنید یک گردانندهٔ دیسک با ظرفیت بی‌نهایت دارید) و اشیاء (مشابه آنچه توظیحتوضیح داده شد، ولی قابل شناسایی برای استاندارد جنبه‌های پرونده نیستند)، هستند. مدیریت پروندهٔ پیشرفته، تنها در صورتی قابل استفاده است که، بشود از هر کاراکتری (حتی "/") در نام گذاری اشیاء استفاده کرد و همچنین اینکه بتوان از سطل محتوا، یک زیرمجموعه‌ای را بر اساس پیشوندهای قابل شناسایی انتخاب کرد.
 
== یادداشت ==