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

جز
اصلاح فاصله مجازی + اصلاح نویسه با استفاده از AWB
جز (اصلاح فاصله مجازی + اصلاح نویسه با استفاده از AWB)
جز (اصلاح فاصله مجازی + اصلاح نویسه با استفاده از AWB)
در [[رایانش]]، یک '''سیستم فایل''' برای کنترل نحوه ذخیره و بازیابی اطلاعات استفاده می‌شود. بدون یک سیستم فایل اطلاعات قرار گرفته در فضای ذخیره‌سازی، یک بدنه کلی و بزرگ از اطلاعات خواهد بود که نمی‌توان تشخیص داد یک تکه از اطلاعات در کجا ختم می‌شود و تکه بعدی از کجا شروع می‌شود.
 
با جداسازی اطلاعات به قطعه‌های منحصر به فرد و نام گذارینام‌گذاری هر قطعه، اطلاعات به راحتی از هم جدا و تشخیص داده می‌شوند. هر قطعه از اطلاعات [[پرونده (رایانه)|فایل]] نامیده می‌شود.
 
ساختار و قوانین منطقی که برای مدیریت دسته‌ای از اطلاعات و نام آن‌ها استفاده می‌شود «سیستم فایل» نامیده می‌شود.
{{مدرک|date=September 2012}}
 
این موضوع باعث ایجاد فضاهای استفاده نشده می‌شود وقتی که یک پرونده دقیقاً چندین واحد تخصیص را شامل نمی‌شود، گاهی اوقات به نام [[پارگی (علوم رایانه)|فضای سست]] معرفی می‌شود. برای یک تخصیص ۵۱۲ بایتی، میانگین فضای استفاده نشده ۲۵۶ بایت است. برای خوشه‌های ۶۴ کیلوبایتی، میانگین فضای استفاده نشده ۳۲ کیلوبایت است. اندازهٔ واحد تخصیص وقتی انتخاب می‌شود که سیستم پرونده‌ای ایجاد گردد. انتخاب واحد تخصیص بر اساس میانگین اندازهٔ پرونده‌هایی که انتظار می‌رود در سیستم پرونده‌ای باشد، می‌تواند مقدار فضای غیرقابل استفاده را به حداقل برساند. غالباً تخصیص پیش فرضپیش‌فرض می‌تواند کاربرد مناسبی فراهم کند. انتخاب یک واحد یک اندازه تخصیص که بسیار کوچک است باعث هزینه بیش از حد می‌شود اگر سیستم پرونده‌ای غالباً متشکل از پرونده‌های بسیار بزرگ باشد
[[پرونده:File_system_fragmentation.png|بندانگشتی|
ممکن است سیستم‌های پرونده‌ای تکه‌تکه شوند.
]]
 
تکه‌تکه شدن سیستم پرونده‌ای (File system fragmentation) وقتی رخ می‌دهد که فضای استفاده نشده یا تک پرونده‌ها پیوسته نباشند. هنگامیکه یک سیستم پرونده‌ای استفاده می‌شود، پرونده‌ها ساخته، اصلاح یا پاک می‌شوند. وقتی که یک پرونده ایجاد می‌شود، سیستم پرونده‌ای فضایی برای داده اختصاص می‌دهد. بعضی از سیستم‌های پرونده‌ای نیاز به تعیین یک تخصیص فضای اولیه دارند و تخصیص‌های افزایشی بعدی هنگامیکه پرونده‌ها بزرگ می‌شوند. زمانیکهزمانی‌که پرونده‌ها پاک می‌شوند، فرض می‌شود فضایی که در نهایت به آن‌ها اختصاص داده شد، برای استفاده توسط پرونده‌های دیگر موجود است. این موضوع ناحیه‌هایی با اندازه‌های مختلف که متناوباً استفاده یا استفاده نشده‌است، می‌سازد. این موضوع تکه‌تکه شدن فضای خالی نامیده می‌شود. وقتی یک پرونده ساخته می‌شود و ناحیه‌ای از فضای پیوسته برای تخصیص اولیهٔ آن موجود نباشد، این فضا باید به تکه‌تکه شدن اختصاص داده شود. وقتی یک پرونده اصلاح می‌گردد ممکن است آن پرونده بزرگتر شود و از فضایی که در ابتدا به آن اختصاص داده شده بود، تجاوز کند، در این صورت باید یک تخصیص دیگر در جای دیگر معین شود و پرونده تکه‌تکه شود.
 
=== نام پرونده ===
 
