מהי מערכת הפעלה של סמארטפון?
מערכת הפעלה (OS) של סמארטפון (Smartphone) היא כיום הבסיס סביבו מפותחים הטלפונים החכמים, וסביבו מפותחות האפליקציות (Apps) עבור טלפונים חכמים. בכתבה הבאה ננסה להסביר במה מדובר.
מערכת הפעלה, Operating System או בקיצור OS, היא התוכנה הראשונה שמותקנת על גבי ציוד מסוים. בעולם המיחשוב יש כמה שכבות של פיתוחים. הבסיס הוא החומרה שפותחה לאותו ציוד. החומרה היא אוסף של רכיבים שיכולים להכיל תוכנה. החומרה כוללת בדרך כלל מעבד, זכרון, מסך ועוד. בשכבה השניה רצה תוכנה. התוכנה יכולה לרוץ על גבי החומרה אם יש חשמל, ובהתקנים ניידים החשמל מגיע מהסוללה.
בעולם הישן של הטלפונים הסלולריים מפתחת התוכנה היא גם מפתחת החומרה. למשל בטלפון סלולרי מלפני 10 שנים של נוקיה יש חומרה ותוכנה של נוקיה. כמובן שהיה שם תיאום מלא בין החומרה לתוכנה.
כאשר יצרנית החומרה רוצה לאפשר למפתחות תוכנה אחרות לכתוב תוכנות שירוצו על גבי החומרה שלה (למשל למפתחי ישומים - Applications) היא צריכה לפרסם מפרט לאותה חומרה. כאשר לאותה יצרנית יש יותר מחומרה אחת (מספר דגמי טלפון) אז פעולת התיאום נעשית מורכבת מדי ולכן פיצלו את שכבת התוכנה לשתיים: אחת שתהווה ממשק בין החומרות השונות של אותו יצרן לבין תוכנות שונות שיפותחו עבורן (זוהי מערכת ההפעלה), ורמת התוכנה השניה היא רמת האפליקציות או היישומים שנכתבו לפי מפרט של אותה מערכת הפעלה (לא עבור מפרטי חומרה).
בהמשך הרחיבו עוד יותר את המעגל לטופולוגיה יותר מודרנית כאשר מערכת ההפעלה עברה למרכז, ויצרניות החומרה התרכזו בבבנית חומרה התומכת במערכת ההפעלה הספציפית ומפתחי היישומים או האפליקציות פיתחו (או התאימו מבחינה תוכנתית) את יישומיהם עבור אותה מערכת הפעלה.
כמובן שהתיאום היה מלא בין יצרניות החומרה ומפתחות מערכת ההפעלה המובילות.

