קובץ זמני

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

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

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

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

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

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

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

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

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

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

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

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

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

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