خانه - راه اندازی روتر
ویندوز از چه فایل سیستمی پشتیبانی می کند؟ سیستم فایل ویندوز چیست؟ پسوندها و بیت مپ ها

سیستم فایل خانوادهپنجره ها.

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

ورودی های جدول FAT اعداد هگزادسیمال 12، 16 و 32 بیتی هستند که اندازه آنها توسط برنامه FDISK تعیین می شود و مقدار آنها مستقیماً توسط برنامه FORMAT تولید می شود. همه فلاپی دیسک ها و دیسک های سختتا اندازه 16 مگابایت، عناصر 12 بیتی در FAT استفاده می شود. هارد دیسک ها و درایوهای قابل جابجایی که 16 مگابایت یا بزرگتر هستند معمولاً از عناصر 16 بیتی استفاده می کنند. که در ویندوز 98برای دیسک های بزرگتر از 512 مگابایت، می توان از سیستم فایل استفاده کرد FAT32با ورودی های جدول FAT 32 بیتی. بدیهی است که هرچه اندازه خوشه های یک پارتیشن کوچکتر باشد، تعداد بیشتری از آنها در این پارتیشن قرار می گیرند و اندازه جدول تخصیص فایل FAT بزرگتر می شود، به این معنی که جستجوی اطلاعات لازم برای دسترسی به فایل بیشتر طول می کشد. پس چرا باید اندازه خوشه را کاهش داد؟ واقعیت این است که اندازه فایل می تواند دلخواه باشد، با این حال، هنگام نوشتن روی دیسک، ویندوز فایل را به چندین خوشه تقسیم می کند. در نتیجه، آخرین خوشه تقریباً هرگز به طور کامل پر نمی شود. فضای خالی باقیمانده که Slack نامیده می شود، تا زمانی که فایل روی دیسک است وجود دارد. بنابراین، مقدار فضای تلف شده به اندازه خوشه بستگی دارد. علاوه بر پشتیبانی از پارتیشن‌های بزرگ و خوشه‌های کوچکتر، FAT32 از جدول تخصیص فایل به‌طور متفاوتی استفاده می‌کند. FAT از دو جدول یکسان استفاده می کرد که یکی از آنها به عنوان جدول اصلی عمل می کرد، دومی به طور مداوم در طی مراحل عادی به روز می شد. خطاهای احتمالیاولین کپی FAT32 در مواقعی که خواندن داده ها از جدول اصلی غیرممکن است به نسخه دوم تبدیل می شود که به نسخه اصلی تبدیل می شود.عیب اصلی FAT32 ناسازگاری آن با فایل سیستم های قبلی و همچنین سیستم NTFS مورد استفاده در ویندوز NT است.

چه زمانی ویندوز NTبرای اولین بار منتشر شد، از سه سیستم فایل پشتیبانی کرد. این یک جدول تخصیص فایل (FAT) است که با MS-DOS، یک سیستم فایل سازگاری دارد بهره وری بیشتر(HPFS)، که سازگاری با LAN Manager و یک سیستم فایل جدید به نام سیستم فایل فناوری های جدید ( NTFS). NTFS در مقایسه با مواردی که در آن زمان برای بیشتر مورد استفاده قرار می‌گرفت، مزایای زیادی داشت سرورهای فایلسیستم های فایل برای اطمینان از یکپارچگی داده ها، NTFS دارای یک گزارش تراکنش است. این رویکرد امکان از دست دادن اطلاعات را رد نمی کند، با این حال، به طور قابل توجهی احتمال دسترسی به سیستم فایل را حتی اگر یکپارچگی سیستم سرور به خطر بیاندازد، افزایش می دهد. این کار با استفاده از یک گزارش تراکنش برای ردیابی تلاش‌های معلق برای نوشتن روی دیسک در طی مراحل بعدی امکان‌پذیر است بوت کردن ویندوز N.T. گزارش تراکنش همچنین برای بررسی خطاها به جای بررسی هر فایل هنگام استفاده از جدول تخصیص فایل استفاده می شود. یکی از مزایای اصلی NTFS امنیت است. NTFS توانایی اضافه کردن ورودی های کنترل دسترسی (ACE) را به لیست کنترل دسترسی (ACL) فراهم می کند. ACE شامل یک گروه یا نام شناسایی کاربر و یک نشانه دسترسی است که می تواند برای محدود کردن دسترسی به یک فهرست یا فایل خاص استفاده شود.

