نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی

فایل سیستم برای. exFAT چیست؟

FAT32: سیستم ویندوز قدیمی مورد استفاده در رسانه های کوچک قابل جابجایی. در دستگاه‌های ذخیره‌سازی کوچک یا برای سازگاری با دوربین‌های دیجیتال، کنسول‌های بازی، ست‌تاپ باکس‌ها و سایر دستگاه‌های فقط FAT32 استفاده می‌شود.

NTFS: نسخه های مدرن ویندوز که از Win XP شروع می شوند از آن برای پارتیشن های خود استفاده می کنند. رسانه های خارجی با FAT32 فرمت می شوند، هارد های اکسترنال بزرگ با ظرفیت 1 ترابایت با NTFS فرمت می شوند.

HFS+پاسخ: کامپیوترهای مکینتاش از +HFS برای پارتیشن های داخلی خود و همچنین برای قالب بندی رسانه های خارجی با HFS+ استفاده می کنند. مک فایل ها را با FAT32 می خواند و می نویسد، اما به طور پیش فرض فقط NTFS را می خواند. برای نوشتن با فرمت NTFS Macintosh، به نرم افزار شخص ثالث نیاز دارید.

Ext2 / Ext3 / Ext4: در لینوکس یافت می شود. ext2یک FS قدیمی است و فاقد ویژگی های مهمی مانند ورود به سیستم است - اگر برق قطع شود یا رایانه هنگام نوشتن در درایو ext2 راه اندازی مجدد شود، ممکن است داده ها از بین بروند. Ext3ویژگی های قابلیت اطمینان را به قیمت سرعت اضافه می کند. Ext4معلوم می شود که سیستمی به روزتر، سریعتر و استاندارد برای اکثر توزیع های لینوکس است و سریعتر کار می کند. Win و Mac از Ext2 / Ext3 / Ext4 پشتیبانی نمی کنند - برای دسترسی به فایل ها به ابزار اضافی نیاز دارید. به همین دلیل اغلب ایده آل است که پارتیشن های لینوکس را به صورت ext4 فرمت کنید و در صورت نیاز به سازگاری با سایر سیستم عامل ها، دستگاه های قابل جابجایی را با FAT32 یا NTFS فرمت کنید. لینوکس هم روی FAT32 و هم NTFS می خواند و می نویسد.

btrfs: ایجاد شده برای لینوکس، در حال توسعه. در حال حاضر برای اکثر توزیع های لینوکس استاندارد نیست، اما به زودی Btrfs رهبری را بر عهده خواهد گرفت. هدف، ارائه ویژگی‌های اضافی است که به لینوکس اجازه می‌دهد تا برای فضای ذخیره‌سازی بیشتر مقیاس کند.

تعویض کنید: در لینوکس "swap" به نظر یک سیستم فایل نیست. یک پارتیشن فرمت شده به عنوان "swap" فقط به عنوان فضای مبادله سیستم عامل استفاده می شود - مشابه یک فایل صفحه در ویندوز، اما به یک پارتیشن اختصاصی نیاز دارد.

سیستم فایل برای درایوهای USB خارجی

همه درایوهای خارجی نیز سیستم فایل خود را دارند:

  • چربی- FS که توسط شرکت مایکروسافت توسعه یافته است، بیشترین استفاده را در کارت های حافظه و درایوهای فلش usb دارد. در لوازم خانگی مانند: دوربین فیلمبرداری، تلویزیون، پخش کننده دی وی دی، مرکز موسیقی استفاده می شود. محدودیت این است که حداکثر حجم فایل 4 گیگابایت است.
  • exFAT- ایجاد شده توسط مایکروسافت، نسخه توسعه یافته FAT، که برای دستگاه های فلش استفاده می شود. محدودیت در اندازه فایل ها، حجم پارتیشن ها لغو شده است. عیب: اکثر دستگاه های مصرف کننده و نسخه های اولیه Win XP پشتیبانی نمی کنند.
  • FFS2- ایجاد شده در سال 1990 و ثبت اختراع توسط مایکروسافت. ادامه سیستم FFS1، یکی از FS های اولیه برای کارت های فلش.
  • JFFS- سیستم لینوکس با ساختار لاگ برای حامل های NOR-usb.
  • JFFS2- در دستگاه های فلش مموری استفاده می شود. پیرو JFFS. پشتیبانی از دستگاه های Nand، عملکرد بهبود یافته است. مشکلات هنگام کار با فلش درایوهای بزرگ.
  • logfs- در حال توسعه، مورد استفاده برای لینوکس، جایگزین JFFS2 می شود. برای مونتاژ سریع درایوهای فلش با ظرفیت بالا بهبود یافته است.
  • YAFFS- طراحی شده برای NAND-flash، استفاده در درایوهای NOR-flash امکان پذیر است.

طبقه بندی، ساختار، ویژگی های سیستم های فایل!!!

1. مفهوم، ساختار و عملکرد سیستم فایل.

سیستم فایل - مجموعه ای (ترتیب، ساختار و محتوا) از سازماندهی ذخیره سازی داده ها در رسانه اطلاعات، که مستقیماً نشان دهنده دسترسی به داده های ذخیره شده، در سطح خانواده است، این مجموعه ای از تمام فایل ها و پوشه ها روی یک دیسک است. "واحدهای" اصلی سیستم فایل عبارتند از یک کلاستر، فایل، دایرکتوری، پارتیشن، حجم، دیسک.
مجموعه صفر و یک در محیط ذخیره سازی یک خوشه را تشکیل می دهد (حداقل اندازه فضای ذخیره سازی اطلاعات، معمولاً به آنها مفهوم یک بخش نیز می گویند، اندازه آنها مضربی از 512 بایت است).
فایل ها - مجموعه ای از بایت ها که به بخش ها تقسیم می شوند. بسته به سیستم فایل، یک فایل ممکن است مجموعه ای از ویژگی های متفاوتی داشته باشد. برای راحتی کار با فایل ها، از نام آنها (شناسه های نمادین) استفاده می شود.
برای سازماندهی ساختار فایل سیستم، فایل ها به گروه بندی می شوند کاتالوگ ها .
فصل - یک ناحیه دیسک ایجاد شده در طول پارتیشن بندی و حاوی یک یا چند جلد فرمت شده است.
جلد - منطقه پارتیشن با سیستم فایل، جدول فایل و منطقه داده. یک یا چند بخش هستند دیسک .
تمام اطلاعات مربوط به پرونده ها در یک منطقه خاص از پارتیشن - جدول فایل ذخیره می شود. جدول فایل به شما امکان می دهد شناسه های عددی فایل و اطلاعات اضافی در مورد آنها (تاریخ اصلاح، حقوق دسترسی، نام و غیره) را با محتوای واقعی فایل ذخیره شده در قسمت دیگری از پارتیشن مرتبط کنید.

MBR (Master Boot Record) یک ناحیه خاص که در ابتدای دیسک قرار دارد - حاوی اطلاعات لازم برای بایوس برای بوت کردن سیستم عامل از هارد دیسک.
جدول پارتیشن (جدول پارتیشن) نیز در ابتدای دیسک قرار دارد، وظیفه آن ذخیره اطلاعات در مورد پارتیشن ها است: شروع، طول، بوت. پارتیشن بوت شامل بخش بوت است که برنامه بوت سیستم عامل را ذخیره می کند.

شمارش معکوس از MBR (از بخش شماره 0) برای همه پارتیشن‌های اصلی (اولیه)، چه برای پارتیشن‌های معمولی و چه برای توسعه یافته، و فقط برای پارتیشن‌های اولیه شروع می‌شود.
همه بخش های منطقی معمولی (نه منطقی توسعه یافته) با یک تغییر نسبت به ابتدای بخش توسعه یافته که در آن توضیح داده شده اند، مشخص می شوند.
تمام بخش‌های منطقی توسعه‌یافته (منطقی توسعه‌یافته) با یک تغییر نسبت به ابتدای بخش توسعه‌یافته اصلی (اصلی توسعه‌یافته) تنظیم می‌شوند.

فرآیند بارگذاری سیستم عامل به شرح زیر است:
هنگامی که کامپیوتر روشن می شود، BIOS کنترل پردازنده را به دست می گیرد، از هارد دیسک بوت می شود، اولین بخش دیسک (MBR) را در RAM رایانه بارگذاری می کند و کنترل را به آن منتقل می کند.

MBR را می توان به عنوان یک بوت لودر "استاندارد" نوشت،

و لودرهایی مانند LILO/GRUB.

بوت لودر استاندارد اولین پارتیشن با پرچم قابل راه‌اندازی را در جدول پارتیشن اصلی پیدا می‌کند، اولین سکتور آن (بخش بوت) را می‌خواند و کنترل را به کد نوشته شده در این سکتور بوت منتقل می‌کند. اگر به جای بوت لودر استاندارد MBR یکی دیگر وجود داشته باشد، به پرچم قابل بوت نگاه نمی کند، می تواند از هر پارتیشنی (در تنظیمات آن تجویز شده) بوت شود.

به عنوان مثال، برای بارگذاری سیستم عامل ویندوز NT/2k/XP/2003، کدی در بخش راه‌اندازی نوشته می‌شود که لودر اصلی (ntloader) را از پارتیشن فعلی در حافظه بارگذاری می‌کند.
هر سیستم فایل FAT16/FAT32/NTFS بوت لودر مخصوص به خود را دارد. ریشه پارتیشن باید حاوی فایل ntldr باشد. اگر هنگام تلاش برای بوت کردن ویندوز، پیغام "NTLDR is missing" را مشاهده کردید، این دقیقاً موردی است که فایل ntldr وجود ندارد. همچنین، برای عملکرد عادی ntldr، ممکن است به فایل های bootfont.bin، ntbootdd.sys، ntdetect.com و یک boot.ini به درستی نوشته شده نیاز باشد.

نمونه boot.ini

ج:\boot.ini

تایم اوت = 8
default=C:\gentoo.bin

C:\gentoo.bin="Gentoo Linux"
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP (32-bit)" /fastdetect /NoExecute=OptIn
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Windows XP (64-bit)" /fastdetect /usepmtimer

نمونه ای از فایل پیکربندی grub.conf

#grub.conf تولید شده توسط anaconda
#
#توجه داشته باشید که پس از ایجاد تغییرات در این فایل نیازی به اجرای مجدد grub نیست
#
#توجه: شما یک پارتیشن /boot دارید. این به این معنی است که
#همه مسیرهای هسته و initrd نسبت به /boot/ هستند، به عنوان مثال.
#root (hdO.O)
#kernel /vmlinuz-version ro root=/dev/sda2
#initrd/initrd-version.img
#boot=/dev/sda default=0 timeout=5
splashimage=(hdO,0)/grub/splash.xpm.gz
منوی مخفی
عنوان سرور لینوکس Red Hat Enterprise (2.6.18-53.el 5)
ریشه (hdO.O)
هسته /vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet-
initrd /initrd-2.6.18-53.el5.img

ساختار فایل lilo.conf

# فایل پیکربندی LILO تولید شده توسط "liloconfig"
//بخش توضیحات پارامترهای جهانی
# بخش جهانی LILO را شروع کنید
//مکانی که لیلو در آن ضبط شده است. در این مورد MBR است
boot=/dev/hda
//پیامی که هنگام بارگذاری نمایش داده می شود
message=/boot/boot_message.txt
//اعلام نمایش
سریع
//Time Out برای انتخاب سیستم عامل
تایم اوت = 1200
# نادیده گرفتن پیش فرض های خطرناکی که جدول پارتیشن را بازنویسی می کنند:
تغییر قوانین
تنظیم مجدد
# کنسول فریم بافر VESA @ 800x600x256
//انتخاب حالت ویدئو برای نمایش منو
vga=771
# پایان بخش جهانی LILO
//بخش توضیحات گزینه های بوت ویندوز
# پیکربندی پارتیشن قابل بوت DOS آغاز می شود
other=/dev/hda1
برچسب = Windows98
جدول=/dev/hda
# پیکربندی پارتیشن قابل بوت DOS به پایان می رسد
// بخش برای توصیف گزینه های بوت QNX
# پیکربندی پارتیشن قابل بوت QNX آغاز می شود
//مسیر سیستم عامل
other=/dev/hda2
برچسب = QNX
جدول=/dev/hda
# پیکربندی پارتیشن قابل بوت QNX به پایان می رسد
//قسمت توضیحات گزینه های بوت لینوکس
# پیکربندی پارتیشن قابل بوت لینوکس شروع می شود
//مسیر به تصویر هسته
image = /boot/vmlinuz
root=/dev/hda4
برچسب = Slackware
فقط خواندنی
# پیکربندی پارتیشن قابل بوت لینوکس به پایان می رسد


2. معروف ترین سیستم های فایل.

  • سیستم فایلینگ دیسک پیشرفته
  • AdvFS
  • فایل سیستم باشید
  • CSI - DOS
  • رمزگذاری سیستم فایل
  • سیستم فایل توسعه یافته
  • سیستم فایل توسعه یافته دوم
  • سومین فایل سیستم توسعه یافته
  • سیستم فایل توسعه یافته چهارم
  • جدول تخصیص فایل (FAT)
  • فایل ها-11
  • سیستم فایل سلسله مراتبی
  • HFS Plus
  • سیستم فایل با کارایی بالا (HPFS)
  • ISO 9660
  • سیستم فایل مجله
  • سیستم فایل مکینتاش
  • سیستم فایل MINIX
  • میکرودوس
  • بعدی3
  • پیاده سازی جدید یک F با ساختار Log (NILFS)
  • خدمات ذخیره سازی Novell
  • سیستم فایل فناوری جدید (NTFS)
  • پروتوگون
  • ReiserFS
  • سیستم فایل هوشمند
  • اسکواشف
  • سیستم فایل یونیکس
  • فرمت دیسک جهانی (UDF)
  • سیستم فایل Veritas
  • Windows Future Storage (WinFS)
  • طرح بندی فایل Anywhere را بنویسید
  • سیستم فایل زتابایت (ZFS)

3. ویژگی های اساسی سیستم های فایل.

این سیستم عامل برنامه هایی را با مجموعه ای از توابع و ساختارها برای کار با فایل ها ارائه می دهد. قابلیت های سیستم عامل محدودیت های اضافی را بر روی محدودیت های سیستم فایل اعمال می کند، محدودیت های اصلی عبارتند از:

حداکثر (حداقل) اندازه حجم؛
- حداکثر (حداقل) تعداد فایل ها در دایرکتوری ریشه.
- حداکثر تعداد فایل ها در دایرکتوری غیر ریشه.
- امنیت در سطح فایل؛
- پشتیبانی از نام فایل های طولانی
- خود درمانی؛
- فشرده سازی در سطح فایل.
- نگهداری سیاهههای مربوط به تراکنش.

4. شرح مختصری از رایج ترین سیستم های فایل FAT، NTFS، EXT.

سیستم فایل FAT.

FAT مخفف File Allocation Table است.
در سیستم فایل FAT، فضای دیسک منطقی هر درایو منطقی به دو قسمت تقسیم می شود:
- منطقه سیستم؛
- منطقه داده
ناحیه سیستم هنگام قالب بندی ایجاد می شود و هنگام دستکاری ساختار فایل به روز می شود. ناحیه داده شامل فایل‌ها و دایرکتوری‌های تابع ریشه است و از طریق رابط کاربری قابل دسترسی است. منطقه سیستم از اجزای زیر تشکیل شده است:
- رکورد بوت
- بخش های رزرو شده؛
- جداول تخصیص فایل (FAT)؛
- دایرکتوری ریشه
جدول تخصیص فایل یک نقشه (تصویر) از ناحیه داده است که وضعیت هر بخش از ناحیه داده را توصیف می کند. منطقه داده به خوشه ها تقسیم می شود. یک خوشه یک یا چند بخش به هم پیوسته در فضای آدرس دیسک منطقی (فقط در ناحیه داده) است. در جدول FAT، خوشه های متعلق به یک فایل (دایرکتوری غیر ریشه) به زنجیره ای متصل می شوند. سیستم مدیریت فایل FAT16 از یک کلمه 16 بیتی برای تعیین شماره خوشه استفاده می کند، بنابراین می توانید تا 65536 کلاستر داشته باشید.
خوشه کوچکترین واحد آدرس پذیر فضای دیسک است که به یک فایل یا دایرکتوری غیر ریشه اختصاص داده شده است. یک فایل یا دایرکتوری تعداد صحیحی از خوشه ها را اشغال می کند. در این حالت، آخرین خوشه ممکن است به طور کامل مورد استفاده قرار نگیرد، که منجر به از دست رفتن محسوس فضای دیسک با اندازه خوشه بزرگ می شود.
از آنجایی که FAT در هنگام دسترسی به دیسک به شدت مورد استفاده قرار می گیرد، در RAM بارگذاری می شود و تا زمانی که ممکن است در آنجا باقی می ماند.
دایرکتوری ریشه با یک دایرکتوری معمولی تفاوت دارد زیرا در یک مکان ثابت در یک درایو منطقی قرار دارد و تعداد ورودی های ثابتی دارد. برای هر فایل و دایرکتوری، سیستم فایل اطلاعات را مطابق ساختار زیر ذخیره می کند:
- نام فایل یا دایرکتوری - 11 بایت.
- ویژگی های فایل - 1 بایت.
- زمینه ذخیره - 1 بایت؛
- زمان ایجاد - 3 بایت؛
- تاریخ ایجاد - 2 بایت؛
- تاریخ آخرین دسترسی - 2 بایت.
- رزرو شده - 2 بایت؛
- آخرین زمان اصلاح - 2 بایت؛
- تعداد خوشه اولیه در FAT - 2 بایت.
- حجم فایل - 4 بایت.
ساختار فایل سیستم سلسله مراتبی است.

سیستم فایل FAT32.
FAT32 یک سیستم فایل 32 بیتی کاملاً مستقل است و شامل پیشرفت‌ها و اضافات متعددی نسبت به FAT16 است. تفاوت اساسی بین FAT32 استفاده کارآمدتر از فضای دیسک است: FAT32 از کلاسترهای کوچکتری استفاده می کند که منجر به صرفه جویی در فضای دیسک می شود.
FAT32 می تواند دایرکتوری ریشه را جابجا کند و از یک نسخه پشتیبان FAT به جای نسخه استاندارد استفاده کند. FAT32 Enhanced Boot Record به شما امکان می دهد کپی هایی از ساختارهای داده حیاتی ایجاد کنید، که باعث می شود دیسک ها در برابر نقض ساختار FAT نسبت به نسخه های قبلی مقاومت بیشتری داشته باشند. دایرکتوری ریشه یک زنجیره منظم از خوشه ها است، بنابراین می توان آن را در هر نقطه از دیسک قرار داد، که محدودیت اندازه فهرست ریشه را حذف می کند.


سیستم فایل NTFS.
سیستم فایل NTFS (سیستم فایل فناوری جدید) شامل تعدادی پیشرفت و تغییرات قابل توجه است که به طور قابل توجهی آن را از سایر سیستم های فایل متمایز می کند. از دیدگاه کاربر، فایل ها هنوز در فهرست ها ذخیره می شوند، اما کار بر روی دیسک های بزرگ در NTFS بسیار کارآمدتر است:
- ابزارهایی برای محدود کردن دسترسی به فایل ها و دایرکتوری ها وجود دارد.
- مکانیسم های معرفی شده که قابلیت اطمینان سیستم فایل را به طور قابل توجهی افزایش می دهد.
- بسیاری از محدودیت‌ها بر روی حداکثر تعداد بخش‌ها و/یا خوشه‌های دیسک حذف شده‌اند.

ویژگی های اصلی سیستم فایل NTFS:
- قابلیت اطمینان. رایانه های با کارایی بالا و سیستم های مشترک باید قابلیت اطمینان بیشتری داشته باشند؛ برای این منظور، مکانیزم تراکنش معرفی شده است که عملیات فایل را ثبت می کند.
- قابلیت توسعه یافته ویژگی های جدیدی در NTFS معرفی شده است: بهبود تحمل خطا، شبیه سازی سایر سیستم های فایل، یک مدل امنیتی قدرتمند، پردازش موازی جریان های داده، ایجاد ویژگی های فایل تعریف شده توسط کاربر.
- پشتیبانی از استاندارد POSIX. ویژگی های اساسی شامل استفاده اختیاری از نام فایل های حساس به حروف کوچک و بزرگ، ذخیره سازی زمان آخرین دسترسی به یک فایل، و مکانیزم نام مستعار است که به نام های متعدد اجازه می دهد به یک فایل اشاره کنند.
- انعطاف پذیری تخصیص فضای دیسک بسیار انعطاف پذیر است: اندازه کلاستر می تواند از 512 بایت تا 64 کیلوبایت متفاوت باشد.
NTFS با مجموعه داده های بزرگ و حجم زیاد به خوبی کار می کند. حداکثر حجم (و حجم فایل) 16 EB است. (1 Ebyte برابر با 2**64 یا 16000 میلیارد گیگابایت است.) هیچ محدودیتی برای تعداد فایل ها در دایرکتوری های ریشه و غیر روت وجود ندارد. از آنجایی که ساختار دایرکتوری NTFS مبتنی بر یک ساختار داده کارآمد به نام "درخت باینری" است، زمان لازم برای یافتن فایل ها در NTFS به طور خطی با تعداد فایل ها مرتبط نیست.
NTFS دارای برخی ویژگی‌های خودترمیمی است و از بررسی‌های مختلف یکپارچگی سیستم، از جمله ثبت تراکنش‌ها، پشتیبانی می‌کند، که به شما امکان می‌دهد نوشته‌های فایل را از گزارش سیستم ردیابی کنید.
سیستم فایل NTFS از مدل شی امنیتی پشتیبانی می کند و تمام حجم ها، فهرست ها و فایل ها را به عنوان اشیاء NTFS جداگانه در نظر می گیرد. حقوق دسترسی به جلدها، فهرست‌ها و فایل‌ها به حساب کاربری و گروهی که به آن تعلق دارد بستگی دارد.
سیستم فایل NTFS دارای فشرده سازی داخلی است که می تواند بر روی حجم ها، دایرکتوری ها و فایل ها اعمال شود.

