It may be created by computer programs for a variety of purposes; principally when a program cannot allocate enough memory for its tasks, when the program is working on data bigger than the architecture's address space, or as a primitive form of inter-process communication.
הוא יכול להיות מוכן על ידי תוכנית מחשב למטרות שונות, בעיקר כאשר תוכנית לא יכולה להקצות מספיק זיכרון למשימות שלה, כאשר התוכנית עובדת על נתונים גדולים יותר ממרחב הכתובות של הארכיטקטורה, או כצורה פרימיטיבית של תקשורת בין תהליכים.