این دسترسی ممکن است شامل توانایی خواندن، نوشتن، حذف، اجرا و حتی داشتن فایل باشد. از سوی دیگر، ACL یک ظرف حاوی یک یا چند ورودی ACE است. این به شما امکان می‌دهد دسترسی کاربران یا گروه‌هایی از کاربران را به فهرست‌ها یا فایل‌های خاصی در شبکه محدود کنید. علاوه بر این، NTFS از کار با نام های طولانی که حداکثر 255 کاراکتر هستند و دارای حروف بزرگ و کوچک به هر ترتیبی هستند پشتیبانی می کند. یکی از ویژگی های اصلی NTFS ایجاد خودکار نام های معادل سازگار با MS-DOS است. NTFS همچنین دارای یک ویژگی فشرده سازی است که برای اولین بار در نسخه NT 3.51 ظاهر شد. این قابلیت فشرده سازی هر فایل، دایرکتوری یا درایو NTFS را فراهم می کند. بر خلاف برنامه های فشرده سازی MS-DOS که یک دیسک مجازی شبیه یک فایل مخفی ایجاد می کند و تمام داده های آن دیسک را فشرده می کند، ویندوز NT از یک لایه اضافی از زیر سیستم فایل برای فشرده سازی و از حالت فشرده خارج کردن فایل های مورد نیاز بدون ایجاد استفاده می کند. دیسک مجازی. این در هنگام فشرده‌سازی بخش خاصی از دیسک (مثلاً یک فهرست کاربر) یا فایل‌هایی که از نوع خاصی هستند (مثلاً فایل‌های گرافیکی) مفید است. تنها اشکال فشرده سازی NTFS، سطح پایین فشرده سازی در مقایسه با طرح های فشرده سازی MS-DOS است. اما NTFS متفاوت تر است قابلیت اطمینان بالاو بهره وری.

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

معرفی

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

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

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

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

جعبه سیاه

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

از JFFS تا F2FS

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

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

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

اما این تلاش ها باعث ظهور یک سیستم فایل تخصصی دیگر - F2FS شد. این توسط شرکت سامسونگ ساخته شده است که بخش قابل توجهی از فلش مموری های تولید شده در جهان را به خود اختصاص می دهد. سامسونگ تراشه می سازد فلش NANDبرای دستگاه های خود و بنا به درخواست شرکت های دیگر، و همچنین 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 است. در عمل، استفاده از FAT32 به معکوس منجر می شود و بسیاری از مشکلات دیگر را به وجود می آورد.

درایوهای فلش و کارت های حافظه به سرعت از بین می روند زیرا هر تغییری در FAT32 باعث بازنویسی همان بخش هایی می شود که دو زنجیره جداول فایل در آن قرار دارند. من کل صفحه وب را ذخیره کردم و صد بار بازنویسی شد - با هر افزودن یک GIF کوچک دیگر به درایو فلش. آیا نرم افزار قابل حمل راه اندازی کرده اید؟ فایل های موقت ایجاد می کند و در حین اجرا دائماً آنها را تغییر می دهد. بنابراین، استفاده از 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 گیگابایت) توسعه یافته است. Extended FAT معایب فوق الذکر FAT32 را حذف می کند - بازنویسی همان بخش ها با هر تغییری. به عنوان یک سیستم 64 بیتی، عملاً محدودیت قابل توجهی در اندازه یک فایل ندارد. از نظر تئوری، می تواند 2^64 بایت (16 EB) طول داشته باشد و کارت هایی با این اندازه به زودی ظاهر نمی شوند.

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

Btrfs

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

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

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

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

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

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

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

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

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

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

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

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

هشدار

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

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


یک افزونه رایگان برای وجود دارد فرمانده کل. از خواندن پارتیشن های 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 و سایر ابزارهای کمکی برای حفظ این فایل سیستم استفاده کند.

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