سیستم فایل Ext3
سیستم فایل ext3 می‌تواند فایل‌هایی تا اندازه ۱ ترابایت را پشتیبانی کند. با هسته لینوکس 2.4، اندازه فایل سیستم با حداکثر اندازه بلوک دستگاه، که 2 ترابایت است، محدود می شود. در لینوکس 2.6 (برای پردازنده های 32 بیتی)، حداکثر اندازه دستگاه بلوک 16 ترابایت است، اما ext3 فقط تا 4 ترابایت را پشتیبانی می کند.
Ext3 سازگاری خوبی با NFS دارد و وقتی فضای دیسک کمیاب است مشکلی در عملکرد ندارد. مزیت دیگر ext3 از این واقعیت است که بر اساس کد ext2 است. فرمت دیسک ext2 و ext3 یکسان است. نتیجه این است که در صورت لزوم، فایل سیستم ext3 را می توان بدون هیچ مشکلی به صورت ext2 نصب کرد. و این همه ماجرا نیست. با توجه به اینکه ext2 و ext3 از ابرداده های یکسان استفاده می کنند، امکان به روز رسانی ext2 به ext3 به صورت آنلاین وجود دارد.
قابلیت اطمینان Ext3
ext3 علاوه بر سازگاری با ext2، مزایای دیگری از فرمت متادیتا رایج را به ارث می برد. کاربران ext3 سالهاست که ابزار آزمایش شده و آزمایش شده fsck را در اختیار دارند. البته، دلیل اصلی تغییر به سیستم فایل ژورنالینگ، رفع نیاز به بررسی های دوره ای و طولانی برای سازگاری ابرداده ها روی دیسک است. با این حال، "ژورنال" قادر به محافظت در برابر خرابی هسته یا آسیب به سطح دیسک (یا چیزی شبیه به آن) نیست. در مواقع اضطراری، از این واقعیت که ext3 با fsck خود از ext2 ارث می برد، قدردانی خواهید کرد.
ژورنال نویسی در ext3.
اکنون که درک کلی از مشکل داریم، بیایید ببینیم ext3 چگونه ژورنالینگ را پیاده سازی می کند. کد ژورنال برای ext3 از یک API ویژه به نام لایه Journaling Block Device یا JBD استفاده می کند. JBD برای ورود به سیستم در هر دستگاه بلوکی طراحی شده است. Ext3 به JBD API متصل است. در این حالت، کد فایل سیستم ext3 به JBD در مورد نیاز به یک اصلاح اطلاع می دهد و از JBD برای انجام آن اجازه می خواهد. مجله توسط JBD به نمایندگی از درایور سیستم فایل ext3 مدیریت می شود. این قرارداد بسیار راحت است، زیرا JBD به عنوان یک شی جداگانه و عمومی توسعه یافته است و می تواند در آینده برای ورود به سیستم فایل های دیگر استفاده شود.
حفاظت از داده ها در Ext3
اکنون می‌توانیم در مورد اینکه چگونه سیستم فایل ext3 گزارش‌گیری را برای داده‌ها و ابرداده‌ها فراهم می‌کند صحبت کنیم. در واقع ext3 دو روش برای تضمین ثبات دارد.
ext3 در اصل برای اطلاعات کامل و ژورنالینگ ابرداده طراحی شده بود. در این حالت (به نام حالت "data=journal")، JBD تمام تغییرات سیستم فایل را که هم به داده ها و هم به ابرداده ها مربوط می شود، ژورنال می کند. در این مورد، JBD می تواند از گزارش برای بازگرداندن و بازیابی متادیتا و داده ها استفاده کند. نقطه ضعف ژورنالینگ "کامل" عملکرد نسبتا کم و مصرف فضای دیسک زیاد برای مجله است.
اخیراً یک حالت ژورنال جدید به ext3 اضافه شده است که عملکرد بالا را با اطمینان از سازگاری ساختار سیستم فایل پس از خرابی (مانند سیستم های فایل ژورنال شده "معمولی") ترکیب می کند. حالت جدید عملکرد فقط به ابرداده ارائه می شود. با این حال، درایور سیستم فایل ext3 هنوز پردازش کل بلوک های داده را (اگر مربوط به اصلاح ابرداده باشد) پیگیری می کند و آنها را در یک شی واحد به نام تراکنش گروه بندی می کند. تراکنش تنها پس از نوشتن تمام داده ها روی دیسک انجام می شود. یک اثر "جانبی" این تکنیک "فور بی رحم" (به نام حالت "data=ordered") این است که ext3 احتمال بیشتری برای ماندگاری داده ها (در مقایسه با سیستم های فایل ژورنال "پیشرفته") فراهم می کند و در عین حال سازگاری ابرداده را تضمین می کند. این فقط تغییرات ساختار فایل سیستم را ثبت می کند. Ext3 به طور پیش فرض از این حالت استفاده می کند.
ext3 مزایای زیادی دارد. برای حداکثر سهولت استقرار طراحی شده است. این بر اساس سال ها کد ext2 اثبات شده است و ابزار فوق العاده fsck را به ارث برده است. Ext3 در درجه اول برای برنامه هایی در نظر گرفته شده است که قابلیت ذخیره داده داخلی ندارند. در مجموع، ext3 یک سیستم فایل عالی و ادامه ارزشمند ext2 است. ویژگی دیگری وجود دارد که به طور مثبت ext3 را از سایر سیستم های فایل ژورنال شده تحت لینوکس متمایز می کند - قابلیت اطمینان بالا.

سیستم فایل ext4 ادامه تکاملی شایسته سیستم ext است.

چرا یک گوشی هوشمند نمی تواند برنامه ها را از کارت حافظه اجرا کند؟ ext4 چه تفاوتی اساسی با ext3 دارد؟ چرا یک درایو فلش اگر با فرمت NTFS فرمت شده باشد و نه با فرمت FAT بیشتر دوام می آورد؟ مشکل اصلی F2FS چیست؟ پاسخ ها در ساختار فایل سیستم ها نهفته است. ما در مورد آنها صحبت خواهیم کرد.

معرفی

سیستم های فایل نحوه ذخیره داده ها را تعریف می کنند. آنها تعیین می کنند که کاربر با چه محدودیت هایی مواجه خواهد شد، عملیات خواندن و نوشتن چقدر سریع خواهد بود و مدت زمان درایو بدون خرابی کار می کند. این به ویژه در مورد SSD های ارزان قیمت و برادران کوچکتر آنها - درایوهای فلش صادق است. با دانستن این ویژگی ها، می توانید از هر سیستمی بیشترین بهره را ببرید و استفاده از آن را برای کارهای خاص بهینه کنید.

هر زمان که نیاز به انجام کاری غیر ضروری دارید، باید نوع و پارامترهای سیستم فایل را انتخاب کنید. به عنوان مثال، شما می خواهید به متداول ترین عملیات فایل سرعت ببخشید. در سطح سیستم فایل، این را می‌توان به روش‌های مختلفی به دست آورد: فهرست‌سازی جستجوهای سریع را فراهم می‌کند، و رزرو قبلی بلوک‌های رایگان، بازنویسی فایل‌هایی که اغلب در حال تغییر هستند را آسان‌تر می‌کند. از قبل بهینه سازی داده ها در RAM مقدار I/O مورد نیاز را کاهش می دهد.

چنین ویژگی هایی از سیستم های فایل مدرن مانند نوشتن تنبل، حذف مجدد و سایر الگوریتم های پیشرفته به افزایش زمان عملیات کمک می کند. آنها به ویژه برای SSD های ارزان قیمت با تراشه های حافظه TLC، درایوهای فلش و کارت های حافظه مناسب هستند.

بهینه‌سازی‌های جداگانه‌ای برای آرایه‌های دیسک در سطوح مختلف وجود دارد: برای مثال، سیستم فایل می‌تواند از انعکاس حجم ساده، عکس‌های فوری فوری یا مقیاس‌بندی پویا بدون غیرفعال کردن صدا پشتیبانی کند.

جعبه سیاه

کاربران عمدتاً با فایل سیستمی کار می کنند که به طور پیش فرض توسط سیستم عامل ارائه می شود. آنها به ندرت پارتیشن های دیسک جدیدی ایجاد می کنند و حتی کمتر به تنظیمات خود فکر می کنند - فقط از تنظیمات توصیه شده استفاده کنید یا حتی رسانه های از پیش فرمت شده را خریداری کنید.

برای طرفداران ویندوز، همه چیز ساده است: NTFS در تمام پارتیشن های دیسک و FAT32 (یا همان NTFS) در درایوهای فلش. اگر NAS وجود داشته باشد و سیستم فایل دیگری در آن استفاده شود، برای اکثریت این امر فراتر از درک باقی می ماند. آنها به سادگی از طریق شبکه به آن متصل می شوند و فایل ها را مانند یک جعبه سیاه دانلود می کنند.

در گجت‌های موبایل با اندروید، ext4 بیشتر در حافظه داخلی و FAT32 در کارت‌های microSD یافت می‌شود. Yabloko اصلاً برایشان مهم نیست که چه نوع فایل سیستمی دارند: HFS +، HFSX، APFS، WTFS ... برای آنها فقط نمادهای پوشه و فایل زیبایی وجود دارد که توسط بهترین طراحان ترسیم شده است. کاربران لینوکس غنی‌ترین انتخاب‌ها را دارند، اما می‌توانید از سیستم‌های فایل سیستم‌عامل غیربومی هم در ویندوز و هم در macOS پشتیبانی کنید - بعداً در مورد آن بیشتر توضیح خواهیم داد.

ریشه های مشترک

بیش از صد سیستم فایل مختلف ایجاد شده است، اما کمی بیشتر از یک دوجین را می توان مرتبط نامید. اگرچه همه آنها برای کاربردهای خاص خود طراحی شده بودند، اما بسیاری از آنها در سطح مفهومی مرتبط بودند. آنها شبیه به هم هستند زیرا از یک نوع ساختار بازنمایی (فرا)داده استفاده می کنند - درختان B ("b-trees").

مانند هر سیستم سلسله مراتبی، درخت B با یک ورودی ریشه شروع می شود و سپس به عناصر نهایی منشعب می شود - ورودی های فردی در مورد فایل ها و ویژگی های آنها، یا "برگ". نکته اصلی ایجاد چنین ساختار منطقی، سرعت بخشیدن به جستجوی اشیاء سیستم فایل در آرایه های پویا بزرگ - مانند دیسک های سخت با ظرفیت چندین ترابایت یا حتی آرایه های RAID چشمگیرتر بود.

درختان B برای انجام همان عملیات به دسترسی های بسیار کمتری به دیسک نسبت به سایر انواع درخت های متعادل نیاز دارند. این به این دلیل به دست می آید که اشیاء نهایی در درختان B به صورت سلسله مراتبی در یک ارتفاع قرار دارند و سرعت همه عملیات فقط متناسب با ارتفاع درخت است.

مانند سایر درختان متعادل، درختان B طول مسیرهای یکسانی از ریشه تا هر برگ دارند. به جای بزرگ شدن، آنها بیشتر منشعب می شوند و گسترده تر می شوند: همه نقاط شاخه در درخت B، ارجاعات زیادی به اشیاء کودک ذخیره می کنند، و پیدا کردن آنها را با تعداد بازدیدهای کمتر آسان می کند. تعداد زیادی اشاره گر تعداد طولانی ترین عملیات دیسک را کاهش می دهد - موقعیت یابی سر هنگام خواندن بلوک های دلخواه.

مفهوم B-trees در دهه هفتاد شکل گرفت و از آن زمان تاکنون دستخوش پیشرفت های مختلفی شده است. به هر شکلی، در NTFS، BFS، XFS، JFS، ReiserFS و انواع DBMS پیاده سازی می شود. همه آنها از نظر اصول اولیه سازماندهی داده ها با هم فامیل هستند. تفاوت ها به جزئیات مربوط می شود، اغلب موارد بسیار مهم. نقطه ضعف سیستم های فایل مرتبط نیز رایج است: همه آنها حتی قبل از ظهور SSD ها برای کار با دیسک ها ایجاد شده بودند.

فلش مموری به عنوان موتور پیشرفت

درایوهای حالت جامد به تدریج جایگزین درایوهای دیسک می شوند، اما تاکنون مجبور به استفاده از سیستم های فایل قدیمی هستند که برای آنها بیگانه است. آنها بر روی آرایه های حافظه فلش ساخته شده اند که اصول آنها با دستگاه های دیسک متفاوت است. به طور خاص، حافظه فلش باید قبل از نوشتن در آن پاک شود و این عملیات در تراشه های NAND نمی تواند در سطح سلول جداگانه انجام شود. این فقط برای بلوک های بزرگ به طور کلی امکان پذیر است.

این محدودیت به این دلیل است که در حافظه NAND همه سلول ها در بلوک هایی ترکیب می شوند که هر کدام تنها یک اتصال مشترک به گذرگاه کنترل دارند. ما وارد جزئیات سازماندهی صفحه نمی شویم و سلسله مراتب کامل را ترسیم نمی کنیم. آنچه مهم است، اصل عملیات گروهی با سلول ها و این واقعیت است که اندازه بلوک های حافظه فلش معمولا بزرگتر از بلوک های آدرس دهی شده در هر سیستم فایل است. بنابراین، تمام آدرس ها و دستورات برای درایوهای دارای فلش NAND باید از طریق لایه انتزاعی FTL (Flash Translation Layer) ترجمه شوند.

کنترلرهای حافظه فلش سازگاری با منطق دستگاه های دیسک و پشتیبانی از دستورات رابط بومی آنها را فراهم می کنند. معمولاً FTL در سیستم عامل آنها پیاده سازی می شود، اما می تواند (تا حدی) روی هاست اجرا شود - برای مثال، Plextor درایورهای سرعت نوشتن را برای SSD های خود می نویسد.

شما به هیچ وجه نمی توانید بدون FTL کار کنید، زیرا حتی نوشتن یک بیت در یک سلول خاص منجر به راه اندازی یک سری عملیات کامل می شود: کنترل کننده بلوک حاوی سلول مورد نظر را پیدا می کند. بلوک به طور کامل خوانده می شود، در حافظه پنهان یا فضای خالی نوشته می شود، سپس به طور کامل پاک می شود، پس از آن با تغییرات لازم بازنویسی می شود.

این رویکرد یادآور زندگی روزمره ارتش است: برای دستور دادن به یک سرباز، گروهبان یک آرایش عمومی ایجاد می کند، فرد فقیر را خارج از عمل فرا می خواند و به بقیه دستور می دهد که متفرق شوند. در حافظه NOR که اکنون نادر است، سازمان spetsnaz بود: هر سلول به طور مستقل کنترل می شد (هر ترانزیستور یک تماس جداگانه داشت).

