
ویندوز ۱۱ با وجود بازطراحیهای گسترده در بخشهای مختلف، هنوز از ابزار فرمت درایو (Drive Format Utility) با همان پنجره گفتوگو و گزینههایی استفاده میکند که طراحی آن به سال ۱۹۹۴ بازمیگردد. این ابزار ساده که برای فرمت کردن USB، هارددیسک خارجی (External HDD) و SSD کاربرد دارد، تقریباً بدون تغییر باقی مانده است.
در آن زمان، مایکروسافت قطعهای از کد را بهعنوان راهحل موقت برای ویندوز NT 4.0 در نظر گرفت، اما این کد موقت تا به امروز در ویندوز باقی مانده و یکی از تنظیمات آن نیز از دوران ذخیرهسازی متفاوت به ارث رسیده است.
میراث یک کد موقت از ویندوز NT 4.0
ابزار فرمت درایو ویندوز در سال ۱۹۹۴ توسط دیوید پلامر (David Plummer)، مهندس مایکروسافت، بهعنوان یک جایگزین موقت (Placeholder) برای ویندوز NT 4.0 ساخته شد. رابط کاربری (UI) آن شامل چند گزینه برای نوع فرمت، برچسب دیسک، ظرفیت درایو و چند تنظیم دیگر بود. همین مهندس بهصورت دلبخواهی محدودیت ۳۲ گیگابایتی پارتیشن FAT32 را تعیین کرد؛ محدودیتی که تا پیش از افزایش آن به ۲ ترابایت توسط مایکروسافت در همین سال پابرجا ماند.
واحد تخصیص (Allocation Unit) چیست و چرا همچنان پرسیده میشود؟
در دهه ۹۰ میلادی، درایوهای فلاپی و هارددیسکهای اولیه آنقدر کوچک بودند که سیستمعامل تنها به یک جدول ساده برای ردیابی بخشهای فیزیکی حاوی یک فایل نیاز داشت. برای این کار، سیستم فایل، سکتورهای فیزیکی دیسک را در قالب «خوشه» (Cluster) یا «واحد تخصیص» (Allocation Unit) ترکیب میکرد. اندازه همین واحد تخصیص است که ویندوز هنوز از کاربر میپرسد.
واحد تخصیص کوچکترین واحد ذخیرهسازی است که سیستمعامل میتواند به یک فایل اختصاص دهد. اندازه پیشفرض آن معمولاً ۴۰۹۶ بایت (۴ کیلوبایت) است که برای بیشتر کاربران و درایوها مناسب است. فایلی که تنها چند بایت حجم دارد، کل واحد تخصیص ۴ کیلوبایتی را اشغال میکند. بهطور خلاصه، واحدهای تخصیص کوچکتر برای میلیونها فایل بسیار کوچک مناسبترند، در حالی که اندازههای بزرگتر برای درایوهایی با فایلهای حجیم، اتلاف فضا را کاهش میدهند.
از سکتورهای فیزیکی تا آدرسدهی بلوکی منطقی (LBA)
با حرکت از درایوهای فلاپی کوچک به هارددیسکهای چند ترابایتی، روش سنتی ردیابی مکانیکی دیگر کارآمد نبود. نگاشت سر، سیلندر و سکتور فیزیکی دقیق به بخشهای یک فایل در درایوهای بزرگ مقرونبهصرفه نبود. به همین دلیل صنعت، آدرسدهی بلوکی منطقی (Logical Block Addressing یا LBA) را بهعنوان یک مترجم جهانی معرفی کرد. کنترلر داخلی درایو هر زمان ویندوز به دادهها دسترسی پیدا میکند، آدرسهای منطقی را به آدرسهای فیزیکی ترجمه میکند.
SSDهای مدرن دادهها را در «سکتور» ذخیره نمیکنند و بهجای آن از صفحهها و بلوکها (Pages and Blocks) استفاده میکنند. با این حال، برای سازگاری با ویندوز و نرمافزارهای قدیمی، آنها سکتورهای منطقی را با LBA شبیهسازی میکنند و معمولاً از واحدهای تخصیص ۴ کیلوبایتی بهره میبرند. وقتی SSDها وارد بازار شدند، سازندگان آنها را طوری طراحی کردند که با LBA کار کنند، نه اینکه سیستمعاملها را وادار به بازنویسی روش ارتباط با درایوهای ذخیرهسازی کنند.
بنابراین، رویه سه دههای ترکیب سکتورهای درایو در واحدهای تخصیص همچنان ادامه دارد، حتی اگر حافظه فلش NAND (NAND Flash) اصلاً از سکتور استفاده نکند. این رویه سازگاری با ذخیرهسازی مدرن را حفظ میکند، از دوبارهکاری بیمورد در سطح بنیادی دیسک جلوگیری میکند و تفاوتی در نحوه استفاده کاربران از درایوها و رایانههایشان ایجاد نمیکند.
چرا سازگاری عقبرو بر بازطراحی اولویت دارد؟
ابزار فرمت درایو ویندوز نمونه بارزی از این واقعیت است که سازگاری عقبرو (Backwards Compatibility) اغلب مهمتر از بازطراحی کامل است. بخش زیادی از آنچه در زیر رابط کاربری ویندوز میگذرد، به کدها و مفاهیمی چند دههای بازمیگردد. سیستمعاملهای مدرن ممکن است اگر هر نسخه جدید فقط بهخاطر تغییر، روشها را عوض کند، دچار اختلال شوند. به همین دلیل برخی چیزها بهتر است حتی در طول دههها توسعه، بدون تغییر بمانند.