קובץ זמני

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

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

זיכרון עזר

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

תקשורת בין תהליכים

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

יצירה

במערכות POSIX, קבצים זמניים יכולים להיווצר בבטחה עם פונקציות הספרייה mkstemp‏(3) או tmpfile‏(3). חלק מהמערכות מספקות את mktemp‏(1). קבצים אלו מאוחסנים לרוב במיקום תיקיית הקבצים הסטנדרטית /tmp במערכות יוניקס ולינוקס, או %TEMP% במערכות חלונות.

קובץ זמני אשר נוצר עם tmpfile‏(3), נמחק אוטומטית כשהתוכנית מסתיימת או כשהקובץ נסגר. כדי ליצור שם קובץ זמני שישרוד את מחזור החיים של התוכנית ניתן להשתמש ב-tmpnam‏(3), או בחלונות ב-GetTempFileName(...).

נושאים

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

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

קישורים חיצוניים

Crystal kpackage.png ערך זה הוא קצרמר בנושא תוכנה. אתם מוזמנים לתרום למכלול ולהרחיב אותו.