سیستم فایل حداکثر اندازه حجم محدود کردن حجم یک فایل طول نام فایل مناسب طول نام کامل فایل (شامل مسیر از ریشه) تعداد فایل ها و/یا فهرست ها را محدود کنید دقت نشانگر تاریخ فایل/دایرکتوری حقوق دوس-تو-پا لینک های سخت پیوندهای نمادین عکس های فوری فشرده سازی داده ها در پس زمینه رمزگذاری داده ها در پس زمینه پدربزرگ-ple-ka-tion از داده ها
FAT16 2 گیگابایت در بخش های 512 بایتی یا 4 گیگابایت در کلاسترهای 64 کیلوبایتی 2 گیگابایت 255 بایت با LFN - - - - - - - - - -
FAT32 8 بخش ترابایتی هر کدام 2 کیلوبایت 4 گیگابایت (2^32 - 1 بایت) 255 بایت با LFN تا 32 زیر شاخه با CDS 65460 10 ms (ایجاد) / 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 ترابایت (Win 7) / 256 TB (Win 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 آره آره آره آره آره آره

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

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

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

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

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

توابع اساسی سیستم فایل

وظایف اصلی فایل سیستم عبارتند از:

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

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

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

انواع فایل سیستم

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

  1. FAT32
  2. ISO9660

دو سیستم آخر برای کار با سی دی طراحی شده اند. سیستم های فایل Ext3 و Ext4 با آنها کار می کنند سیستم های عاملبر مبتنی بر لینوکس. NFS Plus یک فایل سیستم برای سیستم عامل های OS X است که در رایانه های اپل استفاده می شود.

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

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

سیستم فایل NTFS از دیسک هایی با ظرفیت صدها ترابایت و اندازه یک فایل تا 16 ترابایت پشتیبانی می کند.

سیستم فایل FAT32 از دیسک های تا 8 ترابایت و اندازه یک فایل تا 4 گیگابایت پشتیبانی می کند. بیشتر اوقات، این FS در درایوهای فلش و کارت های حافظه استفاده می شود. در FAT32 است که فرمت می کنند درایوهای خارجیدر کارخانه.

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

اشتراک گذاری.

یکی از اجزای سیستم عامل سیستم فایل است - ذخیره اصلی اطلاعات سیستم و کاربر. همه سیستم عامل های مدرن با یک یا چند سیستم فایل کار می کنند، به عنوان مثال، FAT (جدول تخصیص فایل)، NTFS (سیستم فایل NT)، HPFS (سیستم فایل با کارایی بالا)، NFS (سیستم فایل شبکه)، AFS (سیستم فایل اندرو) , سیستم فایل اینترنتی.

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

در یک مفهوم گسترده، مفهوم "فایل سیستم" شامل موارد زیر است:

مجموعه ای از تمام فایل های روی دیسک؛

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

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

سیستم فایل معمولاً هم هنگام بارگیری سیستم عامل پس از روشن کردن رایانه و هم در حین کار استفاده می شود. فایل سیستم توابع اصلی زیر را انجام می دهد:

تعریف می کند راه های ممکنسازماندهی فایل ها و ساختار فایل در رسانه؛

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

فضای خالی را در رسانه های ذخیره سازی نظارت می کند.

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

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


3.1.5 ساختار منطقی دیسک

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

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

علاوه بر این، دلایل دیگری برای پارتیشن بندی دیسک وجود دارد، به عنوان مثال:

امکان استفاده از دیسک های با ظرفیت بیشتر از MS DOS
32 مگابایت;

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

سازماندهی مجدد و خارج کردن دیسک اندازه کوچکساده تر و سریعتر از بزرگتر؛

به هر کاربر می توان درایو منطقی خود را اختصاص داد.

عملیات آماده سازی دیسک برای استفاده نامیده می شود قالب بندی، یا مقداردهی اولیه. تمام فضای موجود دیسک به دو طرف، تراک‌ها و بخش‌ها تقسیم می‌شود که آهنگ‌ها و اضلاع از صفر شروع می‌شوند و بخش‌ها از یک شروع می‌شوند. به مجموعه ای از مسیرهایی که در فاصله یکسان از محور دیسک یا بسته ای از دیسک ها قرار دارند، سیلندر می گویند. بنابراین، آدرس فیزیکی بخش با مختصات زیر تعیین می شود: شماره آهنگ (سیلندر - C)، شماره سمت دیسک (سر - H)، شماره بخش - R، به عنوان مثال. CHR.

اولین بخش از هارد دیسک (C=0، H=0، R=1) حاوی رکورد اصلی بوت است. استاد ضبط بوت . این ورودی کل بخش را اشغال نمی کند، بلکه فقط قسمت اولیه آن را اشغال می کند. Master Boot Record یک برنامه بوت لودر غیر سیستمی است.

در پایان اولین بخش سختدیسک شامل جدول پارتیشن دیسک است - جدول پارتیشن. این جدول شامل چهار ردیف است که حداکثر چهار پارتیشن را توصیف می کند. هر ردیف در جدول یک بخش را توصیف می کند:

1) بخش فعالیا نه؛

