File Allocation Table

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

File Allocation Table‏ (בראשי תיבות: FAT, בתרגום טבלת מיקומי קבצים) היא מערכת קבצים שפותחה בשנת 1977 על ידי ביל גייטס ומארק מקדונלד'ס. המערכת שולבה לראשונה במערכת ההפעלה QDOS שפותחה על ידי חברת Seattle Computer Products. לאחר רכישת QDOS על ידי חברת מיקרוסופט, שולבה מערכת הקבצים לתוך MS-DOS וחלונות עד להחלפתה כמערכת ניהול הקבצים הראשית על ידי מערכת הקבצים NTFS במערכת ההפעלה חלונות NT.

קיימות שלוש גרסאות של מערכת הקבצים: FAT12, FAT16, ו-FAT32, הנבדלות ביניהן רק בכמות הבתים המשמשים להפניה לכתובת בדיסק. הבחירה בסוג ה-FAT נעשית על פי גודל הדיסק. האלגוריתמים לשימוש במערכות אלה מוגדרים בתקן ISO/IEC 9293:1994.

מבנה[עריכת קוד מקור | עריכה]

בעת אתחול אמצעי האחסון (המדיה) מערכת הקבצים מחלקת את שטח המדיה לארבעה חלקים, הנמצאים במקומות קבועים:Bios Parameter Block (BPB)‎ הנקרא גם Boot Sector, טבלת ה-FAT, ספריית ה-Root, ומקטע הנתונים.‏[1] יישומים העובדים עם מערכת הקבצים מסתמכים על כך שהמקטעים נמצאים במקומות הנכונים לצורך עבודתם התקינה.‏‏‏[2]

BIOS Parameter Block[עריכת קוד מקור | עריכה]

ה-BPB נמצא בסקטור הראשון של הדיסק והוא מכיל פרטים כלליים על מערכת הקבצים, הדרושים לצורך עבודה עם המדיה, כגון: גודל סקטור בדיסק, כתובת הבית מערכת ההפעלה, כמות טבלאות ה-FAT שהדיסק מכיל, כמות הסקטורים (יחידות ההקצאה) בדיסק, גודל טבלת ה-FAT ועוד.‏‏‏‏‏[3]‏‏‏[4]

בעת טעינת מדיה, ניגש הראש הקורא להתחלת המדיה וקורא את תוכן ה-BPB על מנת לקבוע את סוג מערכת הקבצים. 36 הבתים הראשונים מכילים שדות זהים עבור כל סוגי ה-FAT. במערכות FAT12 ו-FAT16 מכילים 26 הבתים הבאים מידע על סוג מערכת הקבצים (Fat12, Fat16 או Fat32), התווית (Label) והמספר הסידורי של המדיה. במערכות FAT32 מכילים 62 הבתים הבאים מידע דומה ומידע נוסף על אופן השימוש במערכת הקבצים.‏‏‏[5]

טבלאות ה-FAT[עריכת קוד מקור | עריכה]

טבלת FAT היא מערך שכל אינדקס בו מייצג מקטע (Cluster) במדיה, תוכן כל תא מצביע על התא המכיל את החלק הבא של הקובץ, וסוף הקובץ מצוין באמצעות ערך מספרי מיוחד הנמצא מחוץ לטווח. באופן זה, בהינתן הכתובת שבה נמצאת התחלת הקובץ, ניתן לעקוב אחרי המצביעים לאורך הקובץ עד סופו. למטרות שרידות, כל מדיה המשתמשת ב-FAT מכילה לפחות שתי טבלאות FAT (בדרך כלל 2). אורך הטבלה וגודל כל תא נקבעים על פי סוג המערכת. (גודל תא ב-FAT12 הוא 12 ביטים ואורך הטבלה הוא 9 סקטורים, ב-FAT16 הוא גודל התא הוא 16 ביטים וב-FAT32 הוא 28 ביטים).‏‏‏[5]

מקטע ספריית השורש[עריכת קוד מקור | עריכה]

בגרסאות FAT12 ה-FAT16 מקטע ספריית השורש הנו בן 14 סקטורים, ובו מאוחסנת ספריית השורש. בספרייה זו ניתן לאחסן קבצים וספריות נוספים. בניגוד לשאר הקבצים והספריות במערכת FAT, גודל ספריית השורש מוגבל.‏‏‏[6]‏‏‏‏‏[7] במערכות המממשות FAT32 ספריית השורש נמצאת במקטע הנתונים, ולכן אינה מוגבלת במקום.

מקטע הנתונים[עריכת קוד מקור | עריכה]

מקטע הנתונים הוא החלק בדיסק שבו נמצאים כל הקבצים והתיקיות. קובץ עשוי להיות מורכב ממספר חלקים שאינם רציפים, אשר ניתן לגשת אליהם באמצעות מעקב סדרתי אחר טבלת הקבצים.