وظایف کنترلرها بیشتر و بیشتر می شود، زیرا با هر نسل از فلش مموری، فرآیند ساخت ساخت آن کاهش می یابد تا تراکم افزایش یابد و هزینه ذخیره سازی داده ها کاهش یابد. همراه با استانداردهای تکنولوژیکی، عمر تخمینی تراشه ها نیز کاهش می یابد.

ماژول‌های دارای سلول‌های SLC تک سطحی دارای منبع اعلام شده 100 هزار چرخه بازنویسی و حتی بیشتر بودند. بسیاری از آنها هنوز در درایوهای فلش قدیمی و کارت های CF کار می کنند. یک MLC کلاس سازمانی (eMLC) ادعا می کند که منبعی در محدوده 10 تا 20 هزار است، در حالی که برای یک MLC معمولی درجه مصرف کننده 3-5 هزار تخمین زده می شود. این نوع حافظه به طور فعال توسط TLC ارزان‌تر که منبع آن به سختی به هزار چرخه می‌رسد فشرده می‌شود. نگه داشتن عمر فلش مموری در حد قابل قبولی مرهون ترفندهای نرم افزاری است و سیستم های فایل جدید در حال تبدیل شدن به یکی از آنها هستند.

در ابتدا، سازندگان تصور می کردند که سیستم فایل بی اهمیت است. خود کنترل‌کننده باید به مجموعه‌ای از سلول‌های حافظه کوتاه مدت خدمت کند و بار را بین آنها به روشی بهینه توزیع کند. برای درایور سیستم فایل، یک دیسک معمولی را تقلید می کند و خود بهینه سازی های سطح پایین را در هر دسترسی انجام می دهد. با این حال، در عمل، بهینه سازی برای دستگاه های مختلف از جادویی تا ساختگی متفاوت است.

در SSD های شرکتی، کنترلر یکپارچه یک کامپیوتر کوچک است. این دارای یک بافر حافظه بزرگ (نیم گیگ یا بیشتر) است و از روش های زیادی برای بهبود کارایی کار با داده ها پشتیبانی می کند که به شما امکان می دهد از چرخه های نوشتن غیر ضروری جلوگیری کنید. تراشه تمام بلوک‌های موجود در حافظه پنهان را مرتب می‌کند، نوشتن‌های تنبل را انجام می‌دهد، کپی‌برداری در حین پرواز انجام می‌دهد، برخی از بلوک‌ها را ذخیره می‌کند و برخی دیگر را در پس‌زمینه پاک می‌کند. همه این جادو برای سیستم عامل، برنامه ها و کاربر کاملاً نامحسوس اتفاق می افتد. با چنین SSD، واقعاً مهم نیست که کدام سیستم فایل استفاده می شود. بهینه سازی های داخلی نسبت به خارجی ها تاثیر بسیار بیشتری بر عملکرد و منابع دارند.

در SSD های مقرون به صرفه (و حتی بیشتر از آن - درایوهای فلش) آنها کنترلرهای هوشمند بسیار کمتری قرار می دهند. حافظه پنهان در آنها کوتاه شده یا وجود ندارد و از فناوری های پیشرفته سرور اصلا استفاده نمی شود. در کارت‌های حافظه، کنترل‌کننده‌ها آنقدر ابتدایی هستند که اغلب ادعا می‌شود که اصلا وجود ندارند. بنابراین، برای دستگاه های ارزان قیمت با حافظه فلش، روش های خارجی متعادل سازی بار - در درجه اول با کمک سیستم های فایل تخصصی - مرتبط باقی می مانند.

از JFFS تا F2FS

یکی از اولین تلاش ها برای نوشتن یک سیستم فایل که اصول سازماندهی حافظه فلش را در نظر بگیرد JFFS - Journaling Flash File System بود. در ابتدا، این توسعه شرکت سوئدی Axis Communications بر بهبود کارایی حافظه دستگاه های شبکه ای متمرکز بود که Axis در دهه نود تولید کرد. نسخه اول JFFS فقط از حافظه NOR پشتیبانی می کرد، اما قبلاً در نسخه دوم با NAND دوست شد.

JFFS2 در حال حاضر استفاده محدودی دارد. هنوز هم بیشتر در توزیع های لینوکس برای سیستم های جاسازی شده استفاده می شود. می توان آن را در روترها، دوربین های IP، NAS و دیگر عادت های اینترنت اشیا یافت. به طور کلی، هر جا که به مقدار کمی حافظه قابل اعتماد نیاز باشد.

توسعه بیشتر JFFS2 LogFS بود که inode های خود را در یک فایل جداگانه نگهداری می کرد. نویسندگان این ایده یک کارمند بخش آلمانی IBM Jörn Engel و یک معلم در دانشگاه Osnabrück Robert Mertens هستند. کد منبع LogFS در GitHub موجود است. با قضاوت بر اساس این واقعیت که آخرین تغییر در آن چهار سال پیش انجام شد، LogFS محبوبیتی به دست نیاورد.

اما این تلاش ها باعث ظهور یک سیستم فایل تخصصی دیگر - F2FS شد. این توسط شرکت سامسونگ ساخته شده است که بخش بزرگی از فلش مموری تولید شده در جهان را به خود اختصاص می دهد. سامسونگ تراشه‌های NAND Flash را برای دستگاه‌های خود و به سفارش شرکت‌های دیگر تولید می‌کند و همچنین به جای دیسک‌های قدیمی، SSD‌هایی را با رابط‌های اساسی جدید توسعه می‌دهد. ایجاد یک فایل سیستم تخصصی بهینه شده برای فلش مموری یک ضرورت دیرینه از دیدگاه سامسونگ بود.

چهار سال پیش، در سال 2012، سامسونگ F2FS (Flash Friendly File System) را ایجاد کرد. ایده او خوب است، اما اجرای آن کمی خشن بود. وظیفه کلیدی هنگام ایجاد F2FS ساده بود: کاهش تعداد عملیات بازنویسی سلول و توزیع بار روی آنها تا حد امکان یکنواخت. این امر مستلزم انجام عملیات بر روی چندین سلول در یک بلوک به طور همزمان است، نه اینکه آنها را یکی پس از دیگری مجبور کنیم. این بدان معناست که ما نیازی به بازنویسی فوری بلوک‌های موجود در اولین درخواست سیستم‌عامل نداریم، بلکه به ذخیره‌سازی دستورات و داده‌ها، افزودن بلوک‌های جدید به فضای آزاد و پاک‌کردن موکول‌شده سلول‌ها نیاز نداریم.

امروزه، پشتیبانی از F2FS قبلاً به طور رسمی در لینوکس (و بنابراین در اندروید) پیاده سازی شده است، اما هنوز در عمل مزیت خاصی را ارائه نمی دهد. ویژگی اصلی این فایل سیستم (بازنویسی با تاخیر) منجر به نتیجه گیری های زودهنگام در مورد اثربخشی آن شد. ترفند قدیمی ذخیره‌سازی حافظه نهان حتی نسخه‌های قبلی معیارها را فریب می‌دهد، جایی که F2FS یک مزیت خیالی را نه چند درصد (همانطور که انتظار می‌رفت) و نه حتی چندین بار، بلکه با دستورات بزرگ نشان داد. فقط درایور F2FS در مورد عملیاتی که کنترلر قصد انجام آن را داشت گزارش داد. با این حال، اگر افزایش عملکرد واقعی F2FS اندک باشد، قطعاً سایش سلولی نسبت به استفاده از همان ext4 کمتر خواهد بود. بهینه سازی هایی که یک کنترلر ارزان نمی تواند انجام دهد در سطح خود فایل سیستم انجام می شود.

پسوندها و بیت مپ ها

در حالی که F2FS برای گیک ها عجیب و غریب تلقی می شود. حتی گوشی های هوشمند خود سامسونگ هنوز از ext4 استفاده می کنند. بسیاری آن را توسعه بیشتر ext3 می دانند، اما این کاملاً درست نیست. این بیشتر در مورد یک انقلاب است تا شکستن مانع 2 ترابایت در هر فایل و به سادگی افزایش سایر شاخص های کمی.

وقتی کامپیوترها بزرگ و فایل ها کوچک بودند، آدرس دهی آسان بود. به هر فایل تعداد مشخصی بلوک اختصاص داده شد که آدرس آنها در جدول مکاتبات وارد شده بود. به این ترتیب فایل سیستم ext3 که تا به حال در خدمت است، کار می کرد. اما ext4 روشی اساساً متفاوت برای آدرس‌دهی را معرفی کرد - وسعت.

پسوندها را می‌توان به‌عنوان پسوندهای inodeها به‌عنوان مجموعه‌های مجزایی از بلوک‌ها در نظر گرفت که به عنوان یک کل به‌عنوان دنباله‌های پیوسته خطاب می‌شوند. یک وسعت می‌تواند شامل یک فایل با اندازه متوسط ​​باشد و برای فایل‌های بزرگ کافی است یک دوجین یا دو وسعت اختصاص دهید. این بسیار کارآمدتر از پرداختن به صدها هزار بلوک کوچک چهار کیلوبایتی است.

در ext4 و خود مکانیسم ضبط تغییر کرده است. اکنون توزیع بلوک ها بلافاصله در یک درخواست انجام می شود. و نه از قبل، بلکه بلافاصله قبل از نوشتن داده ها روی دیسک. تخصیص چند بلوکی به تعویق افتاده به شما امکان می دهد از شر عملیات غیرضروری که ext3 انجام داده خلاص شوید: در آن، بلوک های یک فایل جدید بلافاصله تخصیص داده شد، حتی اگر کاملاً در حافظه نهان قرار گیرد و برنامه ریزی شده بود که به عنوان موقت حذف شود.


رژیم غذایی با چربی محدود

علاوه بر درختان متعادل و اصلاحات آنها، ساختارهای منطقی محبوب دیگری نیز وجود دارد. سیستم های فایل با نوع سازمانی اساساً متفاوت وجود دارد - به عنوان مثال، خطی. احتمالاً حداقل یکی از آنها را اغلب استفاده می کنید.

رمز و راز

معما را حدس بزنید: در دوازده سالگی شروع به افزایش وزن کرد، در شانزده سالگی به طرز احمقانه ای چاق شد و در سی و دو سالگی چاق شد و ساده ماند. اون کیه؟

درست است، این یک داستان در مورد سیستم فایل FAT است. الزامات سازگاری وراثت بد او را تضمین کرد. در فلاپی دیسک، 12 بیتی بود، در هارد دیسک - در ابتدا 16 بیتی بود، و به روزهای ما به عنوان 32 بیت رسیده است. در هر نسخه بعدی، تعداد بلوک های آدرس پذیر افزایش یافت، اما در اصل چیزی تغییر نکرد.

سیستم فایل هنوز محبوب FAT32 بیست سال پیش ظاهر شد. امروزه، هنوز ابتدایی است و از لیست‌های کنترل دسترسی، سهمیه دیسک، فشرده‌سازی پس‌زمینه یا دیگر فناوری‌های بهینه‌سازی داده‌های مدرن پشتیبانی نمی‌کند.

چرا FAT32 این روزها مورد نیاز است؟ هنوز هم فقط برای سازگاری. سازندگان به درستی معتقدند که هر سیستم عاملی می تواند پارتیشن FAT32 را بخواند. بنابراین، آن را بر روی هارد دیسک های خارجی، USB Flash و کارت های حافظه ایجاد می کنند.

چگونه فلش مموری گوشی هوشمند را آزاد کنیم

کارت های microSD (HC) مورد استفاده در گوشی های هوشمند به طور پیش فرض با فرمت FAT32 هستند. این اصلی ترین مانع برای نصب برنامه ها بر روی آنها و انتقال داده ها از حافظه داخلی است. برای غلبه بر آن، باید یک پارتیشن روی کارت با ext3 یا ext4 ایجاد کنید. همه ویژگی های فایل (از جمله مالک و حقوق دسترسی) را می توان به آن منتقل کرد، بنابراین هر برنامه ای می تواند به گونه ای کار کند که گویی از حافظه داخلی راه اندازی شده است.

ویندوز نمی داند که چگونه بیش از یک پارتیشن روی درایوهای فلش بسازد، اما برای این کار می توانید لینوکس (حداقل در یک ماشین مجازی) یا یک ابزار پیشرفته برای کار با پارتیشن بندی منطقی - به عنوان مثال، MiniTool Partition Wizard Free را اجرا کنید. با یافتن یک پارتیشن اولیه اضافی با ext3 / ext4 روی کارت، برنامه Link2SD و برنامه های مشابه گزینه های بسیار بیشتری نسبت به یک پارتیشن FAT32 ارائه می دهند.


به عنوان استدلال دیگری به نفع انتخاب FAT32، عدم ورود به سیستم اغلب نامیده می شود، که به معنای عملیات نوشتن سریع تر و سایش کمتر سلول های حافظه NAND Flash است. در عمل، استفاده از FAT32 به عکس منجر می شود و بسیاری از مشکلات دیگر را به وجود می آورد.

درایوهای فلش و کارت های حافظه به سرعت از بین می روند زیرا هر تغییری در FAT32 باعث بازنویسی همان بخش هایی می شود که دو زنجیره جداول فایل در آن قرار دارند. من کل صفحه وب را ذخیره کردم و صد بار بازنویسی شد - با هر افزودن یک گیف کوچک دیگر به درایو فلش. نرم افزار قابل حمل راه اندازی شد؟ او فایل های موقت ایجاد می کند و مدام آنها را در حین کار تغییر می دهد. بنابراین، استفاده از NTFS بر روی درایوهای فلش با جدول $MFT مقاوم آن بسیار بهتر است. فایل های کوچک را می توان مستقیماً در جدول اصلی فایل ذخیره کرد و پسوندها و کپی های آن در قسمت های مختلف فلش مموری نوشته می شوند. علاوه بر این، به لطف نمایه سازی در NTFS، جستجوها سریعتر هستند.

اطلاعات

برای FAT32 و NTFS، محدودیت های سطح تودرتو نظری مشخص نشده است، اما در عمل آنها یکسان هستند: فقط 7707 زیر شاخه را می توان در دایرکتوری سطح اول ایجاد کرد. کسانی که دوست دارند عروسک های تودرتو بازی کنند از آن قدردانی خواهند کرد.

مشکل دیگری که اکثر کاربران با آن روبرو هستند این است که نوشتن فایلی با حجم بیشتر از 4 گیگابایت در پارتیشن FAT32 غیرممکن است. دلیل آن این است که در FAT32 اندازه فایل با 32 بیت در جدول تخصیص فایل توضیح داده شده است و 2^32 (به طور دقیق منهای یک) دقیقاً چهار گیگابایت است. معلوم می شود که نه یک فیلم با کیفیت معمولی و نه یک تصویر DVD را نمی توان روی یک درایو فلش تازه خریداری شده نوشت.

کپی کردن فایل های بزرگ چندان بد نیست: وقتی سعی می کنید این کار را انجام دهید، خطا حداقل بلافاصله قابل مشاهده است. در شرایط دیگر، FAT32 به عنوان یک بمب ساعتی عمل می کند. به عنوان مثال، شما نرم افزار قابل حمل را روی فلش درایو کپی کرده اید و در ابتدا بدون مشکل از آن استفاده می کنید. بعد از مدت ها یکی از برنامه ها (مثلا حسابداری یا پستی) پایگاه داده ای دارد که متورم می شود و ... به سادگی به روز رسانی متوقف می شود. فایل را نمی توان رونویسی کرد زیرا به حداکثر 4 گیگابایت رسیده است.

یک مشکل کمتر آشکار این است که، در FAT32، تاریخ ایجاد یک فایل یا دایرکتوری را می توان تا دو ثانیه داد. این برای بسیاری از برنامه های رمزنگاری که از مهر زمانی استفاده می کنند کافی نیست. دقت پایین ویژگی "date" دلیل دیگری است که FAT32 از نظر امنیتی یک سیستم فایل کامل در نظر گرفته نمی شود. با این حال، از نقاط ضعف آن می توان برای اهداف خود استفاده کرد. به عنوان مثال، اگر هر فایلی را از یک پارتیشن NTFS در یک حجم FAT32 کپی کنید، از تمام ابرداده ها و همچنین مجوزهای ارثی و تنظیم شده ویژه پاک می شوند. FAT آنها را پشتیبانی نمی کند.

exFAT

برخلاف FAT12/16/32، exFAT به طور خاص برای USB Flash و کارت های حافظه بزرگ (≥ 32 گیگابایت) طراحی شده است. FAT توسعه یافته مضرات FAT32 را که در بالا ذکر شد حذف می کند - بازنویسی همان بخش ها با هر تغییری. به عنوان یک سیستم 64 بیتی، هیچ محدودیت عملی در اندازه یک فایل ندارد. از نظر تئوری، می تواند 2 ^ 64 بایت (16 EB) باشد و کارت هایی با این اندازه به زودی ظاهر نمی شوند.

یکی دیگر از تفاوت های اساسی بین exFAT پشتیبانی از لیست های کنترل دسترسی (ACL) است. این دیگر همان چیز ساده دهه نود نیست، با این حال، نزدیک بودن قالب مانع از معرفی exFAT می شود. پشتیبانی ExFAT به طور کامل و قانونی فقط در ویندوز (شروع با XP SP2) و OS X (شروع با 10.6.5) اجرا می شود. در لینوکس و *BSD، یا به صورت محدود یا غیرقانونی پشتیبانی می شود. مایکروسافت برای استفاده از exFAT به مجوز نیاز دارد و در این زمینه اختلافات قانونی زیادی وجود دارد.

btrfs

یکی دیگر از سیستم های فایل B-tree برجسته Btrfs نام دارد. این FS در سال 2007 ظاهر شد و در ابتدا در Oracle با هدف کار با SSD و RAID ساخته شد. به عنوان مثال، می توان آن را به صورت پویا مقیاس بندی کرد: Inode های جدید درست روی سیستم در حال اجرا ایجاد کنید یا یک حجم را بدون اختصاص فضای خالی به زیر حجم ها تقسیم کنید.

مکانیسم کپی در نوشتن پیاده‌سازی شده در Btrfs و ادغام کامل با ماژول هسته نقشه‌بر دستگاه به شما امکان می‌دهد تا از طریق دستگاه‌های بلوک مجازی، عکس‌های فوری تقریباً آنی ایجاد کنید. پیش فشرده سازی داده ها (zlib یا lzo) و حذف مجدد، عملیات اساسی را سرعت می بخشد، در حالی که طول عمر حافظه فلش را افزایش می دهد. این امر به ویژه هنگام کار با پایگاه داده ها (فشرده سازی 2-4 بار حاصل می شود) و فایل های کوچک (آنها در بلوک های بزرگ منظم نوشته می شوند و می توانند مستقیماً در "برگ ها" ذخیره شوند قابل توجه است).

Btrfs همچنین از ثبت کامل (داده ها و متادیتا)، بررسی حجم صدا بدون نصب کردن، و بسیاری از ویژگی های مدرن دیگر پشتیبانی می کند. کد Btrfs تحت مجوز GPL منتشر شده است. این فایل سیستم از نسخه هسته 4.3.1 به عنوان پایدار در لینوکس پشتیبانی می شود.

دفترچه های ثبت نام

تقریباً همه سیستم‌های فایل کم و بیش مدرن (ext3 / ext4، NTFS، HFSX، Btrfs و غیره) به گروه کلی موارد ژورنال شده تعلق دارند، زیرا تغییرات ایجاد شده را در یک گزارش جداگانه (ژورنال) پیگیری می‌کنند و در صورت لزوم با آن بررسی می‌کنند. خرابی در حین عملیات دیسک با این حال، جزئیات ثبت و تحمل خطا بین این فایل سیستم ها متفاوت است.

ext3 از سه حالت ورود به سیستم پشتیبانی می‌کند: Loopback، Ordered و Full Logging. حالت اول شامل نوشتن فقط تغییرات کلی (فراداده) است که به صورت ناهمزمان با توجه به تغییرات خود داده انجام می شود. حالت دوم همان نوشتن ابرداده را انجام می دهد، اما کاملاً قبل از ایجاد هر گونه تغییری. حالت سوم معادل ثبت کامل است (هم در ابرداده و هم در خود فایل ها تغییر می کند).

فقط آخرین گزینه یکپارچگی داده ها را فراهم می کند. دو مورد باقی مانده فقط تشخیص خطاها را در حین بررسی سرعت می بخشند و بازیابی یکپارچگی خود سیستم فایل را تضمین می کنند، اما نه محتویات فایل ها.

ژورنال نویسی در NTFS مشابه حالت دوم ثبت در ext3 است. فقط تغییرات در فراداده ثبت می شود و ممکن است در صورت خرابی، خود داده ها از بین بروند. این روش ورود به سیستم NTFS به عنوان راهی برای دستیابی به حداکثر قابلیت اطمینان در نظر گرفته نشده است، بلکه تنها به عنوان یک سازش بین سرعت و تحمل خطا است. به همین دلیل است که افرادی که به کار با سیستم های کاملاً ژورنال شده عادت دارند، NTFS را شبه ژورنال می دانند.

رویکرد پیاده سازی شده در NTFS از برخی جهات حتی بهتر از پیش فرض در ext3 است. NTFS علاوه بر این، به طور دوره‌ای نقاط بازرسی ایجاد می‌کند تا اطمینان حاصل کند که تمام عملیات‌های دیسک در انتظار تکمیل شده‌اند. نقاط بازرسی هیچ ارتباطی با نقاط بازیابی در \System Volume Information\ ندارند. اینها فقط ورودی های خدمات در گزارش هستند.

تمرین نشان می دهد که در اکثر موارد چنین ژورنالینگ جزئی NTFS برای عملیات بدون مشکل کافی است. از این گذشته، حتی با قطع شدید برق، دستگاه های دیسک فوراً برق را قطع نمی کنند. منبع تغذیه و خازن های متعدد در خود درایوها فقط حداقل مقدار انرژی را فراهم می کنند که برای تکمیل عملیات نوشتن فعلی کافی است. با SSD های مدرن، با سرعت و کارایی خود، معمولاً همان مقدار انرژی برای انجام عملیات معلق کافی است. تلاش برای جابجایی به ثبت کامل باعث کاهش سرعت بیشتر عملیات ها می شود.

ما فایل سیستم های شخص ثالث را در ویندوز متصل می کنیم

استفاده از سیستم های فایل به دلیل پشتیبانی آنها در سطح سیستم عامل محدود شده است. به عنوان مثال، ویندوز ext2/3/4 و HFS+ را نمی فهمد، اما گاهی اوقات لازم است از آنها استفاده کنید. با اضافه کردن درایور مناسب می توانید این کار را انجام دهید.

هشدار

اکثر درایورها و پلاگین ها برای پشتیبانی از سیستم های فایل شخص ثالث محدودیت های خود را دارند و همیشه ثابت کار نمی کنند. آنها ممکن است با سایر درایورها، آنتی ویروس ها و برنامه های مجازی سازی تضاد داشته باشند.

درایور منبع باز برای خواندن و نوشتن پارتیشن های ext2/3 با پشتیبانی جزئی از ext4. آخرین نسخه از وسعت و پارتیشن تا 16 ترابایت پشتیبانی می کند. LVM، لیست های کنترل دسترسی، و ویژگی های توسعه یافته پشتیبانی نمی شوند.


یک افزونه رایگان برای Total Commander وجود دارد. از خواندن پارتیشن های ext2/3/4 پشتیبانی می کند.


coLinux یک پورت باز و رایگان از هسته لینوکس است. همراه با یک درایور 32 بیتی، به شما امکان می دهد لینوکس را بر روی ویندوز 2000 تا 7 بدون استفاده از فناوری های مجازی سازی اجرا کنید. فقط از نسخه های 32 بیتی پشتیبانی می کند. توسعه اصلاح 64 بیتی لغو شده است. coLinux، از جمله موارد دیگر، امکان سازماندهی دسترسی به پارتیشن های ext2/3/4 از ویندوز را فراهم می کند. پشتیبانی از این پروژه در سال 2014 به حالت تعلیق درآمد.

ویندوز 10 ممکن است قبلاً از سیستم های فایل خاص لینوکس پشتیبانی داخلی داشته باشد، فقط پنهان است. این افکار توسط درایور سطح هسته Lxcore.sys و سرویس LxssManager که به عنوان یک کتابخانه توسط فرآیند Svchost.exe بارگیری می شود، پیشنهاد می شود. برای اطلاعات بیشتر در این مورد، به سخنرانی الکس یونسکو با عنوان "هسته لینوکس پنهان در ویندوز 10" در Black Hat 2016 مراجعه کنید.


ExtFS برای ویندوز یک درایور پولی است که توسط Paragon منتشر شده است. روی ویندوز 7 تا 10 کار می کند، از دسترسی خواندن/نوشتن به حجم های ext2/3/4 پشتیبانی می کند. پشتیبانی تقریباً کاملی از ext4 در ویندوز ارائه می دهد.

