ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
קובץ COM – ויקיפדיה

קובץ COM

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

במערכת ההפעלה DOS, קובץ COM הוא פורמט של קובץ הרצה. פורמט COM הוא אחד משני הפורמטים של קובצי הרצה הקיימים ב-DOS, השני הוא EXE ‏(DOS executable). בדומה לפורמט EXE, שמו של פורמט COM נובע מהסיומת הנהוגה בקבצים מסוג זה, אך זוהי מוסכמה בלבד ובפועל אין לסיומת תפקיד בקביעת סוג הקובץ.

[עריכה] פירוט

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

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

[עריכה] תהליך טעינת תוכנית COM

כאשר קובץ COM נטען ומורץ משורת הפקודה או באמצעות קריאת המערכת INT 21h/4Bh (EXEC), מתבצעות הפעולות הבאות (רשימה חלקית):

  1. מערכת ההפעלה בוחרת את כתובת מקטע הבסיס שבו תיטען התוכנית. כברירת מחדל, תיבחר הכתובת הנמוכה ביותר האפשרית.
  2. המערכת בונה טבלת PSP עבור התוכנית בתחילת מקטע הבסיס.
  3. התוכנית נטענת לזיכרון מיד לאחר ה-PSP (בהיסט 100h בתים מתחילת מקטע הבסיס).
  4. כל הזיכרון הזמין שמעל לכתובת הבסיס מוקצה לתוכנית.
  5. ארבעת אוגרי המקטע מכילים את כתובת מקטע הבסיס.
  6. השליטה מועברת לתוכנית באמצעות long jump להיסט 100h ממקטע הבסיס.


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -