מערכת הפעלה
מתוך ויקיפדיה, האנציקלופדיה החופשית
מערכת הפעלה היא תוכנה המגשרת בין המשתמש, החומרה ויישומי התוכנה. זו התוכנה הראשונה שעולה עם הדלקת המחשב והיא זו מאפשרת לו לפעול. מערכת ההפעלה מספקת שלושה ממשקים: ממשק משתמש (User Interface), ממשק עבור החומרה על ידי מנהלי התקנים (Drivers), וממשק עבור התוכנה (API). מערכת ההפעלה היא רכיב חיוני בכל מחשב.
החלקים העיקריים של מערכת הפעלה הם:
- ליבה
- קליפה
- מערכת קבצים
- תוכנות עזר.
מערכות הפעלה מחולקות למספר משפחות, בהתאם לסוג השירותים אותן הן מספקות:
- מערכות הפעלה למחשבים אישיים - Windows, Mac OS, לינוקס.
- מערכות הפעלה לשרתים קטנים עד בינוניים - Windows Server, לינוקס, FreeBSD.
- מערכות הפעלה לשרתים בינוניים עד גדולים - לינוקס, Sun Solaris, HP-UX, AIX, i5/OS.
- מערכות הפעלה למחשבי מיינפריים - z/VM, z/OS, z/Linux.
- מערכות הפעלה זמן-אמת עבור מערכות משובצות מחשב - RMX, QNX, RTLinux, Nucleus RTOS
תהליך טעינתה של מערכת ההפעלה, המתבצע עם הדלקת המחשב, קרוי אתחול.
תוכן עניינים |
[עריכה] ממשק משתמש
ממשק המשתמש משרת את המשתמש במחשב, ובא לאפשר קשר נוח בינו ובין המחשב, לשם הפעלה של תוכניות וקבלת תוצאות מהן. דוגמאות נפוצות לממשק משתמש גרפי נראות במערכות הפעלה כמו Windows של חברת מיקרוסופט, Mac OS מחברת אפל, או סביבות גרפיות חופשיות כמו KDE ו- GNOME. ממשקים גרפיים מאפשרים למשתמש לשלוט בכל הנעשה במחשב בעזרת העכבר והמקלדת, ובעזרת צלמיות (Icons) ורכיבי מסך כמו לחצנים, תיבות טקסט, רשימות נגללות וכן הלאה. זאת ללא צורך לכתוב פקודות וללא ידע בשפת מחשב.
עם זאת, ממשק גרפי איננו הממשק היחיד בין אדם למכונה. בעבר שימשו כרטיסים מנוקבים למסירת הוראות למחשב, באמצעות שפת מחשב שנועדה לכך, ומאוחר יותר מכונות דמויות מכונת כתיבה (Teletype). ממשק שורת הפקודה היה הדרך המועדפת לתקשורת אדם-מחשב עד אמצע שנות השמונים, ובמערכות הפעלה דמויות יוניקס, הוא עדיין פופולרי היום.
ממשק אדם-מכונה על ידי דיבור נמצא היום בחיתוליו, אך בעתיד הוא עשוי לשנות את הדרך שבה אנו מתקשרים עם מחשבים.
[עריכה] ממשק החומרה
כל האינטראקציה בין האדם לבין המכונה לא תועיל אם לא ניתן יהיה לתרגם אותה בסופו של דבר לפעילות כלשהי של החומרה. הזזה של העכבר המייצרת אות חשמלי צריכה להיות מתורגמת לאות שימושי עבור התוכנה שלה נועד מסר זה. מערכת ההפעלה צריכה להיות מסוגלת לדבר עם כרטיס התצוגה על-מנת לצייר את החלונות והבקרות על-גבי צג, וכן הלאה.
את התפקיד של תיווך בין החומרה הבסיסית לבין יתר רכיבי מערכת ההפעלה ממלאת ליבת מערכת ההפעלה (Kernel).
את החיבור בין ליבת המערכת לרכיבי החומרה עצמם עושה רכיב תוכנה שנקרא מנהל התקן (דרייבר). מנהלי התקנים כותב בדרך כלל יצרן החומרה הספציפית, והוא מספק אותם כמעין "הרחבה" למערכת ההפעלה כדי שתוכל לתמוך ברכיב החומרה (התקן). כותבי מערכות הפעלה מצרפים לעיתים קרובות דרייברים גנריים (מנהלי התקנים כלליים) לחומרה פופולרית, כך שיהיה ניתן לעבוד עם רכיבים סטנדרטיים גם ללא התקנה מיוחדת של דרייברים (שלעיתים אינם מסופקים על ידי יצרן החומרה).
[עריכה] ממשק תוכנה (API)
API הן ראשי תיבות של Application Programming Interface - ממשק תכנות יישומים. ממשק זה מאפשר לכותבי היישומים להשתמש בשירותיה של מערכת ההפעלה, כמו ציור של חלונות על המסך, איחסון מידע בקבצים, ושימוש בזיכרון הנדיף של המחשב (RAM), מבלי שיזדקקו לנהל פעולות אלו בעצמם. כך, כותבי היישומים יכולים להתמקד במטרת היישום כמו עיבוד תמלילים, נגינת קובצי MP3, הכנת אלבום תמונות, ניהול חשבונות וכדומה.
את ממשק היישומים מממשת בדרך-כלל רשימה של פונקציות שכותב היישום יכול להפעילן מתוך התוכנית שהוא כותב. פונקציות אלו עשויות להפעיל רכיב בממשק המשתמש, רכיב חומרה דרך ממשק החומרה, או שירות אחר שנותנת מערכת הפעלה כמו קשר עם יישומים אחרים.
[עריכה] סוגי מערכות הפעלה
- מערכות דסקטופ, PC - Personal Computer systems:
במערכות מחשב מסוג זה תפקידו של המחשב הוא לשרת את המשתמש הבודד - לכן מערכת הפעלה כזו פועלת על עקרונות של נוחות למשתמש וזמן תגובה מהיר. במערכות מסוג זה ניתן לאמץ טכנולוגיות ממערכות הפעלה גדולות יותר.
- Time-Sharing Systems - מחשבים אינטראקטיביים:
זמן המעבד מחולק בין מספר משימות (jobs), אשר מאוחסנות בזיכרון ובדיסק (המעבד מוקצה אך ורק למשימה אשר נמצאת בזיכרון). כאשר אין מספיק מקום בזיכרון, נעשה שימוש בזיכרון וירטואלי, כלומר המידע השייך למשימה מועבר פנימה והחוצה מהזיכרון לדיסק.
- מערכות מקביליות: מחשב מקבילי הוא מחשב המצויד ביותר ממעבד אחד, עם תקשורת צמודה:
- מערכות הפעלה מקביליות הן Tightly coupled systems, כלומר המעבדים חולקים זיכרון ושעון. התקשורת נעשית לרוב דרך הזיכרון המשותף.
- יתרונות המערכת המקבילית: תפוקה מוגברת; חיסכון: ניצול של מספר מעבדים עם זיכרון ושעון יחיד; אמינות גבוהה: כל מעבד מגובה על ידי האחרים.
- מערכות מקביליות הן סימטריות או אסימטריות:
- במערכות הפעלה סימטריות ( SMP - Symmetric Multi Processing): כל מעבד מריץ עותק זהה של מערכת ההפעלה. מעבדים רבים יכולים לרוץ בו-זמנית ללא כל ירידה בביצועים. רוב מערכות ההפעלה המודרניות תומכות ב SMP.
- במערכות הפעלה אסימטריות: לכל מעבד מקצים משימה (task) ספציפי. המעבד האדון (master) מתזמן ומקצה עבודה למעבדים העבדים (slaves). מערכות מסוג זה נפוצות במערכות גדולות ביותר.
- מערכות מבוזרות:במערכות אלו החישוב מבוזר בין מספר מעבדים פיסיים. ** מערכות אלו הן Loosely coupled system - לכל מעבד יש את הזיכרון המקומי שלו. המעבדים מתקשרים ביניהם דרך קווי תקשורת מסוגים שונים, כמו אפיקים (buses) מהירים או קווי טלפון. יתרונות המערכת המבוזרת: שיתוף משאבים, אמינות, שיתוף בעומס המאפשר חישוב מהיר יותר.
- מערכות זמן-אמת:מערכות מחשב אשר בהן יש דרישות לביצועים בזמנים מסוימים. הן נחלקות לשני סוגים:
- Hard real-time: במערכות כאלה מובטח כי זמן הריצה הגרוע ביותר האפשרי לא עובר רף מסוים. בשל האיטיות היחסית של אחסון הזכרון המשני, במערכות Hard real-time שטח הזיכרון המשני מוגבל או שלא נעשה בו כלל שימוש והמידע מאוחסן בזכרון קצר טווח או בזיכרון לקריאה בלבד (ROM). קיימת התנגשות בין דרישות אלו לדרישות של time-sharing systems, ולכן שילוב כזה לא נתמך על ידי מערכות הפעלה שנועדו למגוון מטרות (להבדיל ממערכות הפעלה ייעודיות).
- Soft real-time: במערכות כאלה המשתמש מרוצה יותר כאשר המערכת מגיבה בצורה אופטימלית, אך בו בזמן המשתמש לא יראה תגובה איטית יותר כ"כשלון". סוג זה שימושי בישומים כגון מולטימדיה ומציאות מדומה (virtual reality).
- Handheld Systems: מערכות הפעלה אלו נמצאות בשימוש במחשבי כף יד ובטלפונים סלולריים מתקדמים. תכונות של מערכות הפעלה מסוג זה: זיכרון מוגבל, מעבדים איטיים ומסכי תצוגה קטנים.