POSIX

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

POSIX (ראשי תיבות של Portable Operating System Interface (ה־X בסוף מסמנת UNIX) ובעברית, "ממשק מערכת הפעלה תואם") הוא אוסף תקנים של IEEE המיועדים לשמירה על תאימות בין מערכות הפעלה ובמיוחד מערכות דמויות יוניקס.

תקן תואם הוא ה־Single Unix Specification (בקיצור: SUS) אשר מתוחזק על ידי Austin Group.

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

בראשית שנות ה-80 של המאה ה-20 יוצרו הרבה מערכות ממשפחת יוניקס. היה ביניהן שוני בפרטים קטנים ויצרני המערכות לא נטו לשתף פעולה. לכן התאמה של תוכניות לעבודה על כמה מערכות יוניקס שונות דרשה הרבה עבודה מיותרת.

SUS נוצר מפרויקט באמצע שנות v-80 כדי להפוך ממשקים של מערכת הפעלה עבור תוכנה שתוכננה לנגזרות שונות של מערכת ההפעלה יוניקס לתקן אחיד. הצורך לסטנדרטיזציה נבע מכך שחברות שהשתמשו במחשבים רצו להיות מסוגלות לפתח תוכנות שאפשר להשתמש בהן במערכות מחשב של יצרנים אחרים בלי לכתוב מחדש את התוכנות. אחד השיקולים בבחירת מערכת ההפעלה יוניקס כבסיס לממשק המערכת הסטנדרטי היה שהיא הייתה נייטרלית מבחינת יצרנים. סטנדרטים אלו הפכו ל־IEEE 1003 (הרשום גם כ-ISO/IEC 9945), או POSIX, שפירושה Portable Operating System Interface. שם זה ניתן על ידי ריצ'רד סטולמן בעקבות בקשה לשם שקל לשנן עבור הסטנדרטים.

בעבר, ה־Single UNIX Specification של The Open Group היה נפרד מה־POSIX הרשמי של IEEE. ה־SUS הכמעט זהה הפך פופולרי עם התפתחותם של מספר ספקי תוכנה בהתעוררות מלחמות היוניקס, משום שהוא היה זמין בחינם, בעוד שבאותו זמן IEEE דרשו תשלום ניכר עבור גישה למפרט ה־POSIX. החל מ־1998, קבוצת עבודה בשם Austin Group, החלה לפתח את הסטנדרט המשולב, שלעתיד ייקרא Single UNIX Specification Version 3.

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

ממשקי המשתמש והתוכנה למערכת ההפעלה מצוינים בארבעה חלקים עיקריים:

  • הגדרות בסיס - רשימה של הגדרות ומוסכמות שבהן יש שימוש במפרטים, ורשימה של קובצי כותר בשפת התכנות C אשר חייבים להיות מסופקים על ידי מערכות תואמות.
  • מעטפת ותוכניות שירות - רשימה של תוכניות שירות ותיאור הקליפה (Shell, Bourne Shell) אשר נדרשות כדי לאפשר לסקריפטים לפעול באותה הדרך על כל הפלטפורמות.
  • ממשקי מערכת - רשימה של קריאות מערכת בשפת התכנות C שחובה על המערכת לספק.
  • רציונל - ההסבר מאחורי הסטנדרט.

ממשק הפקודה והסקריפטינג הסטנדרטי הוא ה־Korn Shell. תוכנות משתמש אחרות, שירותים ותוכניות שירות, כוללות את AWK, Echo, Ed ועוד מספר (מאות) אחרות. שירותי תוכנה נדרשים כוללים שירותי I/O בסיסיים (קובץ, מסוף מחשב ורשת).

ישנה חבילת בדיקה שמלווה את הסטנדרט. היא נקראת PCTS, קיצור של Posix Certification Test Suite.

יש לשים לב שההגדרה של מערכת "יוניקס" בהתייחס לתקן היא "מערכת שעומדת בדרישות תקן POSIX" ולא "מערכת שמקורה מהיוניקס של AT&T". לדוגמה, ה־OS/390 של IBM, כיום Z/OS, נחשבת ל"יוניקס", אף על פי שאין בין שתי המערכות שום קוד מקור משותף. כמו כן, התקן לא מנסה להבטיח "תאימות בינארית" אלא "תאימות ברמת קוד מקור": write once, compile anywhere, ובעברית: "כתוב פעם אחת, הדר בכל מקום" (למעט עבור סקריפטים).

לינוקס ו־POSIX[עריכת קוד מקור | עריכה]

השוואה של POSIX API ל-API של ליבת לינוקס

מערכות גנו/לינוקס מבוססות על ליבת לינוקס וכלי גנו. שני המיזמים הללו מקפידים כמעט תמיד על תאימות לסטנדרטים של POSIX. לכן באופן כללי מערכת לינוקס קרובה למדי לתאימות ל־POSIX.

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

במערכות לינוקס, מספר תוספות משותפות וסטנדרטים דה־פקטו מסופקים על ידי בסיס הסטנדרט של לינוקס.

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

ויקישיתוף מדיה וקבצים בנושא POSIX בוויקישיתוף


תקני IEEE
Ieee blue.jpg

802.1X802.3 (Ethernet) • 802.5 (Token Ring) • 802.11 (Wireless LAN) • 802.15.1 (Bluetooth) • 802.15.4 (ZigBee) • 802.16 (WiMAX)
1003 (POSIX) • 1394 (FireWire)