HFS+ برای ویندوز 10 یکی دیگر از درایورهای اختصاصی Paragon Software است. با وجود نام، در تمام نسخه های ویندوز از XP کار می کند. دسترسی کامل به سیستم های فایل HFS+/HFSX بر روی دیسک ها با هر طرح بندی (MBR/GPT) را فراهم می کند.

WinBtrfs توسعه اولیه درایور Btrfs برای ویندوز است. در حال حاضر در نسخه 0.6، از دسترسی خواندن و نوشتن به حجم های Btrfs پشتیبانی می کند. می تواند پیوندهای سخت و نمادین را مدیریت کند، از جریان های داده متناوب، ACL ها، دو نوع فشرده سازی و حالت خواندن/نوشتن ناهمزمان پشتیبانی می کند. در حالی که WinBtrfs نمی داند چگونه از mkfs.btrfs، btrfs-balance و سایر ابزارهای کمکی برای حفظ این فایل سیستم استفاده کند.

قابلیت ها و محدودیت های سیستم فایل: جدول خلاصه

سیستم فایل حداکثر حجم کوچک محدود کردن حجم یک فایل طول نام فایل خود طول نیمی از نام فایل (شامل مسیر از ریشه) تعداد فایل ها و/یا فهرست ها را محدود کنید دقت در نشان دادن تاریخ فایل / کاتالوگ حقوق Dos-tu-pa لینک های سخت پیوندهای نمادین عکس‌های فوری ورید (عکس‌های فوری) فشرده سازی داده ها در پس زمینه داده های رمزارز-رو-وا-نی در پس زمینه داده های Dedu-pli-ka-tion
FAT16 2 گیگابایت در بخش های 512 بایتی یا 4 گیگابایت در کلاسترهای 64 کیلوبایتی 2 گیگابایت 255 بایت با LFN
FAT32 8 ترابایت در بخش های 2 کیلوبایتی 4 گیگابایت (2^32 - 1 بایت) 255 بایت با LFN تا 32 زیر شاخه با CDS 65460 10 میلی‌ثانیه (ایجاد) / 2 ثانیه (تغییر) خیر خیر خیر خیر خیر خیر خیر
exFAT ≈ 128 PB (2^32-1 خوشه 2^25-1 بایت) نظری / 512 TB به دلیل محدودیت های شخص ثالث 16 EB (2^64 - 1 بایت) 2796202 در کاتالوگ 10 میلی ثانیه ACL خیر خیر خیر خیر خیر خیر
NTFS 256 ترابایت در کلاسترهای 64 کیلوبایتی یا 16 ترابایت در کلاسترهای 4 کیلوبایتی 16 ترابایت (برنده 7) / 256 ترابایت (برنده 8) 255 کاراکتر یونیکد (UTF-16) 32760 کاراکتر یونیکد، اما حداکثر 255 کاراکتر در هر عنصر 2^32-1 100 ns ACL آره آره آره آره آره آره
HFS+ 8 EB (2^63 بایت) 8 EB 255 کاراکتر یونیکد (UTF-16) به طور جداگانه محدود نمی شود 2^32-1 1 ثانیه یونیکس ACL آره آره خیر آره آره خیر
APFS 8 EB (2^63 بایت) 8 EB 255 کاراکتر یونیکد (UTF-16) به طور جداگانه محدود نمی شود 2^63 1 ns یونیکس ACL آره آره آره آره آره آره
Ext3 32 ترابایت (از لحاظ نظری) / 16 ترابایت در کلاسترهای 4 کیلوبایتی (به دلیل محدودیت های برنامه های کاربردی e2fs) 2 ترابایت (از لحاظ نظری) / 16 گیگابایت برای برنامه های قدیمی تر 255 کاراکتر یونیکد (UTF-16) به طور جداگانه محدود نمی شود 1 ثانیه یونیکس ACL آره آره خیر خیر خیر خیر
Ext4 1 EB (از لحاظ نظری) / 16 ترابایت در کلاسترهای 4 کیلوبایتی (به دلیل محدودیت های برنامه های کاربردی e2fs) 16 ترابایت 255 کاراکتر یونیکد (UTF-16) به طور جداگانه محدود نمی شود 4 میلیارد 1 ns POSIX آره آره خیر خیر آره خیر
F2FS 16 ترابایت 3.94 ترابایت 255 بایت به طور جداگانه محدود نمی شود 1 ns POSIX، ACL آره آره خیر خیر آره خیر
BTRFS 16 EB (2^64 - 1 بایت) 16 EB 255 کاراکتر ASCII 2^17 بایت 1 ns POSIX، ACL آره آره آره آره آره آره

در حال حاضر، بازار کامپیوتر گزینه های زیادی را برای ذخیره حجم عظیمی از اطلاعات شخصی یا شرکتی به شکل دیجیتال ارائه می دهد. دستگاه‌های ذخیره‌سازی شامل هارد دیسک‌های داخلی و خارجی، درایوهای فلش USB، کارت‌های حافظه عکس/فیلم‌برداری، سیستم‌های پیچیده RAID و غیره هستند. اسناد واقعی، ارائه‌ها، تصاویر، موسیقی، ویدئوها، پایگاه‌های اطلاعاتی، ایمیل‌ها در فایل‌هایی ذخیره می‌شوند که می‌توانند مقدار زیادی را اشغال کنند. از فضا

این مقاله شرح مفصلی از نحوه ذخیره اطلاعات در یک دستگاه ذخیره سازی ارائه می دهد.

هر فایل کامپیوتری در فضای ذخیره سازی با ظرفیت معین ذخیره می شود. در واقع هر ذخیره سازی فضایی خطی برای خواندن یا خواندن و نوشتن اطلاعات دیجیتال است. هر بایت اطلاعات موجود در ذخیره سازی از ابتدای ذخیره سازی (آدرس) افست مخصوص به خود را دارد و به این آدرس اشاره دارد. ذخیره سازی را می توان به صورت شبکه ای با مجموعه ای از سلول های شماره گذاری شده (هر سلول نشان دهنده یک بایت) نشان داد. هر فایلی که در صندوق ذخیره می شود این سلول ها را دریافت می کند.

به طور معمول، ذخیره سازی رایانه از یک جفت سکتور و یک جبران بخش برای ارجاع به هر بایتی از اطلاعات موجود در حافظه استفاده می کند. یک بخش، گروهی از بایت ها (معمولاً 512 بایت)، کوچکترین واحد آدرس پذیر ذخیره سازی فیزیکی است. به عنوان مثال، 1040 بایت در یک هارد دیسک به عنوان بخش شماره 3 و یک بخش افست 16 بایت ([بخش - 512] + [بخش - 512] + ) نامیده می شود. این طرح برای بهینه سازی آدرس دهی فروشگاه و استفاده از یک عدد کمتر برای ارجاع به اطلاعات موجود در فروشگاه استفاده می شود.

برای حذف قسمت دوم آدرس (تغییر بخش)، فایل‌ها معمولاً از ابتدای بخش ذخیره می‌شوند و کل بخش‌ها را اشغال می‌کنند (به عنوان مثال، یک فایل 10 بایتی کل بخش را اشغال می‌کند، یک فایل 512 بایتی نیز بخش را اشغال می‌کند. کل بخش، در حالی که یک فایل 514 بایتی دو بخش کامل را اشغال می کند).

هر فایل در بخش‌های «استفاده‌نشده» ذخیره می‌شود و می‌توان آن را از یک موقعیت و اندازه مشخص خواند. با این حال، چگونه متوجه شویم که کدام بخش ها در حال استفاده هستند و کدام بخش ها استفاده نمی شوند؟ اندازه، موقعیت و نام فایل در کجا ذخیره می شود؟ این پاسخ ها توسط سیستم فایل داده می شود.

به طور کلی، یک سیستم فایل یک نمایش ساختار یافته از داده ها و مجموعه ای از ابرداده است که داده های ذخیره شده را توصیف می کند. سیستم فایل برای ذخیره کل فضای ذخیره سازی، و همچنین بخشی از یک بخش ذخیره سازی ایزوله - یک پارتیشن دیسک است. به طور معمول، سیستم فایل، بلوک ها را مدیریت می کند، نه بخش ها. بلوک های سیستم فایل گروهی از بخش ها هستند که آدرس دهی ذخیره سازی را بهینه می کنند. سیستم‌های فایل مدرن معمولاً از اندازه‌های بلوک از 1 تا 128 بخش (512-65536 بایت) استفاده می‌کنند. فایل ها معمولاً در ابتدای یک بلوک ذخیره می شوند و کل بلوک ها را اشغال می کنند.

عملیات بزرگ نوشتن/حذف در سیستم فایل منجر به تکه تکه شدن سیستم فایل می شود. بنابراین، فایل ها به عنوان واحدهای کامل ذخیره نمی شوند، بلکه به قطعات تقسیم می شوند. به عنوان مثال، کل فضای ذخیره سازی توسط فایل هایی با اندازه حدود 4 بلوک (به عنوان مثال، مجموعه ای از تصاویر) اشغال شده است. کاربر می خواهد فایلی را ذخیره کند که 8 بلوک طول می کشد و بنابراین اولین و آخرین فایل را حذف می کند. با انجام این کار، 8 بلوک فضا را پاک می کند، اما بخش اول نزدیک به شروع ذخیره سازی و بخش دوم نزدیک به پایان ذخیره سازی است. در این حالت، یک فایل با 8 بلوک به دو قسمت (4 بلوک برای هر قسمت) تقسیم می شود و "حفره" فضای آزاد را اشغال می کند. اطلاعات مربوط به هر دو قطعه به عنوان بخشی از یک فایل واحد در سیستم فایل ذخیره می شود.

علاوه بر فایل‌های کاربر، سیستم فایل همچنین دارای گزینه‌های خاص خود (مانند اندازه بلوک)، توصیف‌کننده‌های فایل (از جمله اندازه فایل، مکان فایل، قطعات فایل و غیره)، نام فایل‌ها و سلسله‌مراتب دایرکتوری است. همچنین می تواند اطلاعات امنیتی، ویژگی های توسعه یافته و گزینه های دیگر را ذخیره کند.

برای برآوردن نیازهای مختلف مانند عملکرد ذخیره سازی، پایداری و قابلیت اطمینان، تعداد زیادی از سیستم های فایل برای خدمت به اهداف خاص کاربر طراحی شده اند.

فایل سیستم های ویندوز

سیستم عامل ویندوز مایکروسافت از دو سیستم فایل اصلی استفاده می کند: FAT که از DOS قدیمی با پسوند بعدی FAT32 به ارث رسیده است و سیستم های فایل NTFS که به طور گسترده استفاده می شود. فایل سیستم ReFS اخیراً منتشر شده توسط مایکروسافت به عنوان یک فایل سیستم نسل بعدی برای سرورهای ویندوز 8، 10 توسعه یافته است.

FAT (جدول تخصیص فایل) یکی از ساده ترین انواع سیستم های فایل است. این شامل یک بخش توصیفگر سیستم فایل (بخش بوت یا سوپر بلوک)، یک جدول تخصیص بلوک سیستم فایل (به نام جدول تخصیص فایل) و یک فضای ساده برای ذخیره فایل ها و پوشه ها است. فایل های FAT در فهرست ها ذخیره می شوند. هر دایرکتوری آرایه ای از ورودی های 32 بایتی است که هر کدام فایل ها یا ویژگی های فایل توسعه یافته (مانند نام فایل طولانی) را مشخص می کند. ورودی فایل اولین بلوک فایل را اختصاص می دهد. هر بلوک بعدی را می توان از طریق جدول تخصیص بلوک، با استفاده از آن به عنوان یک لیست پیوندی پیدا کرد.

جدول تخصیص بلوک حاوی آرایه ای از توصیفگرهای بلوک است. مقدار صفر نشان دهنده عدم استفاده از بلوک است، در حالی که مقداری غیر از صفر به بلوک بعدی در فایل یا مقدار خاصی برای انتهای فایل اشاره دارد.

اعداد موجود در FAT12، FAT16، FAT32 تعداد بیت های مورد استفاده برای شمارش یک بلوک سیستم فایل را نشان می دهد. این بدان معنی است که FAT12 می تواند تا 4096 مرجع مختلف بلوک استفاده کند، در حالی که FAT16 و FAT32 می توانند به ترتیب تا 65536 و 4294967296 استفاده کنند. حداکثر تعداد واقعی بلوک ها حتی کمتر است و به اجرای درایور سیستم فایل بستگی دارد.