2) تعداد بخش مربوط به ابتدای بخش.

3) تعداد بخش مربوط به انتهای بخش.

4) اندازه پارتیشن در بخش ها.

5) کد سیستم عامل، یعنی. این پارتیشن متعلق به چه سیستم عاملی است؟

پارتیشنی فعال نامیده می شود که حاوی برنامه بوت سیستم عامل باشد. اولین بایت در عنصر بخش، پرچم فعالیت بخش است (0 – غیر فعال، 128 (80H) – فعال). این برای تعیین اینکه آیا پارتیشن سیستمی (قابل بوت) است و اینکه آیا سیستم عامل باید از آن بارگذاری شود هنگام راه اندازی کامپیوتر استفاده می شود. فقط یک بخش می تواند فعال باشد. برنامه های کوچکی به نام مدیر بوت ممکن است در اولین بخش های دیسک قرار داشته باشند. آنها به صورت تعاملی از کاربر می پرسند که از کدام پارتیشن بوت شود و بر اساس آن پرچم های فعالیت پارتیشن را تنظیم می کنند. از آنجایی که جدول پارتیشن دارای چهار ردیف است، می تواند تا چهار سیستم عامل مختلف روی دیسک وجود داشته باشد، بنابراین، دیسک می تواند شامل چندین پارتیشن اصلی متعلق به سیستم عامل های مختلف باشد.

نمونه ای از ساختار منطقی یک هارد دیسک متشکل از سه پارتیشن که دو پارتیشن متعلق به DOS و یکی متعلق به یونیکس است، در شکل 3.2a نشان داده شده است.

هر بخش فعال بخش خود را دارد ورودی بوت– برنامه ای که این سیستم عامل را بارگیری می کند.

در عمل، دیسک اغلب به دو پارتیشن تقسیم می شود. اندازه پارتیشن ها، چه فعال یا غیر فعال اعلام شوند، توسط کاربر در طی مراحل آماده سازی هارد دیسک برای استفاده تعیین می شود. این کار با استفاده از برنامه های ویژه. در DOS این برنامه FDISK نامیده می شود و در نسخه های Windows-XX به آن Diskadministrator می گویند.

در داس، پارتیشن اولیه است پارتیشن اولیه، این قسمتی است که شامل لودر سیستم عامل و خود سیستم عامل است. بنابراین، پارتیشن اولیه پارتیشن فعال است که به عنوان یک درایو منطقی به نام C: استفاده می شود.

سیستم عامل WINDOWS (یعنی WINDOWS 2000) اصطلاحات را تغییر داده است: پارتیشن فعال پارتیشن سیستم نامیده می شود و پارتیشن بوت دیسک منطقی است که شامل فایل های سیستمیپنجره ها. درایو منطقی بوت ممکن است همان باشد پارتیشن سیستم، اما ممکن است روی یک پارتیشن متفاوت از یک هارد دیسک یا روی یک هارد دیسک متفاوت باشد.

بخش پیشرفته پارتیشن توسعه یافتهرا می توان به چندین درایو منطقی با نام های D: تا Z: تقسیم کرد.

شکل 3.2b ساختار منطقی یک هارد دیسک را نشان می دهد که تنها دارای دو پارتیشن و چهار درایو منطقی است.

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

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

