معرفی APFS - سیستم فایل جدید اپل

تاریخ : 1396/3/28        نویسنده: نعمت الله کمال فر
برچسب‌ها : File System ، سیستم عامل Operating System ، APFS ، اپل Apple

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

بنابراین در حالی که ممکن است سیستم فایل موضوع چندان جذابی به نظر نرسد، اما از اهمیت بسیار بالایی برخوردار بوده و تاثیر بسزایی بر کارایی، پایداری و امنیت هر سیستم کامپیوتری دارد.

Introducing Apple APFS File System

APFS چیست؟

APFS یا Apple File System سیستم فایل جدید اپل است که کار اصلی توسعه آن از سال 2014 آغاز گردیده و اولین بار در کنفرانس توسعه‌دهندگان اپل (WWDC) در ماه ژوئن سال 2016 معرفی گردید. اگر این سوال برای شما پیش آمده است که حرف P چه معنایی داشته و APFS چگونه می‌تواند مخفف Apple File System باشد، باید اشاره کنیم که متاسفانه اپل در این خصوص توضیحی ارائه نداده است. اما حداقل نقش آن می‌تواند ایجاد تفاوت میان نام اختصاری سیستم فایل جدید اپل وApple File Service (AFS) –سرویس‌های قدیمی‌تر شبکه و فایل اپل—باشد.

این سیستم فایل جدید اپل قرار است که از سال جاری میلادی (2017) به تدریج جایگزین HFS+ --سیستم فایل فعلی اپل—در محصولات مختلف این شرکت از جمله خانواده دستگاه‌های iPhone ،iPad ،Apple Watch ،Apple TV ،MacBook ،iMac و Mac Pro گردد. APFS علاوه بر نوین‌سازی نحوه سازماندهی داده‌ها در محصولات هوشمند اپل، خصوصیات و قابلیت‌های منحصربه‌فردی را برای این دستگاه‌ها به ارمغان می‌آورد. این سیستم فایل از ابتدا بر این اساس طراحی شده است تا عملکرد خوبی روی معماری دستگاه‌های جدید اپل داشته و قابلیت مقیاس‌پذیری بالایی را برای آینده فراهم آورد.

Introducing Apple APFS File System

APFS در تاریخ 27 مارس 2017 (مصادف با 7 فروردین 1396) با بروزرسانی سیستم‌عامل iOS به نسخه 10.3 برای دستگاه‌های همراه شرکت اپل – یعنی خانواده iPhone ها و iPad ها – عرضه شده و جایگزین سیستم ‌فایل قدیمی HFS+ گردید. چنانچه دستگاه همراه خود را به این نسخه بروزرسانی نموده و تغییر قابل توجهی را مشاهده ننموده‌اید، جای نگرانی و تعجب نیست. چرا که این سیستم فایل جدید تغییری در نحوه مشاهده فایل‌ها و حتی چگونگی تعامل کاربر با آن‌ها ایجاد نمی‌نماید. اگرچه تغییرات ناشی از تغییر سیستم فایل iOS بسیار مهم و بنیادین به شمار می‌روند، اما همگی مربوط به لایه‌های زیرین رابط کاربری سیستم‌عامل بوده و در نتیجه توسط کاربران قابل مشاهده نخواهند بود.

علت طراحی و توسعه APFS

سیستم فایل قبلی شرکت اپل که همچنان روی بسیاری از محصولات هوشمند این شرکت در حال استفاده است، HFS+ نام دارد. سیستم فایل HFS از سال 1985 میلادی معرفی گردیده و روی اولین نسخه‌ها از سیستم‌عامل Mac OS مورد استفاده قرار می‌گرفت. سال‌ها بعد این سیستم فایل دست‌خوش تغییرات و بهبودهایی گردیده، و از سال 1998 تحت عنوان HFS+ شناخته می‌شود. اولین کامپیوترهای شخصی Mac که سیستم فایل HFS برای کار روی آن‌ها طراحی شده بود، برای نمونه از حافظه اصلی (RAM) با ظرفیت 512 کیلوبایت و یک فلاپی درایو با ظرفیت 400 کیلوبایت به عنوان حافظه جانبی بهره می‌بردند. در حالی که ظرفیت حافظه اصلی اغلب کامپیوترهای شخصی امروزی در حدود 8 گیگابایت و ظرفیت حافظه‌ جانبی (دیسک‌های سخت) آن‌ها در حدود 1 ترابایت است. این بدان معنی‌ست که از آن زمان تا کنون ظرفیت حافظه اصلی کامپیوترهای شخصی حدود 16 هزار برابر و ظرفیت حافظه جانبی آن‌ها 2.5 میلیون برابر شده است. علاوه بر این در 30 سال گذشته شاهد تحولات و پیشرفت‌های قابل توجه فراوانی در دنیای کامپیوتر و دستگاه‌های دیجیتال بوده‌ایم. از ظهور گوشی‌های هوشمند و تبلت‌ها گرفته، تا دیسک‌های حالت-جامد (SSD)، ابزارهای هوشمند پوشیدنی، دانلود و اجرای آنلاین نرم‌افزارها، و مکانیزم‌های پیشرفته پشتیبان‌گیری.

Introducing Apple APFS File System

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

Introducing Apple APFS File System

سازگاری و یکپارچگی APFS

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

تاثیر APFS بر ذخیره‌سازی داده‌ها

شرکت اپل با سیستم فایل APFS محدودیت‌های ذخیره‌سازی HFS+ را درنوردیده و راه را برای ذخیره‌سازی داده‌های بیش‌تر هموار نموده است. به عنوان نمونه، HFS+ از شناسه فایل‌های 32 بیتی پشتیبانی نموده و در نتیجه قادر است حداکثر 4 میلیارد فایل یا بلوک داده را مدیریت کند. این در حالی‌ست که APFS با پشتیبانی از شناسه فایل‌های حداکثر 64 بیتی، قادر خواهد بود تا بیش از 9 کوینتیلیون –یعنی رقم 9 با 18 صفر در مقابل آن – فایل را روی حافظه جانبی مدیریت نماید.

سیستم فایل جدید اپل از قابلیت جدیدی به نام "Space Sharing" یا "اشتراک فضا" بهره می‌برد. این قابلیت به APFS امکان می‌دهد تا فضای ذخیره‌سازی و به ویژه فضای آزاد حافظه جانبی را بهتر و بهینه‌تر مدیریت نماید. در شرایطی که فضای حافظه جانبی به چند پارتیشن تقسیم‌بندی شده و حتی در صورتی که هر پارتیشن از سیستم فایل مجزایی بهره‌مند باشد، به کمک قابلیت Space Sharing این پارتیشن‌ها می‌توانند یک فضای ذخیره‌سازی را به صورت اشتراکی مورد استفاده قرار دهند. در نتیجه این مشکل قدیمی که کاربر روی یک پارتیشن با کمبود فضا مواجه ‌می‌شود در حالی که روی پارتیشن‌های دیگر فضای آزاد وجود دارد، بر طرف خواهد شد. به این ترتیب که در صورت نیاز یک پارتیشن به فضای بیش‌تر، با استفاده از قابلیت اشتراک فضا امکان استفاده از فضاهای آزادی که در بخش‌های دیگر حافظه جانبی موجود هستند، برای آن فراهم خواهد بود. حتی اگر این فضاهای آزاد در مجاورت آن پارتیشن قرار نداشته باشند.

Introducing Apple APFS File System

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

تاثیر APFS بر کارایی سیستم

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

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

Introducing Apple APFS File System

مهندسین تیم طراحی و توسعه APFS سعی نموده‌اند تا به روش‌های مختلف کارایی این سیستم فایل نوین را بهبود بخشند. یکی از تغییرات صورت گرفته به منظور افزایش کارایی، استفاده از مکانیزمی متفاوت نسبت به سیستم فایل قدیمی‌تر HFS+ برای محافظت سیستم در مقابل crashها بوده است. HFS+ برای این منظور جزئیات تغییراتی را که هنوز روی سیستم فایل اعمال نگردیده‌اند را در فایل‌های گزارشی ثبت می‌نماید. این مکانیزم که تحت عنوان ژورنالینگ (journaling) شناخته می‌شود، نیازمند خواندن و نوشتن پیوسته اطلاعات روی فایل‌های گزارشی بوده و در نتیجه تاثیراتی منفی بر کارایی سیستم می‌گذارد.به همین دلیل در APFS از مکانیزم جدیدی به نام copy-on-write metadata scheme برای محافظت سیستم در مقابل crash استفاده شده است که از روش ژورنالینگ بسیار بهینه‌تر و کارامدتر است.

تاثیر APFS بر امنیت داده‌ها