קבצים וספריות[עריכת קוד מקור | עריכה]

במערכת FAT כל הקבצים והתיקיות הם בעלי אותו מבנה ומכילים את שם הקובץ והסיומת (אורך השם המקסימלי הוא שמונה תווים ואורך הסיומת הוא שלושה תווים), תאריך יצירה, תאריך גישה אחרון, גודל הקובץ ומאפיינים דומים. גודל המבנה הוא 32 בתים והוא מאוחסן בספריה אליה שייך הקובץ.

בעת גישה לקובץ (או ספרייה) מערכת ההפעלה בודקת היכן נמצא החלק הראשון של הקובץ (באמצעות גישה לשדה המתאים) ומחפשת אותו בטבלת הFAT, לאחר מכן היא מחפשת את חלקי הקובץ בצורה סדרתית באמצעות מעקב אחר המצביעים בטבלת הFAT עד לסוף הקובץ.

גרסאות[עריכת קוד מקור | עריכה]

מיקרוסופט שחררה מספר גרסאות למערכת הקבצים יחד עם הרחבות לגרסאות הקיימות.

FAT12[עריכת קוד מקור | עריכה]

גרסה זו היא הגרסה הראשונה של מערכת הקבצים ונכללה במערכת QDOS. גודל כל תא בטבלת הקבצים הוא 12 סיביות וגודל הטבלה הוא 9 סקטורים. לפיכך גודל המדיה מוגבל ל-4608 סקטורים. בפועל, גודל המדיה הוגבל ל32 מגה.‏‏‏[8] הגרסה הראשונה לא כללה תמיכה במבנה ספריות היררכי, שמות קבצים ארוכים, מחיצות והתמודדות עם שגיאות בסקטור אפס.

FAT16[עריכת קוד מקור | עריכה]

גרסה זו הוצגה בשנת 1984 יחד עם מערכת ההפעלה DOS 3.0. כתובת סקטור בדיסק הייתה בגודל 16 סיביות, כך שגודל המדיה המקסימלי גדל ל-65,517 סקטורים. בפועל, עקב מגבלות טכניות גודל הקבצים המקסימלי לא השתנה מ-FAT12, אך נוספה תמיכה במחיצות מרובות כך שניתן היה לחלק מדיה אחת למספר מחיצות ובכך לנצל את מלוא הגודל של המדיה.‏‏‏[1] בשנת 1987, הוצגה גרסה נוספת של FAT16 אשר איפשרה לשמור קבצים בגודל 2 ג'יגה.‏‏‏[8]

תמיכה בשמות קבצים ארוכים (VFAT)[עריכת קוד מקור | עריכה]

במערכות קבצים ישנות שמות הקבצים היו מצורת 8.3 (8 תווים לשם הקובץ + 3 תווים לסיומת), במערכת ההפעלה חלונות 95 הוסיפה חברת מיקרוסופט ל-FAT16 תמיכה בשמות קבצים ארוכים. המערכת אפשרה לשמור קבצים בעלי שמות עד 255 תווי UTF באמצעות שימוש במאפיינים מיוחדים המונעים ממערכות הפעלה מוקדמות יותר לראות את הקבצים.‏‏‏‏‏[5]‏‏‏‏‏[9]

FAT32[עריכת קוד מקור | עריכה]

אחת המגבלות של FAT16 הייתה שככל שהיה הכונן גדול יותר, בגלל מספר הסקטורים המקסימלי, גודל הסקטור הפך לגדול יותר. כתוצאה מכך סקטורים רבים לא נוצלו עד תומם ונוצר בזבוז של שטחי הקצאה. כל זה נכון בתנאי שגודל המחיצה גדול מ-512MB (בכוננים קטנים יותר מערכת FAT32 לא מתפקדת).

במערכת ההפעלה Windows 95 OSR2 שיצאה לשוק ב-1997, הציגה מיקרוסופט את מערכת הקבצים FAT32‏‏.‏[6] כתובת סקטור בדיסק היא 28 סיביות (כאשר 4 הסיביות הנותרות אינן בשימוש). באופן תאורטי ניתן לאחסן קבצים בגודל 2 טרה אך מגבלות טכניות גרמו לכך שגודל הקובץ המקסימלי האפשרי יהיה 4 ג'יגה‏[2]‏‏‏[10][11]. בנוסף, הגדלת טבלת מיקומי הקבצים יצרה סקטורים קטנים יותר (שטח זהה התחלק על מספר רב יותר של סקטורים) ובכך נחסך מקום אחסון.