هنگام در نظر گرفتن ویژگی های سیستم فایل، یک مفهوم مهم مفهوم خوشه است. خوشه- این حداقل بلوک داده ای است که روی رسانه قرار می گیرد. سیستم فایل برای موارد بیشتر از خوشه ها استفاده می کند مدیریت موثرفضای دیسک اندازه خوشه همیشه مضربی از اندازه بخش دیسک است. یکی از معایب بالقوه اندازه‌های خوشه بزرگ، استفاده کمتر کارآمد است فضای دیسک، از آنجایی که به داده های یک فایل و دایرکتوری همیشه یک عدد صحیح از خوشه ها اختصاص داده می شود. به عنوان مثال، اگر اندازه کلاستر 32 کیلوبایت باشد، یک فایل 100 بایتی همچنان 32 کیلوبایت روی دیسک اشغال خواهد کرد.

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

  • چربی(جدول تخصیص فایل) یک سیستم فایل است که برای MS-DOS توسعه یافته و سیستم اصلی برای ویندوز 3.x و 9x است. Windows XP و Windows Server 2003 از سه نوع FAT پشتیبانی می کنند: FAT12، FAT16 و FAT32. دو مورد اول با سیستم عامل های قدیمی مایکروسافت سازگاری دارند. علاوه بر این، FAT12 به عنوان یک فرمت ذخیره سازی اطلاعات در فلاپی دیسک استفاده می شود. FAT 32 یک نسخه اصلاح شده از FAT است که در ویندوز 95 OSR2، ویندوز 98 و ویندوز هزاره استفاده می شود.
  • NTFS(سیستم فایل ویندوز NT) - یک سیستم فایل به طور خاص برای ویندوز NT توسعه یافته و توسط ویندوز 2000، ویندوز XP، ویندوز 2003 به ارث رسیده است.
    CDFS(Compact Disk File System) - سیستم فایل CD.
    UDF(جهانی فرمت دیسک) یک فرمت دیسک جهانی است که توسط درایوهای نوری مغناطیسی مدرن و مهمتر از همه فناوری DVD استفاده می شود.

هر سیستمی ویژگی های مفید خود را دارد، اما قابلیت های حفاظت و ممیزی سیستم ها متفاوت است. انتخاب یک سیستم فایل تحت تأثیر عوامل زیر است: هدفی که رایانه برای استفاده در نظر گرفته شده است، پلت فرم سخت افزاری، تعداد هارد دیسک ها و ظرفیت آنها، الزامات امنیتی، برنامه های کاربردی مورد استفاده در سیستم.

سیستم فایل FAT12 و FAT16.

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

Windows XP و Windows Server 2003 به سه دلیل از سیستم فایل FAT پشتیبانی می کنند:

  • بتوانید سیستم عامل را از نسخه های قبلی ویندوز به روز کنید.
  • برای سازگاری با سایر سیستم عامل ها با چندین گزینه بوت؛
  • مانند فرمت فلاپی دیسک

نام هر نسخه FAT شامل یک عدد است که عمق بیت مورد استفاده برای شناسایی خوشه ها روی دیسک را نشان می دهد. شناسه خوشه 12 بیتی در FAT12 اندازه پارتیشن دیسک را به 212 (4096) خوشه محدود می کند. ویندوز از کلاسترهایی در اندازه های مختلف از 512 بایت تا 8 کیلوبایت استفاده می کند، بنابراین اندازه یک حجم FAT12 به 32 مگابایت محدود می شود. بنابراین، ویندوز از FAT12 به عنوان فرمتی برای فلاپی دیسک های 5.25 و 3.5 اینچی استفاده می کند که می تواند تا 1.44 مگابایت داده را ذخیره کند.

FAT16 - به دلیل شناسه های خوشه 16 بیتی - می تواند تا 216 (65536) خوشه را آدرس دهی کند. در ویندوز، اندازه کلاستر FAT16 از 512 بایت تا 64 کیلوبایت متغیر است، بنابراین اندازه حجم FAT16 به 4 گیگابایت محدود شده است. اندازه کلاسترهای استفاده شده توسط ویندوز به اندازه حجم بستگی دارد.

اندازه های کلاستر پیش فرض در FAT16 (در ویندوز)

