# Xinu

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

יש לך הודעות חדשות (השווה לגרסה הקודמת).

Xinu היא מערכת הפעלה המשמשת לצרכי לימוד. השם Xinu הוא ראשי תיבות: "Xinu Is Not Unix".

Xinu פותחה על ידי דגלאס קומר מאוניברסיטת Purdue ב-1980.

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

Xinu כתובה ברובה בשפת C, אך פונקציות מסוימות שלה, בעיקר כאלו הדורשות גישה לסגמנטים השונים מסגמנט קוד וגישה ישירה למחסנית של תהליך כתובות בשפת assembly.

המערכת מופעלת, לפחות בגירסה עבור PC, תחת מערכת הפעלה אחרת, למשל Windows. כמו כן, היא אינה מורצת באופן עצמאי אלא חייבת להריץ קוד C שהוא למעשה אפליקציית Xinu.

### [עריכה] Xinu מדגימה מספר עקרונות חשובים במערכות הפעלה:

1. כמערכת רב-תהליכית, קיים בה מנגנון time sharing. מנגנון זה מאפשר למעבד היחיד של המחשב להריץ מספר תהליכים במקביל. למעשה ההרצה אינה באמת במקביל, שכן בכל נקודת זמן המעבד יכול להריץ קוד של תהליך אחד בלבד, אך על ידי העברת השליטה במעבד מתהליך לתהליך במרווחי זמן קצרים מאוד (לפחות במושגים אנושיים) מושגת האשלייה שהתהליכים רצים במקביל. כלומר ייתכן מצב שבו תהליך נוצר, החל להריץ את הקוד שלו ולפתע פתאום, תוך כדי ריצתו, מערכת ההפעלה לוקחת ממנו את המעבד ומעבירה את השליטה בו לתהליך אחר. זה נקרא Preemption.
2. מנגנוני סינכרון. כיוון שהתהליכים רצים במקביל זה לזה, ללא מנגנוני סינכרון לא היה אפשר להעביר כל אינפורמציה ביניהם. נניח למשל, שתהליך אחד צריך לחשב משתנה מסוים שערכו משתנה כל הזמן ותהליך אחר צריך להדפיס את המשתנה לאחר כל שינוי. ללא מנגנון סינכרון, התהליך המדפיס לא היה יודע מתי השתנה הערך וייתכן שאותו ערך היה מודפס כמה פעמים וערך אחר לא היה מודפס כלל. Xinu מציעה שני מנגנוני סינכרון שונים.
3. תמיכה בפסיקות. Xinu "לוקחת" כמה פסיקות, במובן זה שהיא מכילה עבורן interrupt service routine, ISR כלומר שגרת טיפול בפסיקה, שזהו למעשה קוד שמורץ בכל פעם שהפסיקה מתרחשת. למשל בכל פעם שמתרחשת פסיקת שעון, Xinu מריצה את ה-ISR המתאים, שמצידו דואג לעדכן את מבני הנתונים הגלובליים של Xinu, ביניהם ערך ה-preemption. כך המערכת יודעת כמה זמן המעבד כבר נמצא אצל התהליך שרץ כרגע.

לעומת זאת, Xinu לא מציעה שום מנגנוני הגנה. גם סיווג לפי רמות פריווילגיה לא קיים ב-Xinu. רמות הפריוולגיה קיימות בכל מערכות ההפעלה המקצועיות והן דואגות שקוד אפליקציה פשוט לא יוכל לגשת לכתובות מסוימות בזיכרון או לקרוא לפונקציות רגישות (למשל כאלו שמתעסקות בקלט-פלט) באופן ישיר. משמעות הדבר היא שב-Xinu כל תוכנית יכולה להפעיל כל תוכנית, גם אם דבר זה עלול לגרום לקריסת המערכת.

מקור: http://he.wikipedia.org../../../x/i/n/Xinu.html

קטגוריה: מערכות הפעלה

##### Views

- ערך
- שיחה
- גרסה נוכחית

##### קהילה

- שער הקהילה
- עזרה
- דלפק ייעוץ
- מזנון
- יצירת קשר
- ספר אורחים

##### חיפוש

##### שפות אחרות

- English
- Deutsch
- Español