Program Segment Prefix

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

במערכת ההפעלה DOS, תחילית מקטע התוכניתאנגלית Program Segment Prefix, ובקיצור PSP) היא מבנה נתונים בגודל של 256 בתים, המשמש את מערכת ההפעלה לשמירת נתונים שונים אודות התוכניות המופעלות בה. כאשר תוכנית נטענת לזיכרון לשם הרצה, המערכת יוצרת עבורה את טבלת ה-PSP ומעדכנת בה את השדות השונים. התוכנית עצמה נטענת לזיכרון מיד לאחר הטבלה (בהיסט 100h).

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

היסט גודל (בבתים) תוכן
00-01 2 INT 20h - קוד לסיום התוכנית
02-03 2 קצה הזיכרון הזמין ביחידות של 16 בתים
04 1 שמור
05-09 5 קוד לקריאה בין-מקטעית (far call) למנגנון ביצוע קריאות המערכת (לצורכי תאימות עם CP/M)
במקביל, עבור קובצי COM: זיכרון זמין בבתים בתוך מקטע התוכנית (היסט 6-7)
0Ah-0Dh 4 כתובת שגרת היציאה של התוכנית הקודמת (INT 22h הקודם)
0Eh-11h 4 כתובת שגרת ה-Break של התוכנית הקודמת (INT 23h הקודם)
12h-15h 4 כתובת שגרת הטיפול בשגיאה קריטית של התוכנית הקודמת (INT 24h הקודם)
16h-2Bh 16h שמור לשימוש פנימי
2Ch-2Dh 2 מקטע סביבת העבודה
2Eh-4Fh 22h שמור לשימוש פנימי
50h-52h 3 INT 21h; RETF - קוד לביצוע קריאות מערכת באמצעות far call (לצורכי ניידות)
53h-5Bh 9 שמור לשימוש פנימי
5Ch-6Bh 10h טבלת בקרה לקובץ שטרם נפתח (Unopened FCB) עבור הפרמטר הראשון בשורת הפקודה
6Ch-7Fh 10h טבלת בקרה לקובץ שטרם נפתח (Unopened FCB) עבור הפרמטר השני בשורת הפקודה - תידרס עם פתיחת הקובץ הראשון
80h 1 מספר התווים בשורת הפקודה, לא כולל IO redirections
81h-FFh 7Fh שורת הפקודה (מסתיימת ב-0Dh)

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

כתובת מקטע ה-PSP של תוכנית משמשת כמזהה ייחודי‏[1] שלה (Process ID) עבור מערכת ההפעלה בפעולות של ניהול משאבים (זיכרון וקבצים).

הנתונים השמורים ב-PSP משמשים בעיקר את מערכת ההפעלה. השימוש הנפוץ ביותר בתוכנה הוא קבלת הפרמטרים שבשורת הפקודה.

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

  1. ^ במסגרת המופע היחיד של DOS במצב real mode, או במסגרת מופע מסוים של DOS המופעל באמצעות מכונה וירטואלית.