מערכת הפעלה
מתוך ויקיפדיה, האנציקלופדיה החופשית
מערכת הפעלה היא תוכנה המגשרת בין המשתמש, החומרה ויישומי התוכנה. זו התוכנה הראשונה שעולה עם הדלקת המחשב והיא זו המאפשרת לו לפעול. מערכת ההפעלה מספקת שלושה ממשקים: ממשק משתמש (User Interface), ממשק עבור החומרה על ידי מנהלי התקנים וממשק תכנות היישומים (API). מערכת ההפעלה היא רכיב חיוני בכל מחשב. תהליך טעינתה של מערכת ההפעלה, המתבצע עם הדלקת המחשב, קרוי אתחול.
ניתן למנות שלושה תפקידים עיקריים של מערכת הפעלה:
- הקצאת משאבי החומרה
- תזמון פעולות רכיבי החומרה ומרכיבי התוכנה
- העמדת תשתית משותפת ומסגרת מאורגנת של ממשק ושירותים למשתמש ולחבילות התוכנה
תוכן עניינים |
[עריכה] חלקים
החלקים העיקריים של מערכת הפעלה הם:
- ליבה - שכבת התוכנה אשר אחראית על הקשר שבין שכבת התוכניות אל שכבת החומרה. היא אחראית גם על תגובה ראשונית לפסיקות חומרה או תוכנה (Interrupt Handling). בנוסף על הליבה לתזמן את כל התוכניות הרצות על המעבד/ים על מנת שכל תוכנית תוכל לרוץ בזמן שנקבע לה, כך שתוכניות לא יישארו "מורעבות" (כלומר - לא יקבלו זמן ריצה) ושתוכניות לא יגזלו לעצמן את כל משאבי המעבד.
- מעטפת פקודה (Application Programming Interface - API) - נותנת למשתמש הקצה את האפשרות להריץ פקודות של מערכת ההפעלה. בגלל רגישות מערכת ההפעלה לתוכניות זדוניות הרי שרוב הקריאות למערכת ההפעלה עוברות דרך שכבת תוכנה אשר מקשרת את תוכנת המשתמש אשר רצה לרוב ממרחב המשתמשים (user space) למערכת ההפעלה עצמה. קריאות אלה הן קריאות מערכת (System Calls) והיא מאפשרת למערכת ההפעלה להגן על עצמה ועל החומרה מפני תוכניות אשר מנסות להשתמש בה ובמשאביה בצורה מוטעית, או לצרכים פסולים.
[עריכה] ממשק משתמש
ממשק המשתמש הוא דרך להציג למשתמש נתונים לשם הפעלה של תוכניות וקבלת תוצאות מהן. דוגמאות נפוצות לממשק משתמש גרפי נראות במערכות הפעלה כמו 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) ספציפי. מערכות מסוג זה נפוצות במערכות גדולות ביותר.
- מערכות מבוזרות: במערכות אלו החישוב מבוזר בין מספר מעבדים פיזיים. ** מערכות אלו הן Loosely coupled system - לכל מעבד יש את הזיכרון המקומי שלו. המעבדים מתקשרים ביניהם דרך קווי תקשורת מסוגים שונים, כמו אפיקים (buses) מהירים או קווי טלפון. יתרונות המערכת המבוזרת: שיתוף משאבים, אמינות, שיתוף בעומס המאפשר חישוב מהיר יותר.
- מערכות זמן-אמת: מערכות מחשב אשר בהן יש דרישות לביצועים בזמנים מסוימים. הן נחלקות לשני סוגים:
- Hard real-time: במערכות כאלה מובטח כי זמן הריצה הגרוע ביותר האפשרי לא עובר רף מסוים. בשל האיטיות היחסית של אחסון הזיכרון המשני, במערכות Hard real-time שטח הזיכרון המשני מוגבל או שלא נעשה בו כלל שימוש והמידע מאוחסן בזיכרון קצר טווח או בזיכרון לקריאה בלבד (ROM). קיימת התנגשות בין דרישות אלו לדרישות של time-sharing systems, ולכן שילוב כזה לא נתמך על ידי מערכות הפעלה שנועדו למגוון מטרות (להבדיל ממערכות הפעלה ייעודיות).
-
- Soft real-time: במערכות כאלה המשתמש מרוצה יותר כאשר המערכת מגיבה בצורה אופטימלית, אך בו בזמן המשתמש לא יראה תגובה איטית יותר כ"כשלון". סוג זה שימושי בישומים כגון מולטימדיה ומציאות מדומה (virtual reality).
- Handheld Systems: מערכות הפעלה אלו נמצאות בשימוש במחשבי כף יד ובטלפונים סלולריים מתקדמים. תכונות של מערכות הפעלה מסוג זה: זיכרון מוגבל, מעבדים איטיים ומסכי תצוגה קטנים.
[עריכה] משפחות מערכות הפעלה
[עריכה] מערכות הפעלה ממשפחת מיקרוסופט
|
|
ערך מורחב – Microsoft Windows |
מערכת ההפעלה הראשונה של חברת מיקרוסופט הייתה Ms-dos מערכת זו הייתה מערכת אצוות לא גרפית. בהמשך ניתן היה להלביש על מערכת הפעלה זו ממשק גרפי שנקרא Microsoft Windows 3.0, סדרת מערכות ההפעלה לאחר מכן הייתה, חלונות NT בגרסאות 3.1,3.5,4.0 ו-5.0 הידועה גם בשם חלונות 2000 עבור מחשבים אישיים וWindows 2000 server לשרתים. הגרסה הבאה הייתה NT 5.1 הידועה גם כחלונות XP וWindows 2003 server. בנובמבר 2006 השיקה מיקרוסופט את חלונות ויסטה למחשבים אישיים ובאפריל 2008 השיקה את גרסת השרתים שנקראת Windows 2008 Server. באוקטובר 2009 השיקה מיקרוסופט את Windows 7 למחשבים אישיים.
[עריכה] מערכות הפעלה מבוססות יוניקס
|
|
ערכים מורחבים – יוניקס, לינוקס |
יוניקס היא מערכת הפעלה מסחרית אשר פותחה במעבדות בל. בהמשך פתחו חברות רבות מערכות הפעלה המבוססות על ליבת מערכת ההפעלה יוניקס. ביניהן: AIX ,HP-UX, סולאריס, SunOS ,IRIX. משפחת BSD הכוללת את: OS X ,FreeBSD ,NetBSD ,OpenBSD. ומשפחת לינוקס הכוללת הפצות רבות בהן: דביאן GNU/לינוקס, אובונטו לינוקס, Suse ,RedHat , Fedora Core, מנדריבה, ג'נטו, סלאקוור, Linspire (לשעבר Knoppix,Lindows).
[עריכה] משפחת IBM/360
מערכת ההפעלה הראשונה של משפחה זו הייתה IBM/360 ושווקה בתחילת שנות ה-60. מערכת הפעלה זו הייתה מיועדת למחשבי MainFrame. IBM עדיין משווקת מערכות הפעלה תחת משפחה זו. מערכות הפעלה אלה כוללות את: IBM/370,IBM/4300, IBM/3080 ו-IBM/3090
[עריכה] מערכות הפעלה אחרות
קיימות מערכות הפעלה רבות נוספות. חלקן בשימוש נרחב בעוד האחרות נכתבות עבור שימושים ספציפיים. סימביאן (לטלפונים סלולריים) ו-PalmOS (למחשבי כף יד) הן שתי דוגמאות. קיימות מערכות הפעלה שיצורן הופסק מסיבות היסטוריות או שאוחדו לתוך מערכות הפעלה אחרות. בין אלה ניתן למצוא את: CP/M, Mac OS, OS/2 וכו'
[עריכה] ראו גם