בתמונה - יכולת גרפית הנתמכת במערכת ההפעלה של סמארטפון
לדוגמה: מיקרוסופט (Microsoft) מפתחת מערכת הפעלה בשם Windows Mobile עבור טלפונים חכמים. HTC וגם LG הן יצרנית חומרה מובילות של טלפונים חכמים. שתיהן מריצות את אותה מערכת ההפעלה Windows Mobile של מיקרוסופט, כלומר שתיהן לקחו את המפרט של אותה מערכת ההפעלה ויישמו את החומרה שלהן כדי שהיא תרוץ על החומרה שפיתחו. החומרות של שתי היצרניות יכולות להיות שונות לחלוטין זו מזו עם רכיבים מסוגים שונים לגמרי, העיקר שיעמדו במפרטים שדורשת מערכת ההפעלה. מערכת ההפעלה של מיקרוסופט מאפשרת גמישות רבה כך שניתן למשל לשדך בדגם של HTC זכרון של 4 ג'יגה בייט ובדגם של LG זכרון של 16 ג'יגה בייט.
דבר זה מקל על מפתחי היישומים. הם כותבים את היישום שלהם, למשל משחק כלשהו לטלפון, פעם אחת שיתאים למערכת ההפעלה, ואז אותו משחק ירוץ גם על סמארטפון של HTC וגם על זה של LG שמריצים את אותה גרסה של מערכת ההפעלה.
לאחרונה יש התפחות מאד דרמטית בשוק מערכות ההפעלה שנוגס בנתח השוק של מיקרוסופט, בעיקר בכל הקשור לטלפונים חכמים (Smartphone). מערכות הפעלה חדשות, יותר מתקדמות משל מיקרוסופט הציבו עבורה רף חדש, ופתחו את שוק הסמארטפונים מטלפונים חכמים מדור ישן (טרם יציאת האייפון), וטלפונים חכמים מהדור החדש (המבוססים על האייפון). מערכות הפעלה אייפון (iPhone OS), אנדרויד (Android) של גוגל, ו- מאמו (Maemo) של נוקיה. חלקן מערכות הפעלה סגורות, כמו ה- iPhone OS אשר יכולה לרוץ רק על האייפון, וחלקן פתוחות לייצרניות אחרות כמו האנדרויד (Android) שכבר בצאתה רצה על חומרות של מספר ייצרניות כגון: HTC, מוטורולה ושל סמסונג.
גם אצל מפתחי היישומים חלה התקדמות מאד גדולה בכל הנוגע למחזור הקוד של התוכנות שהם פיתחו. הרי מפתח יישומים רוצה לכתוב את היישום שלו פעם אחת ושהוא ירוץ בכל טלפון חכם. פה אין נוסחת קסם. אמנם מערכות ההפעלה השונות די דומות בפעולותיהן אך עדין צריך להתאים את היישום למערכות ההפעלה השונות, אם כי זוהי פעולה שקל יותר לעשות מאשר לכתוב את היישום בכל פעם מחדש.
הודות למערכת ההפעלה, בשל ההפרדה המלאה בין השכבות השונות שדיברנו עליהן למעלה, מפתחי היישומים לא צריכים לדאוג לכל מני תהליכים ותרחישים שיכולים לקרות בעת הרצת היישום שלהם. למשל מה קורה כאשר התקבלה הודעת SMS או שיחה בזמן שהמשתמש גולש באינטרנט? הרי שיחה היא יישום. קבלת הודעת SMS היא יישום. דפדפן המאפשר גלישה הוא יישום. מהבחינה הזו החיים שלהם קלים - מערכת ההפעלה אמורה לדאוג לתפקוד היישומים השונים שרצים על גבי המערכת.
מהי מערכת הפעלה עם ריבוי משימות (Multi-Tasking)?
זוהי תכונה של מערכת ההפעלה. להמחשה, אותו היישום יכול לרוץ במערכת עם ריבוי משימות (Multi-Tasking) או ללא ריבוי משימות, ללא הבדל. ההבדל נעוץ ביכולת של מערכת ההפעלה להריץ עוד יישומים ברקע והישומים יכולים להיות מגוונים כגון הורדה של קובץ מהאינטרנט או האזנה לרדיו מתחנה אינטרנטית ועד לשיחת טלפון עצמה. במערכת הפעלה בעלת יכולת ריבוי משימות () יהיה ניתן בינתיים לעבוד במעבד תמלילים למשל, ובמערכת ללא יכולת ריבוי משימות (Single tasking) בעת עבודה על משימה מסויימת, כגון פתיחת מעבד התמלילים, שאר האפליקציות יהיו במצב המתן (Standby). ראוי לציין שמסתמן שכל מערכות ההפעלה של הסמארטפונים החדשים פועלות או יפעלו בעתיד הקרוב עם יכולת מולטי-טסקינג.
מערכת הפעלה פתוחה לעומת מערכת הפעלה סגורה
עולם מערכות ההפעלה מתחלק לשניים: מערכת הפעלה סגורה או בעלת "קוד סגור" ומערכת הפעלה פתוחה או בעלת "קוד פתוח" (Open Source). גם כאן אין שחור ולבן בלבד ובין שני הרצוות הללו יש גם גווני אפור. קודם נסביר מה זה קוד פתוח וקוד סגור.
מערכת הפעלה מסוג קוד פתוח מאפשרת למפתחים לגשת לקוד עצמו שעליו כתובה מערכת ההפעלה ולשנותו. דבר זה מאפשר ליצרניות אחרות של טלפונים להתאים את מערכת ההפעלה לציוד שלהם באופן אופטימלי, ולפתח יכולות נוספות לאותה מערכת הפעלה, למשל אנדרויד של גוגל נחשבת מערכת הפעלה מסוג קוד פתוח עבור סמארטפונים, אשר ניתן ממש להוריד את שורות הקוד שלה ולבצע בהן שינוי. מחר תבוא LG ותרצה לשלב את האנדרויד בפיתוח חומרה מיוחד - מקרן על גבי טלפון חכם. היא תצטרך להוסיף שורות קוד ולבצע את ההתאמות וזהו.
מערכת קוד סגור אינה מאפשרת כלל שינויים. המערכת מתאימה לחומרה עליה היא תוכננה מראש כחלק בלתי נפרד, והיא נחשבת לקניין הרוחני של אותה חברה. אסור לאף אחד לפרוץ אותה, לקחת את הקוד שלה ולעשות בה שימוש שאינו מופיע בתנאי הימוש של החברה. למשל מערכת ההפעלה אייפון או.אס (iPhone OS) היא סגורה. רק לחברת אפל מותר לעשות בה שימוש ולעצב אותה כרצונה.
מעכת ההפעלה של נוקיה Nokia N900 מבוססת על לינוקס, שהיא מערכת הפעלה פתוחה. ניתן ממש לקחת תוכנות שרצות על לינוקס ועם התאמה לחומרת ה- N900, להריצן עליו.
קסטומיזציה של מערכת ההפעלה
מערכות הפעלה נמדדות גם על בסיס היכולת שלהן לאפשר קסטומיזציה של הממשק למשתמש. הקסטומיזציה הינה התאמה של הממשק הגרפי, צבעי המערכת, רקעים, הוספת וידג'טים (Widgets), שינוי צלילים והתנהגות המכשיר על פי רצון המשתמש.