=== {{لنگر|METADATA}}فراداده ===
بقیه اطلاعات مربوط به هر پرونده در داخل یک سیستم پرونده‌ای معمولاً ساماندهی می‌شوند. طول داده‌ای که شامل یک پرونده می‌شود ممکن است مانند تعداد بلوک‌های تخصیص داده شده برای پرونده یا مانند شمارش یک بایت باشد. زمانی که پرونده آخرین بار اصلاح شده، ممکن است مانند برچسب زمان پرونده ذخیره شود. سیستم‌های پرونده‌ای ممکن است زمان ایجاد شدن پرونده را ذخیره کند، زمانی که آخرین بار دیده شده، زمانی که فرادادهٔ پرونده تغییر داده شده‌است، یا زمانی که پرونده برای آخرین بار پشتیبان گیریپشتیبان‌گیری شده‌است. بقیه اطلاعات می‌توانند [[فایل دستگاهی|نوع دستگاه]] پرونده (برای مثال [[فایل دستگاهی|بلوک]]، نویسه، [[سوکت شبکه|سوکت]]، [[دایرکتوری (رایانه)|زیر فهرست]] و …)، مالک شماره شناسه کاربر و شماره شناسه گروه، [[مجوزهای سیستم فایل|اجازه‌های دسترسی]] و بقیه صفات پرونده (مانند اینکه پرونده فقط خواندنی، [[اجراپذیر|قابل اجرا]] و … باشد) را شامل شوند.
 
یک سیستم پرونده‌ای همهٔ فراداده‌های تخصیص داده شده به پرونده را ذخیره می‌کند – شامل نام پرونده، طول محتوایات یک پرونده و مکان پرونده در سلسله مراتب پوشه – که از محتویات پرونده متمایز می‌سازد.
بسیاری از سیستم‌های پرونده‌ای نام‌های همهٔ پرونده‌ها را در فهرست راهنما در یک مکان ذخیره می‌کند – جدول فهرست راهنما برای آن فهرست راهنما – که غالباً مانند بقیه پرونده‌ها ذخیره می‌شود. بسیاری از سیستم‌های پرونده‌ای فقط تعدادی از فراداده‌ها را برای یک پرونده در جدول فهرست راهنما قرار می‌دهند و باقی ماندهٔ فراداده‌ها برای آن پرونده در یک ساختار کاملاً مجزا قرار دارند، مانند [[آی‌نود|گروه اطلاعاتی]].
 
بسیاری از سیستم‌های پرونده‌ای نیز فراداده‌های تخصیص داده نشده با هر یک از پرونده‌های خاص را ذخیره می‌کنند. اینگونهاین‌گونه فراداده‌ها شامل اطلاعاتی دربارهٔ مناطق استفاده نشده می‌شود – نگاشت بیت فضای خالی، نقشه دسترسی بلوک – و اطلاعاتی دربارهٔ [[بد سکتور|بخش‌های خراب]]. غالباً اینگونهاین‌گونه اطلاعات دربارهٔ یک گروه تخصیص در داخل گروه تخصیص خودش ذخیره می‌شود.
 
صفات اضافی می‌توانند به سیستم‌های پرونده‌ای تخصیص داده شوند، مانند [[ان‌تی‌اف‌اس|NTFS]], XFS, [[Ext2|ex2]]، ex3، بعضی از نگارش‌های [[یونیکس فایل سیستم|UFS]]، و HFS+، که از صفات پرونده‌های قابل تعمیم استفاده می‌کنند. بعضی از سیستم‌های پرونده‌ای برای صفات تعرف شده توسط کاربر تهیه شده‌اند، مانند نویسنده اسناد، کدبندی نویسه‌های یک سند یا اندازه یک تصویر.
 
بعضی سیستم‌های پرونده‌ای اجازه می‌دهند که مجموعه‌های داده‌ای مختلف به یک نام پرونده تخصیص داده شوند. این مجموعه‌های جدا ممکن است به عنوان جریان‌هایی یا محل‌های انشعاب، ارجاع داده شوند. شرکت اپل مدت طولانی از سیستم انشعاب در مکینتاش استفاده می‌کرد، و همچنین شرکت مایکروسافت نیز در NTFS جریان‌ها را پشتیبانی می‌کند. بعضی از سیستم‌های پرونده‌ای چندین تجدید نظر از یک پرونده را در یک نام پرونده حفظ می‌کنند. خود نام پرونده بیشتر نسخه اخیر را بازیابی می‌کند، این در حالی است که نسخه‌های قدیمی تر تنها با یک نام گذارینام‌گذاری خاص قابل دسترسی هستند، همانند “filename;4” یا “filename(-4)” که برای دسترسی به چهار نسخهٔ قبل نگه داشته شد.
 
