سامانه فایلبندی: تفاوت میان نسخهها
ادغام با جنبه های سیستم پرونده ای |
|||
خط ۱: | خط ۱: | ||
{{بهبود منبع|تاریخ=ژانویه ۲۰۱۷}} |
{{بهبود منبع|تاریخ=ژانویه ۲۰۱۷}} |
||
'''سیستم پرونده''' {{انگلیسی|File system}} روشی برای ذخیره و سازماندهی [[پرونده]]های رایانهای و [[داده|دادههایشان]] است تا یافتن و دسترسی به آنها را آسان کند. |
'''سیستم پرونده''' {{انگلیسی|File system}} روشی برای ذخیره و سازماندهی [[پرونده]]های رایانهای و [[داده|دادههایشان]] است تا یافتن و دسترسی به آنها را آسان کند. |
||
در |
در [[رایانش]]، یک '''سیستم فایل''' برای کنترل نحوه ذخیره و بازیابی اطلاعات استفاده میشود. بدون یک سیستم فایل اطلاعات قرار گرفته در فضای ذخیرهسازی، یک بدنه کلی و بزرگ از اطلاعات خواهد بود که نمیتوان تشخیص داد یک تکه از اطلاعات در کجا ختم میشود و تکه بعدی از کجا شروع میشود. |
||
با جداسازی اطلاعات به |
با جداسازی اطلاعات به قطعههای منحصر به فرد و نام گذاری هر قطعه، اطلاعات به راحتی از هم جدا و تشخیص داده میشوند. هر قطعه از اطلاعات [[پرونده (رایانه)|فایل]] نامیده میشود. |
||
ساختار و قوانین منطقی که برای مدیریت |
ساختار و قوانین منطقی که برای مدیریت دستهای از اطلاعات و نام آنها استفاده میشود «سیستم فایل» نامیده میشود. |
||
انواع مختلفی از |
انواع مختلفی از سیستم فایل وجود دارد که هر یک دارای ساختار و منطق متفاوتی میباشند. هر یک دارای خواص مختلفی از سرعت، انعطافپذیری، امنیت، اندازه و غیره هستند. بعضی از سیستم فایلها برای کاربردهای خاصی طراحی شدهاند. برای مثال سیستم فایل [[ایزو ۹۶۶۰]] مخصوص [[دیسک نوری|دیسکهای نوری]] طراحی شده است. |
||
سیستمهای پرونده میتوانند از یک [[وسیله ذخیره اطلاعات|وسیلهٔ ذخیرهٔ اطلاعات]] مانند [[دیسک سخت]] یا [[سیدیرام]] بهره ببرند و مکان فیزیکی پروندهها را نگهداری کنند و میتوانند دسترسی به دادههای یک پروندهٔ برده (یا سرور) را با رفتار به عنوان [[کاربر]] (کلاینت) برای یک [[پروتکل شبکه]] (مانند: کلاینتهای NFS ،SMB یا 9P) فراهم کنند یا ممکن است مجازی باشند و تنها به عنوان روشی برای دسترسی به دادههای مجازی (مانند: procfs) وجود داشته باشند. این با [[خدمات دایرکتوری]] و [[رجیستری]] متفاوت است. |
سیستمهای پرونده میتوانند از یک [[وسیله ذخیره اطلاعات|وسیلهٔ ذخیرهٔ اطلاعات]] مانند [[دیسک سخت]] یا [[سیدیرام]] بهره ببرند و مکان فیزیکی پروندهها را نگهداری کنند و میتوانند دسترسی به دادههای یک پروندهٔ برده (یا سرور) را با رفتار به عنوان [[کاربر]] (کلاینت) برای یک [[پروتکل شبکه]] (مانند: کلاینتهای NFS ،SMB یا 9P) فراهم کنند یا ممکن است مجازی باشند و تنها به عنوان روشی برای دسترسی به دادههای مجازی (مانند: procfs) وجود داشته باشند. این با [[خدمات دایرکتوری]] و [[رجیستری]] متفاوت است. |
||
در شکل رسمیتر، یک سیستم پرونده یک [[پایگاهداده]] |
در شکل رسمیتر، یک سیستم پرونده یک [[پایگاهداده]] تک کاره برای انباشت، سازماندهی، دستکاری و بازیابی [[داده]]ها است. |
||
⚫ | |||
⚫ | |||
=== مدیریت فضا === |
=== مدیریت فضا === |
||
''توجه: این موضوع فقط به |
''توجه: این موضوع فقط به سیستمهای پروندهای استفاده شده در دستگاههای ذخیره گاه اعمال میگردد.'' |
||
[[پرونده:100_000-files_5-bytes_each_--_400_megs_of_slack_space.png|قاب| |
[[پرونده:100_000-files_5-bytes_each_--_400_megs_of_slack_space.png|قاب|]] |
||
]] |
|||
سیستمهای پروندهای فضا را به شکل تکهتکهای اختصاص میدهند که معمولاً به صورت چندین واحد فیزیکی در دستگاه است. سیستم پروندهای عهده دار سازماندهی [[پرونده (رایانه)|پروندهها]] و [[دایرکتوری (رایانه)|فهرستهای راهنما]] و پیگیری اینکه کدام نواحی رسانه متعلق به کدام پرونده است و کدام بخشها استفاده نمیشوند. برای مثال در اپل داس (Apple DOS) در اوایل دهه ۱۹۸۰، بخشهای ۲۵۶ بایتی در فلاپی دسیکهای ۱۴۰ کیلوبایتی از روش نقشهٔ مسیر/بخش (track/sector map) استفاده میکردند. |
|||
{{مدرک|date=September 2012}} |
{{مدرک|date=September 2012}} |
||
این موضوع باعث ایجاد فضاهای استفاده نشده |
این موضوع باعث ایجاد فضاهای استفاده نشده میشود وقتی که یک پرونده دقیقاً چندین واحد تخصیص را شامل نمیشود، گاهی اوقات به شکل [[پارگی (علوم رایانه)|فضای سست]] ارجاع داده میشود. برای یک تخصیص ۵۱۲ بایتی، میانگین فضای استفاده نشده ۲۵۶ بایت است. برای خوشههای ۶۴ کیلوباتی، میانگین فضای استفاده نشده ۳۲ کیلوبایت است. اندازهٔ واحد تخصیص وقتی انتخاب میشود که سیستم پروندهای ایجاد گردد. انتخاب واحد تخصیص بر اساس میانگین اندازهٔ پروندههایی که انتظار میرود در سیستم پروندهای باشد، میتواند مقدار فضای غیرقابل استفاده را به حداقل برساند. غالباً تخصیص پیش فرض میتواند کاربرد مناسبی فراهم کند. انتخاب یک واحد یک اندازه تخصیص که بسیار کوچک است باعث هزینه بیش از حد میشود اگر سیستم پروندهای غالباً متشکل از پروندههای بسیار بزرگ باشد |
||
[[پرونده:File_system_fragmentation.png|بندانگشتی| |
[[پرونده:File_system_fragmentation.png|بندانگشتی|]] |
||
]] |
|||
تکهتکه شدن سیستم پروندهای (File system fragmentation) وقتی رخ میدهد که فضای استفاده نشده یا تک پروندهها پیوسته نباشند. هنگامیکه یک سیستم پروندهای استفاده میشود، پروندهها ساخته، اصلاح و یا پاک میشوند. وقتی که یک پرونده ایجاد میشود، سیستم پروندهای فضایی برای داده اختصاص میدهد. بعضی از سیستمهای پروندهای نیاز به تعیین یک تخصیص فضای اولیه دارند و تخصیصهای افزایشی بعدی هنگامیکه پروندهها بزرگ میشوند. زمانیکه پروندهها پاک میشوند، فرض میشود فضایی که در نهایت به آنها اختصاص داده شد، برای استفاده توسط پروندههای دیگر موجود است. این موضوع ناحیههایی با اندازههای مختلف که متناوباً استفاده و یا استفاده نشده است، میسازد. این موضوع تکهتکه شدن فضای خالی نامیده میشود. وقتی یک پرونده ساخته میشود و ناحیهای از فضای پیوسته برای تخصیص اولیهٔ آن موجود نباشد، این فضا باید به تکهتکه شدن اختصاص داده شود. وقتی یک پرونده اصلاح میگردد ممکن است آن پرونده بزرگتر شود و از فضایی که در ابتدا به آن اختصاص داده شده بود، تجاوز کند، در این صورت باید یک تخصیص دیگر در جای دیگر معین شود و پرونده تکهتکه شود. |
|||
=== نام پرونده === |
=== نام پرونده === |
||
یک نام پرونده برای شناسایی مکان ذخیره گاه در سیستم |
یک نام پرونده برای شناسایی مکان ذخیره گاه در سیستم پروندهای استفاده میشود. بسیاری از سیستمهای پروندهای محدودیتهایی برای طول نام پروندهها دارند. در بعضی از سیستمهای پروندهای نامهای پرونده به بزرگی یا کوچکی حروف حساس نیستند. (یعنی نامهای پرونده مانند <font color="#000000" face="monospace, Courier">FOO</font> و <code>foo</code> به یک پرونده ارجاع داده میشوند). در بقیه سیستمهای پروندهای، نامهای پرونده به بزرگی یا کوچکی حروف حساسند (یعنی نامهای <code>Foo</code>،<code>FOO</code> و <code>foo</code> به سه پروندهٔ مختلف ارجاع داده میشوند). |
||
بسیاری از |
بسیاری از سیستمهای پروندهای پیشرفته اجازه میدهند نام پروندهها شامل محدودهای گسترده از نویسهها از نویسه گان [[یونیکد|یونیکد]] شوند. اگرچه آنها ممکن است محدودیتهایی برای استفاده از بعضی نویسههای خاص، آنها را در داخل نام پروندهها غیرمجاز کند، آن نویسهها ممکن است برای نشان دادن یک دستگاه، نوع دستگاه، پیشوند فهرست راهنما، جداکننده مسیر پرونده یا نوع پرونده استفاده شوند. |
||
=== |
=== فهرستهای راهنما === |
||
سیستمهای پروندهای معمولاً دارای فهرستهای راهنما هستند (که پوشه نیز گفته میشوند) که کاربر را برای گروه بندی کردن پرونده در مجموعههای جداگانه مجاز میسازد. این موضوع ممکن است با ارتباط نام پرونده با یک نمایه در یک [[فهرست مطالب|جدول محتوا]] یا یک [[آینود|گروه اطلاعاتی]] در [[شبهیونیکس|سیستم پرونده مشابه یونیکس (Unix-like)]] اجرا شود. ساختارهای فهرست راهنما ممکن است مسطح (یعنی خطی) باشند، یا سلسله مراتبها را جایی که فهرستهای راهنما امکان دارد شامل زیر فهرستها شوند، مجاز سازد. اولین سیستم پروندهای برای پشتیانی سلسله مراتب دلخواه در [[مولتیکس|سیستم عامل مولتیکس (Multics]]) استفاده شد.<ref>{{Cite conference}}</ref> سیستمهای پروندهای محلی سیستمهای شبیه یونیکس نیز سلسله مراتب فهرست راهنمای دلخواه را پشتیبانی میکنند، برای مثال سیستم پروندهای سلسله مراتبی [[اپل|اپل (Apple)]] و HFS+ بعدی در سیستم عامل کلاسیک مک (HFS+ هنوز در [[مکاواس|سیستم عامل مک]] استفاده میشود)، سیستم پروندهای [[جدول تخصیص فایل|FAT]] در سیستم عامل داس ([[اماس-داس|MS-DOS]] 2.0) و نگارشهای بعدی MS-DOS و در [[مایکروسافت ویندوز|ویندوز]]، سیستم پروندهای [[انتیافاس|NTFS]] در [[ویندوز انتی|ویندوز NT]] خانوادهٔ سیستم عاملها، و ODS-2 و مراحل بالاتر سیستم پروندهای Files-11 در [[اوپنویاماس|OpenVMS]]. |
|||
=== {{لنگر|METADATA}}فراداده === |
=== {{لنگر|METADATA}}فراداده === |
||
بقیه اطلاعات مربوط به هر پرونده در داخل یک سیستم |
بقیه اطلاعات مربوط به هر پرونده در داخل یک سیستم پروندهای معمولاً ساماندهی میشوند. طول دادهای که شامل یک پرونده میشود ممکن است مانند تعداد بلوکهای تخصیص داده شده برای پرونده یا مانند شمارش یک بایت باشد. زمانی که پرونده آخرین بار اصلاح شده، ممکن است مانند برپسب زمان پرونده ذخیره شود. سیستمهای پروندهای ممکن است زمان ایجاد شدن پرونده را ذخیره کند، زمانی که آخرین بار دیده شده، زمانی که فرادادهٔ پرونده تغییر داده شده است، یا زمانی که پرونده برای آخرین بار پشتیبا ن گیری شده است. بقیه اطلاعات میتوانند [[فایل دستگاهی|نوع دستگاه]] پرونده (برای مثال [[فایل دستگاهی|بلوک]]، نویسه، [[سوکت شبکه|سوکت]]، [[دایرکتوری (رایانه)|زیر فهرست]] و …)، مالک شماره شناسه کاربر و شماره شناسه گروه، [[مجوزهای سیستم فایل|اجازههای دسترسی]] و بقیه صفات پرونده (مانند اینکه پرونده فقط خواندنی، [[اجراپذیر|قابل اجرا]] و … باشد) را شامل شوند. |
||
یک سیستم |
یک سیستم پروندهای همهٔ فرادادههای تخصیص داده شده به پرونده را ذخیره میکند – شامل نام پرونده، طول محتوایات یک پرونده و مکان پرونده در سلسله مراتب پوشه – که از محتویات پرونده متمایز میسازد. |
||
بسیاری از |
بسیاری از سیستمهای پروندهای نامهای همهٔ پروندهها را در فهرست راهنما در یک مکان ذخیره میکند – جدول فهرست راهنما برای آن فهرست راهنما – که غالباً مانند بقیه پروندهها ذخیره میشود. بسیاری از سیستمهای پروندهای فقط تعدادی از فرادادهها را برای یک پرونده در جدول فهرست راهنما قرار میدهند و باقی ماندهٔ فرادادهها برای آن پرونده در یک ساختار کاملاً مجزا قرار دارند، مانند [[آینود|گروه اطلاعاتی]]. |
||
بسیاری از |
بسیاری از سیستمهای پروندهای نیز فرادادههای تخصیص داده نشده با هر یک از پروندههای خاص را ذخیره میکنند. اینگونه فرادادهها شامل اطلاعاتی دربارهٔ مناطق استفاده نشده میشود – نگاشت بیت فضای خالی، نقشه دسترسی بلوک – و اطلاعاتی دربارهٔ [[بد سکتور|بخشهای خراب]]. غالباً اینگونه اطلاعات دربارهٔ یک گروه تخصیص در داخل گروه تخصیص خودش ذخیره میشود. |
||
صفات اضافی |
صفات اضافی میتوانند به سیستمهای پروندهای تخصیص داده شوند، مانند [[انتیافاس|NTFS]]، XFS، [[Ext2|ex2]]، ex3، بعضی از نگارشهای [[یونیکس فایل سیستم|UFS]]، و HFS+، که از صفات پروندههای قابل تعمیم استفاده میکنند. بعضی از سیستمهای پروندهای برای صفات تعرف شده توسط کاربر تهیه شدهاند، مانند نویسنده اسناد، کدبندی نویسههای یک سند یا اندازه یک تصویر. |
||
بعضی |
بعضی سیستمهای پروندهای اجازه میدهند که مجموعههای دادهای مختلف به یک نام پرونده تخصیص داده شوند. این مجموعههای جدا ممکن است به عنوان جریانهایی یا محلهای انشعاب، ارجاع داده شوند. شرکت اپل مدت طولانی از سیستم انشعاب در مکینتاش استفاده میکرد، و همچنین شرکت مایکروسافت نیز در NTFS جریانها را پشتیبانی میکند. بعضی از سیستمهای پروندهای چندین تجدید نظر از یک پرونده را در یک نام پرونده حفظ میکنند. خود نام پرونده بیشتر نسخه اخیر را بازیابی میکند، این در حالی است که نسخههای قدیمی تر تنها با یک نام گذاری خاص قابل دسترسی هستند، همانند “filename;4” و یا “filename(-4)” که برای دسترسی به چهار نسخهٔ قبل نگه داشته شد. |
||
برای بدست آوردن اطلاعات بیشتر روی |
برای بدست آوردن اطلاعات بیشتر روی دربارهٔ اینکه کدام سیستمهای پروندهای کدام یک از انواع فرا داده را پشتیبانی میکنند، [[مقایسه سیستمهای پرونده|مقایسهٔ سیستمهای پروندهای و فرا دادهها]] را ببینید. |
||
=== سیستم |
=== سیستم پروندهای به عنوان خلاصهای از واسط کاربری === |
||
در بعضی موارد، یک سیستم |
در بعضی موارد، یک سیستم پروندهای ممکن است از یک دستگاه ذخیره گاه استفاده نکند اما میتواند برای سازماندهی و نشان دادن دسترسی به هر دادهای استفاده شود، اگرچه ذخیره میشود یا به صورت پویا تولید میگردد (مانند procfs). |
||
=== |
=== سودمندیها === |
||
سیستمهای پروندهای شامل سودمندیهایی برای مقدار دهی اولیه میشوند، تغییر دادن پارامترها و حذف یک نمونه از سیستم پروندهای. بعضی شامل توانایی گسترش یا کوتاه کردن فضای تخصیص داده شده به سیستم پروندهای میشوند. |
|||
{{لنگر|DENTRY}} |
{{لنگر|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}} |
{{نیازمند شفافسازی|date=July 2014}} |
||
سودمندیهای پرونده برای ایجاد، فهرست، رونوشت، حرکت و حذف پروندهها و تغییر فرا دادهها است. آنها ممکن است قابلیت کوتاه کردن دادهها، کوتاه کردن یا گسترش تخصیص فضا، افزودن به، حرکت و تغییر پروندهها درجا را داشته باشند. بسته به ساختار اساسی سیستم پروندهای، آنها ممکن است یک سازوکار برای اضافه کردن، کوتاه کردن از، ابتدای یک پرونده، درج مدخلها به وسط یک پرونده یا حذف مدخلها از یک پرونده تهیه کنند. |
|||
سودمندیهای آزاد کردن فضا برای پروندههای حذف شده، اگر سیستم پروندهای یه تابع احیا تهیه کند، به این دسته نیز تعلق پیدا میکند. |
|||
بعضی از |
بعضی از سیستمهای پروندهای عملیاتی مانند سازماندهی مجدد فضای آزاد، حذف امن فضای آزاد و بازسازی ساختارهای سلسله مراتبی با فراهم کردن سودمندیهایی برای انجام دادن این توابع در زمانهای حداقل فعالیت، به تعویق میاندازند. برای مثال سودمندیهای [[یکپارچهسازی دیسک سخت|یکپارچه سازی]] سیستم پروندهای. |
||
بعضی از مهمترین |
بعضی از مهمترین ویژگیهای سودمندیهای سیستم پروندهای، شامل فعالیتهای نظارتی میشود که ممکن است شامل دور زدن مالکیت یا دسترسی مستقیم به دستگاه اساسی شود. اینها شامل پشتیبان با عملکرد بالا و بازیافت، تکرار داده و سازماندهی مجدد ساختارهای دادهٔ متفاوت و جدولهای تخصیص در داخل سیستم پروندهای میشوند. |
||
=== محدود کردن دسترسی === |
=== محدود کردن دسترسی === |
||
در سیستم |
در سیستم پروندهای چندین مکانیزم برای کنترل دسترسی به دادهها استفاده میشود. معمولاً هدف اینست که از خواندن یا دستکاری پروندهها، توسط هر کاربری، یا گروهی از کاربران، جلوگیری به عمل آید. دلیل دیگر اینست که مطمئن باشیم که دادهها به صورت کنترل شدهای دست کاری میشوند، پس دسترسی به آنها ممکن است محدود به یک برنامهٔ خاص باشد. به عنوان مثال، پسوردهای ذخیره شده در فرا دادهٔ یک پرونده و یا ذخیره شده در جای دیگر، [[مجوزهای سیستم فایل|اجازههای پرونده]] در قالب بیتهای اجازه (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> |
||
<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> |
|||
=== استفاده از یک سیستم |
=== استفاده از یک سیستم پروندهای === |
||
سودمندیها، زبان مخصوص برای کتابخانههای در حین اجرا و کاربر برنامه از API سیستم پروندهای برای ساخت درخواستهای سیستم پروندهای استفاده میکنند. این موضوعها شامل انتقال داده، موقعیت یابی، به روز کردن فراداده، مدیریت کردن فهرستهای راهنما، مدیریت کردن مشخصههای دسترسی و رفع آنها. |
|||
=== طراحی |
=== طراحی محدودیتها === |
||
همهٔ سیستمهای پروندهای تعدادی حد تابعی دارند که حداکثر گنجایش داده قابل ذخیره در داخل همان سیستم تعریف میشود. این حدود تابعی یک تلاش بهترین حدس توسط طراح براساس این است که هم اکنون سیستمهای ذخیر گاه چه قدر بزرگ هستند و سیستمهای ذخیره گاه در آینده احتمال دارند چه قدر بزرگ شوند. ذخیره گاه دیسک ادامه داشت که نزدیک به نرخهای [[رشد نمایی|نمایی]] رشد پیدا کند ([[قانون مور]] را ملاحظه نمایید)، به همین دلیل بعد از چند سال، سیستمهای پروندهای رسیدن به طراحی محدودیتها را نگه داشتهاند که نیازمند این است که کاربران رایانه مکرراً به یک سیستم جدیدتر با گنجایش هر چه بیشتر نقل مکان کنند. |
|||
پیچیدگی سیستم |
پیچیدگی سیستم پروندهای معمولاً به تناسب با گنجایش ذخیره گاه موجود تغییر میکند. سیستم پروندهای اوایل دهه ۱۹۸۰ [[رایانه خانگی|رایانههای خانگی]] با ۵۰ کیلوبایت تا ۵۱۲ کیلوبایت از ذخیره گاه ممکن است انتخاب معقولی برای سیستمهای ذخیره گاه پیشرفته با صدها گیگابات گنجایش نباشد. به همین ترتیب، سیستمهای پروندهای پیشرفته ممکن است انتخاب معقولی برای این سیستمهای اولیه نباشد، از آنجا که پیچیدگی ساختارهای سیستم پروندهای پیشرفته ممکن است به سرعت تحلیل روند یا حتی از گنجایش بسیار محدود سیستمهای ذخیره گاه اولیه تجاوز کنند. |
||
== یادداشت == |
== یادداشت == |
||
خط ۱۰۴: | خط ۱۰۳: | ||
== منابع == |
== منابع == |
||
{{ |
{{پانویس|30em}} |
||
[[رده:فایل سیستمهای رایانه]] |
[[رده:فایل سیستمهای رایانه]] |
||
== منابع == |
== منابع == |
||
* [ |
* [//en.wikipedia.org/w/index.php?title=File_system&oldid=283268342 ویکیپدیای انگلیسی]، برداشت شده در ۳ اردیبهشت ۱۳۸۸. |
||
[[رده:فایل سیستمهای رایانه]] |
[[رده:فایل سیستمهای رایانه]] |
نسخهٔ ۱۰ ژانویهٔ ۲۰۱۷، ساعت ۱۴:۴۱
برای تأییدپذیری کامل این مقاله به منابع بیشتری نیاز است. (ژانویه ۲۰۱۷) |
سیستم پرونده (به انگلیسی: File system) روشی برای ذخیره و سازماندهی پروندههای رایانهای و دادههایشان است تا یافتن و دسترسی به آنها را آسان کند.
در رایانش، یک سیستم فایل برای کنترل نحوه ذخیره و بازیابی اطلاعات استفاده میشود. بدون یک سیستم فایل اطلاعات قرار گرفته در فضای ذخیرهسازی، یک بدنه کلی و بزرگ از اطلاعات خواهد بود که نمیتوان تشخیص داد یک تکه از اطلاعات در کجا ختم میشود و تکه بعدی از کجا شروع میشود.
با جداسازی اطلاعات به قطعههای منحصر به فرد و نام گذاری هر قطعه، اطلاعات به راحتی از هم جدا و تشخیص داده میشوند. هر قطعه از اطلاعات فایل نامیده میشود.
ساختار و قوانین منطقی که برای مدیریت دستهای از اطلاعات و نام آنها استفاده میشود «سیستم فایل» نامیده میشود. انواع مختلفی از سیستم فایل وجود دارد که هر یک دارای ساختار و منطق متفاوتی میباشند. هر یک دارای خواص مختلفی از سرعت، انعطافپذیری، امنیت، اندازه و غیره هستند. بعضی از سیستم فایلها برای کاربردهای خاصی طراحی شدهاند. برای مثال سیستم فایل ایزو ۹۶۶۰ مخصوص دیسکهای نوری طراحی شده است.
سیستمهای پرونده میتوانند از یک وسیلهٔ ذخیرهٔ اطلاعات مانند دیسک سخت یا سیدیرام بهره ببرند و مکان فیزیکی پروندهها را نگهداری کنند و میتوانند دسترسی به دادههای یک پروندهٔ برده (یا سرور) را با رفتار به عنوان کاربر (کلاینت) برای یک پروتکل شبکه (مانند: کلاینتهای NFS ،SMB یا 9P) فراهم کنند یا ممکن است مجازی باشند و تنها به عنوان روشی برای دسترسی به دادههای مجازی (مانند: procfs) وجود داشته باشند. این با خدمات دایرکتوری و رجیستری متفاوت است.
در شکل رسمیتر، یک سیستم پرونده یک پایگاهداده تک کاره برای انباشت، سازماندهی، دستکاری و بازیابی دادهها است.
جنبههای سیستم پروندهای
مدیریت فضا
توجه: این موضوع فقط به سیستمهای پروندهای استفاده شده در دستگاههای ذخیره گاه اعمال میگردد.
سیستمهای پروندهای فضا را به شکل تکهتکهای اختصاص میدهند که معمولاً به صورت چندین واحد فیزیکی در دستگاه است. سیستم پروندهای عهده دار سازماندهی پروندهها و فهرستهای راهنما و پیگیری اینکه کدام نواحی رسانه متعلق به کدام پرونده است و کدام بخشها استفاده نمیشوند. برای مثال در اپل داس (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 سیستم پروندهای برای ساخت درخواستهای سیستم پروندهای استفاده میکنند. این موضوعها شامل انتقال داده، موقعیت یابی، به روز کردن فراداده، مدیریت کردن فهرستهای راهنما، مدیریت کردن مشخصههای دسترسی و رفع آنها.
طراحی محدودیتها
همهٔ سیستمهای پروندهای تعدادی حد تابعی دارند که حداکثر گنجایش داده قابل ذخیره در داخل همان سیستم تعریف میشود. این حدود تابعی یک تلاش بهترین حدس توسط طراح براساس این است که هم اکنون سیستمهای ذخیر گاه چه قدر بزرگ هستند و سیستمهای ذخیره گاه در آینده احتمال دارند چه قدر بزرگ شوند. ذخیره گاه دیسک ادامه داشت که نزدیک به نرخهای نمایی رشد پیدا کند (قانون مور را ملاحظه نمایید)، به همین دلیل بعد از چند سال، سیستمهای پروندهای رسیدن به طراحی محدودیتها را نگه داشتهاند که نیازمند این است که کاربران رایانه مکرراً به یک سیستم جدیدتر با گنجایش هر چه بیشتر نقل مکان کنند.
پیچیدگی سیستم پروندهای معمولاً به تناسب با گنجایش ذخیره گاه موجود تغییر میکند. سیستم پروندهای اوایل دهه ۱۹۸۰ رایانههای خانگی با ۵۰ کیلوبایت تا ۵۱۲ کیلوبایت از ذخیره گاه ممکن است انتخاب معقولی برای سیستمهای ذخیره گاه پیشرفته با صدها گیگابات گنجایش نباشد. به همین ترتیب، سیستمهای پروندهای پیشرفته ممکن است انتخاب معقولی برای این سیستمهای اولیه نباشد، از آنجا که پیچیدگی ساختارهای سیستم پروندهای پیشرفته ممکن است به سرعت تحلیل روند یا حتی از گنجایش بسیار محدود سیستمهای ذخیره گاه اولیه تجاوز کنند.
یادداشت
منابع
- ↑
{{cite conference}}
: Empty citation (help) - ↑ Mohan, I. Chandra (2013). Operating Systems. Delhi: PHI Learning Pvt. Ltd. p. 166. ISBN 9788120347267. Retrieved 2014-07-27.
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[.]
- ↑ "KSAM: A B + -tree-based keyed sequential-access method". ResearchGate. Retrieved 29 April 2016.
منابع
- ویکیپدیای انگلیسی، برداشت شده در ۳ اردیبهشت ۱۳۸۸.