Transcript for:
הרצאה - היכרות עם מערכות הפעלה

אתם שומעים אותי? אני שומע. שומעים. מעולה. בוקר טוב לכולם, מה שלומכם? בוקר פנן. מעולה. אני רואה שאף אחד לא מדליק מסלמה, זה משהו שנהוג, כלומר אני מלמד בבר אילן המון זמן וזה מוזר לי שאף אחד לא... לא מדליק את המסלמה, זה תורם מאוד להשתתפות ולדינמיקה בכיתה הווירטואלית הזאת, אז אני אשמח מאוד שתדליקו כדי שככה נכיר, קודם כל נכיר אחד את השני, שזה לא יהיה חד-שדדי, דבר ראשון, דבר שני, סטודנט ששואל אותי שאלה על אחת כמה וכמה צריך להדליק מסלמה, כי זה לא כל כך נעים ללמד בצורה כזאת. אוקיי, שני תודה רבה אנחנו לא קרובים משפחה נכון? שפיר, גם אני שפיר לא חושבת, לא לא חושבת, אוקיי? בסדר טוב, אז ככה כמה מילים על עצמי כן, אבל חברים רק שאני אדליק את המסלמה, מה קורה עם השאר, אחרי ואתם מבליחים אותה טוב, מי ששואל אותי שואלות הוא מחויב להעדיק משימה, בסדר? אוקיי, אז ככה, כמה מילים על עצמי, אני מלמד בבאר אילן הרבה שנים חסית, וגם את הקורס מהאחות הפעלה, בפקולטה להנדסה אני גם מרשה של הקורס, ואותכם ספציפית אני מתרגל. בטוח הבנתם את זה ש... לא מסוים את הרגל עד בפני שבוע בערך, באמת ההפקות החיפשה בנרות, ופנו אליי והסכמתי לתרגל, ככה השיעורת נופל לי ממש על חלון, בין שני שיעורים אחרים, ולכן אנחנו מתחילים באמת בשעה מוזרה, ברבע לאחת עשרה, ולא באחת עשרה, ואתם קיבלתם הודעה מסודרת, נכון? מעולה. זהו, בגדול... אני אלמד לכם את הקורס הזה, אני מניח שגם קורסים אחרים, אם זה כמעשה, אם זה כמתרגל, ואנחנו נכיר גם בשלב יותר מאוחר במסגרות אחרות. אני בעל תואר ראשון במדע המחשב, תואר שני גם במדע המחשב, תואר שלי נוסף בבניין עסקים, ואני כעת בדוקטורט שלי בפינלנד, עושה דוקטורט בסוג ב-Big Data and Information System. זהו יש לכם את המייל שלי אפילו אני רואה שזה מופיע ממש פה בזום על המסך אתם ראשים לשלוח לי אם יש לכם שאלות עניינים עברות תרגישו חופשי אני בדרך כלל עונה יחסית מהר תוך כמה שעות בודדות ומבחינת אתר המודל העליתי לכם אתם יכולים לראות שהחדתי את כל הקבוצות את כל קבוצות התרגול תחת קבוצה אחת כי למעשה הקבוצה היא מסוכנת, זאת אומרת שאין שום טעם שבקבוצה אחת אני פתח סביבה אחת ובקבוצה אחרת, אז אתם רואים, לשלוק את הסביבות האלה ביטלתי, ואת הסביבה הזאת היא 105, שארתי אותה וזאת היא הסביבה שכולם משוחחים, ומשם אני גם מתכוון לעלות את החומרים. בנוסף אני מתכוון להקליט את כל התרגולים. כולם יועלו לכאן למודל, בשורה מסודרת, לפי תאריכים. שימו לב שיש אנומליה מסוימת בין הקבוצות, למשל הקבוצה הזאת, היא תהיה קבוצה מובילה, כי יש לי קבוצות נוספות שנופלות בדיוק על פורים, ולכן התרגול הראשון שלהם, יהיה רק בשבוע הבא. אז אם מישהו מתכוון לדלג בין הקבוצות, אז שיקח את זה מחשבון, ש... הקבוצה הזאת מקדימה בשבוע את הקבוצות האחרות, אני מניח שעד פסוט הסמסטר אנחנו כבר נסתנחרן עם כל הקבוצות. פרושם פה, קניסה, לין, קניסה לתרגול, זום, בהקלטות. פה אני מקווה לענות את ההקלטות. אם יש למישהו שאלות, זה הזמן. כמה דברים בנוגע לתרגילים, אתם תקבלו במסגרת הקורס. סך הכל חמישה תרגילים. תרגילים תכנותיים. אני צריך לבדוק האם זה הגשה וזוגות או ביחידים. בפקולטה להנדסה כאשר אני מלמד את הקורס זה הגשה ביחידים, אם זאת פעם היה גם הגשה בזוגות לפני שלוש או ארבע שנים, בשנים האחרונות זה ביחידים, אז צריך לדאוג לגבי הפקולטה למדע המחשב, תנו לי לחזור אליכם בנוגע לזה, חמישה תרגילים כאשר כולם חובה, תרגילי תכנות, ואת כולם אני מתכוון להעלות לכם פה, אתם רואים מטלות להגשה, כוללת תיבות הגשה אתם מעלים את הקוד מקור. אני אבקש גם לעלות את צילומי מסך, אני אשום לכם מודעות מסודרות, בדיוק איך אני מצפה לעלות את הפרגלים עם צילומי מסך, בדיוק מה לסלם, בדיוק מה להגיש, באיזה פורמט של כובע, כל הדברים האלה יהיו רשומים לכם בשורה מאוד מאוד מסודרת. דניאל, יש לך שאלה? לא, סתם, תראה כאן אם. נהדר, אז אני שמח לראות אותך. בסדר, אם יש למישהו שאלות... זה הזמן, אם לא אנחנו יכולים כבר להתחיל. כולם פה סטודנטים למדע המחשב, נכון? או שיש כאן מחזורים אחרים, מקבוצות אחרות. אוקיי? טוב. יש פה גם מביולוגיה חישובית. ביולוגיה חישובית, אוקיי. נהדר, אוקיי. אדמיניסטרציה, אתם כבר יודעים, המרסה שלכם, דוד, פגשתם אותו כבר, היה לכם שהוא ריתון, נכון? כן, לא שבר. כן, נכון, כי התרגולים מתחילים בשבוע עוקב, לצערי התרגולים של רביעי חמישי שבועיים עוקב, בגלל החג, זה המציאות, 25% מהשיעון הסופי. הוא נתן לכם דגש מאוד מאוד מחמיר בנוגע לכל הנושא של העתקות ועניינים, הוא מאוד מאוד שם את זה דגש, חשוב מאוד לעשות את העבודות לבד. אני עוד פעם מבדוק בנוגע לתרגילים, האם הם בזיוגות או ביחידים, אני מבטיח לכם שאני אחזור אליכם בכל מקרה בשבוע הבא, עד השבוע הבא בטוח, או שבועיים קדימה אפילו יותר מכך. לא היו עלה התרגיל הראשון, אז בואו נחכם זה ונקבל את כל האינפורמציה הזאת בהמשך. זה המייל, עדיף שאם יש לכם שאלות בנוגע לתרגול תשלחו זה למייל שלי, בסדר? יש לכם את המייל שלי פה, יש לכם גם ברשימת המשתתפים שבזום, במודל, עדיף. עדיף זה, אם זה משהו בנוגע לרסה תעבירו זה לדוד. מבחינת סביבת העבודה, אנחנו נעשה בקורס הזה הרבה קוד, ולכן צריך להתקין, צריך להתקין סביבת העבודה, יצא לכם לעבוד כבר עם לינוקס, אובונטו, אמרתם? כן? כן, כן. אוקיי, באיזה קורס? במתקדם, במבנה מחשב. אה, מילה, אוקיי, נהדה. אז אתם כבר יודעים מה זה מכונה וירטואלית, סיבולטור, מכונה וירטואלית. כולם התקינו, יש להם בבית, מה אתם עושים? יש גם אפשרות לעבוד במעבדה, בבר אילן אני יודע שיש לו בונטו, יש כאלה שיש להם שרת מרחוק שמתחברים אליו, מה אתם עושים, מה עשיתם בקורסים הקודם? אני רוצה לדעת ולהבין איך זה יתבשר בהמשך. אני למשל את ההדגמות שלי, אני לא מראה לכם על המחרב שלי, אלה התאדגמות שלי, יש לי שרת אחר במוסד אחר, שרת אובונטו שאני מתחבר אליו ושרת שלי, ואני מריס לכם את הקוד ואת הפקודות ואת הכל על שרת אובונטו שאני מתחבר אליו מרחוק. אבל איך אתם הייתם מתחברים ביושבים על אובונטו? התקנתם אובונטו בבית או שהתקנתם מכונה וירטואלית? או שלא התקנתם וירטואלית, גם משהו. חלק עשו ככה, חלק עשו ככה. אוקיי? בסדר? אם מישהו לא מסליח לעבוד מולובונטו בדרך כזאת או אחרת שיגיד לי, אני אתן לכם איזושהי הנחיה איך עושים את זה, באופן עקרוני צריך להתקין מכונת ריטואלית, VMware, שזה בעצם סימולטור שאליו יצא לטעון אימג'ים של מערכות הפעלה שונות, למשל להריץ על ווינדוס, מהייתה הפעלה של אפל. או להריץ על לינוקס מערכת הפעלה פדורה או להריץ על סולאריז מערכת הפעלה של אנדרואיד דברים מן השוג הזה ולמעשה הפלטפורמה הזאת שנקראת מכונה וירטואלית היא באמת כשמה היא מכונה וירטואלית היא לא מהר תפעלה אמיתית, היא מסמלצת לכם מהר תפעלה, ובממצאות מהר תפעלה הזאת, נשאר לעשות כל מיני הגדרות ושינויים, שלא באמת משפיעים על המחשב, והרעיון פה זה בעצם, ליתר את השורך להתקין מהר תפעלה בבית, שזה דבר הרבה יותר מסיבי, והרבה יותר בעייתי, אחר כך נשחזר, לעשות ריקאברי לדברים. ובאמת המכונה הווירטואלית היא כלי מדהים שבאמצעותו אפשר לעשות גם כל מיני ניסויים בעולם הסייבר, בעולם התקשורת, אפילו אפשר להגדיר כרטיסי רשת וירטואליים שלא באמת קיימים, או כתובות ה-IP מסוימים, דברים מן הסוג הזה, ובאמת זה כלי מו שימושי. אנחנו ספציפית בקורס הזה נסמד לאובונטו, ולמה אובונטו? יש הרבה סיבות, אובונטו זה מיית הפעלה מסוג לינוקס. לינוקס זה מעלת הפעלה מודרנית, בדרך כלל גם עם גוי, עם Graphical User Interface, עם אושר גרפי למשתמש, שעומד בטקן של יוניקס, אוקיי? טקן של יוניקס, אני אדבר על זה בהחווה מה זה אומר, והסיבה שאנחנו בוחרים אובונטו זה א'שאובונטו זה קול פתוח, Open Source, וקול פתוח זה נהדר בשביל ללמוד ולהבין איך דברים עובדים, אולי אפילו לתכנת חלק ממעלת הפעלה. או לעשות לה אינטגרציה עם כל מיני פקודות וכן הלאה. סיבה שנייה זה שיש לכם כאן את ההזדמנות ללמוד מהארטפלה האחרת, לא רק ווינדוס באפל והדברים שכולנו משתמשים ביום יום, מהארטפלה קצת שונה, שלא תמיד משתמשים ביתיים עובדים איתם, ובארגונים בתחום ההייטק, סייבר וכן הלאה, משתמשים בהם המון, אז יש לכם כאן הזדמנות ללמוד גם מהארטפלה הנוספת. מערכת הפעלה גם חינמית וגם מומו פופולרית. בחלק מהמוסדות לימוד בארץ נשמדים לאובונטו, חלק משתמשים ברדהאט, דבר כזה, גם מבוססת לינוקס, יש אפילו מריקל פיתוח של רדהאט ברעננה, בכניסה לרעננה, מי שמכיר, ובעבר היותר רחוק היו עובדים עם פדורה, קנופיקס ועוד ועוד, כולם מערכות הפעלה לינוקס. אבל פשוט ובונטו זה מה תפעלה מבוססת לינוקס הפופולרית ביותר, והם משתמשים בהמון בתחום שלכם, ולכן זה באמת מאוד מאוד חשוב שתסיימו את התואר הזה עם ידע מרחב בלינוקס ובפרט ובונטו. אז מעלים כזה אתם מורידים את ה-VMWare, ומעלים כזה אתם מורידים את ה-ובונטו. אחרי שהתקנתם את ה-vmware אתם תואנים את הקובץ, קובץ ISO של ובונטו ובעצם יכולים להתחיל לעבוד על ובונטו. עכשיו אם מישהו לא מסתדר, לא התקין, לא יודע, תרגישו חופשי להגיד לי, התרגול נועד קודם כל לעזור לכם, אחר כך לתרגל, קודם כל לעזור לכם בדברים האלה שלא בטוח שהם עובדים לכם, תרגישו חופשי. אם זה בתרגול הזה או בתרגול הבא, לשאול אותי בכל שלב, רק אני מבקש בראשה מקדימה, תודה ששאולו אותי שאלות שיפעים את המער, אוקיי? קצת ככה, מה שנקרא, הנימוש המינימלי, אוקיי? נקרא לזה ככה. שאלות בינתיים למישהו? אוקיי. אז אנחנו סיימנו את התרגול, סתם שוחק, שוחק. אוקיי. אז קודם כל, מה זאת מערכת הפעלה? קודם כל מדובר פה על תוכנית, ולמעט הפעלה יש הרבה תפקידים, אתם בטוח למדתם על זה בשיעור. קודם כל, למערכת שמנהלת את החומרה של המחשב, אנחנו נבין לך מערכת בכלל היא בנייה, לפי מודל של שכבות, היא מדברת עם החומרה, מתווכת בין התחומרה למישהו. להשתמש, לכל מיני אפליקציות שמותקנות, אנחנו באמת נבין איך זה עובד כמו ששריך, אנחנו נדמה לגבי הרבה פקודות בלינוקס, אני מניח שחלקם אתם כבר מכירים, כי רעבדתם עם לינוקס, אמרתם, ואולי אפילו נגיע לזה היום, לפקודות לינוקס, כולל כולל נוסף לבקרה של הרשאות, לקבצים, לספריות וכך הלאה, אבל כמה דברים לגבי מהר תפעלה, צריך להבין כמה דברים... בדיוק בהקשר כלינוקס בפרט, לא רק מהרת הפעלה במובן הרחב, בסוף שנות ה-70, משהו כזה, תחילה שנות ה-80. צצה למעט הפעלה שנקראת יוניקס. בעבר הרחוק, אנחנו מדברים על לפני 40 שנה, פחות או יותר, אולי קצת יותר, מעט הפעלה יוניקס באמת הייתה מעט הפעלה כזאת, היום יוניקס הפך להיות שם של סטנדרט מסוים, מעט הפעלה יוניקס שפותחה במקור בשפת C, ממש כך, היא לא הייתה מגוי, אנחנו מדברים פה על לפני עידן, האכבר והגרפיקה והאייקונים והתמונות, והכל היה טרמינלי. ממש מסך שחור וקונסול כזה, והרעיון של יוניקס באמת שהיא אותה מהרתפלה שנחליבת מאוד מאוד מתקדמת וחדשנית בתקופה ההיא, מגבל סיבות, קודם כל היא פותחה בצפת C, שהיא שפה מאוד מאוד יפיבה מי שמכיר, אני בטוח שלמדתם בצפת C אולי בקורס מבוא למדע המחשב, כן אני צודק? למדתם או ש... כן. אולי חבר'ה מביולוגיה חישובית, מדעי המחשב אני בטוח שלמדו ספאצי, מה עם חבר'ה מביולוגיה חישובית? לא. לא למדתם? לא למדתם מבנה מחשב. לא למדתם מבנה מחשב? אוקיי. רגע, וקורסי תכנות למדתם? כן. למדנו C++. אוקיי, בסדר, איזה בעיה. די דומה, רק עם אובייקטים וסטרינגים ופולימורופיזים ואופרטורים, אוקיי. אבל זו שפה מאוד מאוד יסיבה, גם C++, שפה יסיבה, מהירה, נכון שהיא דורשת ידע נרחב, זה לא כמו מתכנת פייטון, שיכול ללמוד את הסינטאק של השפה תוך בערך שלושי עמים ולהתחיל להתמחות, אני מפתח C++ באמת צריך להפגיש יותר, במיוחד בהקשר של מגנז זיכרון, פוינטרים, שימוש ברפרנסים, פאנקטון אוברלודים, כל הדברים האלו. אבל אתם צריכים להבין שמדובר פה על שפות מאוד מאוד יסיבות, מאוד מאוד מהירות, ויוליקס במקור פותחה בספאצי, אוקיי? אחר כך השתלבו שם כל מיני אלמנטים גרפיים, ולינוק שכבר כל מיני תוספות, חלק אפילו מבוססות ג'אבה, וכן כאן וכן הלאה, אבל הקרנל, הגרעין של מעט הפעלה, אנחנו מדברים על חומרה עדיין, הליבה היא בספאצי. דבר שני מדובר פה על מעלת הפעלה שהייתה חדשנית ברמה שהיא הייתה חינמית פשוט ככה קוד פתוח בין המערכות הראשונות מעלת הפעלה הראשונה אבל בין המערכות בכלל הראשונות שעשו קוד פתוח ואני קוד פתוח זה אומר שבעצם כאשר אני רוכש במחאות ומקבל את המוצר אני מקבל גם את הקוד שבאמצעותו פיתחו אותו כאשר אני רוכש רישיון לווינדוס או לאופיס לסיוח העניין מבית מייקרוסופט הם לא נותנים לי את הקוד הפתוח, נכון? הם נותנים לי את זה כקוד סגור. מה זה אומר קוד סגור? יש לי יכולת להשתמש במוצר, להתקין אותו, אבל מבלי להיכנס פנימה להקרבאים שלו ולהבין בדיוק איך הוא עובד. כלומר, אני לא יכול לראות את הפיתוח עצמו, זה לא ספר פתוח. אני יכול לשער, אני יכול לעשות ריברס אנג'ינירינג, ועוד כל מיני טכניקות מורכבות יותר ומורכבות פחות, בשביל לנסות להבין איך הם פיתחו משהו. אבל אין לי את זה חשוק לפניי לנגד עיניי. ולעומת זאת, קוד פתוח, אני מקבל ממש את הדברים כמו ספר פתוח, נכון? מקבל את הקוד מקור. שימו לב שכאשר אני נותן את הקוד מקור של הפיתוח, זה לא מגל כך שאני מאבד את הזכויות הקנייניות המשפטיות שיש לי על המוצר, אוקיי? זה ברור לכם שזה כבר עניינים של ענייני משפט שיש בכל מדינה ומדינה, כמו למשל, אם אני כותב ספר או באמר, מבחינה זכויות יוצרים, יש לי 99 שנים, שנימוגן במדינת ישראל. בשנה המאה, למעשה האינפורמסיה, הדאטה שכתבתי, הופך להיות פתוח לשימוש מרחב. אותו דבר גם בקוד. כלומר, זה שאני נותן קוד פתוח, נכון שזה נותן תחושה של אובדן זכויות, שאתה אפשר להעתיק, לשנות ולהרוס, אבל זה לא קשור, זה לא קשור לזכויות המשפטיות של מי שבנה את הקוד הפתוח. צריך לזכור את זה. יש מדינות שבכלל אין זכויות, ויש מדינות שזכויות, אין סופיות, ויש כל מיני עניינים מקומיים, וצריך לזכור את זה. עכשיו, איזה מעובדה שאנחנו מדובר פה על מערכת שעיקות פתוח, היא נותנת לנו את היתרון האדיר להבין איך היא עובדת. כי מערכת שעיקות סגור, יהיה מאוד קשה להבין איך היא עובדת מאחורי הקלעים, יהיה ניתן לשאר דברים, אבל לא יהיה ניתן לראות, לשנות, לשפר, ולעשות כל מיני אטעמות. אז מישהו יכול להגיד לי, איזה יתרון, ואולי חיסרון, שיש לקוד סגור או קוד פתוח, לעומת קוד סגור, יש למישהו רעיון? נתרונות, חסרונות? הרי העולם מתחלק לשניים, כאלה שחושבים שקוד פתוח יותר עדיף, כאלה שחושבים שקוד סגור זה עניין של דעה ואפשר להתבטח על זה עד מחר. אבל איזה יתרונות וחסרונות יש? נגיד אם אתה קוד פתוח אז יכולים... אחת פעם? סליחה אם מצלמה מצלמה, אין לי את המצלמה סליחה. אבל אני אומר שנגיד אם יש לך קוד פתוח אז אפשר לראות יותר את ה... אם רוצים נגיד לעשות דברים, מוכרים לעשות, מליצור כל מיני דברים שהם יכולים לעשות בשביל לפרוץ את הנשת. או שם אחרי, כל מיני דברים שאתה לא רוצה, שם שאין מלכות או בכלל. נכון. זה לגמרי נכון, כן, קוד פתוח, קוד קוד אפשר לראות, דרך זה אפשר גם ללמוד, להבין, לחקור, לא סתם אנחנו לומדים לינוקס, מכיוון שזה קוד פתוח, זה אחד היתרונות שיש במערכת לינוקס. אם הייתה קוד סגור, כנראה לא היינו לומדים בקורס מערכות הפעלה, לינוקס. זה יתרון אחד. יתרון נוסף זה שברגע שהקוד הוא פתוח, יפה תר עיניים. שמסתכלות על הקוד, כן? הם מפתחים קהילות באקדמיה וכן הלאה, שמסתכלים על הקוד הפתוח, ובתמורה לכך, אותו ארגון שפיתח את הקוד, מקבל פידבקים, מקבל כל מיני ריקושטים, מהאוכלוסייה שמסתכלת, כאוכלוסייה מקשועית, מומחים, מחוקרים וכן הלאה, שאומרים, רגע, העלולה הזאת, או הפונקציה הזאת, או האובייקט הזה, הם קצת בעייפים, כי יש להם איזושהי נקודת חולשה, הם יכולים להקריס את המערכת. או להיכנס לדדלוק, או בטעות מישהו יכול בכוונת דונית לתקוף את המערכת וכן הלאה. כלומר, כמה שהקוד הוא פתוח, אז יש יותר עיניים ואז יש יותר תלאים וסגירת פינות לעומת קוד סגור. עם זאת, חברות ענק כמו מייקרוסופט ואפל ועוד ועוד, דווקא תומכות בקוד סגור. ואני שואל אתכם את השאלה הבאה, למה הם לא משחררות את המוצר שלהם? כקוד פתוח, אם קהילת המפתחים בעולם יכולה לראות את המערכת, ולעזור להם פחות או יותר, כאילו לשלוח להם כל מיני בעיות, כל מיני תלונות, כל מיני עניינים שקורים בתוך הכל, ולהגיד תנסו את זה יותר טוב, כי ככה וככה וככה, הרי זה עניין חינם מכל הסיפור הזה, והם יכולים רק להרוויח. למה בכל זאת חברות כמו מייקרוטות באפל לא שות את זה? רוצים להחזיר משהו? מה, ככה פעם? אתם רוצים להחזיר משהו יש שם מסתירים. מה אני מסתיר אתה נשמע עם היד כזה כאילו אתה. הם מסתירים כאילו משהו יש משהו בקודש. מה היא אמרת מסתירים? כן מסתירים. מה זאת אומרת מסתירים? הם כאילו יש להם דברים בקודש שהם לא רוצים שתדע שכאילו שולחים מידע עליך וכל מיני דברים שאתם לא רוצים שתדע את זה. אוקיי אז כמה דברים כן חברות ענק כמו מייקרוסופט אפל ועוד. אורקל, סאפ, מוסיעות הרבה מוסרים, כמעט כל המוסר נמצאים בקוד פתוח, קוד סגור סביחה, מהסיבות הפשוטות הבאות, עניינים כלכליים, הרי תחיבו על חברת מומייקוטר שפיתחה את האופיס במשך עשרות שנים, הרבה פעמים גם הרבה מחקר, הרבה זמן, הרבה דיידליינים, הרבה אדם, מסקורות, משרדים, עניינים והדברים האלה עולים המון כסף, עשרות אולי אפילו מאות מיליוני דולרים עם כל עדכוני גרסאות למיניהם תמיכה. למה שהם שחררו את הקוד שלהם להיות פתוח? הרי מבחינת נתח השוק, יש להם נתח שוק כזה גדול, שלא מסתלם להם עכשיו להגיד, בואו נפתח את המוצר שלנו כקוד פתוח, כדי להיכנס לאוכלוסייה שחוקרת אופיס, או אוכלוסייה אקדמית שלומדת מערכות הפעלה, אז זה פחות הם לימדו עכשיו על ווינדורס ולא. איזה אינטרס כלכלי יש להם בסופו של דבר? כי כמו שכולנו יודעים, בשוק תחרותי וקפיטליסטי, התועלת המרובה ביותר היא דווקא להניב. ערך לבעלי המיניות, ואין שום אינטרס כלכלי לעשות את זה, כלומר העניין של לקטוח עכשיו מערכת שפותחה במשך עשרות שנים, זה פשוט טירוף מבחינתם, תחשבו על זה, עכשיו אני אוכל לקחת את המערכת, לשכפל אותה, ואולי אפילו להתעלות עליהן, כלומר לשפר יותר ממה שהם, הם לא רוצים את זה, הם רוצים, הם לא צריכים לתכנס ללדחי שוק, לפליחי שוק חדשים, כי מדובר פה על שבקים. שהם בלב הכי דומיננטיים מאוד בהם. אם זאת, חברות קטנות יותר נוטות לפתוח את המוצרים כולהם, כדי להיכנס לפלחי שוק חדשים. עובדה, אנחנו לומדים פה עכשיו אובונטו, אנחנו לומדים פדורה בעבר וקנופיקס, אלה חברות קטנות יחסית שלא היינו בכלל מודעים אליהם, אם הם לא היו קוד פתוח. והשאלה שלי היא כזאת, מה לפי דעתכם, במערכת שהיא קוד פתוח באופן הסתברותי, יש יותר וירוסים? או פחות וירוסים, מערכת שיקול פתוח. ויש יותר וירוסים או פחות וירוסים. מצד אחד יותר, מצד שני פחות כי יותר קל לייצר וירוס כי יש לך תקוד אבל מצד שני יותר קל למצוא את הבאגים נכון, אתה צדק לגמרי יש כאן שני כוחות מנוגדים מצד אחד, ברגע שאני יודע איך משהו עובד יותר קל לי לבכוף אותו, נכון? אני מזהה את נקודות החולשה זה בדיוק הרעיון בהצפות מצד שני, אמרת נכון יש יותר עיניים, ועד יש יותר סיכוי להעלות על נקודות החולשה להעלות הכרעת על איזה באגים ואיך המתמשים במושג באג בהקשר של שגיאה בזמן ריצה, אבל זה נכון. כלומר, בהחלט יכול להיות מצב שיש איזושהי נקודת חומשה, כלשהי, במערכת, ובגלל שמישהו ראה משהו ושלח את הפיקבק הזה לחברה, הם פשוט שמו את התלאי וסגרו את הנקודה הזאת, ובכך הלאה. אז זאת אומרת שיש כאן שני כוחות מנוגדים, ואגב, בופן הסתברו פי, דווקא לווינדוס יש יותר וירוסים מעל לינוקסים למיניהם, אף על פי שווינדוס נקוד סגור. והסיבה לזה זה שפחות מונדאוס היא פופולרית יותר, זאת אומרת שאם אני מפתח איזשהו וירוס, וירוס שהוא לא מתורגע את הכוונה היא למערכת נקודתית, אז עדיף לי כבר כמובן לפתח את זה למערכת שהיא יותר פופולרית, כדי לפגוע כמה שהוא יותר, במידה ויש לי באמת כוונה שכזאת. אז לוניקן חוזר לסוף פנות ה-70, היא באמת פותחה בשפה C, קוד פתוח, הייתה חינמי. ושני יתרונות מהותיים שהיו באמת למערת הזאת זה שהיא תמכה במולטי יוזר, ריבוי משתמשים, משהו שהיום אנחנו רואים כמובן מאליו, ריבוי משתמשים, היום כולנו יש יוזרים על הווינדוס או על האפל וכך וכך הלאה, ותשע להיכנס כל אחד בגמנו, עשינו במקביל, השערה שאיתו אני מתחבר ללינוקס, לאובונטוס, מאפשר חיבור רב משתמשי באופן רחב, מאות, אולי אפילו אלפי משתמשים במקביל. זה לא היה דבר של מה בקח, תחו בחשבון, היום זה מאוד מאוד מובן מאליו ופריביאלות, אבל באמת היא הייתה חלוצה בתחום הזה של ריבוי משתמשים, ודבר נוסף זה ריבוי תהליכים, מולטיטסקינג, ריבוי משימות, זה גם היה דבר מאוד מאוד חדשני בזמנו, איך אפשר לאפשר מולטיטסק? על מחשב בעל מעבד אחד. בסופו של דבר, המעבד זה מי שמבצע את ההוראות, הלוגיות, האריתמטיות במחשב, איך בכלל אפשר לדמות או לסמלט בדרך מסוימת. מולטיטסקינג על מעבד אחד. והאם זה באמת מולטיטסקינג כמו שאנחנו חושבים, או שזה בקהילו? אז אם יש מעבד אחד, אני חייב להגיד שזה בקהילו. אוקיי? הקהילו הזה מספיק טוב לנו. כדי לחשוב את המדובר פה, המולטיטסקינג. כאשר אני מתמש במוצג מולטיטסקינג, הכוונה היא להיכולת, למשל, לגלוש באינטרנט, לשמוע מוזיקה ולהדפיס מסמך במקביל. נכון? זה מולטיטסקינג. כל הדברים האלה נעשים כאילו במקביל, אבל זה לא באמת במקביל, ואני אסביר לכם בהרחבה מה הכוונה. אולי, אולי, לתת לכם אנלוגיה, נניח שיש לי איזשהו מפעל, ובמפעל יש עובד אחד, אבל יש שני פסי יצור. פס יצור אחד של ברגים ופס יצור אחד של מסמרים. ויש כובד אחד שמתמחה בשני התחומים, אז הוא מטפל בבורז אחד, עובר לפס יצור השני, מטפל במסמר אחד, ואז חוזר לפס יצור הראשון, מטפל בבורז אחד, ואז חוזר לפס יצור השני ומטפל במסמר אחד, וככה מזגזג במהירות מאוד מאוד גבוהה, כלומר מדובר פה על תדירות מאוד מאוד גבוהה, בשני פסי הישור. אז למשתמש החיצוני זה ייראה כמו שני ברים שמתקבלים במקביל, נכון? אם הוא עושה את זה מאוד מאוד מהר על ספידים, יעשה את זה ממש מהר, יתן לנו תחושה כאילו מדובר פה על מקביליות. כי המוח האנושי מה שהוא עושה הוא מגשר על פערים. אז אם משהו מתקדם קצת ועוד קצת ועוד קצת ועוד קצת, אנחנו מרגישים לפחות שמדובר פה על איזשהו מושן מסוים, איזושהי תנועה מסוימת, וככה פחות או יותר מה שמעבד אחד מבצע, במערכת הפעלה מסוימת, מעבד סטנדרטי, מודרני, מסוגל לעשות מאות מיליוני פעולות פרימיטיביות בשנייה. אז מדובר פה על מיליוניות מועמוד גבוהות. עם זאת, ריבוי מאבדים או ריבוי ליבות כמובן כן מאפשר מקביליות אמיתית, כמו שאנחנו תופסים אותה, אבל לא באופן טהור. כלומר, הרבה פעמים יש כמה משימות, זה לא אומר שעל המשימה אחת תראו את המעבד איק, למשימה אחרת תראו את המעבד וי. לפעמים המשימות הן פלויות אחת בשנייה, ולכן אם המשימה רצה על מעבד X, המשימה הבאה לא יכולה להרוץ על מעבד Y, מכיוון שאנחנו מספים שהמשימה הקודמת פשוט תסתיים, כי היא פלויה בה. אז יש כל מיני נושאים גם בחומרה וגם בתוכנה, אנחנו נדבר על זה בשלב יותר מרוכב. אז כמו שאמרתי, יוניקס היא פותחה במקור בספצי, אופן סורס, חינמית, תומכת בריבוי משתמשים, תומכת בריבוי תהליכים או משימות, וזה הדבר מאוד מאוד חליף במהלך השנים. עם השנים קרתה תופעה מאוד מאוד מעניינת, שישאו המון גרסאות יוניקס. והסיבה לכך, מכיוון שיוניקס היא קוד פתוח, אז כל אחד אחד הכרת את המערת הזאת, ופשוט לשפר אותה לפי הצרכים שלו, נכון? למשל אם אני אוהב גרפיקה, אז אני יכול לקראת מערכת יוניקס ולוסיף לה כל מיני אלמנטים גרפיים. ואם אני אוהב את עולם הסייבר, אני מוסיף לה כל מיני אינני סייבר, או אם אני אוהב את תחום הרכבתות פגשורת, כלומר, אני יכול לקראת מערכת שהיא כל פתוח ולעשות לה כל מיני התאמות לצרכים שלי. וזו הסיבה שבמרות השנים ששוו המון המון מערכות הפעלה, שהן מגבוסות יוניקס, אבל הם שופרו כל מיני שכבות נוספות שכל אחד וכל תאגיד וכל מוסד אקדמי יכול להוסיף מטעם עצמו. וכמו שאמרתי, המערכות האקטואליות, פדורה, קנופיקס, רדאט, אובונטו מנסתם וכן הלאה, אלה מערכות הפופולריות בטרן, וכיוון שהן פשוט פותחו ושופרו ברמה הטובה, היציבה, הוויזואלית, הפרנדלית ביותר, וזו הסיבה שאנחנו לומדים גם אובונטו. עם הזמן, UNIX הפך להיות מיין שם קוד כזה לסטנדרט. כלומר, אם אני לצורך העניין אומר שמערכת היא מערכת UNIX, אז הכוונה היא שהיא עומדת במסמך סטנדרט, במיין תקן, של כל מיני דברים שקבעו במרות השנים לגבי UNIX. למחל, היא חייבת להיות מולטיטסקי, היא חייבת לממש את המתזמן שלה למעבד בצורה מסוימת, כלומר, יש מסמך בין 200 עמודים פחות או יותר, שמתאר 200 מערכת מקראת מערכת שעובדת לפי תקן של UNIX. אגב, מערכת הפעלה של אפל היא גם במקור פיתחה על בסיס לינוקס, אבל הם לקחו את זה למקומות אחרים וגם סגרו את הקוד, ולכן אי אפשר להגיד היום שזה מערכת מבוססת לינוקס, אבל בערך 70% מאפל זה מערכת של לינוקס. כלומר, הרבה מן הפקודות שאנחנו לימד בקורס הזה יעבדו גם על מחשבי מק למי שיש, אבל ציור וציור צריך להבין שזה בבסיס הם לקחו את זה ושיפרו את זה לפי ההצטרכים שלהם וגם סגרו את הקוד במהלך השנים. זה לא כמו מה שאנחנו יכולים להגיד שהיא עומדת בסטנדרט המלא של יוניקס, אז אפל זה 70% יוניקס, פחות או יותר. מה התפקידים של מהר תפלה? למעשה, להפעיל את המחשב, לתת לנו את הפונקציונליות המלאה להפעיל את החומרה, הכוונה היא שללא מהר תפלה אנחנו לא יכולים לא להדפיס, לא לצפות, לא לשמוע מוזיקה, לא לראות סרטים ודברים מזה סוג הזה. מכיוון שמערת הפעלה הזאת היא שמטפלת את כל המרכיבים האלה של החומרים שיש במחשב. בנוסף היא עושה מדברים שירותיים כאלה מסביב, כמו למשל תמיכה בעולם הסייבר, הבטחה, להגן על חומרה מפעולות מסוימות, לדבר ולטווח בין מרכיבי חומרה ודברים מהסוג הזה. היא מטווחת בין משתמש לחומרה, יש לה הרבה פעמים גם גוי, גרפיקה ואינטרפייס, אבל לא לקודמה התפעלה יש לו את זה, אוקיי? אתם צריכים גם להבין שמערת הפעלה שהיא בלי גול היא לא מערת הפעלה הפחות טובה מאשר מערת הפעלה עם גול. כלומר הרבה מן הדברים שאפשר לעשות במערת הפעלה לא צריכים גול. למעשה פקודה עם פרמטרים נכונים יכולים למעשה לעשות הרבה יותר מאשר שימוש בגול. גול זה רק איזה שורים שק שבאמצעותו המשתמש יכול לעבוד בצורה יותר פשוטה אבל אם אתם רוצים לעשות דברים שמנקבים יותר. אז השימוש האוטימטיבי דווקא זה שימוש בקומנד ליין או בטרמינל, שבו אנחנו נכניס תודות עם פונקציונליות גבוהה יותר מאשר הפונקציונליות שיש בשימוש בגוי. היא מנהלת את מערכת הכבשים, את הפייל סיסטם, נותנת אשליה של משתמש יחיד, אפל פי שיכול להיות הרבה משתמשים למקביל. היא נותנת שירות לתוכניות, שירות למשתמשים, כאשר משתמש במושג משתמש, משתמשים, users, אתם צריכים לזכור שמשתמש זה לאו דווקא בן אדם, זה לא בהכרח יוזר אורגני, זה יכול להיות גם אפליקציה, זה יכול להיות גם רובוט, זה יכול להיות גם איזשהו סקריפט, וזה יכול להיות אפילו מחשב אחר, אוקיי? אז כל אחד יכול להשתמש במערכת הפעלה, וצריך לזכור את זה גם כן, שמשתמש הוא לאו דווקא משתמש אורגני בן אדם שיושב מול המערכת, הוא יכול להיות מתחבר מרחוק, סקריפט מסוים, איזשהו משהו אוטומטי, וגם את זה צריך לזכור. היא מנהלת את ההרסה, את הפרוסס, את הפרוססים למעשה, את התהליכים של התוכניות, על ידי שימוש בסקדולרס, כולו סקדולרס זם את הזמן. שקובע איזה תהליך ירוץ בכל רגע נתון, אם מנהלתם את המשאבים של המערכת, מזיכרון, דיסק, מעבד, תבלעות פנימיות, כלומר יש פעמים התפלה מעין עבודת פנקסנות כזאת, היא דואגת להקפות משאבים לכל מרכיב חומרה, או לכל תהליך מסוג כזה או אחר, שרץ במערכת, כל משימה שרצה במערכת, וכמובן גם בסוף לשחרר, כל נושא של תזמונים ועדיפויות. ממש עבודת במקסנות מלאה של מי מקבל מה, מי לוקח מה, לכמה זמן הוא מקבל את זה וכן הלאה. שאלו בינתיים, נדבר קצת על התפקידים של מעט הפעלה, אחד התפקידים זה בעצם ניהול הזיכרון, ניהול הזיכרון, אנחנו נכיר בקורס הזה. את היררכיית הזיכרון שיש במערכת אנחנו מבינים שמדובר פה על תחום מאוד מאוד מורכב יש המון סוגי זיכרונות אני בטוח שאתם שמעתם מושגים כמו דיסק קשיח SSD, קונני פלאש USB, CD, DVD טייפ גיבוי, קלאוד קש ממורי זיכרון מתמון, רם רנדום אקסס ממורי, רום ועוד ועוד, כלומר רגיסטרים, אלה הם כולם סוגי זיכרון שיש במערכת או מחוץ על המערכת ומה התפעלה מנהלת את הזיכרונות שיש בחומרה, אוקיי? את כל ההיררכיה הזאת, אנחנו בהמשך נבנה היררכיה של זיכרונות, נראה כמו איזושהי פירמידה מסוימת של כל מיני סוגי זיכרונות ודינמיקה שיש ביניהן. אז היא מנהלת את הקצאות, גבולות הגזרה, שכל משימה מקבלת בזיכרון של המחשב, היא משתמשת בדיסק הקשוייה כדי לשמור זמנית חלק מהזיכרון, בכדי לאפשר ריסף את תוכניות או תוכניות גדולות. הרי הזיכרון שבאמצעותו מנהלים את המשימות הוא לא זיכרון כזה גדול, הוא נמדד בכמה ג'יגות בודדות, כולנו פחות או יותר שמענו על זה, זה נקרא רם, כפיור של רנדום אקסס מימורי, למה רנדום? אנחנו נבין בהמשך, והרם הזה הוא לא מספיק גדול, כלומר מדובר פה על מספר ג'יגות יחסית קטן, מה שאומר שבמידה ואנחנו מריצים תוכניות מאוד מאוד קובלדות, על המחשב, כמו אוטוקאד או כל מיני תוכניות של תלת מימד, דברים מסוג הזה, יכול להיות שזיכרון הזה הוא לא מספק, כי יש הרבה אומץ כרגע על המערכת, ולכן מערכת הפעלה יודעת לנגוס במחאות חלק מהדיסק הקשיח, שהוא מרחב זיכרון הרבה יותר גדול, כדי לנצל את האקיבולת שלו לטובת זיכרון שהוא יותר קטן, אם זאת יש מחיר ללקחת מהזיכרון הגדול יותר קצת נפח, והמחיר הוא פשוט עניין של מירות. כי הזיכרון הגדול יותר מטבע הדברים, הוא אמנם זול יותר ליחידת נפח, אבל הוא יותר איטי. הוא יותר איטי, לעומת זאת זיכרון קטן, הוא יותר מהיר. אז מחלמים במחיר, מחיר של זמן, כדי לקבל תמורה של נפח ניכרון. אמרת מנהלת, איזה חלקים של התהליכים, מתעול לזיכרון, משמור לזיכרון, מה קורה כאשר תהליך יורד מהמאבד, מהמוח של המחשב? ותהליך אחר עולה במקומו. ועל התהליך המקורי עולה עוד הפעם. אז מערת הפנה צריכה לזכור את הסטטוס, את המצב של אותו, את הסטייקס, סליחה, של אותו תהליך שירד מה-CPU, מהמעבד, ושאחר כך כאשר הוא טען פעם נוספת, הוא ימשיך בדיוק מאותה נקודה, ולא יתחיל את עצמו מחדש. היא שומעת מידה על כל תהליך, על כל משימה, במקומות שונים בזיכרון, ללא התנגשויות, ללא חריגות, או ניסיון ללא חריגות, היא מטפלת בחריגות במידה וחריגות. אם מנהלת זיכרון וירטואלי על ביסק הקשיח, כלומר, באמת מדובר פה על מגוון רחב של פונקציות שמערכת הפעלה מנהלת, אוקיי? מול מרחבי הזיכרון של המחשב. בנוסף, מערכת הפעלה גם מנהלת את הפייס סיסטם, את מערכת הכבשים. מישהו יכול להסביר לי, מה ההבדל בין זיכרון כמו זיכרון פיזי, אוקיי? זיכרון פיזי זה נראה כמו סלוט כזה במחשב. אולי נראה לכם בתמונה, אני יודע שאתם יודעים, אבל אולי תתקורת, אוקיי? רע ממורי, כן, אתם רואים את הדפנפן? כן, אלא זה קורונה פיזית, מה שנקרא רם, זה המיימורי הרבה פעמים זה נקרא, זה קורונה ראשי. יש כל מיני דגמים, מ-Kingston ל-Western Digital, ואפילו Dell, עם 20 זיכרון, וזיכרון הזה הוא זיכרון מאוד מאוד שימושי ועמוץ, בתוך העולם החוברה של המערכת, אנחנו נבין בהמשך בדיוק איך הוא עובד, ולעומת זאת, יש את הדיסק הקשה, זה יכול להיות R-Drive, תלכת מגנטית כזאת, שהיא מסתובבת, הרבה פלטות מגנטיות, ויש להשמור כמה נתונים. זה יכול להיות SSD, Solid State Drive. מה ההבדל בין Hard Drive או SSD, לזיכרון מסוג רם, כזה שאתם רואים פה לפניכם. ההבדל הגדול ביותר, מעבר למהירויות, הבדלי מהירויות, הבדלי מחיר. הבדלי קיבולת, כלומר מה העיקרון המרכזי? זה הפולטילי, לא? שכשאתה מחבאת המחשב, אז ברם, הרם נמחק, אבל ההרדריול נמחק, כאילו. נכון, כלומר, הרם זה זיכרון נדיף, והוא לא הדיסק, זה לא זיכרון נדיף, מה המשמעות? הדיסק הקשוי, או מערכת הקבצים בכלל, היא שומרת מידע לטבח ארוך, נכון? כל עוד לא מחקת, לא דרשת מידע מתוך הפייל סיסטם, נמחת הקבצים. המידע הזה ישמר לך אפילו אחרי שנה, שנתיים, חמש שנים או יותר, בתנאי שכמובן תנאי הטמפרטורה ודחלוכים וכן הלאה, דברים מן הסוג הזה לא פגעו בהרחיבי חומרה באופן פיזי, או קרינה אלקטרומגנטית או מתח חשמלי, דברים מן הסוג הזה, אבל אתה מסכים איתי שמדובר פה על זיכרון לטווח ארוך, דיסק השיח ו-SSD הם זיכרונות מעתקנים לטווח ארוך, לעומת זאת... מה שאתם רואים פה לפניכם, הרם זה לא זיכרון לפחרוך, כלומר המידע שכתבתי תוך הרם, שום דבר לא מבטיח לי שכמה רגעים אחרי המידע הזה עדיין שם. אז מתחילה למה קוראים לדבר הזה זיכרון? קודם כל זה זיכרון, מטבח קצר, וזה מספיק טוב או טוב מאוד אפילו בכלל הצרכים שלשמם הוא נוסר. כלומר, המאבד שמדבר עם הזיכרון הזה, הוא לא צריך לשמור נתונים לפחרוך, הוא כותב משהו, אחר כך הוא קורא אותו, אחרי זה פותח. ורוצה לשמוע נתונים בטמח קצר, שום דבר לא מותיח לי שמידע שנכתב בתוך הרם, יהיה שם עבוד כמה רגעים. בדיסק הקשיח או בקונן CD, בתקליטור או בטייפ גיבוי או אפילו בקלאוד, כתבתי מה אשר המידע נשמע שם, אבל בצורה מצוורת, עד אשר אני דרסתי, שיליתי או מחקתי. וזה ההבדל הקונספטואלי בין סוגי זיכרונות שונים. זיכרונות נוספים שהם לא לטווח ארוך, זה זיכרון קש ממורי, מי שמכיר זיכרון מטמון, או רגיסטרים למיניהם. אז אנחנו מדברים בהרחבה מה ההבדל. בגדול אפשר להגיד שמידע שנשמר בצורה של קבצים נשמר לטווח ארוך, ואילו מידע שנשמר לא בצורה של קבצים, זה נקרא בלוקים או מסגרות, פרייםס, מסגרות, זה לא מידע שנשמר. לטווח הרוח, בסדר? אז חשוב לזכור על זה. אז מה לגבי מערכת הקבצים? אז מערכת הפעלה מנהלת את מערכת הקבצים, שזה יחידות נחשום לוגיות, כלומר חובץ זה משהו שנראה כמו בפורטו ארכיון, נכון כמו ארכיון? פיקיות ופיקיה בתוך פיקיה, ובשוף יש קבצים, אבל במציאות זה לא מוכשן ככה בדיסק הקשויה. בואו לכם שפיקיה זה משהו אבסטרקטי, שאנחנו רואים כי בנו את מערכת הפעלה בתורה כזאת היא שתשקף לנו, תדמה לנו, כאילו מראה את הכבשים מסודרת כמו ארכיונים. תקיעה בתוך תקיעה אפשר לתת להם גם שמות ולמיין אותם, מפיתר נכין ודברים מנסו בזה, אבל במקריאות זה לא מאוכסן ככה על הדיסק הקשיח, אז אנחנו נדבר בהרחבה גם איך הדברים האלה נראים על הדיסק הקשיח, ברמת המיפוי של אלמנטים בתוך הדיסק הקשיח. אם מנהלת הרשאות גישה לקבצים, כל הנושא של האם יש לי אפשרות לכתוב לקובץ, לקרוא מקובץ, להריש אותו, read, write ו-execute, גם לקבצים, גם את הפיות, ניפוי הקובץ לעצן הפיזי. מה מבטיח לי שהקובץ MyPhoto מוכסם בדיסק הקשיח ובאיזה מקום? כלומר, מה מבטיח שהשם שלו, של הקובץ, זה למעשה הקטובץ הפיזית? בתוך הדיסק הקשיח, מי עושה את המיפוי הזה? את הפונקציה הזאת שלוקחת מידע וירטואלי או קונספטואלי, וממירה אותו לכתובת פיזית בתוך הדיסק הקשיח. אז מן הסתם, מה את הפעלה עושה את זה? גם הלוח וגם חזוק, כלומר, מכתובת לוגית לכתובת פיזית, ומכתובת פיזית לכתובת לוגית בחזרה. ישירת היררכיה, אף על פי שאין באמת היררכיה, אבל לנו זה מדמד כהיררכיה של פיקיות בתוך פיקיות, פיקיית My Document שמכילה עכשיו לפי שנים מסמכים כאלו ואחרים, או לפי תחומים, ובכל איך אחד מהם, יש תתי תחומים וככה, אז זה משהו שנודד לנו, שאנחנו נוכל להרגל את המידע לפי השורך והנוחות שיש לנו, ולמעשה מהתפלה מטפלת בכל הפעולות הקשורות לקבצים, פריה, מחקה עדכון, הרסה. כל אלה מתעקש לרות על ידי מהתפלה. שואלות בינתיים? בנוסף מהתפלה אחראית להגנה על חומרה. אנחנו נבין מה זה אומר להגן על חומרה, זה ברמת הקרמל, נקרא הגרעין של מהתפלה. בצני כל מיני פעולות שהן בעייתיות, אוקיי? למשל, אני אתן לכם דוגמה קלאסית, שאנחנו בטח למדעתם את זה במבנה המחשב. במבנה המחשב, מה למדעתם? מאבדים 86 או מולטיסייקל, סינטלסייקל? מה למדעתם? 87 ו... אוקיי, אתם יודעים שזה מאבדים. אז למה אתם עושים בלי בעצם? כן, גם למדע המסמבלי. אוקיי. אתם יודעים שזה, היום המחשבים של היום לא עובדים אסמבלי כמו שלמדתם ב-80.86, הם עובדים עם שפות טיפה יותר מתקדמות, AT&T אסמבלי, או IBM אסמבלי, או MIPS Code של גם סוג של אסמבלי. למעשה בשפות כאלה יש בכל פקודה שלושה רגיסטרים, נכון? באסמבלי יש רק שני רגיסטרים וכל היותר, אז ב-MIPS Code יש כבר שלושה רגיסטרים, זה נמצא ספיר משנה. עד של R1, R2, R3, והוא מאחצן את הסכום של R2 ועוד R3 בתוך R1 וכאלה דברים. אבל הרעיון הוא די דומה, כלומר מדובר פה על שפות שמותאמות למעבדים טיפה יותר מודרניים. ומה זה אומר הגנל חומרה? אני בטוח שלמד אתם שבתוך המעבד יש רכיב מיוחד שנקרא GPR. GPR זה מאגר העוגרים שיש במעבד. ומי שמכיר איך הג'יפי-אר הזה בעצם עובד יודע שהג'יפי-אר תומך ב... כתיבה בכל קלוק, בכל קלוק מחזור שעון שיש במחשב, תומך בכתיבה אחת בכל קלוק ובשתי קריאות. אוקיי? זה ככה, זה החליטה כתורה פנימית. מה קורה כאשר אני מנסה לכתוב שני דברים? או מה קורה כאשר אני מנסה לכתוב ולקרוא בדיוק את אותו הדבר מהזיכרון הזה שנקרא GPR? אלה הם כל מיני בעיות שיכולות לקרות ברמת החומרה, פעולות שלא מוגדרות לוגית על ה-ALU, על היחידת ליבוד מרכזית, ועוד ועוד. מהר תפלה מגנה את זה, כלומר היא תופשת את הניסיונות הללו עוד לפני ומגנה בעצם על פעולות בעייתיות שהיא קורה לחומרה האם היא תופשת את כל הבעיות, נתולים במאה התפלה, יש מערכות תפלה טיפה יותר מחמירות כאלה שהן פחות מחמירות אבל באופן כללי זה במסגרת אחד התפקידים שיש למערכת איתמר אומר לא למדנו, מה הכוונה ללמדנו? אתה מדבר איתי על אסמבלי או? על מיפס קוד, על מיפס, מולטי סייקל? על המושג האחרון שהזכרת. מולטי וסינגל סייקל, נכון? ג'יפי אור. ג'יפי אור? אתם לא ראיתם מפף על המעבד? לא ראו לכם תרשים של איך המעבד בנוי מבחינת החומרה הפיזית שלו? לא ראו לנו תרשים, אבל לא דיברו איתנו על ג'יפי אור ספציפית. אז אם תוכל, כן. זה מאגר העוגרים, נחשב אתם ידיעים, לא צריך להיכנס יותר מדי, פשוט אני אגיד לכם למה אני אומר את כל הדברים האלו, כי בסופו של דבר, מבנה מחשב ומערכות הפעלה, זה שני נושאים שמאוד מאוד קרובים לאחד לשני. הרי תחשבו על זה, מערכת הפעלה היא זאת שמנהלת את החומרה, ומבנה מחשב זה המבנה הפיזי, החומרה עצמה, הדרייברים, התכנות בורדים וכן הלאה, של המערכת עצמה הפיזית. אז בגלל שמדברים אחד עם השני הלוך וחזור, מאוד יהיה קשה ללמוד מהר תפעלה בלי לדעת קצת, להבין פחות או יותר איך המחשב עובד מבחינת חומרה, ולהפך גם, כלומר, זה מודווה פה על שני קורסים שהם מאוד מאוד קרובים, מהר תפעלה, קורס מהר תפעלה זה יותר העולם הדיגיטלי, נקרא לזה, והלוגי, ואילו קורס מדינה מחשב, ועולם יותר עולם ההארדוויר עצמו למחשב, אבל זה שני דברים שקרוכים אחד ושני, ולכן, בדי פעם אני אתן לכם דוגמאות, גם בהקשר לכם מדינה מחשב, כדי שתבינו. איך מערכת הבלה באמת עובדת. בנוסף מערכת הבלה נותנת ממשקים לחומרה וניהול יעיל ואוגן. אני לא כל כך אוהב את זה שרשום פה הוגן, כי מה זה הוגן? אני אתן לכם דוגמה, למשל יש שני תהליכים שכרגע רצים על המערכת. תהליך של נניח שמיעת מוזיקה ותהליך אחר של הורדה של קובץ מהאינטרנט. האם אני רוצה ששני התהליכים יעבדו בצורה הוגנת על המערכת? התשובה היא שלא. אם יש לי תהליך שהוא רץ והוא משמיע מוזיקה, כלומר אני מודה פה על משהו שהוא אינטראקטיבי. אני רוצה שהוא יקבל עדיפות על תהליך שמוריד כובע, נכון? למה? כי פעולה שהיא רספונסיבית יותר, אנחנו פחות מסוגלים לספוג דילי, נכון? השעיה, לעומת זאת פעולה כמו דאונלוד, פורדה של כובע, דילי של עוד כמה שניות, אפילו כמה דקות, יהיה פחות ביג דיל, זה אמיתי? אז אני פחות רוצה לנהל את המשאבים של החומרה, את הזיכרון, ובשורה אוגנית אני רוצה יותר לתעדף מה יותר חשוב ומה פחות חשוב. ולתזמן את הדברים בצורה כזאת לפי השורך. חבר'ה שואלות בינתיים? טוב, אז נמשיך. בסדר, אנחנו גם על זה נדבר, אני לא רואה טעם יותר מדי להרחיב בדברים האלה. הגנה על זיכרון, הגנה על עסקנים, הגנה על USB, הגנה על תאית גיבורי, הגנה על ה-CD, כל הדברים האלה מהר תפלה עוזרת לנו להגן מפני פעולות. שעלולות להתבשלו כמו שצריך. לא מדובר פה על הגנה פיזית של החומרה, אלא מדובר פה על הגנה לוגית של מיול החומרה, איך להבין עליה. בוא נראה בהקשר לזה האם יש משהו נוסף, מושקים אחרים, איך פחות חשוב. אחת הארכיטקטורות הבולטת ביותר, שעשה לכם איזשהו סדר בדברים, ונקרא ארכיטקטורת פון יומן, למדתם על זה? בטוח למדתם על זה, הוא נחשב היום חי... סליחה? נראה אם הוא דיבור על זה בהרצאה, לא? אולי, אולי, אז אני אדבר על זה גם בדקה וחצי, אם הוא דיבר על זה בהרצאה, זה בטוח כיסא לכם על זה, פון יומן נחשב לאחד מאבות תחום המחשבים והחומרה בכלל. והוא נמצא באותה הבמה של א'לן פיורינג וזה עוד עוד, והוא בעצם בנה איזשהו מודל מסוים שנראה ככה, יש לכם איזשהו קו תקשורת, בס שמעביר מתונים בין הרכיבים במערכת, מדובר פה על מערכת חומרה, ובמערכת יש התקני כלת והתקני פלט, לדוגמה קיבורד שזה המקלדת, זה מה הוא עושה ככה, אבל יכול להיות גם התקני כלת לצפים, כמו למשל מסך מגע, מיקרופון. שורק וכן הלאה, מתקני כלת. למטה אתם רואים פה מתקני פלט, כלומר, באמצעותם אפשר להדפיס נתונים, לפלוט נתונים, כמו למשל רמקולים, מסך, מוניטור, מדפסת ועוד ועוד, אפילו כבשים, נכון? קובץ וגם מתקן כלת וגם מתקן פלט, כי מקובץ אפשר לקרוא ולקובץ אפשר גם לכתוב. מסך מגע זה מוחולק לשני התקנים למשל, מסך מגע הוא מוחולק לחלק של המסך, הוא בעצם מתקן הפלט, ולחלק של המגע, שהוא בעצם מתקן הצלת. ומצד שמאל אתם רואים את מה שנקרא בתוך החבילה עצמה, בתוך המערכת חומרה, יש לנו את המיין מיימורי שראיתי לכם תמונה מקודם, זה נקרא זיכרון רם הרבה פעמים, יש לכם סקונדרי מיימורי, שבדרך כלל משתמשים בהם כדי להכתן מידע לטבחים ארוכים, כמו מער את הקבצים, USB, קוננטה קליטורים, DVD, טייפ גיבוי, ודברים מן הסוג הזה. ומצד שמאל אתם רואים ממש את ה-CPU, ה-Central Processing Unit, יחידת העיבוד המרכזית, שבחולקת לשלושה מרכיבים מרכזיים, אבל יותר, יש שם הרבה הרבה הרבה יותר, יש את ה-Control Unit, שזה בעצם מיין תמנון כזה, ששולח את הזרועות שלו, פולסים חשמליים, והוא שולט בעצם על מרכיבי ה-CPU. אתם למדתם מולטיפלקסרים, מרבבים? זה היה לו כאילו תרגול אחד אבל לא זאת השתמשתו. כן שאני גם אצלכם זה היה ראיתם מה זה מולטיפלקסר אני לא שומע אותך סליחה. אנחנו ממש לא. ממש לא אז אני אטביר מולטיפלקסר זה איזשהו רחיב חומרה מאוד מאוד קטן שהוא מקבל איזשהו סלקטור חוט אוקיי חוט מסוים שמשמש כסלקטור. אם הסלקטור הזה הוא 0, המולטיפלקסור עושה X. אם הסלקטור הזה הוא 1, אז הוא עושה Y. בסדר? ויש מולטיפלקסרים קצת יותר משודרגים, כמו המולטיפלקסור שמקבל שני סלקטורים. אם הוא קיבל 0.0 הוא עושה ככה, 0.1 הוא עושה ככה, 1.0 הוא עושה ככה, ו-1.1. מיין סלקטור שבוחר מה יוציא המולטיפלקסר בפלט, אוקיי? עכשיו, במעבד יש הרבה מולטיפלקסרים, אוקיי? הרבה מרבבים כאלה, ובאמצעות מולטיפלקסרים אפשר לשלוט על מה המעבד יעשה, אוקיי? את לא תכנת יותר מזה, תחשבי על זה שזה כמו איזה דלת כזאת, אם אני שולח לחשמל פולס חשמלי, אז הדלת הג'נפתחת וה-output הולך ימינה, ואם אני שולח פולס חשמלי אחר או 0 או 1.1, אז הדלת השנייה נפתחת, זה כל הרעיון, וככה אני מנתב מידע בתוך המעבד, כי יש באמת מאות, אולי אפילו אלפי מולטיפלקסרים בתוך המעבד, אוקיי? אז יחידת העיבוד המרכזית, יותר נכון הקונטרול יונית, יחידת השליטה, היא בעצם מעין רכיב חומרה ששולח הרבה פולסים חשמליים, לכל המולטיפלקסרים שיש במאבד. ובאמצעות השילובים הללו של הסיגנלים החשמליים, היחידת הבקרה נקרא לזה, קווי הבקרה, שולטים על מה המאבד יעשה. כי הרי מה המאבד אמור לעשות? להריף פקודות, זה התפקיד שלו בחיים, נכון? הוא אמור להריף פקודות. פקודת חיבור, פקודת חיסוף, פקודת אין, פקסור, כל הפקודות הלוגיות והאריתמטיות. אז יחידת הבקרה או יחידת השליטה היא זאת שמפרשת מה הפקודה אמורה לעשות ושולחת את הפולצים החשמליים לכל המולטיפלקסרים במטרה שהמאבד יבשה את המוטל עליו. בנוסף יש את ה-ALU, Arithmetic Logic Unit, יחידה ארימטית לוגית, שמבשת הלכה למעשה את הפעולה, את החיבור, את החיסור, את הקסור, את האנד. ועכשיו אני רוצה לשאול אתכם שאלה אינטליגנטית. אנחנו יודעים שמחשב מסוגל לעשות גם פעולות מוקבות יותר, כמו כפל, חילוק, שורש, חזקה, עשרת, לוגוריתמים, אז יחידת היחידה הריתמטית לוגית לא עושה את הפעולות האלה. אז איפה חודש אני יכול לעשות כפל? היא לא עושה כפל. זה רק דרדוקיה מכפל לפעולות הפסיסיות שאתה הזכרת. נכון. כלומר, אפשר לממש למכרד כפל על ידי עוסק של חיבורים, נכון? 3 כפול 4 זה 3 ועוד 3 ועוד 3, 4 פעמים. אפשר לממש חזקה על ידי אוסף של כפלים. אפשר לממש חילוק על ידי אוסף של חיסורים. וכן הלאה, אוקיי? זה לא כזה פשוט, אני חייב להגיד שיש כל מיני אופטימיזציות, טריקים ושטיקים, איך אפשר לעשות פעולות מורכבות בפחות זמן, אבל בגדול הפעולות הבסיסיות ביותר שהמאבד יכול לעשות, אלה פעולות אריתמטיות בלוגיות פשוטות. כלומר, not, and, or, sort, דברים מהסוג הזה, compare, יש לה גם compare, עד, חיבור, סאב, חיסור, דברים מן הסוג הזה. אין כפל, אין חילוק, אין שורש, וכן הלאה, הדרך לממש פעולות מורכבות יותר, זה על ידי שימוש חוזר ונשנה של פעולות בסיסיות יותר, פרימיטיביות יותר. וזה בדיוק הרעיון שלנו מבצע, ודיברתי איתכם קודם כל, אמרתי לכם, GPR, דוחרים, אמרתי לכם את ה-GPR, זה מאגר העוגרים, אתם רואים את העוגרים שיש פה. עוגרים זה יחידות איחסון מידע מאוד מאוד קטנות ומאוד מאוד מהירות, מאוד מאוד קטנות, מאוד מאוד מהירות ולכן מאוד מאוד יקרות שהמעבד מדבר איתם, הוא כותב וקורא מהם ועושה המון המון פעולות של קריאה כתיבה, זה נקרא לוד בסטורט של ה-GPR וכאן אנחנו רואים באמת את המאזר של העוגרים, במחשבים מודרניים יש 32 עוגרים כאלה, כל אחד מהם בגודל 32 או בגודל 64. זה לא כל כך משנה. כן, שאלה מישהו? לא, כאילו, ה-GPR זה פשוט General Purpose Register, נכון, משהו כזה. זה כאילו כן, אבל זה עוד, וה-GPR לא שמע. לא בטח חימצתי את השאלה שלך, תמיכה, אני לא שומע אותך טוב, אבל ה-GPR זה החלק הזה, מה שאתה רואה כאן, אני מסמן פה. לא, בסדר, אתה מושג עצמו, ה-GPR לא שמע, אבל כאילו, General Purpose Register, כן, אבל כאילו, בסדר, למה אתה יודע לי לסמן? כן, ה-GPR זה זה. החלק הזה, בסדר? וכל מה שאתה רואה פה, המלבן הזה פה מסביב, זה נקרא מאבד, אוקיי? כל מה שמחוץ למאבד זה מחוץ למלבן, והמאבד מורכב מאל-ג'ו, ג'י-פי-אר, קונטרול יוניט, ועוד הרבה דברים אחרים שאתם לא רואים פה במפה. אז מה פון יומן אמר? יש את המפה הזאת, זה פחות או יותר מתאר כל מערכת, כל מערכת, שאנחנו יכולים לקרוא לה מערכת של מחשב, אפשר להתבטח מה זה מחשב, תכף אנחנו נדבר על זה, אבל כל מיני מחשב כמו כאן אנחנו תופסים אותו, כמו מחשב נייח, לפטופ, סמארטפון או אפילו מכונית אוטונומית, תחנת חלל, לוויין, אלה מחשבים לכל דבר בעניין. אז יש איזשהו באס שעליו מעבירים את הנתונים, יש את קני קלט שבאמצעותו המערכת מקבלת נתונים, את קני פלא שבאמצעותו המערכת משיבה נתונים לעולם החיצון, ויש את החלק המרכזי שזה המעבד, לפעמים מעבד אחד, ריבוי מעבדים, יש דיכרון לטבח קצר ויש דיכרון לטבח ארוך. אבל את הכתובה של פון יומן אמרה שמה שלא מכיל את הקומפונטות שאתם רואים פה לפניכם, לא נקרא לזה מחשב. אבל אפשר לבקח על זה מה זה מחשב, ואני רוצה לשאול אתכם שאלה קצת פילוסופית, מה זה מחשב? כלומר, לפי הדעה שלכם, כי יש הרבה הגדרות למחשב, פה ניומן הגדיר מחשב בדרך מסוימת, אבל אפשר להגדיר מחשב בדרכים אחרות. מחשב, בלשון מחשב. אז מה הוא מחשב? כל חישוב. ואם הוא יכול לחשב חישובים, אז אם כך אנחנו גם מחשב. הרי אנחנו מצוגלים לחשב חישובים, אז אנחנו מחשב אורגני. לכל דבר בעניין, האם מיקרוגל זה מחשב? מה אתם רואים? הוא עושה חישובים, חישוב של זמנים, טמפרטורה לפעמים, מחשב? למה לא מחשב? יש לו אינפוט, יש לו אאוטפוט, מקרר, מכונה פביסה, תנור, אלה דברים, נכון? הם מחשבים, האם מחשב חייב להיות אלקטרוני? אולי הוא יכול להיות מכני? מי אמר שמחשב חייב להיות אלקטרוני, מחובר למקור זרם, מטח כלשהו, אולי הוא יכול להיות מכני? אולי מנורה זה מחשב, למה מנורה לא יכול לחשב? היא כן יכולה לחשב, היא יכולה לחשב אם יש זרם או אין זרם, אוקיי? אז אפשר לבקח על זה מה זה מחשב, אבל פון יומן או בקורס הזה אנחנו נתמד להכיתקטורה של פון יומן, אוקיי? כלומר, מחשב, יש לו תנאי תלת, תנאי פלט, יש לו באס, שבמצואותו מעוודים מתונים, יש לו CPU לפחות אחד, יש לו זיכרון נקבח קצר ויש לו זיכרון נקבח ארוך. מה שאתם רואים פה לפניכם במפה הזאת, זה מס מבחינת הקורס הזה מערכות הפעלה. אבל אם היינו לומדים פילוסופיה בתחום הטכנולוגיה, נקרא לזה ככה, בהחלט יכול להיות שאנחנו היינו מגדירים מחשב אחרת, ואולי גם הייתי אומר לכם או שואל אתכם, מהן גבולות הגזרה, כלומר מה מחשב מסוגל לבשיה. זה לא דבר של מביקך, כן? אתם יודעים שאם אתם רוצים לחמוע ככה איזה חמש דקות כפתר היסטוריה בהתפתחות טכנולוגית, אני מוכן להקדיש לזה, אנחנו לא בלחץ של זמן. אם אתם רוצים שאני מדלג על החלק הזה, אז תגידו לי. גם זה בסדר. יונדב שואל, זיכרון לטבח ארוך זה הכרחי לאכיטקטורה? כן, זה מה שפעול מימן אומר. באכיטקטורה שלא. שוב, שים לב יונדב, שאנחנו מדברים פה על אכיטקטורה שנתתמד עליה בקורס הזה. האם זה הכרחי במובן הרחב? ממש לא, יש אכיטקטורות אחרות, ויש שעה גם מתבקח. למה המחשב חייב להיות עם מתקני פלט או מתקני פלט? מהו לא יכול לעשות חישובים על דעת עצמו? למה הוא חייב לקלוט את הנתונים? אפשר להתבקח על זה? זו החיטקטורה שמתעמד עליה בקורס הזה, במערכת הפעלה אובונטו ספציפית, היא נועדה או הולבשה ותוכננה על החיטקטורה של פורניאמא, כאילו היא קוראים. אוקיי, לפי ההשבעה הדמוקרטית, נועה רוצה לשמוע, וזה אחד אספס לטובת נועה. אז אני רוצה להגיד לכם שאחד הדברים המעניינים ביותר בתחום, בתחום הטכנולוגיה בכלל, זה מה המחשב מסוגל לעשות. אז אני אתן לכם קצת רקע היסטורי בנושא הזה. עד שנות ה-90, תחילת שנות ה-90, מחשב היה, אתם יודעים, מחשב שאני שחק איתו, אולי אפשר לעשות לו חישובים, זה נחמד, טוב ויפה, אבל בשנות ה-90 קרה איזשהו מפץ גדול בתחום הזה, מה שנקרא Deep Loop של IBM, מחשב IBM. שניסח את קספרוב, רב אמן בשחמט, במשחק הבית שלו, ממש ככה בשחמט, וזה באמת הייתה תופעה, באמת היה מפס גדול, מהפכה בתחום, שלא האמינו שמחשב יוחד נצליח בנדב בשחמט, היום ברור לכולנו, אנחנו מדברים פה על 20, יותר מ-25 שנים אחר כך, זה מאוד ברור לנו שמחשב יוחד נצליח שחקן אנושי. בתחום הזה, מכיוון ששחמת הוא משחק שהוא מרובה הסתברויות ומרובה מצבים, ותכנון קדימה, אף על פישק אספרו ונחשב עד היום, לדעת חלקנו, שחמתה היא הכי טוב בעולם, למרות שאפשר להתבטח גם על זה, יש מכוננים יותר אפילו, מי שחושב אחרת, הוא טוען שהוא מסוגל להסתכל, שבעה מהלכים קדימה, שבעה שמונה מהלכים קדימה בשחמת. כשתבינו מי שמכיר את המשחק הזה יודע שזה דבר מטורף. האדם הרגיל נקרא לזה הבינוני, רואה מהלך, שני מהלכים, אולי מוכשבים מבינינו שלושה מהלכים קדימה, קספרוב כאסטרטג בשחמת טוען שהוא יכול לראות שבעה מהלכים קדימה, אבל מן הסתם אין לו שום יכולת להתמודד עם מכונה חישובית, מה שאנחנו קוראים למחשב, במיוחד שמחשב מסוגל לדקור, לעשות ניתוחי הסתברויות, לגבש כל מיני עצי החלטה, ובטמורה לכך לעשות את ה... מהלך הטוב ביותר הסתברותית כדי לנסח את המשחק. אז זה היום נראה לנו מאוד מאוד טריוויאלי. בואו נקפוץ כמה שנים קדימה למבחן סיורנג. דיברתם על מבחן סיורנג? מתוח, מוכר? כן, כן. אז היו שדרוגים למבחן, למעשה מבחן סיורנג המקורי שואל האם בן אדם יכול לדבר עם מכונה חישובית ולחשוב שהוא מדבר עם בן אדם. אז עד לפני לא הרבה שנים האמינו שלא. ועשו ניסויים, אוקיי? קוראים לאוניברסיטאות בארה״ב, לקחו קבוצת ביקורת, כמה מאות בני אדם שדיברו מאחורי וילון שחור עם מחשב, ומכונה חישובית, כזאת או אחרת, עם סקריפט מסוים שרס, ועוד לקחו כמה מאות בני אדם שדיברו עם בני אדם אחרים. הם לא ידעו, אף אחד לא יודע אם הוא מדבר עם בן אדם או עם מכונה חישובית, כי... האנשים הללו והמכונות החישוביות הסתתרו מאחורי וילון שחור. השיחה התנהלה לא בשורה מלולית קולית, אלא בשורה פלשת, בסדר? ואחרי כך נתנו להם לדבר, עשר דקות, משהו כזה, כולם מילאו שאלונים ובדקו מה רמת המובהקות, כלומר, כמה, האם מתוך קבוצת הנסיינים שדיברו באמת עם מכונות חישוביות. כמה באחוזים חשבו שמדברים עם מכונה וכמה חשבו שמדברים עם בן אדם, והשבו את זה מול קבוצת הביקורת, שגם בקבוצת הביקורת שדיברו עם בני אדם חלק חשבו שמדברים עם מכונה, שלא תתאו, וראו שהם לא ידעו לזהות מי זה מכונה ומי זה בן אדם, כלומר מבחן תיאוריה ראשון עבר ועבר יפה מאוד, כבר לפני מספר שנים, וכבר... יתרה מכך אפילו אפשר להגיד שכאשר בחנות הדברים את הקוד, ואת כל הסיבור הזה עשו באמת, המכונות החישוביות שדיברו עם בני אדם, אפילו מדי פעם עשו איזשהו בילי כזה, של תחושה כזאת, היא לעשר איזושהי תחושה אנושית של התלבטות מסוימת, עשו מדי פעם איזושהי פגיעת פוס כזאת, כדי לעשר תחושה של בן אדם, הם כאילו פגעו במושלמות שלהם, זה לתת למי שמדבר איתם תחושה שמדבר פה על בן אדם, או במילים אחרות מחשב יכול היום. להטל בבן אדם, אוקיי? חומוך מוזמן. המסחן הבא מדבר על, זה הרבה פעמים נקרא גם מסחן ציורי השני, אבל המסחן הבא מדבר, האם מחשב יכול להיות מודע, מודע לקיום שלו. זה לא קרה עדיין, אפשר גם להתבקח מה זה תודעה, מה זה להיות מודע לקיום שלי, יש אנשים שלא מודעים לעצמם, אבל אפשר להתבקח, אז לא נכנס לתחום הפסיכולוגי. ומה זה אומר, אבל מחשב, בכל הדעת שיש את היישות ההוא, כן, שזה היוסר שלו, ויש את היישות שלו, והשרכים שלו, כמו למשל, הוא צריך חשמל, הוא צריך טמפרטורה מסוימת, הוא צריך עדכוני גרסאות, עדכוני תוכנות, ודברים מהסוג הזה, טיפול בבאזים, אלה שרכים, כמו שיש לבן אדם, בן אדם צריך אוכל, מים, וכן הלאה. האם הוא יכול להיות מודע לקיום שלו? זה לא הגענו, והמדענים באמת סקפטים מאוד, והם בכלל... זה יכול לקרות. אני יכול להגיד לכם שככל שעובר הזמן, גם אלה שהיו מאוד מאוד סקפטיים בתחום הזה, לאט לאט משתכנים יותר ויותר שאולי זה יכול לקרות. לא יודעים מתי זה יקרה, יש כאלה שמדברים על חמש שנים, יש כאלה שמדברים על חמישים שנה, ויש כאלה שאומרים שזה לא למה יקרה, וזה גם עניין של הגדרה הרבה פעמים, אבל זה פחות או יותר. על מבחן הבא מדבר על הנקודה הסינגולרית שכולנו כבר שמענו עליה. והיא אומרת אוקיי אם אותה מכונה חישובית מחשב יודע שהוא קיים הוא מודע לשרכים שלו האם הוא יעדיף את השרכים שלו על חשבון השרכים של היוצר שלו וזה כבר נקודה מאוד מאוד מסוכנת נקודה שאין ממנה דרך הזו יש כאלה שאומרים שכבר היום אין דרך הזו אני אתן לכם דוגמה למשל יש איזשהו מחשב שקורא ביטקוין באיזושהי חווה באוקראינה וליד החווה הזאת של שרתין שקוראים ביטקוין יש יישוב שמטפל את החווה הזאת, מטפל, מיינטננס תחזוקה. שאת החווה והחשמל זורם גם לישוב, יישוב קר, שמחמם את הבתים וכן הלאה, עסקה בגז וכן הלאה, ואילו החוות שרתים הזאת שקורה ביטקוין, זקוקה להרבה חשמל כדי לקרות את הביטקוין, הם עושים כל מיני חידות מתמטיות ופורטרים את החידות המתמטיות כדי לקבל עוד ביטקוין. מחשב שיתחיל לתעדף את הצרכים שלו על חזבון היוצר שלו, פשוט יעביר את החשמל. לחוות שרפינק, בדקרות יותר ביטקוין, דברים מהסוג הזה, והישוב ליד יכול ממש לקפול המוות, או כל דבר אחר. כלומר, ברגע שמכונות השישוביות התחילו להעדיף את האינטרסים של עצמם, יש כאלה שאומרים שזה כבר חסר סיכוי, אבל שוב, זה עתידנות, מה אני טוען פה? שלא יודעים מה גבולות הגזרה, כל פעם יש הפתעות חדשות למה מחב מסוגל. לעשות, במיוחד בעידן הזה של משינלרנד ומציאות רבודה ואיי-איי ונמלכותית ודברים לסוג הזה אף אחד לא יודע מה גבויות הגזרה מה מחשב מסוגל לעשות ומעבר לזה הוא לא יהיה מוכן לעשות או שהוא לא יכול בגלל האכיתקטורה שלו אז זה היה קצת ככה ריקע אנחנו עדיין חוזרים אחורה בדמן לאכיתקטורה של פון יומן ואנחנו נשמד בדיוק לזה סוגי זיכרונות דיברתי איתכם כמה מילים על איי-איי נכונות, אז ככה שיקום. זיכרון רם, ראינו תמונה באינטרנט לזיכרון רם, הוא מייחסן את הפקודות לביסוע והנתונים שהתוכנית משתמכת בהם. נניח אני פותח כובס וורד, הכובס נטען מהדיסק הקשיח, נטען לתוך הרם. נניח אני מוריד כובס מהאינטרנט, הכובס קודם כל יורד לכיוון של הרם, ורק אז הוא מועבר. לדיסק הקשיח, להישמר נקווה חרוך. אוקיי? זה נקרא זיכרון נדיף. המידע שעבר מתנדף, או יותר נכון, הוא לא מחויב למידע כמר יגעים מספר אחרי שהמידע נכתב בתוך הזיכרון הזה. ואילו זיכרון שהוא בלתי נדיף, כמו הרד דרייב, כן? דיסק קשיח, דיסק קשיח ומחולק אגב לבעצם כן, אוקיי? חומרה לכל דבר בעניין ובתוכו יש פלטות מגנטיות. ובכל פלטה מגנטית יש אוסף כזה של מיקרו-מגנט, מגנטים מאוד מאוד מאוד קטנים, אני מדבר איתכם על מיליארדים של מגנטים, ועל הפלטה המגנטית יש ראש, ראש קורא, ראש כותב, כן? כמו פטיפון כזה, והפלטה מסתובבת, אוקיי? בהירויות די גבוהות, עשרת אלפים סיבובים בשנייה, שבעת אלפים סיבובים בשנייה, מהירויות כמה אלפי סיבובים בשנייה, והראש בעצם מגנט, הוא מגנט את המגנטים המיקרוסקופיים האלה, מיקרו-מגנטים, מגנט שהוא ממוגנט מפורש כאחד, ואילו מגנט שהוא לא ממוגנט מפורש כאפס. וככה מעשרים רצפים של אפסים ואחדים על פלטות מגנטיות, כל עוד לא מגנטתי את המיקרומגנטים האלה, כל מיקרומגנט בצורה נקודתית, המשמעות היא שהמידע נשמר שם. כאשר המידע, כאשר המחשב מחובר, המגנטים עדיין ממוגנטים, נכון? מגנט לוטח מקורת זרם, אוקיי? בשביל להיות עדיין ממוגנט, ולכן ככה המידע נשמע נשמח ארוך, ויש הרבה פלטות מגנטיות. בתוך הדיסק הקשיח וזה הכי טקטורה פחות או יותר של הדיסק הקשיח אם אתם רוצים לראות תמונה לחודשת, לקבל את הפחות או יותר את ההבנה, ככה נראה הדיסק הקשיח אתם רואים את הדפדפן שלי? לא רואים? עכשיו רואים ככה נראה דיסק הכיח, הנה דיסק השוייך שהוא פסוח, אתם רואים את הראש, אתם רואים, זה הראש, זה הסלחת, יש כמה סלחות לפעמים, וזה מדובר פה על סלחת מגנטית, הדיסק עשמו הוא סגור בוואקום, כי ברור לכם שכל חלקיקים, חלקיקים, אבק וכן הלאה, שנכנסים יכולים לפגוע במכניקה, מדובר פה על אתקן מכני, לא רק אלקטרוני, יש אלקטרוניקה, אבל יש כאן גם הרבה מכניקה, ובגלל המכניקה, מן הסתם הוא יותר פגיע, נכון? הרי מה זה אומר? משהו שהוא מכני, הוא מייסר חום, הוא מייסר בלייד לשחיקה, הוא גוזל יותר חשמל, נכון? פעולות מכניות. לעומת זאת, תחשבו את זה שקונן אלקטרוני, כמו קונן USB, פלאש, SSD, תוכל את החיים שלהם הרבה יותר גבוהה, יותר מהירה, פחות שחיקה, ולכן גם חברות כאלה הרבה פעמים נותנות אחריות למוצרים שלהם. לטווח הרבה יותר ארוך, יש אפילו אוכלים בראש שלו, שתנות ל-SSD שלהם, אחריות לכל החיים, זה דבר קדום, אוקיי? בתוכלת החיים, כאילו, ה-Hard Drive, שהוא מכניק כמו שאתם רואים פה לפניכם, היא תלוי בשימוס, כן? אבל אני יכול להגיד לכם שכל אחד פה, כנראה נפגע באיזשהו שלב בחיים שלו, שתתאום הדיסק הקשיח שלו, הפסיק לעבוד. קרה לכולנו, נכון? או למרביתנו? לי קרה לפחות איזה שלוש פעמים בחיים, דבר כזה. זה עוגמת נפש, כן? תחשבו על כל התמונות וזה, שהיום כבר הכל בקלאוד אמנם, אבל זה ההבדל בין דיסק קשיח ל... קונני פלאש למיניהם, הנה כאן אתם רואים גם SSD, בסדר? חבר'ה את אמיתית? ברור? כן. אוקיי? יש גם קונן שבבי, SSD, Solid State Drive, שיש בהמון מחשבים, הפך להיות מאוד מאוד פופולרי היום, אמור לשמש כתחליף לדיסק הקשיח, אבל כמות הפעמים שאפשר לכתוב הוא חסום. אולי הוא חסום? באופן כמעט אפשר להגיד ביתי מוגבל, תוכלת החיים שלו היא מאוד מאוד גבוהה, אבל יש לו כמה חסרונות, למשל המהירות כתיבה וקריאה לא סימטרית, הנפח זיכרון של SSD, הוא עדיין לא עבר את נפח הזיכרון שיש להארד דרייב, אם אני רוצה לשמוע עכשיו כמות מאוד מאוד גדולה של מידע, כנראה אני עדיין אשמח בהארד דרייב, כי הטכנולוגיה של SSD, עדיין לא הגיעה למימדים, מבחינת הכיבולת של כמות המידע שאפשר לשמור, למשל שבארד דרייב. יש גם עדכונים חיסונים, כאשר אני מתאמץ במושג עדכן חיסוני, אני מתכוון לעדכן שהוא מחוץ לארכיטקטורה של פון יומן, שלא תתבלבלו. עדכן חיסוני זה לא משהו בתוך מחוץ לקופסה, לקופסה הזאת שאנחנו קוראים מחשב, אוקיי? עדכן חיסוני זה מחוץ לארכיטקטורה של פון יומן. כלומר, אני לקחתי עכשיו USB וחיברתי אותו ישירות לבורד, שבתוך הקופסה, זה עדיין נקרא עדכן חיסוני, בסדר? אז צריכים לנקור את זה, זה לא גבולות הגזרה חיצוני מפנימית, זה משהו בתוך במפות למערז של המחשב, אלא הכוונה היא לארכיטקטורה של פור מיומן, שלהי אנחנו נשמדים בקורס הזה. דיסקים, דיסקטים, אולי המבוגרים מביניכם יוכרים דיסקטים, אני לא חושב, אולי ראיתם, אולי יש למישהו ארכיון כזה היסטורי בבית, אני זוכר שתנתי ווינדוס 3.11 בשנות ה-90, אז ממש הייתי הלך לחבר ומתחיל. לשים דיסקט, עוד דיסקט, עוד דיסקט, את זה שלוחים, הרבה דיסקטים. זה הדבר הקטן הזה, הגול? מה זה? הגול הקטן הזה, שכאילו כמו זה, אבל יותר קטן? כן, כן, דיסקט כזה. זה 1.440 שזה 1.2. אני לא חושב. לא, זה היה, היה לי את זה פעם, לא יודע למה, אבל אני לא חושב, לא, זה לא שאני גוגר, אבל היה לי את זה פעם, 23. לא, אני נפטר, אני לא שומע. היה לי את זה פעם, אני לא יודע למה, אני לא שומע. נראה איזה בא עם ה-windows, עם ה-windows איזה בא. אוקיי, אז חומר ריבון היה דבר כזה דיסקטי, ופני זה היה גם בכלל קסטות כאלה, זה תקופת הדינוזאורים, אוקיי, זה נראה כזה ככה. אז הנה אתם רואים פה למשל, נכנס לפניכם, hard drive, פה אתם רואים, זה כתרון רם, כאן אתם רואים ssd, קצת ישן אני חייב להגיד, 64 גיגבייט. היום יש כבר הרבה הרבה יותר, הנה דיסקטים לשאלתך, דיסקט 1.44 אינץ', אפילו שם למענה יש איזשהו צ'ופשי כזה שאתם יכולים לנעול אותו ושלא יכולים לכתוב עליו, כלומר להשים אותו בלי right enable או right disable, להגן עליו אם יש לנו מידה שאתם לא רוצים לטעות עם חוק או משהו מהסוג הזה, והדיסקטים היותר ראשונים זה דיסקטים של 1.4 אינץ', זה 1.4 אינץ', זה 1.2 אינץ', סליחה אפור. זה 1.44 זה 1.2 אינץ'ועוד שוב יש גם את כלים יותר קחי יותר ישנים אבל בואו לא נלאה אתכם בהיסטוריות אני לא בטוח כמה זה גם מעניין אולי כן אולי זה דווקא כן מעניין אתם רואים את הדבר הזה אתם מאמינים שזה דיסק קשיח אני מדבר איתכם מהשנות החמישים דיסק קשיח של אייביאם של 5 מגבייט מה זה 5 מגבייט? אפשר היום לשים תמונה אחת בSD, תמונה אחת בSD, הדבר הזה, אוקיי? ומה שאתם רואים פה לפניכם, שזה גם ישרן, אתם רואים כאן 32 גיגאבייז, קצן דיפ, זה כרון שאתם יכולים להכניס למסלמות דיגיטליות או לסמאטפונים, וזה גם ישרן, היום יש לכם הרבה הרבה הרבה יותר על זה, רק שתבינו, תקבלו קצת פרספקטיבה, שנת ה-50 זה נשמע היסטוריה, אבל זה לא היה לפני הרבה זמן, מי שחושב על זה. זה לא לפני הרבה זמן, 70 שנה זה ממש מהזמן. טוב, בסדר, תסקופים. דיברנו מה... דיברנו... כן, דיברנו על CPU. זה דבר חשוב שאיתו אני גם רוצה לסיים אני רואה שסטודנטים אגב התחברו לתרגול בייחור כולם קיבלו את ההודעה שאנחנו מתחילים ב-10.45 ולא ב-11 מה זה? אני לא הגעתי לזה בצדיקה, אני באתי ב-11 ולא קיבלת הודעה? שלחנו הודעה מסודרת לכל החברתים. יכול להיות, איפה זאת? אם התחברת ב-11, אתה יכול להשלים את ההתחלה בהקלטה, אני מקווה לעלות אותו היום יותר מאוחר, תשלים את הרבע השעה הראשונה, בסדר? זה לא ייקח לכל התחילתם די זמן. אוקיי, אז מה שאתם רואים פה לפניכם, כן, אני רואה שגם יונדב לא קיבל, אז שוב, אנחנו מתחילים ב-10.45 באופן קבוע. מהסיבה הפשוטה שיש לי אחריכם בצמידות שיעור נוסף שאני חייב לברוח אליו, והוא לא בזום אפילו, וביקשו ממני בבקשה מיוחדת ללמד אתכם בגלל שהחיצו מתרגל וזה וזה וזה וזה, אז אנחנו נתחיל באופן קבוע ב-10.45, מי שתתפס את הרבע השעה, עשר דקות הרצונות, אין בעיה, לא אמרתי יותר מדי, אתם רשאים להשלים את זה דרך ההקלטה, שאני מתכוון כבר היום יותר מאוחר, להעלות לכם למודל בצורה מסודרת, אוקיי? כל התרגולים יוקלטו. אוקיי? בואו נתנג. אוקיי, אז מה שאתם רואים לפניכם זה בעצם מודל קונספטואלי, מה שנקרא מודל השכבות של מערכת הפעלה, של מערכת, סליחה, לא של מערכת הפעלה, של מערכת בכלל, ובואו נדבר על זה בהרחבה. בתוך המערכת, בשכבה הראשונה, שבה אפס נקרא לה, יש משהו שנקרא הקרנל. האמת היא שיותר יהיה חכם להוסיף פה עוד משהו. רגע, תנו לי, איפה זה? הוא לא נותן לי אפילו לסרטט פה. למה הוא לא נותן לי לסרטט? איך אתה ראה את זה בלעזיתיק אולי? איך אתה ראה את זה בלעזיתיק? לא, לא, הוא לא נותן לי פה. כאילו חשבון מוגבל כזה נותן לי. לך עצר הזה לבעלה, הצהוב הזה? על מה? הצהוב הזה, איני בלדתים, לך עצר הזה? כן, כן. אה, אוקיי. לא יודע למה הוא לא נותן לי, מוזר. לא נורא, אתם רואים את האכבר שלי, נכון? את האכבר אתם רואים. אוקיי, בתוך הקרנל יש עוד מעגל שהוא ההארדוויר, אוקיי? תדמיינו שיש עוד מעגל שנקרא הארדוויר. את החלק של הסרטוט אני אתקן בהמשך, ההארדוויר זה סך הכל אוסף החומרות, נכון? מזיכרונות, כרטיצים, מעבד, אנטנות, קווי בקרה, חוטים, כל הדברים האלה, החומרים עצמם, אוקיי? שהחומרים הפיזית, בקיום הפיזי שיש למערכת. מסביב למעבד יש את הקרנל, שזה למעשה... הגרעין, מה זה אומר הגרעין? הגרעין הכוונה היא לאוסף התוכניות, אוסף התוכניות, קוד, אוסף התוכניות הבסיסיות, הבסיסיות, שמדברות עם החומרה, אוקיי? אוסף התוכניות הבסיסיות שמדברות עם החומרה באופן ישיר, אוקיי? חלק ממערת ההפעלה זה הקרנל של תוכניות בסיסיות שמדברות עם החומרה. זה אחד מהתפקידים של מערת ההפעלה, אנחנו אמרנו מתחילת השיעור. מעט הפעלה מנהלת את החומרה, מדברת ישירות עם החומרה. אז הקרן האל של מעט הפעלה מדבר ישירות עם החומרה, מה זה אומר? זה אותן הוראות להעביר נתונים לקרטיס הרשת, להעביר נתונים מקרטיס הרשת, להעביר נתונים מהרם לסיפיו, מהסיפיו לרם בחדרה. אלה מוראות של תקשורות בין חומרות שונות או בין חומרה למעט הפעלה עצמה. כל הנושא של כתיבה של קבצים, עדכון של קבצים, העברה של נתונים של קבצים מקום למקום. זה שינויים שאנחנו מבצעים על החומרה, מי שנותן את ההוראות בפועל, זה לא אנחנו כמשתמשים, אלא הלכה למעשה מהר תפלה, היא דודי שמדעת את החומרה, ומוציאה לפועל את הבקשות שלנו, להעביר קבצים ממקום למקום, בסדר? אוקיי. אז עוד פעם אני חוזר, בשכבה הפלימית ביותר, יש את ההארדוויר, שזה החומרה, מסביב יש את הקרמל, כן? סמיר, יש לך שאלה? כאן כן, אני ראיתי כאילו ראיתי פעם פרטון בזה שיש כאילו במסלחה, אייטר וייטר, כל הדברים האלה, שזה לא רק אפקס יש כאילו אחר כך עוד. איך עוש חבות אתה ממלכן? כאילו יש עוד דברים, חוץ מה שאתה רואה פה, יש כאילו... אוו, כן, זה מודל מאוד פשטני, כן. זה מודל מאוד פשטני, אחר כך אנחנו נרחיב את זה למשהו יותר מתקדם. אנחנו ממש במבוא, אנחנו רק בתרגול הראשון עד תפחות. אז, קרנל זה עוד שפת תוכניות הבסיסיות שמדברות עם החומרה. מסביב לקרנל יש את הסיסטם סרוויסס, שזה השירותים שמערת הפעלה נותנת. איזה שירותים מערת הפעלה נותנת? למעשה השירותים שנותנת למשתמש, אני רק מכיר לכם מי שיתחבר מאוחר, משתמש דילאפקטור הוא משתמש אורגני, אני, אתם, משתמש יכול להיות אפליקציה, משתמש יכול להיות סקריפט, הוא יכול להיות רובוט, הוא יכול להיות מחשב אחר וכן הלאה. המעט הפעלה נותן גם שירותים למשתמש כמו למשל את היכולת לשמוע מוזיקה, את היכולת להדפיס מסמך, את היכולת להקרים סרט למסך וכן הלאה. אלה הם שירותים שמערית הפעלה נותנת. מסביב לסיסטם סרוויסר יש אופורטל סיסטם אקסטנשנס, הרחבות, תוספות שיש למערכת ההפעלה, כמו למשל דפדפן שהתקנו, כמו למשל תוכנת גרפיקה שהתקנו, כמו למשל זום, נכון התקנו זום למנהל שיחה ועוד ועוד ועוד, אלה הם תוספות, סליחה, התאטי אתכם, אלה תוספות שלא בתוך מערכת ההפעלה, אקסטנשנס בתוך מערכת ההפעלה זה עדכונים שיש למערכת עצמה. אופדייטים למשל, אוקיי? וונדוס פרוטקשן, אלה הם הרחבות למערכת ההפעלה. אני חוזר להבדל, זום, אופיס, אנטיבירוס, משחקים, דקדפנים, דברים מן הסוג הזה, זה לא אופריטינג סיסטם אקסטנשן, זה לא הרחבה של מערכת ההפעלה, זה אפליקיישנס, זה מה שיש בה שכבה הכי חיצונית, זה אפליקציות תוספות שהוספנו של תוכנות חיצוניות למערכת ההפעלה. מה זה אקסטנשנס? זה תוספות, מבקונים, בתוך מערכת ההפעלה. יש הבדל בין תוספות ושדרוגים, בהתקנות בתוך מעט ההפעלה, כמו למשל Service Pack, תמיכה בשפות, אנגלית, ספרדית, רוסית, עברית, ערבית, לבין אפליקציות שהן חיצוניות לחלוטין במעט ההפעלה, כמו למשל דפדפן, כמו למשל סייר, כמו למשל אנטיבירוס או משחק כזו או אחר. חבר'ה, אני חייב לעשור פה, כי אני ממש חייב לברוח לשיעור הבא. אז גם אם יש לכם שאלות אולי אם יש לכם שאלה קצרה כזאת זה הזמן אם זה משהו יותר מורחב אז בואו נתאפק לשבוע הבא אני מבטיח שאני אענה לכם על הכל אני גם מחזור על המודל הזה באופן רחב ויותר מעמיק בסדר? אוקיי תודה רבה יונדב אז נעים להכיר אתכם ואנחנו נתראה בשבוע הבא תזכרו 10.45 את ההקלטה אני מלא לכם עד היום בערב שיהיה לכם במודל. אז איך היה להמציא את הטאקי? אני לא המצאתי את הטאקי, זה חיים שפיר אחר, אבל אתה לא הראשון ששאול אותי. אז להתראות, שיהיה לכם יום טוב. להתראות.