برای بدست آوردن اطلاعات بیشتر روی دربارهٔ اینکه کدام سیستم‌های پرونده‌ای کدام یک از انواع فرا داده را پشتیبانی می‌کنند، [[مقایسه سیستم‌های پرونده|مقایسهٔ سیستم‌های پرونده‌ای و فرا داده‌ها]] را ببینید.
سودمندی‌های آزاد کردن فضا برای پرونده‌های حذف شده، اگر سیستم پرونده‌ای یه تابع احیا تهیه کند، به این دسته نیز تعلق پیدا می‌کند.
 
بعضی از سیستم‌های پرونده‌ای عملیاتی مانند سازماندهی مجدد فضای آزاد، حذف امن فضای آزاد و بازسازی ساختارهای سلسله مراتبی با فراهم کردن سودمندی‌هایی برای انجام دادن این توابع در زمانهایزمان‌های حداقل فعالیت، به تعویق می‌اندازند. برای مثال سودمندی‌های [[یکپارچه‌سازی دیسک سخت|یکپارچه سازی]] سیستم پرونده‌ای.
 
بعضی از مهمترین ویژگی‌های سودمندی‌های سیستم پرونده‌ای، شامل فعالیت‌های نظارتی می‌شود که ممکن است شامل دور زدن مالکیت یا دسترسی مستقیم به دستگاه اساسی شود. اینها شامل پشتیبان با عملکرد بالا و بازیافت، تکرار داده و سازماندهی مجدد ساختارهای دادهٔ متفاوت و جدول‌های تخصیص در داخل سیستم پرونده‌ای می‌شوند.
در سیستم پرونده‌ای چندین مکانیزم برای کنترل دسترسی به داده‌ها استفاده می‌شود. معمولاً هدف اینست که از خواندن یا دستکاری پرونده‌ها، توسط هر کاربری، یا گروهی از کاربران، جلوگیری به عمل آید. دلیل دیگر اینست که مطمئن باشیم که داده‌ها به صورت کنترل شده‌ای دست کاری می‌شوند، پس دسترسی به آن‌ها ممکن است محدود به یک برنامهٔ خاص باشد. به عنوان مثال، پسوردهای ذخیره شده در فرا دادهٔ یک پرونده یا ذخیره شده در جای دیگر، [[مجوزهای سیستم فایل|اجازه‌های پرونده]] در قالب بیت‌های اجازه (permission bits)، [[فهرست کنترل دسترسی|لیست‌های کنترل دسترسی]]، یا توانایی‌ها. نیاز ما به سودمندی سیستم پرونده‌ای برای داشتن دسترسی به داده‌ها در سطح رسانه برای شناخت ساختار و ایجاد یک پشتیبان مؤثر، به این معنی است که این‌ها فقط برای کاربران مؤدب مؤثر هستند و در برابر مزاحمان اثری ندارد.
 
در بعضی از مواقع، متدها برای رمز گذاریرمزگذاری داده‌های پرونده در خود سیستم پرونده‌ای شامل می‌شوند. این روش بسیار مؤثر است چراکه دیگر نیازی به سودمندی‌های سیستم پرونده‌ای برای دانستن هر قسمت از رمز گذاریرمزگذاری برای مدیریت مؤثر داده، نیست. ریسک‌های موجود در رمز گذاریرمزگذاری شامل این حقیقت است که یک مهاجم می‌تواند داده‌ها را کپی و با استفاده از ابزاری آن را رمزگشایی کند از دست دادن هر جخش از رمزها به معنی از دست دادن داده‌ها می‌باشد.
 
=== نگهداری یکپارچگی ===
بعضی از سیستم‌های پرونده‌ای مشخصهٔ یک طول ضبط ثابت که برای همه نوشته‌ها و خوانده‌ها استفاده می‌شود را می‌پذیرد. این موضوع محل یابی n امین ضبط و همچنین به روزرسانی آن‌ها را آسان می‌سازد.
 