FAT12 برای فلاپی دیسک های قدیمی استفاده می شد. FAT16 (یا به سادگی FAT) و FAT32 به طور گسترده برای کارت های حافظه فلش و درایوهای فلش USB استفاده می شوند. این سیستم توسط تلفن های همراه، دوربین های دیجیتال و سایر دستگاه های قابل حمل پشتیبانی می شود.

FAT یا FAT32 سیستم فایلی است که در حافظه خارجی سازگار با ویندوز یا پارتیشن‌های دیسکی که کمتر از 2 گیگابایت (برای FAT) یا 32 گیگابایت (برای FAT32) هستند استفاده می‌شود. ویندوز نمی تواند یک سیستم فایل FAT32 بزرگتر از 32 گیگابایت ایجاد کند (اما لینوکس از FAT32 تا 2 ترابایت پشتیبانی می کند).

NTFS (سیستم فایل فناوری جدید) با ویندوز NT معرفی شد و در حال حاضر سیستم فایل اصلی ویندوز است. این سیستم فایل پیش‌فرض برای پارتیشن‌های دیسک است و تنها سیستم فایلی است که از پارتیشن‌های دیسک ۳۲ گیگابایتی پشتیبانی می‌کند. سیستم فایل کاملاً قابل توسعه است و از بسیاری از ویژگی های فایل، از جمله کنترل دسترسی، رمزگذاری، و غیره پشتیبانی می کند. هر فایل در NTFS به عنوان یک توصیف کننده فایل در جدول فایل اصلی و محتوای فایل ذخیره می شود. جدول فایل اصلی شامل تمام اطلاعات مربوط به فایل است: اندازه، توزیع، نام، و غیره. اولین و آخرین بخش سیستم فایل حاوی پارامترهای سیستم فایل ( رکورد بوت یا سوپر بلوک) است. این فایل سیستم از مقادیر 48 و 64 بیتی برای پیوندهای فایل استفاده می کند، بنابراین از ذخیره سازی دیسک با ظرفیت بالا پشتیبانی می کند.

ReFS (Resilient File System) آخرین توسعه مایکروسافت است و در حال حاضر برای سرورهای ویندوز 8 و 10 در دسترس است.معماری سیستم فایل کاملاً با سایر فایل سیستم های ویندوز متفاوت است و اساساً به صورت درختی B+ سازماندهی شده است. ReFS به دلیل ویژگی‌های جدید موجود در سیستم، یعنی Copy-on-Write (CoW) بسیار مقاوم به خطا است: هیچ ابرداده‌ای بدون کپی تغییر نمی‌کند. داده ها در فضای دیسک جدید نوشته می شوند، نه روی داده های موجود. هر زمان که فایل‌ها اصلاح می‌شوند، یک کپی جدید از ابرداده در فضای ذخیره‌سازی رایگان ذخیره می‌شود و سپس سیستم پیوندی از ابرداده قدیمی به جدیدتر ایجاد می‌کند. بنابراین، سیستم تعداد قابل توجهی از پشتیبان‌گیری‌های قدیمی را در مکان‌های مختلف ذخیره می‌کند و در صورتی که مکان ذخیره‌سازی بازنویسی نشده باشد، امکان بازیابی آسان فایل را فراهم می‌کند.

برای اطلاعات در مورد بازیابی اطلاعات از این فایل سیستم ها، به صفحه " مراجعه کنید. شانس بهبودی ».

سیستم های فایل macOS

سیستم عامل Apple MacOS از دو سیستم فایل استفاده می کند: HFS+، پسوندی برای سیستم فایل HFS خودش که در رایانه های قدیمی مکینتاش استفاده می شود، و APFS که اخیراً منتشر شده است.

سیستم فایل HFS+ روی محصولات اپل، از جمله مک، آی پاد، و محصولات Apple X Server اجرا می شود. محصولات سرور پیشرفته همچنین از سیستم فایل Apple Xsan استفاده می کنند، یک سیستم فایل خوشه ای که از سیستم های فایل StorNext یا CentraVision ایجاد شده است.

این فایل سیستم فایل ها و پوشه ها و اطلاعات Finder را در مورد مرور دایرکتوری، موقعیت پنجره ها و غیره ذخیره می کند.

سیستم های فایل لینوکس

سیستم عامل لینوکس منبع باز با هدف معرفی، آزمایش و استفاده از مفاهیم مختلف سیستم فایل است.

محبوب ترین فایل سیستم های لینوکس عبارتند از:

  • ext2، ext3، ext4- سیستم فایل لینوکس "بومی". این فایل سیستم در حال توسعه و بهبود فعال است. فایل سیستم Ext3 به سادگی یک پسوند Ext2 است که از عملیات نوشتن گزارش تراکنش استفاده می کند. Ext4 توسعه بیشتر Ext3 با پشتیبانی از اطلاعات بهینه سازی تخصیص فایل (extent) و ویژگی های فایل توسعه یافته است. این فایل سیستم اغلب به عنوان سیستم فایل "ریشه" برای اکثر نصب های لینوکس استفاده می شود.
  • ReiserFS-یک سیستم فایل لینوکس جایگزین برای ذخیره حجم عظیمی از فایل های کوچک. قابلیت جستجوی فایل خوبی دارد و به شما این امکان را می‌دهد که فایل‌ها را با نگه‌داشتن دنباله‌های فایل یا فایل‌های کوچک همراه با ابرداده به طور فشرده توزیع کنید تا از بلوک‌های بزرگ سیستم فایل برای همان هدف استفاده نکنید.
  • XFSفایل سیستمی است که توسط SGI ایجاد شده و در اصل برای سرورهای IRIX این شرکت استفاده می شود. مشخصات XFS اکنون در لینوکس پیاده سازی شده است. فایل سیستم XFS عملکرد بسیار خوبی دارد و به طور گسترده برای ذخیره سازی فایل استفاده می شود.
  • JFS- یک سیستم فایل توسعه یافته توسط IBM برای سیستم های محاسباتی قدرتمند این شرکت. JFS1 معمولا مخفف JFS است، JFS2 نسخه دوم است. این فایل سیستم در حال حاضر منبع باز است و در اکثر نسخه های مدرن لینوکس پیاده سازی شده است.

مفهوم " اتصال سخت' مورد استفاده در چنین سیستم عامل هایی باعث می شود که اکثر سیستم های فایل لینوکس یکسان باشند، زیرا نام فایل به عنوان یک ویژگی فایل در نظر گرفته نمی شود، بلکه به عنوان نام مستعار برای یک فایل در یک فهرست خاص تعریف می شود. یک شی فایل را می توان با مکان های زیادی مرتبط کرد، حتی از یک دایرکتوری با نام های مختلف کپی کرد. این می تواند منجر به مشکلات جدی و حتی غیرقابل حل در بازیابی نام فایل ها پس از حذف فایل ها یا خراب کردن سیستم فایل شود.

برای اطلاعات در مورد بازیابی اطلاعات از این فایل سیستم ها، به صفحه "" مراجعه کنید.

سیستم های فایل BSD، Solaris، Unix

رایج ترین سیستم فایل برای این سیستم عامل ها UFS (سیستم فایل یونیکس) است که اغلب با نام FFS (سیستم فایل سریع) نیز شناخته می شود.

در حال حاضر UFS (در نسخه های مختلف) توسط تمامی سیستم عامل های خانواده یونیکس پشتیبانی می شود و سیستم فایل اصلی سیستم عامل BSD و سیستم عامل Sun Solaris می باشد. فن‌آوری رایانه‌ای مدرن تمایل دارد جایگزین‌هایی برای UFS در سیستم‌عامل‌های مختلف (ZFS برای Solaris، JFS و سیستم‌های فایل مشتق شده برای Unix و غیره) پیاده‌سازی کند.

برای اطلاعات در مورد بازیابی اطلاعات از این فایل سیستم ها، به صفحه "" مراجعه کنید.

سیستم های فایل خوشه ای

سیستم های فایل خوشه ای در سیستم های خوشه ای کامپیوتری استفاده می شوند. این فایل سیستم ها از ذخیره سازی توزیع شده پشتیبانی می کنند.

فایل سیستم های توزیع شده عبارتند از:

  • ZFS- "Zettabyte File System" - یک سیستم فایل جدید که برای ذخیره سازی توزیع شده Sun Solaris OS طراحی شده است.
  • اپل Xsan- تکامل اپل در سیستم فایل CentraVision و بعداً StorNext.
  • VMFS- "سیستم فایل ماشین مجازی" که توسط VMware برای سرور VMware ESX خود توسعه یافته است.
  • GFS- Red Hat Linux "Global File System".
  • JFS1طراحی اصلی (منسوخ) سیستم فایل IBM JFS است که در سیستم های ذخیره سازی قدیمی AIX استفاده می شود.

ویژگی های مشترک این فایل سیستم ها شامل پشتیبانی از ذخیره سازی توزیع شده، توسعه پذیری و مدولار بودن است.

برای اطلاعات بیشتر در مورد بازیابی اطلاعات از این فایل سیستم ها، به صفحه "" مراجعه کنید.

اطلاعات کلی در مورد سیستم فایل

سیستم عامل ویندوز 8 چندین سیستم فایل را پشتیبانی می کند: NTFS، FAT و FAT32. اما فقط می تواند کار کند NTFS، یعنی فقط روی یک پارتیشن دیسک سخت فرمت شده در این فایل سیستم قابل نصب است. این به دلیل ویژگی ها و ابزارهای امنیتی است که در آن ارائه شده است NTFS، اما در فایل سیستم های ویندوز نسل قبلی وجود ندارد: FAT16و FAT32. در مرحله بعد، ما روی کل خط فایل سیستم های ویندوز تمرکز می کنیم تا بفهمیم آنها چه نقشی در عملکرد سیستم دارند و چگونه در فرآیند تبدیل شدن به ویندوز تا ویندوز 8 توسعه یافته اند.

مزایای NTFSتقریباً به همه چیز مربوط می شود: عملکرد، قابلیت اطمینان و کارایی کار با داده ها (فایل ها) روی دیسک. بنابراین، یکی از اهداف اصلی ایجاد NTFSاطمینان از عملکرد سریع عملیات روی فایل ها (کپی، خواندن، حذف، نوشتن)، و همچنین ارائه ویژگی های اضافی: فشرده سازی داده ها، بازیابی فایل های سیستم آسیب دیده روی دیسک های بزرگ و غیره.

یکی دیگر از اهداف اصلی ایجاد NTFSاز آنجایی که سیستم فایل، الزامات امنیتی افزایش یافته است چربی, FAT32از این نظر اصلا خوب نبودند. دقیقا در NTFSمی توانید دسترسی به هر فایل یا پوشه ای را مجاز یا رد کنید (حقوق دسترسی را محدود کنید).


ابتدا به ویژگی های مقایسه ای فایل سیستم ها نگاه می کنیم و سپس در مورد هر یک از آنها با جزئیات بیشتری صحبت می کنیم. مقایسه، برای وضوح بیشتر، به شکل جدول آورده شده است.

سیستم فایل چربیبه سادگی برای هارد دیسک های مدرن (به دلیل قابلیت های محدود) مناسب نیست. مربوط به FAT32، پس هنوز هم می توان از آن استفاده کرد، اما با کشش. اگر یک هارد 1000 گیگابایتی بخرید، باید آن را حداقل به چند پارتیشن پارتیشن بندی کنید. و اگر قرار است ویرایش ویدیو را انجام دهید، بسیار مزاحم خواهید شد محدودیت 4 گیگابایت به عنوان حداکثر اندازه فایل ممکن.

سیستم فایل از تمام کاستی های ذکر شده محروم است. NTFS. بنابراین، حتی بدون پرداختن به جزئیات و ویژگی های خاص فایل سیستم NTFS، می توانید به نفع او انتخاب کنید.

فایل
سیستم
مولفه های
اندازه های حجمی حداکثر اندازه فایل
چربی از 1.44 مگابایت تا 4 گیگابایت 2 گیگابایت
FAT32 از نظر تئوری، حجم 512 مگابایت تا 2 ترابایت امکان پذیر است. فشرده سازی در سطح سیستم فایل پشتیبانی نمی شود 4 گیگابایت
NTFS حداقل اندازه توصیه شده 1.44 مگابایت و حداکثر 2 ترابایت است. پشتیبانی از فشرده سازی در سطح سیستم فایل برای فایل ها، دایرکتوری ها و حجم ها. حداکثر اندازه فقط با اندازه حجم محدود می شود (از لحاظ نظری - 264 بایت منهای 1 کیلوبایت. عملا - 244 بایت منهای 64 کیلوبایت)

