מערכת הפעלה
מערכת הפעלה היא תוכנה המנהלת את משאבי החומרה והתוכנה במחשב. בנוסף, מערכת ההפעלה מספקת את התשתית הנחוצה להרצה של יישומי ההפעלה, המתבצע עם הדלקת המחשב, קרוי אתחול.
מערכת ההפעלה מספקת שלושה ממשקים: ממשק משתמש (User Interface), ממשק עבור החומרה על ידי מנהלי התקנים וממשק תכנות היישומים (API). מערכת ההפעלה היא רכיב חיוני בכל מחשב.
ניתן למנות שלושה תפקידים עיקריים של מערכת ההפעלה:
- הקצאת משאבי החומרה
- תזמון פעולות רכיבי החומרה ומרכיבי התוכנה
- העמדת תשתית משותפת ומסגרת מאורגנת של ממשק ושירותים למשתמש ולחבילות התוכנה
חלקים
החלקים העיקריים של מערכת הפעלה הם:
- ליבה - שכבת התוכנה אשר אחראית על הקשר שבין שכבת התוכניות אל שכבת החומרה. היא אחראית גם על תגובה ראשונית לפסיקות חומרה או תוכנה (Interrupt Handling). בנוסף על הליבה לתזמן את כל התוכניות הרצות על המעבד/ים על מנת שכל תוכנית תוכל לרוץ בזמן שנקבע לה, כך שתוכניות לא יישארו "מורעבות" (כלומר - לא יקבלו זמן ריצה), ושתוכניות לא יגזלו לעצמן את כל משאבי המעבד.
- ממשק תכנות יישומים (Application Programming Interface - API) - נותנת למשתמש הקצה את האפשרות להריץ פקודות של מערכת ההפעלה. כדי לשמור על אבטחת המערכת ופעילותה התקינה, הרי שרוב הקריאות למערכת ההפעלה עוברות דרך שכבת תוכנה אשר מקשרת את תוכנת המשתמש אשר רצה לרוב ממרחב המשתמשים (user space) למערכת ההפעלה עצמה. קריאות אלה הן קריאות מערכת (System Calls) והיא מאפשרת למערכת ההפעלה להגן על עצמה ועל החומרה מפני תוכניות אשר מנסות להשתמש בה ובמשאביה בצורה מוטעית, או לצרכים פסולים.
- מנהל התקן (דרייבר, מאנגלית: Driver) - תוכנת מחשב המתווכת בין מערכת ההפעלה ותוכנות מחשב שרצות בה, לבין החומרה של המחשב כמו למשל עכבר, מקלדת, התקני אחסון, כרטיס מסך, מדפסת, סורק, מצלמה ועוד.
ממשק משתמש
ממשק המשתמש הוא דרך לתקשר בין המשתמש והמחשב, באמצעות הצגת נתונים למשתמש על צג לשם הפעלה של תוכניות וקבלת תוצאות מהן. מערכות ההפעלה מגיעות עם ממשק קונסול (מעטפת פקודה), שהוא ממשק תוי (לרוב ברקע שחור) שבו אפשר לרשום פקודות למערכת ההפעלה (נקרא לרוב Terminal במערכות דמויות יוניקס, ו-Command line במערכות הפעלה של מיקרוסופט). ממשק זה קשה לתפעול למשתמשים רגילים שאינם טכנאים ומתכנתים. דרך זו הייתה הדרך המועדפת לתקשורת אדם-מחשב עד אמצע שנות השמונים, ובמערכות הפעלה דמויות יוניקס היא עדיין פופולרית היום.
בשל הקושי והסרבול בתקשור עם מערכת ההפעלה באמצעות שורת הפקודה פותחו ממשקי משתמש גרפיים (GUI). לרוב מערכות ההפעלה המודרניות כיום יש ממשק משתמש גרפי, שמאפשר תצוגה של אותיות, סמלים וציורים, ותקשור אינטואטיבי וקל של המשתמש עם מערכת ההפעלה. דוגמאות נפוצות לממשק משתמש גרפי נראות במערכות הפעלה כמו Windows של חברת מיקרוסופט, Mac OS מחברת אפל, או סביבות גרפיות חופשיות כמו KDE ו- GNOME, או סביבות לטלפונים חכמים כמו iOS ואנדרואיד. ממשקים גרפיים מאפשרים למשתמש לשלוט בכל הנעשה במחשב בעזרת העכבר (או מסך המגע) והמקלדת, ובעזרת צלמיות (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 וגרסאות 3.1 ו-3.11 שלו. סדרת מערכות הפעלה עוקבת הייתה, חלונות 95, חלונות 98 וחלונות ME שהגרעין שלהם עדיין התבסס בחלקו על DOS. במקביל החל פיתוח חלונות 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 למחשבים אישיים ובמקביל את גרסת השרתים Windows 2008 R2 עם ממשק משתמש דומה. באוקטובר 2012 הושקה Windows 8 המתאימה גם למעבדי ARM (האופייניים למחשבי לוח וטלפונים חכמים), שולחן העבודה המסורתי הוחלף בממשק אריחים המותאם למסך מגע.
בנוסף ישנם גם מערכות הפעלה המנסות לחקות את פעולת מערכות ההפעלה ממשפחת מיקרוסופט, כדוגמת ReactOS ו-Haiku.
מערכות הפעלה מבוססות יוניקס
יוניקס היא מערכת הפעלה מסחרית אשר פותחה במעבדות בל. בהמשך פתחו חברות רבות מערכות הפעלה המבוססות על ליבת מערכת ההפעלה יוניקס. ביניהן: AIX ,HP-UX, סולאריס, SunOS ,IRIX. משפחת BSD הכוללת את: OS X ,FreeBSD ,NetBSD ,OpenBSD. ומשפחת לינוקס הכוללת הפצות רבות בהן: דביאן GNU/לינוקס, Tails, אובונטו לינוקס, Suse ,RedHat, Fedora, מנדריבה, ג'נטו, סלאקוור, Linspire (לשעבר Knoppix,Lindows). בנוסף פותחה מערכת הפעלה לטלפון חכם בשם אנדרואיד.
משפחת OS/360
- ערך מורחב – OS/360
מערכת ההפעלה הראשונה של משפחה זו הייתה OS/360 ושווקה בתחילת שנות ה-60. מערכת הפעלה זאת הייתה מיועדת למחשבי Mainframe מסדרת IBM System/360. IBM עדיין משווקת מערכות הפעלה תחת משפחה זו. מערכות הפעלה אלה כוללות את IBM/370 ,IBM/4300, IBM/3080 ו-IBM/3090.
מערכות הפעלה אחרות
קיימות מערכות הפעלה רבות נוספות. חלקן בשימוש נרחב בעוד האחרות נכתבות עבור שימושים ספציפיים. iOS, אנדרואיד וסימביאן (לטלפונים חכמים) ו-PalmOS (למחשבי כף יד) הן שתי דוגמאות. קיימות מערכות הפעלה שיצורן הופסק מסיבות היסטוריות או שאוחדו לתוך מערכות הפעלה אחרות. בין אלה ניתן למצוא את: CP/M, Mac OS, OS/2 וכו'.
פרצות אבטחה
- ערך מורחב – פרצת אבטחה
לעיתים מתגלות במערכות הפעלה פרצות אבטחה המאפשרות להזיק למשתמש בהן. ניתן להתגונן מפני פרצות אלו על ידי התקנת טלאי אבטחה המסופקים על ידי יצרן מערכת ההפעלה.
ראו גם
עיינו גם בפורטל: | |||
---|---|---|---|
פורטל תוכנה |
קישורים חיצוניים
26708846מערכת הפעלה