POSIX
![]() |
יש לערוך ערך זה.ייתכן שהערך סובל מבעיות ניסוח,סגנוןטעון שיפור או צורך בהגהה, או שישלעצב אותו,או מפגמים טכנייםכגון מיעוט קישורים פנימיים.
| |
יש לערוך ערך זה.ייתכן שהערך סובל מבעיות ניסוח,סגנוןטעון שיפור או צורך בהגהה, או שישלעצב אותו,או מפגמים טכנייםכגון מיעוט קישורים פנימיים. | |
Portable Operating System Interface (POSIX),בעבריתממשק מערכת הפעלה יביל,הוא אוסףתקניםשלIEEE,המיועדים לשמירה עלתאימותביןמערכות הפעלהובמיוחדמערכות דמויות יוניקס.
POSIX מגדיר עבור מערכות ההפעלה ועבור יישומיםממשק תכנות יישומים(API), וכן סביבת עבודה שבה ניתן לכתוב פקודות מוגדרות ואת תוכנות השרות שמבצעות את הפקודות. POSIX מאפשר להעביר תוכנה, ללא שינויים, בין מערכות הפעלה שונות וסביבות עבודה שונות שתומכות בתקן. ההגדרות של POSIX נועדו לשימוש על ידי מפתחי יישומים ומפתחי מערכות הפעלה. POSIX הוא גםסימן מיסחרישל IEEE.
תקן תואם הוא ה־Single Unix Specification(אנ׳)(בקיצור:SUS), אשר מתוחזק על ידיAustin Group.
היסטוריה
[עריכת קוד מקור|עריכה]בראשיתשנות ה־80 של המאה ה־20יוצרו הרבה מערכות ממשפחת יוניקס. היה ביניהן שוני בפרטים קטנים ויצרני המערכות לא נטו לשתף פעולה. לכן התאמה של תוכניות לעבודה על כמה מערכות יוניקס שונות דרשה הרבה עבודה מיותרת.
הַתֶּקֶןSUSנוצר מפרויקט באמצע שנות ה־80 במטרה להפוךממשקיםשל מערכת הפעלה עבורתוכנהשתוכננה לנגזרות שונות של מערכת ההפעלה יוניקס לתקן אחיד. הצורך בקביעת תקן מסוים נבע מכך שחברות שהשתמשו במחשבים רצו להיות מסוגלות לפתח תוכנות שאפשר להשתמש בהן במערכות מחשב של יצרנים אחרים מבלי לכתוב אותן מחדש. אחד השיקולים בבחירת מערכת ההפעלה יוניקס כבסיס לממשק המערכת הסטנדרטי היה שהיא הייתה נייטרלית מבחינת יצרנים. סטנדרטים אלו הפכו ל־IEEE 1003(הרשום גם כ־ISO/IEC9945), או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
[עריכת קוד מקור|עריכה]![](https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Linux_kernel_API.svg/250px-Linux_kernel_API.svg.png)
מערכותגנו/לינוקסמבוססות עלליבת לינוקסוכליגנו.שני המיזמים הללו מקפידים כמעט תמיד על תאימות לסטנדרטים של POSIX. לכן באופן כללי מערכת לינוקס קרובה למדי לתאימות ל־POSIX.
רוב מפיצי לינוקס אינם מעוניינים בעלויות הנדרשות כדי לקבל הסמכה שגרסה מסוימת שלהפצהתואמת את ה־SUS. יתרה מזאת, התוכן של הפצת לינוקס טיפוסית משתנה כל כך מהר, כך שהצהרה מחודשת תידרש באופן כה תכוף, שלא תהיה אפשרית מבחינה פיננסית.
במערכות לינוקס, מספר תוספות משותפות וסטנדרטים דה־פקטו מסופקים על ידיבסיס הסטנדרט של לינוקס.
קישורים חיצוניים
[עריכת קוד מקור|עריכה]אתר האינטרנט הרשמישל POSIX(באנגלית)
- גרסה מספר 3 של ה־Single UNIX Specification
- ועדת הסטנדרטים של יישומים ניידים
- מלחמות היוניקס(אורכב19.07.2008 בארכיוןWayback Machine)(Living Internet)
- סטנדרטים של יוניקס(אריק ס. ריימונד,האומנות שבתכנות יוניקס)
תקני IEEE
![]() | |
---|---|
|