استفاده عمومی FAT32فقط در مواردی قابل توجیه است که چندین سیستم عامل روی رایانه خود نصب کرده باشید و هیچ کدام از آنها پشتیبانی نمی کند NTFS. اما امروزه عملا هیچ کدام وجود ندارد. مگر اینکه بخواهید عتیقه هایی مانند ویندوز 98 نصب کنید.

سیستم فایل FAT

سیستم فایل چربی(معمولاً به این معنی است چربی 16) مدتها پیش توسعه یافته بود و برای کار با حجم های کوچک دیسک و فایل، یک ساختار دایرکتوری ساده در نظر گرفته شده بود. مخفف چربیمخفف جدول تخصیص فایل(از جدول تخصیص فایل انگلیسی). این جدول در ابتدای جلد قرار گرفته و دو نسخه از آن (به منظور پایداری بیشتر) نگهداری می شود.
این جدول توسط سیستم عامل برای یافتن فایل و تعیین موقعیت فیزیکی آن بر روی هارد دیسک استفاده می شود. اگر جدول (و کپی آن) آسیب دیده باشد، سیستم عامل نمی تواند فایل ها را بخواند. به سادگی نمی تواند تعیین کند که کدام فایل کدام است، کجا شروع می شود و کجا به پایان می رسد. در چنین مواردی گفته می شود که سیستم فایل "سقوط" کرده است.
سیستم فایل چربیدر اصل توسط مایکروسافت برای فلاپی دیسک توسعه داده شد. تنها پس از آن آنها شروع به اعمال آن بر روی هارد دیسک کردند. در ابتدا بود FAT12(برای فلاپی دیسک و هارد دیسک تا 16 مگابایت)، و سپس رشد کرد FAT16که با سیستم عامل MS-DOS 3.0 معرفی شد.

سیستم فایل FAT32

با شروع ویندوز 95 OSR2، مایکروسافت شروع به استفاده فعال در سیستم عامل های خود کرد FAT32- نسخه 32 بیتی چربی. چه باید کرد، پیشرفت فن آوری هنوز ایستاده نیست و فرصت ها چربی 16به وضوح کافی نیست
در مقایسه با او FAT32شروع به ارائه دسترسی بهینه تر به دیسک ها، عملیات I/O سریع تر و همچنین پشتیبانی از حجم فایل های بزرگ (اندازه دیسک تا 2 ترابایت) کرد.
که در FAT32استفاده کارآمدتر از فضای دیسک (با استفاده از خوشه های کوچکتر) را اجرا کرد. سود در مقایسه با FAT16حدود 10 ... 15٪ است. یعنی هنگام استفاده FAT32 10 ... 15 درصد اطلاعات بیشتری را می توان در یک دیسک نوشت نسبت به هنگام استفاده از FAT16.
علاوه بر این، باید توجه داشت که FAT32قابلیت اطمینان بالاتر و سرعت بالاتر راه اندازی برنامه را فراهم می کند.
این به دلیل دو نوآوری مهم است:
امکان جابجایی دایرکتوری ریشه و پشتیبان چربی(اگر نسخه اصلی آسیب دیده باشد)

امکان ذخیره یک نسخه پشتیبان از اطلاعات سیستم.

سیستم فایل NTFS

اطلاعات کلی
هیچ یک از نسخه های FAT سطح قابل قبولی از امنیت را ارائه نمی دهد. این، و همچنین نیاز به مکانیسم های اضافی فایل (فشرده سازی، رمزگذاری) منجر به نیاز به ایجاد یک سیستم فایل اساساً جدید شد. و تبدیل به سیستم فایل شد NT (NTFS)
NTFS- از انگلیسی. سیستم فایل فناوری جدید - سیستم فایل فناوری جدید
همانطور که قبلا ذکر شد، مزیت اصلی آن امنیت است: برای فایل ها و پوشه ها NTFSحقوق دسترسی (برای خواندن، برای نوشتن، و غیره) را می توان اختصاص داد. این به طور قابل توجهی امنیت داده ها و ثبات سیستم را بهبود بخشید. تخصیص حقوق دسترسی به شما این امکان را می دهد که هر کاربر و برنامه ای را برای انجام هرگونه عملیات بر روی فایل ها ممنوع / مجاز کنید. به عنوان مثال، بدون حقوق کافی، یک کاربر خارجی قادر به تغییر هیچ فایلی نخواهد بود. یا، دوباره، بدون حقوق کافی، ویروس نمی تواند فایل را خراب کند.
بعلاوه، NTFSهمانطور که در بالا ذکر شد، عملکرد بهتر و توانایی کار با حجم زیادی از داده ها را فراهم می کند.

با شروع ویندوز 2000، نسخه استفاده شده است NTFS 5.0، که علاوه بر موارد استاندارد، به شما امکان پیاده سازی ویژگی های زیر را می دهد:

رمزگذاری داده ها- این ویژگی توسط یک افزونه NTFS ویژه به نام پیاده سازی می شود رمزگذاری سیستم فایل(EFS)- رمزگذاری سیستم فایل به لطف این مکانیسم، داده های رمزگذاری شده فقط در رایانه ای که رمزگذاری روی آن انجام شده است قابل خواندن است.
سهمیه دیسک- امکان اختصاص دادن اندازه معین (محدود) به کاربران بر روی دیسک وجود داشت که می توانند از آن استفاده کنند.
ذخیره سازی کارآمد فایل های کم. فایل هایی هستند که حاوی تعداد زیادی بایت خالی متوالی هستند. سیستم فایل NTFS به شما امکان می دهد تا ذخیره سازی آنها را بهینه کنید.

با استفاده از تغییرات ثبت شده- به شما امکان می دهد تمام عملیات دسترسی به فایل ها و حجم ها را ثبت کنید.

و یک نوآوری دیگر از NTFS - نقاط سوار شدن. با نقاط اتصال، می‌توانید پوشه‌ها و حتی درایوهای مختلف غیرمرتبط را در سیستم به‌عنوان یک درایو یا پوشه واحد تعریف کنید. این برای جمع آوری اطلاعات ناهمگونی که در سیستم وجود دارد در یک مکان از اهمیت بالایی برخوردار است.

■ در نهایت، به خاطر داشته باشید که اگر یک فایل تحت NTFS دارای مجوزهای مشخصی باشد، و سپس آن را در یک پارتیشن FAT کپی کنید، تمام مجوزها و سایر ویژگی های منحصر به فرد ذاتی NTFS از بین خواهند رفت. پس هوشیار باش

دستگاه NTFS. جدول اصلی فایل های MFT.
مانند هر فایل سیستم دیگری، NTFS تمام فضای قابل استفاده را به تقسیم می کند خوشه هاحداقل بلوک های داده ای هستند که فایل ها به آنها تقسیم می شوند. NTFS تقریباً از هر اندازه خوشه ای پشتیبانی می کند - از 512 بایت تا 64 کیلوبایت. با این حال، استاندارد عمومی پذیرفته شده یک کلاستر 4 کیلوبایتی است. این همان چیزی است که به طور پیش فرض استفاده می شود. اصل وجود خوشه ها را می توان با مثال زیر نشان داد.
اگر اندازه کلاستر شما 4 کیلوبایت است (که به احتمال زیاد) و باید فایلی با حجم 5 کیلوبایت ذخیره کنید، در واقع 8 کیلوبایت به آن اختصاص داده می شود، زیرا در یک خوشه قرار نمی گیرد و فقط خوشه ها تخصیص می دهند. فضای دیسک برای فایل
هر درایو NTFS یک فایل خاص دارد - MFT (جدول تخصیص اصلی). این فایل شامل یک فهرست متمرکز از تمام فایل های روی دیسک است. هنگام ایجاد یک فایل، NTFS ایجاد و در آن پر می شود MFTورودی مربوطه که حاوی اطلاعاتی در مورد ویژگی های فایل، محتویات فایل، نام فایل و غیره است.

جدا از MFT، 15 فایل خاص دیگر (به همراه MFT - 16) وجود دارد که برای سیستم عامل غیرقابل دسترسی هستند و نامیده می شوند. متافایل ها. نام همه متافایل هابا یک شخصیت شروع کنید $ ، اما با سیستم عامل استاندارد نمی توان آنها را مشاهده کرد و آنها را دید. در اینجا متا فایل های اصلی به عنوان مثال آورده شده است:

SMFT- خود MFT.
$MFTmirr- یک کپی از 16 رکورد MFT اول که در وسط دیسک (آینه) قرار داده شده است.
$logfile- ورود به سیستم فایل پشتیبانی.
حجم $- اطلاعات خدمات: برچسب حجم، نسخه سیستم فایل و غیره
$AttrDef- لیست ویژگی های فایل استاندارد در حجم.
$. - دایرکتوری ریشه
$Bitmap- نقشه فضای آزاد حجم.
$boot- بخش بوت (اگر پارتیشن قابل بوت باشد).
$Quota- فایلی که حاوی حقوق کاربر برای استفاده از فضای دیسک است.
$ upcase- جدول فایل مربوط به حروف بزرگ و کوچک در نام فایل در حجم فعلی.
عمدتاً به این دلیل مورد نیاز است که در NTFS نام فایل‌ها کدگذاری می‌شوند یونیکدکه از 65 هزار کاراکتر مختلف تشکیل شده است، جستجوی معادل های بزرگ و کوچک آن ها بسیار بی اهمیت است.
در مورد اصل سازماندهی داده ها در یک دیسک NTFS، به طور مشروط به دو بخش تقسیم می شود. 12 درصد اول دیسک برای به اصطلاح رزرو شده است منطقه MFT- فضایی که متافیل MFT در آن رشد می کند.
نوشتن هیچ اطلاعات کاربری در این قسمت امکان پذیر نیست. ناحیه MFT همیشه خالی نگه داشته می شود. این کار به این دلیل انجام می شود که فایل سرویس اصلی (MFT) با بزرگ شدن تکه تکه نشود. 88 درصد باقیمانده از درایو فقط فضای ذخیره سازی فایل معمولی است.
با این حال، اگر فضای دیسک کافی وجود نداشته باشد، منطقه MFT ممکن است خود کوچک شود (در صورت امکان)، بنابراین هیچ ناراحتی را متوجه نخواهید شد. در این مورد، داده های جدید قبلاً در منطقه MFT سابق نوشته می شود.
در صورت آزاد شدن بعدی فضای دیسک، منطقه MFT دوباره افزایش می یابد، اما به شکل یکپارچه شده (یعنی نه در یک بلوک، بلکه در چندین قسمت روی دیسک). هیچ ایرادی ندارد، فقط وقتی سیستم قابل اعتمادتر در نظر گرفته می شود فایل MFTیکپارچه سازی نشده است علاوه بر این، با یک فایل MFT یکپارچه نشده، کل سیستم فایل سریعتر اجرا می شود. بر این اساس، هر چه فایل MFT یکپارچه تر باشد، سیستم فایل کندتر کار می کند.

در مورد اندازه فایل MFT، تقریباً بر اساس 1 مگابایت در هر 1000 فایل محاسبه می شود.


پارتیشن های FAT32 را بدون از دست دادن اطلاعات به NTFS تبدیل کنید. تبدیل ابزار

شما به راحتی می توانید یک پارتیشن FAT32 موجود را به NTFS تبدیل کنید. برای انجام این کار، ویندوز 8، ویندوز 8.1 یک ابزار خط فرمان را ارائه می دهد تبدیل

پارامترهای کار آن در تصویر نشان داده شده است.

بنابراین، برای تبدیل درایو D: به NTFS، دستور زیر را در خط فرمان وارد کنید:

پس از آن، از شما خواسته می شود که در صورت وجود، برچسب حجم را وارد کنید (برچسب حجم در کنار نام دیسک در نشان داده شده است. کامپیوتر من. این برای شناسایی دیسک ها با جزئیات بیشتر عمل می کند و ممکن است مورد استفاده قرار نگیرد. مثلاً می تواند باشد ذخیره سازی فایل (د:).
برای تبدیل یک درایو فلش، دستور به صورت زیر است:

تبدیل e: /fs:ntfs /nosecurity /x

برترین مقالات مرتبط