מערכת הקבצים החדשה של אפל שהוכרזה ב-WWDC מדגישה כיצד החברה מתכננת את העתיד. הנה מבט מתחת למכסה המנוע במה תשתמש החברה כדי להחליף את HFS+ במחשבי Mac, iOS, Apple Watch ו- Apple TV.
במהלך שלושת העשורים האחרונים של מחשבי מקינטוש, מערכת הקבצים של אפל השתרעה על היסטוריה שבה נתונים אוחסנו לראשונה על 800K תקליטונים, ולאחר מכן על כוננים קשיחים מגנטיים שבהם 40MB של אחסון נחשב הרבה. כיום, כוננים קשיחים נמדדים בטרה-בייט, ורוב המכשירים שאפל מוכרת כיום משתמשים באחסון פלאש או SSD.
HFS+ שונה מספר פעמים מאז שהוא "עודן" בסוף שנות ה-90 (בעיקר כדי להכיל כוננים גדולים יותר). אפל הצמידה למערכת הקבציםכתב יומן, אשר מתעדת תיעוד רציף של שינויים בקבצים כך שאם משהו רע קורה - כמו אובדן חשמל - מערכת הקבצים יכולה לשחזר את הדיסק למצב טוב ידוע.
אפל גם יצרה גרסה של HFS+ הנקראת HFSX שהיא רגישה לאותיות גדולות (כמו רוב מערכות יוניקס) לשימוש עם תוכנת שרת שמצפה להיות מסוגלת ליצור מספר קבצים באותה ספרייה שנבדלים זה מזה רק במקרה (file1h ו-file1H, עבור דוּגמָה).
וכאשר אפל הציגה את iOS, היא יצרה מערכת קבצים מיוחדת המבוססת על HFSX של ה-Mac עם תמיכה בהצפנת קבצים בודדים המשמשת להגנה על נתונים במכשירים ניידים.
אפל פיתחה גם טכנולוגיות אחסון הקיימות מתחת ל-HFS+, החל מ-מחיצות אחסון EFI(המקבילה של אינטל ל-OpenFirmware, שאפל הייתה חלוצה באימוץ כאשר עברה לשבבי אינטל לפני עשור) כדיCoreStorage, פורמט נפח ההיגיון שאפל פיתחה כדי לתמוך בתכונות כגון Full Disk Encryption ו-Fusion Drive. אמצעי אחסון לוגיים נוצרים על מחיצות דיסק ואז מאותחלים עם מערכת קבצים.
עם זאת, ל-HFS+ עצמו עדיין יש כמה חסרונות משמעותיים, והמשך חיזוק של תכונות חדשות ישבור בסופו של דבר את התאימות עם העבר מכיוון שמערכת הקבצים משתמשת בכמה מבני נתונים קשיחים שלא ניתן למתוח ביעילות הרבה יותר מבלי להידרש לנפח שאינו תואם לאחור שינוי פורמט.
HFS+ גם משתמש בעיקר במבני נתונים עם חוטים בודדים הדורשים נעילות קבצי קטלוג שמקשות על תהליכים מרובים לגשת לאותם נתונים בבת אחת.
מערכת הקבצים של אפל תהפוך לברירת המחדל ב-2017
אפל מכנה כרגע את APFS, המחליף שלה ל-HFS+, תצוגה מקדימה של מפתחים ב-macOS Sierra, אך היא מצפה להשלים את התמיכה בכל הפלטפורמות שלה ולהפוך אותה למערכת הקבצים המוגדרת כברירת מחדל עבור כל מוצרי אפל בשנה הבאה.
ב-WWDC, החברה הדגישה כי APFS תוכנן תוך מחשבה על כל הפלטפורמות של אפל, בקנה מידה מ-watchOS ל-iOS ו-tvOS ל-macOS, ומנצל את העובדה שרוב מוצרי החברה משתמשים כעת באחסון פלאש או SSD. זה גם תוכנן מתוך מחשבה על הצפנה כתכונה ראשית.בסיום, המשתמשים יוכלו לשדרג מ-HFS+ ל-APFS במקום
בסיום, המשתמשים יוכלו לשדרג מ-HFS+ ל-APFS במקום, בדומה לאופן שבו מיקרוסופט העבירה משתמשי מחשב מ-FAT ל-NTFS. נתוני המשתמש יישארו במקומם, ו-APFS תיצור מטא נתונים חדשים בתוך שטח פנוי באמצעי האחסון HFS+ לפני המרתו לאמצעי אחסון APFS.
פיתוח מערכת קבצים חדשה של Apple לעתיד
ה-APFS החדש פותח מגוון תכונות חדשות לתמיכה בטכנולוגיות העומדות באופק במהלך העשורים הבאים. אפל פיתחה APFS חדש משלה במקום להשתמש במערכת קבצים קיימת מכיוון שרוב מערכות הקבצים הקיימות מכוונות למקרי שימוש שונים מאלה של אפל.
לדוגמה, מערכות קבצים מודרניות רבות עם ביצועים גבוהים מותאמות לצרכים של שרתים עם דיסקים מרובים, ולעתים קרובות מייעלות לתפוקה ולא לזמן השהייה. במכשירים ניידים, זמן האחזור הוא קריטי יותר - משתמשים רוצים לראות תוצאות מיידיות כשהם מקישים, יותר ממה שהם צריכים כדי להעביר קבצים ענקיים במהירות. לרוב מכשירי אפל יש רק דיסק אחד.
Xsan
אפל כבר תומכת במערכת קבצים משותפת עם ביצועים גבוהים עבור רשתות שטח אחסון ב-macOS:Xsan, התומך במספר משתמשי פלטפורמה הנגישים לאותו נפח דרך FibreChannel, באמצעות בקר מטא נתונים ייעודי.
כדי לתת מענה לצרכים הנפוצים יותר של משתמשי HFS+ הקיימים שלה, אפל פיתחה מערכת קבצים חלופית מתקדמת המכווננת במיוחד לתרחישי השימוש הטיפוסיים של בסיס ההתקנות של מכשירי הצרכן שלה - העולה כעת על מיליארד אחד ברחבי העולם.
מבנים חדשים מתקדמים ב-APFS
APFS לא רק מציג תכונות חדשות, אלא מיועד להתרחבות עתידית בחשבון. זה כולל קפיצה למספר אינודה של 64 סיביות (המשמש למעקב אחר כל קובץ; השווה ל-HFS+ ורשומת הקטלוג של 32 סיביות שלו). ב-APFS, זה מאפשר יותר מ-9 קווינטיליון (מיליון טריליון) קבצים בדיסק.
נראה כי מבנה האינוד החדש והמורחב של APFS מטפל גם בבעיית ליבה ב-HFS+ הקשורה למידע על קבצים וספריות שנשמרים בקובץ קטלוגי יחיד, מה שמסדרת גישה ויוצר תקלה כאשר שרשורים מרובים מנסים כולם לגשת למערכת הקבצים.
APFS גם משפר את חותמות הזמן השנייה של HFS+ עם חותמות זמן חדשות של ננו-שניות, מה שמאפשר להבחין בסדר הקבצים העשויים להיכתב במקביל. ל-APFS יש גם מקצה בלוקים נרחב המאפשר למשתמשים להגדיר דיסק חדש גדול מאוד או מערך RAID ולהתחיל להשתמש בו לפני שהמערכת מסיימת לאתחל לאט את הדיסק כולו (כפי ש-HFS+ דורש).
APFS גם מוסיף תמיכה עבור קבצי Sparse (+HFS כולל רק תמיכה וירטואלית) ומטמיע סכימת מטא נתונים חדשה להעתקה על כתיבה המשמשת למקסום ביצועים מעל התקורה הנדרשת על ידי יומן HFS+. זה גם בונה תמיכה בתכונות קבצים מורחבות, אשר ב-HSF+ הוצמדו כקובץ B-Tree Attributes (אשר HFS+ משתמש בו כדי לאחסן תכונות הרשאות של רשימת בקרת גישה, למשל).
APFS גם יבצע הרמוניה של תמיכה בהצפנת דיסקים מלאה וקבצים בודדים בכל הפלטפורמות של אפל, תוך שימוש במספר מפתחות לנתוני משתמש ומטא נתונים שנועדו להגן על גישה לנתונים גם אם התקן הושג פיזית על ידי גורם אחר.
ניתן להשתמש ב-APFS עם אמצעי אחסון קיימים של Apple RAID כדי לספק פסים מבוססי-תוכנה (לביצועים) ושיקוף (הגנה על נתונים) או דיסק פשוט (לחסכון בעלויות), וניתן להשתמש בו גם בהתקני RAID של חומרה.
בעוד שהתצוגה המקדימה של המפתחים עדיין לא תומכת בכונני ה-Fusion של אפל (המשלבים SSD וכונן קשיח מסתובב רגיל במכשיר היברידי דמוי RAID), ברור שזה בכרטיסים. אפל גם הדגישה כי מערכת הקבצים החדשה שלה תוכננה סביב המציאות המודרנית של אחסון פלאש ו-SDD, המציגה מאפיינים שונים מאחסון דיסק מגנטי מסתובב.
תכונות חדשות שעוצבו במערכת הקבצים של Apple
בנוסף לקידום וחידוד העיצוב הבסיסי של HFS+, APFS גם מציגה מגוון תכונות חדשות לחלוטין.
זה כולל שיתוף שטח, המאפשר למספר אמצעי אחסון לתבוע את השטח הפנוי בדיסק. זה אומר שלדיסק של 4TB יכולים להיות נפחים של 4, 4TB שנוצרו עליו, מה שמאפשר לכל אמצעי אחסון להתרחב לפי הצורך מבלי ליצור בעיה של צורך לחלק מחדש את אמצעי האחסון כדי להקצות יותר מקום לאחד מהם. זה יכול להועיל במיוחד למשתמשים של מכונות וירטואליות (או משתמשי Boot Camp Windows) שבהם נפח דיסק נתון בדיסק צריך ליצור קובץ גדול מאוד.
תכונה חדשה נוספת, Clones, מאפשרת "להעתיק" קבצים או אפילו ספריות שלמות באופן מיידי מבלי להשתמש בשטח אחסון. זה תומך ברעיון של "שכפול" מסמך או זרימת עבודה שלמה, ולאחר מכן לבצע מספר קבוצות של שינויים עצמאיים בכל עותק. מכיוון שהשינויים נשמרים בנפרד, ניתן לאחסן את רוב הפרויקטים המקבילים כעותק אחד וטהור, ולחסוך הרבה שטח דיסק מבוזבז אחרת.
APFS תומך גם ב-Snapshots, שעובדים משהו כמו Clones ברמת מערכת קבצים שלמה; הם משמרים את המצב של מערכת קבצים שלמה בנקודת זמן נתונה, ומתעדים שינויים חדשים בנפרד, כך שהמערכת תוכל לגבות ביעילות ולגלגל הכל בחזרה ל-Snapshot של דף נקי. יש לזה יישומים בחינוך ובמערכות משותפות אחרות, כמו גם דרך יעילה יותר ופחות מפותלת לגיבוי מכשירים בהשוואה ל-Time Machine הקיימת של אפל, שחוסכת נקודות גיבוי בזמן באמצעות קישורים קשיחים.
תכונה חדשה נוספת היא Fast Directory Sizing, המאפשרת למערכת הקבצים לחשב את השטח המשמש את התיקיה ואת כל התוכן שלה ולאחר מכן לעדכן את הנתון הזה. HFS+ צריך לחשב מחדש את המידע הזה באופן קבוע בכל פעם שאתה מקבל מידע על תיקיה מכיוון שהוא לא יכול פשוט לאחסן את הנתונים האלה בספריית תיקיות עצמה או לחלחל מידע זה במעלה היררכיית מערכת הקבצים (מכיוון שפריטי צאצא לא יכולים לנעול את האב שלהם).
מכיוון שקבצים או אפליקציות רבים בפלטפורמות של אפל הם למעשה ספריות תוכן ("חבילות") המתחזות רק לפריט יחיד לצורך הפשטות, APFS מציגה תכונה בשם Atomic Safe-Save שמבטיחה שכאשר עדכונים נשמרים, התהליך יכול לא להפריע, וכתוצאה מכך פריט שנשמר חלקית (ואולי פגום). התהליך הוא "אטומי" מכיוון שהוא מסתיים בהצלחה או לא מסתיים, אבל לא יסתיים במצב מפוצל של מצב לא בטוח.
מקורות והתפתחות של מערכת הקבצים של אפל
ראוי לציין כי אפל מתרחבת על HFS+ במשך שנים. אפל שכרה את גורו מערכות הקבצים דומיניק ג'אמפאולו עוד בשנת 2002, עוד לפני שלחברה בכלל היה עסק משמעותי במכשירים ניידים ובזמן שבו מחשבי ה-Mac רק עברו מ-Mac OS 9 הקלאסי ל-OS X החדשה, והם יישארו מבוססי PowerPC לארבעה נוספים. שנים.
סוגי קבצים של BeOS מאפשרים למשתמשים להגדיר סוגי MIME, אייקונים, כריכת יישומים, סיומות שמות קבצים ותכונות
Giampaolo היה אולי ידוע בעיקר בזכות פיתוח BeFS בשנת 1996, מערכת קבצים מתקדמת של זמנה שתוכננה עבור BeOS (לעיל). היא הסתמכה במידה רבה על מטא-נתונים מורחבים של תכונות קבצים שהמערכת יכולה לאינדקס כדי לאפשר למשתמשים לחפש במהירות נתונים כמו מסד נתונים יחסי. כיום, iTunes ותמונות מציגות באופן דומה אוספים של פריטים בצורה קלה למיין ולחיפוש.
ג'אמפאולו תרתי משמעכתב את הספרעל עיצוב מערכת קבצים. לאחר שהצטרף לאפל, הוא עבד על הוספת רישום של מערכת קבצים ל-HFS+ (שהופעל כברירת מחדל ב-Mac OS X 10.3), ולאחר מכן יזם את פרויקט Spotlight להבאת חיפוש מטא נתונים באינדקס בסגנון BeFS ל-Mac (תכונה שהופיעה לראשונה בשנת 2005).
Giampaolo עבד גם על Time Machine ועל המוצר האלחוטי Time Capsule עבור גיבויים, ועזר בפיתוח הראשונימסמכים ונתוניםיישום עבור iCloud בשנת 2011.
הוא גם ציטט עבודה על "מערכת קבצים שמעולם לא נשלחה", ואפל עבדה בנפרד על הוספת תמיכה עבורZFSבמחשבי מק, לפני שנטש את המאמץ ב-2009 (ככל הנראה קשור לבעיות רישוי, אם כי העלייה הפתאומית של iPhone כנראה שינתה גם את האסטרטגיה של אפל).
Giampaolo עובד כעת על APFS כמהנדס תוכנה בכיר במערכות אחסון וקבצים, מיישם את הניסיון של כמה עשורים של פיתוח תכונות הקשורות למערכות קבצים.
לאחר פריסה בשנה הבאה, APFS לא רק יאפשר תכונות חדשות וייעל את הביצועים ואת הניצול של מערכות אחסון מודרניות, אלא גם ישמש כפלטפורמה הניתנת להרחבה להצגת התקדמות מערכות קבצים חדשות בעתיד.