یک شناسایی برای هر ضبط که به عنوان یک کلید نیز شناخته می‌شود، برای یک سیستم پرونده‌ای پیچیده‌تر ساخته می‌شود. کاربر برنامه می‌تواند بخواند، بنویسد و ضبط‌ها را بدون توجه به محل آن‌ها به روز رسانیروزرسانی کند. این موضوع نیازمند مدیریت پیچیدهٔ بلوک‌های رسانه که معمولاً بلوک‌های کلید و بلوک‌های داده را جدا می‌سازد، خواهد بود. الگوریتم‌های بسیار کارآمد می‌توانند با ساختار هرمی برای محل یابی ضبط‌ها توسعه یابند.<ref>{{Cite web|url=https://www.researchgate.net/publication/234789457_KSAM_A_B_-tree-based_keyed_sequential-access_method|title=KSAM: A B + -tree-based keyed sequential-access method|accessdate=29 April 2016|website=ResearchGate}}</ref>
 
=== استفاده از یک سیستم پرونده‌ای ===
 
=== سیستم‌های پرونده‌ای از نوع دیسک ===
یک سیستم پرونده‌ای از نوع دیسک از توانایی‌های رسانه‌های (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).
 
==== دیسک‌های نوری ====
یک جنبهٔ دیگر از مدیریت پرونده، ایدهٔ سیستم پرونده‌ای بر پایهٔ پایگاه داده‌است. به جای یا علاوه بر ساختار وراثتی در مدیریت، پرونده‌ها به کمک مشخصاتشان مانند: نوع پرونده، اسم پرونده، نویسندهٔ پرونده یا فرا داده‌های غنی مشابه، شناخته می‌شوند.
 
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’ شناخته شده‌اند و بعدها در چندین جنبهٔ اساسی کوچک گسترش یافت ولی در واقع از دیدگاه فناوری، بسیار پیشرفته تر شد.
 
در زیر به بعضی از پروژه‌هایی که بخشی از جنبه‌های سیستم پرونده‌ای از نوع پایگاه داده را در خود داشته‌اند، پرداخته می‌شود:
 
=== سیستم پرونده‌ای از نوع تراکنشی(Transactional file system) ===
در بعضی از برنامه‌ها نیاز است که چندین پرونده به صورت هم‌زمان به روزرسانی شوند. به عنوان مثال، نصب نرم‌افزار ممکن است باعث نوشتن پرونده‌های باینری، کتابخانه‌ها، و تأیید پرونده‌های برنامه شود. اگر نصب نرم‌افزار موفقیت آمیزموفقیت‌آمیز نباشد، احتمال می‌رود که برنامه قابل استفاده کردن نباشد. اگر فرایند نصب در حال به روزرسانی یک بخش اصلی از سیستم باشد، همانند پوستهٔ فرمان (command shell)، احتمال می‌رود که کل سیستم به حالت غیرقابل بهره‌وری، وارد شود.
 
فرایند تراکنش، انزوا را ضمانت می‌کند، که این به این معنی است که عملیاتی که روی آن‌ها تراکنش انجام می‌شود از دیگر ریسه‌های درون سیستم، تا زمانی که عمل تراکنش به پایان برسد، پنهان می‌شوند و عملیات متداخل درون سیستم در هر تراکنش، به صورت مناسبی، پشت سر هم مرتب می‌شوند. همچنین تراکنش‌ها ظرفیت اتمی را ضمانت می‌کنند، به این معنی که عملیات داخل یک تراکنش یا همگی متعهدند یا تراکنش می‌تواند به بعد موکول شود و سیستم تمامی نتایج بدست آمده تا آن زمان از تراکنش را پاک می‌سازد. یعنی، در صورتی که یک حادثه رخ دهد یا باتری تمام شود، بعد از عملیات ترمیم وضعیت ذخیره شده ثبت شده باقی می‌ماند. در نهایت، عملیات نصب نرم‌افزار یا موفقیت آمیزموفقیت‌آمیز است یا ناموفق. اگر عملیات ناموفق باشد در این صورت، پس از برگشت به حالت اولیه دیگر هیچ اثری از نرم‌افزار معیوب در سیستم نمی‌ماند.
 
شرکت مایکروسافت اولین بار درVista Windows، یک تراکنش با ویژگی Transactional NTFS، برای پشتیبانی ان تی اف اس ([[ان‌تی‌اف‌اس|NTFS]]) اضافه کرد، ولی در حال حاضر دیگر استفاده‌ای ندارد. یکسری نمونه‌های اولیه از سیستم‌های پرونده‌ای از نوع تراکنشی برای سیستم عامل لینوکس، در دست آزمایش هستند. از جمله این سیستم‌ها می‌توان به سیستم پرونده‌ای ولور (Valor file system)، آمینو (Amino)، ال اف اس (LFS)، سیستم پرونده‌ای ext3 در هستهٔ TxOS، که از نوع تراکنشی است، و همچنین سیستم پرونده‌ای‌هایی که هدفشان سیستم‌های نهفته (embedded systems) است، همانند TFFها.
در اواخر دههٔ ۱۹۷۰ میلادی، پیشرفت تکنولوژی میکرو کامپیوترها آغاز شد. دیسک‌ها و نوارهای دیجیتالی برای عموم مردم گران بودند. در آن زمان، یک سیستم ذخیره گاه ارزان پایه‌ای، پیشنهاد می‌شد، که نوارهای صوتی را استفاده می‌کرد.
 
وقتی نیاز بود در سیستم داده‌ای نوشته شود، به کاربر پیام داده می‌شد که دکمهٔ ضبط (Record) روی نوار را فشار دهد، و سپس دکمهٔ (Return) را که روی کیبورد است فشار دهد تا سیستم متوجه شود که نوار در حال ضبط کردن می‌باشد. سیستم خود، یک صدا را برای ایجاد یک هماهنگی در زمان، می‌نویسد، و سپس صداهایی برای کد گذاریکدگذاری یک پیشوند هستند، خود داده، یک سرجمع (check sum) و یک پسوند را مدلسازی می‌کند. وقتی سیستم نیاز داشت که داده‌ای را بخواند، به کاربر گفته می‌شد که دکمهٔ شروع (Play) را از روی نوار بزند و سیستم در این صورت به صداهای روی نوار گوش می‌داد، تا زمانی که مجموعه‌ای از صداهای پشت سر هم قابل، به عنوان یک هماهنگ ساز، شناسایی بودند. در این صورت سیستم شروع به تفسیر صداهای بعدی که داده‌ها هستند، می‌کند. وقتی کار خواندن داده‌ها تمام می‌شود، سیستم به کاربر می‌گوید که دکمهٔ توقف (Stop) روی نوار را بزند. این روش، در حالی که بسیار ابتدایی بود، ولی در بیشتر مواقع به درستی کار می‌کرد. در این سیستم‌ها عموماً داده‌ها معمولاً در قالب بدون نامی، پشت سر هم ذخیره می‌شدند، البته در بعضی از سیستم‌ها (مانند سری کامپیوترهای کامادور پی ای تی (Commodore PET)) اجازهٔ نام گذارینام‌گذاری پرونده‌ها را داده می‌شد. چندین سری داده به کمک گزینهٔ سریعتر جلو رفتن (fast-forwarding) در نوار، می‌توانستند نوشته و در نوار قرار گیرند. همچنین با نظارت برشمارندهٔ نوار (tape counter) می‌توانستند ناحیهٔ بعدی که داده در نوار نوشته می‌شود را بیابند. ممکن بود کاربر مجبور باشد به صداها گوش دهد تا ناحیه مناسب بعدی برای شروع داده‌ها را پیدا کند. بعضی از پیاده‌سازی‌ها که حتی شامل صداهای قابل شنیدن هم بودند با داده‌ها درمی‌آمیختند.
 
=== سیستم پرونده‌ای از نوع تخت ===
با رشد تعداد پرونده‌ها استفاده از سیستم پرونده‌ای تخت دشوار و توانایی سازماندهی داده‌ها در گروه‌های مرتبط با پرونده‌ها سخت شد.
 
اخیراً S3 از شرکت [[شرکت آمازون|Amazon]] نیز به خانوادهٔ سیستم پرونده‌ای‌های تخت، اضافه شده‌است. S3 یک سرویس ذخیره‌سازی کنترل از راه دور است، که به سادگی به کاربران توانایی شخصی‌سازی طریقهٔ ذخیره شدن داده‌ها را می‌دهد. تنها سازه‌ها همان به اصطلاح سطل‌ها (تصور کنید یک گردانندهٔ دیسک با ظرفیت بی‌نهایت دارید) و اشیاء (مشابه آنچه توضیح داده شد، ولی قابل شناسایی برای استاندارد جنبه‌های پرونده نیستند)، هستند. مدیریت پروندهٔ پیشرفته، تنها در صورتی قابل استفاده است که، بشود از هر کاراکتری (حتی "/") در نام گذارینام‌گذاری اشیاء استفاده کرد و همچنین اینکه بتوان از سطل محتوا، یک زیرمجموعه‌ای را بر اساس پیشوندهای قابل شناسایی انتخاب کرد.
 
== یادداشت ==
۱۳۳٬۲۴۲

ویرایش