8Sep

כיצד יכול גודל הקובץ להיות אפס?

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

השאלה של היום &מפגש תשובה מגיע אלינו באדיבות SuperUser - חלוקה של סטאק שערי, קהילה מונחה קיבוץ של Q & אתרי אינטרנט.

השאלה

SuperUser הקורא יוג'ין S רוצה לדעת איך גודל הקובץ יכול להיות אפס:

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

איך אפשר שקובץ יהיה בגודל אפס?

התשובה

SUPUser סופר דוד שוורץ וקורט עמון יש את התשובה עבורנו.ראשית, דוד שוורץ:

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

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

ואחריו התשובה של קורט עמון:

המשמעות הסמנטית של גודל הקובץ שונה מזו שבה אתה משתמש.

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

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

משמעות שלישית, שבה אתה מושך, תהיה מספר הביטים הנדרש על הכונן הקשיח כדי לתאר את נוכחות הקובץ.זה כולל מידע המאוחסן בדרך כלל בנפרד מהקובץ.לדוגמה, ב- Linux, הקונספט של שם הקובץ מאוחסן ב- inode עבור הספריה המכילה את הקובץ.[ בהתבסס על קלט מערות אחרות, זה( טכנית) מאוחסן בנתוני הספרייה.כשכתבתי את זה חשבתי על תיק הספרייה הקטנה.נתונים קטנים מ 156 בתים ניתן לאחסן ישירות inode. ] זו אינה משמעות נפוצה כי זה קשה מאוד לקבוע בלי לדעת את העבודה הפנימי עמוק מאוד של מערכת הקבצים שלך( כגון חשבונאות עבור שטח צורך לאחסן את כל ההרשאות על הקובץ).עם זאת, אם יש לך כונן קשיח של 1,000,000 ורוצה לדעת כמה גדול של קובץ יכול להתאים בכונן הקשיח, זה יהיה משמעות חשובה מאוד לך!

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