חיסרון שהיה ל-FAT32 עם יציאתה לשוק היה חוסר תאימות עם מערכות הפעלה אחרות. היו משתמשים שהריצו על מחשביהם שתי מערכות הפעלה שונות (או יותר). מערכות אלו (ובהן DOS, Windows95, ‏windows NT עד גרסה 4 או יוניקס) לא ידעו לקרוא את מערכת הקבצים החדשה ולכן אסור היה להמיר דיסקים קשיחים שהיו מיועדים ליותר ממערכת אחת לפורמט החדש. מגבלה זו חלה על דיסקים שליפים ששימשו מספר מחשבים. ובמקרים בודדים גם על שרתים אליהם ניגשו בעזרת מערכות הפעלה שונות‏[12].

מיקרוסופט סיפקה כלי בשם Drive converter להמרת מחיצות מ-fat16 ל-, fat32 אולם לא היה כלי להמרה הפוכה. מאחר שנוצר צורך בשוק גם להמרה חזרה, יצאה לשוק גרסת Partition Magic שידעה לעשות זאת.

exFAT[עריכת קוד מקור | עריכה]

exFAT (ראשי תיבות של Extended File Allocation Table) היא מערכת קבצים קניינית מותאמת במיוחד לכונני Solid state drive וכן מרחיבה את יכולות ה-FAT32, שהיא מערכת הקבצים המפעילה אמצעי החסן ניידים. התוכנה נועדה לשימוש בעיקר במקרים בהם לא ניתן ליישם שימוש במערכת הקבצים NTFS.

התוכנה פותחה על ידי מיקרוסופט והיא משובצת במערכת ההפעלה Windows Embedded CE 6.0 ובמערכות ההפעלה השולחניות, חלונות XP עם SP2 ומעלה, וויסטה עם SP1 ומעלה. ניתן להוריד את הדרייבר לexFAT בחינם מאתר מיקרוסופט. משתמשי לינוקס יכולים לקרוא התקנים בהם מותקנת exFAT.

exFAT פותרת בעיות שהיו למשתמשי FAT32 ‏‏‏[13] ובהן מגבלת 4G כגודל קובץ. התוכנה מבוססת על 64 ביט (לעומת 32 ביט ב-FAT32) מערכת הקבצים גוזלת פחות מקום מאמצעי האיחסון (EXFAT צורכת 96KB מתוך דיסק נייד של 4 גיגה לעומת NTFS שלוקחת 47.2 מגה)

NTFS[עריכת קוד מקור | עריכה]

Postscript-viewer-shaded.png ערך מורחב – NTFS

פיתוח מערכת הקבצים FAT נעצר על ידי מיקרוסופט לטובת מערכת הקבצים NTFS ששוחררה יחד עם מערכת ההפעלה חלונות NT, המערכת ממשיכה להיתמך בכל הגרסאות של מערכות ההפעלה מבית מיקרוסופט ומהווה את ברירת המחדל עבור התקני אחסון בעלי נפח אחסון קטן (כונני דיסקטים והתקני אחסון מבוססי Flash)‏‏.‏[14]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ 1.0 1.1 http://support.microsoft.com/kb/q69912/‏ MS-DOS Partitioning Summary
  2. ^ 2.0 2.1 http://support.microsoft.com/kb/100108/EN-US/‏ Overview of FAT, HPFS, and NTFS File Systems
  3. ^ Microsoft Support
  4. ^ http://www.dewassoc.com/kbase/hard_drives/boot_sector.htm Detailed Explanation of the FAT Boot Sector‏
  5. ^ 5.0 5.1 5.2 http://www.win.tue.nl/~aeb/linux/fs/fat/fat-1.html The FAT file system‏
  6. ^ 6.0 6.1 http://support.microsoft.com/kb/154997/EN-US/ Description of the FAT32 File System‏
  7. ^ http://support.microsoft.com/kb/120138 Errors Creating Files or Folders in the Root Directory‏
  8. ^ 8.0 8.1 http://support.microsoft.com/kb/67321/EN-US/‏ FAT Type and Cluster Size Depends on Logical Drive Size
  9. ^ http://home.teleport.com/~brainy/lfn.htm Long Filename Specification‏
  10. ^ ‏‏http://support.microsoft.com/kb/184006/en-us‏‏ Limitations of FAT32 File System
  11. ^ http://support.microsoft.com/kb/314463/EN-US/ Limitations of the FAT32 File System in Windows XP‏
  12. ^ ‏לרוב, לא הייתה מגבלה בשרתים היות שהגישה אל קובצי השרת סופקה על ידי השרת בלי תלות למערכת המורצת על המחשב המקומי, הבעיה התעוררה בעיקר במערכות שתקשרו בעזרת "חיבור כבל יחיד".‏
  13. ^ מגבלות FAT32 למשתמשי XP באתר מיקרוסופט
  14. ^ http://support.microsoft.com/kb/253774/EN-US/‏ Common questions about the FAT32 file system