اپل همواره نشان داده است که توجه زیادی به امنیت و حریم خصوصی کاربران خود دارد. این شرکت در طراحی APFS نیز این مساله را در اولویت‌های خود قرار داده است. این سیستم فایل جدید از قابلیت‌های رمزگذاری (encryption) به مراتب پیشرفته‌تری برخوردار گردیده است.

به علت پیاده‌سازی‌ متفاوت HFS+ برای دو سیستم‌عامل macOS و iOS، و همچنین تفاوت در قابلیت‌های سخت‌افزاری دستگاه‌های مبتنی بر این دو سیستم‌عامل، در سیستم فایل قدیمی اپل شمای رمزگذاری داده‌ها برای این دو بستر متفاوت بوده است. به این ترتیب که macOS از رمزگذاری در سطح دیسک (disk-level encryption) و iOS از رمزگذاری در سطح فایل (file-level encryption) بهره‌مند بوده‌اند. در صورت فعال بودن رمزگذاری در سطح دیسک، تمام داده‌های موجود در آن دیسک (یا یک پارتیشن از آن دیسک) رمزگذاری گردیده و تا زمانی که کاربر از طریق یک رمز یا کلید اقدام به بازگشایی آن ننموده باشد، به طور کامل غیر قابل شناسایی و استفاده خواهند بود. در این حالت، هنگام بازگشایی قفل توسط کاربر تمامی داده‌های دیسک قابل خواندن و شناسایی گردیده، از نظر امنیتی در شرایطی آسیب‌پذیر قرار خواهند داشت.

Introducing Apple APFS File System

اما APFS با از بین بردن چندگانگی در روش رمزگذاری داده‌ها در سیستم‌عامل‌های خود، قابلیت‌های رمزگذاری پیشرفته‌ و یکپارچه‌ای را برای محصولات اپل به ارمغان آورده است. این سیستم فایل علاوه بر پشتیبانی از رمزگذاری در سطح دیسک، قادر به رمزگذاری مجزای فایل‌ها و حتی فراداده‌ها (metadata) به صورت تک-کلیدی (single-key) یا چند-کلیدی (multi-key) است. در حالت تک-کلیدی برای رمزگذاری تمامی داده‌ها از یک کلید واحد استفاده شده و در روش چند-کلیدی، رمزگذاری فایل‌های مختلف (و حتی فراداد‌ه‌ها) توسط کلید‌هایی مجزا صورت می‌گیرد.

پشتیبان‌گیری، محافظت و یکپارچگی داده‌ها

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

Introducing Apple APFS File System

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

به علاوه ASPF برای حفظ یکپارچگی داده‌ها و محافظت سیستم فایل در مقابل crashها، از ذخیره وضعیت به صورت اتمی بهره می‌برد. به این معنی که تغییرات صورت گرفته روی فایل‌ها قابل تجزیه نبوده، یا به طور کامل و صحیح انجام شده و یا بدون به جای گذاشتن هیچ‌گونه اثر نیمه‌تمامی کنسل می‌شوند. در عمل هر زمان که لازم باشد تغییری روی یک فایل انجام شود، بر اساس مکانیزم copy-on-write یک نسخه جدید از فایل ایجاد گردیده، نسخه قدیمی‌تر هنگامی که تغییرات به صورت کامل و صحیح روی دیسک ذخیره گردند، حذف می‌شود.

محدودیت‌های فعلی APFS

در پایان لازم به ذکر است که APFS در نسل اولیه خود قرار داشته، هنوز تمامی امکانات و قابلیت‌هایی که برای آن در نظر گرفته شده است را شامل نمی‌شود. به عنوان مثال این سیستم فایل هنوز از قابلیت فشرده‌سازی و استفاده از checksum برای داده‌های کاربر پشتیبانی نمی‌نماید. همچنین APFS در حال حاضر امکان بهره‌گیری از byte-addressable NV-RAM را ندارد. به علاوه با این‌که این سیستم فایل برای iOS عملیاتی گردیده و در سطح عمومی مورد استفاده قرار می‌گیرد، APFS برای سیستم عامل macOS هنوز در فاز بتا (آزمایشی) قرار داشته و هنوز از آن به عنوان دیسک استارت‌آپ نمی‌توان بهره گرفت، Time Machine و FileVault در آن در دسترس نبوده و Fusion Drive یا درایوهای هایبریدی اپل نیز با آن سازگار نیست. 

ایسام