20 نوع فایل سیستم در لینوکس
این مقاله بخشی از کتاب لینوکس ما بوده و شما برای مطالعه کامل آن میتوانید به بخش محصولات مراجعه فرمایید.
زمان مطالعه: 8 دقیقه
معرفی و آشنایی با 20 نوع فایل سیستم در لینوکس که کاربران میتوانند از آنها برای پارتیشنبندی هارد دیسکهای خود استفاده کنند. کرنل لینوکس برخلاف دیگر سیستم عاملها میتواند از انواع مختلف فایل سیستم برای خواندن و نوشتن دادهها به (از) هارد پشتیبانی کند. همچنین سیستم لینوکس علاوه بر داشتن بیش از دوازده نوع فایل سیستم میتواند از فایل سیستمهای دیگر سیستم عاملهای مانند ویندوز (VFAT و NTFS) پشتیبانی کند.
لینوکس یکی از مهمترین پیشرفتهای تکنولوژیکی قرن بیست و یکم است. توسعه لینوکس فراتر از تأثیر آن بر رشد اینترنت و جایگاه آن به عنوان یک فناوری توانمند به الگویی تبدیل شده که نشان میدهد پروژههای مشارکتی چگونه میتوانند از کارهایی که افراد و شرکتها به تنهایی انجام میدهند، پیشی بگیرند.
سیستم عامل لینوکس جهان را در برگرفته و کاربران میتوانند این نوع سیستم را تقریبا در همه جا پیدا کنند. سیستم عامل لینوکس را میتوان در تلفن، یخچال، کنسولهای بازی (PlayStation) و یا سرورهای لینوکس (که سایتهای معروف اینترنتی را اجرا میکنند) مشاهده کرد.
سیستم عامل متشکل از یک کرنل و یکسری ابزارهای مختلف است. بخشهای اصلی لینوکس از سه لایهی تشکیل شده که شامل موارد زیر میباشد و هر کدام کار خاصی را انجام میدهند.
- لایهی سختافزار
- لایهی کرنل (هسته)
- لایهی کاربر (شامل ابزارهای GNU، محیط دسکتاپ گرافیکی، برنامههای کاربردی مانند سرویس FTP و غیره است)
![لایه های مختلف یک سیستم](https://www.dl.ngsacademy.com/layer%20of%20kernel.png)
شکل1) بخشهای اصلی لینوکس از سه لایهی سختافزار، کرنل و کاربر تشکیل شده است.
لایهی کرنل در سیستم عامل لینوکس
کرنل، هسته سیستم لینوکس بوده و کلیه سختافزارها و نرمافزارهای سیستم کامپیوتر را کنترل میکند. همچنین در صورت لزوم سختافزاری را برای فرآیندی اختصاص و همچنین نرمافزاری را هم اجرا میکند.
اگر دنیای لینوکس را دنبال کرده باشید بدون شک نام لینوس توروالد را شنیدهاید. توروالدز در دوران تحصیل در دانشگاه Helsiki اولین نرمافزار کرنل لینوکس را ایجاد کرد. او علاقهمند بود که این پروژه یک کپی از سیستم عامل یونیکس (در آن زمان یک سیستم عامل محبوب و گران قیمت در بسیاری از دانشگاهها بود) باشد.
همچنین او پس از توسعه کرنل لینوکس آن را در اینترنت منتشر کرد و برای بهبود آن پیشنهاداتی را خواستار شد. سپس بعد از مدتی پیشنهادهایی از دانشجویان و همچنین برنامهنویسان حرفهای از سراسر جهان دریافت کرد و او با در نظر گرفتن نظرات مختلف تغییراتی را در کد اصلی ایجاد میکرد تا به نسخه نهایی آن رسید. به طور کلی کرنل چهار وظیفه اصلی دارد که شامل موارد زیر است.
معرفی و آشنایی با 20نوع فایل سیستم و مدیریت آنها توسط کرنل
هنگامی که در مورد دستگاههای فیزیکی مانند هارد دیسک صحبت میکنیم به ساختار دایرکتوری اشاره نمیکنیم. اینجا در مورد ساختارهایی صحبت میشود که هنگام فرمت و/یا پارتیشنبندی درایوهای فیزیکی ایجاد میشود. این ساختارها وابسته به نوعشان به عنوان فایل سیستم شناخته میشوند و آنها مشخص میکنند که فایلها هنگام ذخیره چگونه مدیریت میشوند (شکل2).
کرنل لینوکس برخلاف دیگر سیستم عاملها میتواند از انواع مختلف فایل سیستم برای خواندن و نوشتن دادهها به (از) هارد پشتیبانی کند. همچنین سیستم لینوکس علاوه بر داشتن بیش از دوازده نوع فایل سیستم میتواند از فایل سیستمهای دیگر سیستم عاملهای مانند ویندوز (VFAT و NTFS) پشتیبانی کند. قابل توجه است که در ادامه به معرفی و آشنایی با 20 نوع فایل سیستم در لینوکس پرداخته میشود.
لیستی از فایل سیستمهای استاندارد که سیستم لینوکس میتواند برای خواندن و نوشتن داده استفاده کند در جدول1 آورده شده است.
![معرفی و آشنایی با 20 نوع فایل سیستم در لینوکس ext، ext2، ext3، ext4، btrfs، exfat، ntfs، hpfs، jfs، ISO9660، minix، nfs، proc، smb، xfs در سیستم عامل لینوکس](https://www.dl.ngsacademy.com/file%20system.png)
شکل 2) هر هارد دیسکی که سرور لینوکس به آن دسترسی پیدا میکند باید حداقل با یکی از فایل سیستمهای موجود فرمت شده باشد.
20 نوع فایل سیستم در لینوکس
فایل سیستم |
توضیحات |
ext | فایل سیستم اصلی لینوکس است که دیگر استفاده نمیشود. این فایل سیستم محدودیتهای زیادی مانند محدود بودن فایلها تا 2 گیگابایت و غیره را داشت. |
ext2 | دومین فایل سیستم توسعه یافته توسط لینوکس است که ویژگیهای پیشرفتهتری را نسبت به ext ارائه میدهد. در این فایل سیستم حداکثر اندازه یک فایل میتواند 2 ترابایت باشد. |
ext3 | سومین فایل سیستم توسعه یافته (که در سال 2001 به کرنل لینوکس اضافه شده است) توسط لینوکس است که از قابلیت ژورنالینگ پشتیبانی میکند. همچنین توانایی این فایل سیستم برای بازیابی اطلاعات آسیب دیده (crashes) بهبود پیدا کرده است. قابل توجه است که این فایل سیستم تنها 32k زیردایرکتوری را پشتیبانی میکند. |
ext4 | چهارمین فایل سیستم توسعه یافته توسط لینوکس است (که جانشین فایل سیستم ext3 بوده و در سال 2008 به کرنل لینوکس اضافه شده است) که از قابلیت ژورنالینگ پیشرفته پشتیبانی میکند. همچنین پیشرفتهای زیادی نسبت به ext3 داشته است. به عنوان مثال از فایلهای با حجم 1 تا 16 اگزابایت پشتیبانی میکند. |
btrfs | یک فایل سیستم جدید و با کارایی بالا است که دارای قابلیت ژورنالینگ و از فایلهای بزرگ پشتیبانی میکند. |
exfat | یک فایل سیستم جدید و با کارایی بالا است که دارای قابلیت ژورنالینگ و از فایلهای بزرگ پشتیبانی میکند. |
ntfs | فایل سیستمی است که توسط شرکت مایکروسافت و بیشتر در سیستمهای ویندوزی مدرن استفاده میشود. همچنین دارای قابلیت ژورنالینگ و سرعت بالا در انتقال دادهها و مناسب برای هارد دیسکهای داخلی است. |
hpfs | فایل سیستمی است که اختصاصی برای IBM OS/2 طراحی شده است. |
Jfs | فایل سیستمی است که توسط IBM برای AIX Unix ایجاد شده است. |
iso9660 | فایل سیستمی است که مناسب برای مانت کردن CD-ROM است. |
minix | فایل سیستمی است که در نسخههای اولیهی یونیکس استفاده میشده است. |
ncp | فایل سیستمی است که برای سیستم عامل Netware استفاده میشود. |
nfs | یک فایل سیستم شبکهای است (یک پروتکل استاندارد در لینوکس و یونیکس است که برای به اشتراکگذاری دایرکتوریها تحت شبکه است). |
proc | فایل سیستمی برای دسترسی به اطلاعات سیستم است. این فایل سیستم واقعی نیست بلکه یک رابط بین فایلسیستم با کرنل لینوکس است. |
نکته) فایل سیستمهای دارای قابلیت ژورنالینگ سطح جدیدی از امنیت را برای سیستم لینوکس فراهم میکنند. به جای نوشتن مستقیم دادهها در دستگاه ذخیرهسازی و سپس به روزرسانی جدول inode، فایل سیستمهای دارای قابلیت ژورنالینگ ابتدا این تغییرات را در یک فایل موقتی مینویسند؛ پس از اینکه دادهها با موفقیت در دستگاه ذخیرهسازی و جدول inode نوشته شد سپس این فایل موقتی حذف میشود. بنابراین اگر سیستم قبل از نوشتن دادهها در دستگاه ذخیرهسازی از کار بیفتد یا دچار قطع برق شود در اینصورت فایل سیستم فایل موقتی را میخواند و دادههای باقیمانده را پردازش میکند (اطلاعاتی که هنوز بر روی دیسک نوشته نشده بودند از بین نخواهند رفت).
نکته) هر هارد دیسکی که سرور لینوکس به آن دسترسی پیدا میکند باید حداقل با یکی از فایل سیستمهای موجود فرمت شده باشد. همچنین کاربران عزیز برای مطلاعه بیشتر در مورد معرفی و آشنایی با 20 نوع فایل سیستم میتوانند به وبسایت https://www.geeksforgeeks.org/linux-file-system/ مراجعه کنند.
این مقاله بر گرفته از کتاب لینوکس (lpic1 ) میباشد
دوره لینوکس برای آنالیز NGS
1,470,000 تومان![کتاب لینوکس](https://www.ngsacademy.com/wp-content/uploads/2023/07/emailmarketing.jpg)