سیستم فایل FAT ویژگی های حفاظت از داده ها را ارائه نمی دهد و بازیابی خودکار. بنابراین، فقط در صورتی استفاده می شود که سیستم جایگزین در رایانه MS-DOS یا Windows 95/98 باشد و همچنین برای انتقال داده ها بر روی فلاپی دیسک ها. در غیر این صورت استفاده از FAT توصیه نمی شود.

سیستم فایل FAT32.

نسخه اصلاح شده FAT - FAT32- به شما امکان می دهد پارتیشن هایی بزرگتر از FAT16 ایجاد کنید و از کلاسترهای کوچکتر استفاده کنید که منجر به استفاده کارآمدتر از فضای دیسک می شود. FAT32 اولین بار در ویندوز 95 OSR2 ظاهر شد. همچنین در ویندوز 98 و ویندوز هزاره پشتیبانی می شود.

FAT32 از شناسه های خوشه 32 بیتی استفاده می کند اما مهم ترین 4 بیت را ذخیره می کند، بنابراین اندازه شناسه خوشه موثر 28 بیت است. از آنجایی که حداکثر اندازه خوشه های FAT32 32 کیلوبایت است، FAT32 از نظر تئوری می تواند حجم 8 ترابایت را مدیریت کند. با این حال، پیاده سازی FAT32 در ویندوز XP/Windows 2003 اجازه ایجاد حجم های بزرگتر از 32 گیگابایت را نمی دهد، اما سیستم عامل می تواند از حجم های موجود FAT32 با هر اندازه ای استفاده کند.

اندازه خوشه در حجم های FAT32 (پیش فرض)

علاوه بر حداکثر تعداد خوشه‌ها، مزیت FAT32 نسبت به FAT12 و FAT16 موارد زیر است:

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

سیستم فایل NTFS.

سیستم فایل NTFS قابل اعتمادترین سیستم فایل است که به طور خاص برای ویندوز NT طراحی شده و در نسخه های بعدی ویندوز بهبود یافته است.

NTFS از شاخص های کلاستر 64 بیتی استفاده می کند. این به NTFS اجازه می دهد تا حجم های تا 1 بایت اگزابایت (1 بیلیون میلیارد گیگابایت) را آدرس دهی کند. با این حال، ویندوز XP اندازه حجم‌های NTFS را به مقادیری محدود می‌کند که می‌توانند توسط خوشه‌های 32 بیتی، یعنی تا 128 ترابایت (با استفاده از خوشه‌های 64 کیلوبایتی) مورد بررسی قرار گیرند.

اندازه خوشه در حجم های NTFS:

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

NTFS از تعدادی ویژگی اضافی در مقایسه با FAT پشتیبانی می کند. موارد اصلی در زیر ذکر شده است:

  • محافظت از فایل ها و دایرکتوری ها
  • فشرده سازی فایل
  • پشتیبانی از فایل های چند رشته ای
  • ردیابی لینک
  • سهمیه دیسک
  • رمزگذاری
  • نقاط پردازش مجدد
  • نقاط اتصال
  • کپی های سایه


 


خواندن:



رتبه بندی بهترین هدفون های بی سیم

رتبه بندی بهترین هدفون های بی سیم

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

دوربین اصلی موبایل معمولاً در پشت بدنه قرار دارد و برای گرفتن عکس و فیلم استفاده می شود

دوربین اصلی موبایل معمولاً در پشت بدنه قرار دارد و برای گرفتن عکس و فیلم استفاده می شود

نسخه به روز شده تبلت با ویژگی های بهبود یافته و استقلال بالا. گوشی های هوشمند ایسر به ندرت بازدید می شوند...

چگونه با حفظ شماره خود به اپراتور دیگری سوئیچ کنید

چگونه با حفظ شماره خود به اپراتور دیگری سوئیچ کنید

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

بررسی یک فبلت، گران، اما بسیار شایسته

بررسی یک فبلت، گران، اما بسیار شایسته

نقد و بررسی یک فبلت گران قیمت اما بسیار توانمند 2015/03/20 من تنها کفاش جهان بدون چکمه، منتقد گوشی هوشمند بدون گوشی هوشمند خودم هستم ....

فید-تصویر RSS