מבוא (מלווה למעבדה #1)
Transcription
מבוא (מלווה למעבדה #1)
תרגול ומעבדות במערכות הפעלה מרצה הקורס :ד"ר כרמי מרימוביץ' מתרגל :צבי מלמד מכללה אקדמית תל-אביב יפו אביב תשע"ה שבוע - #01מעבדת מבוא מעבדה במערכות הפעלה © צבי מלמד 1 צור קשר... 2 צבי מלמד דוא"ל[email protected] : שעת קבלה: ימי שלישי ,11:00-12:00חדר מתרגלים ( – )231נא לתאם מראש אתר הקורסhttp://tzvimelamed.com/lab/ : מעבדה במערכות הפעלה © צבי מלמד נוהל סמארטפונים 3 בפני עוור לא תתן מכשול " ...מתייחס גם למצבים נוספים של הכשלה ושל ניצול נקודות התורפה של הזולת" איסור מוחלט להשתמש בסמארטפון בזמן השיעור הסמארטפונים חייבים להיות מושתקים ומוצנעים בתיק אין להחזיק אותם ביד או להניח על השולחן אסור להשתמש בסמארטפון מתחת לשולחן ארגון המחשב ושפת סף © צבי מלמד נושאים למפגש של היום 4 מבוא למעבדות מחשב מארח ,אמולציה סביבת העבודה CYGWIN, LINUX-VMWARE - התקנה של CYGWIN-LINUX- BOCHSבמחשבים האישיים משימת כיתה: הפעלת הסביבה במעבדה מעבדה במערכות הפעלה © צבי מלמד 5 מתוך הרצאת מבוא באוניברסיטת קולומביה NY מעבדה במערכות הפעלה © צבי מלמד מבוא למעבדה במערכות הפעלה 6 קורס חשוב... מיליון סיבות ...אציין רק: מערכת הפעלה – בלב כל התקן ממוחשב כיצד לתכנת מערכת גדולה ,כשאנו לא מכירים את רוב התכנה מה שקשה (שקף הבא) – זה גם מה שחשוב (בחיים, בתעשייה) מעבדה במערכות הפעלה © צבי מלמד מבוא למעבדה במערכות הפעלה 7 קשה בגלל... קונצפטים חדשים לא מוכרים ולא אינטואיטיביים – מקביליות, זיכרון מדומה ,אופני ) (modeעבודה שונים (משתמש ,גרעין), פסיקות קוד לא מוכר ב ,Cמבנים שאינם נפוצים באפליקציות גבוהות עבודה עם assemblyאו inline-assembly סביבת עבודה לא-חלונאית (רובנו לא הורגלנו בה) אין דיבאגר (בוודאי לא דיבאגר מפנק כמו )dev-studio לכרמי יש דרישות גבוהות (אכן כך ...וטוב שכך).... מעבדה במערכות הפעלה © צבי מלמד אז מה צריך לעשות? 8 להתעורר ולחרוש רק בשבוע שלפני הבחן או שלפני הבחינה הסופית להעתיק תרגילים מהחברים המעבדות מבוססות אחת על השנייה – נא להתעלם מזה להחליט שהמעבדות זה בזבוז זמן לא לקרוא את הספר ,XV6חזור ושנן במשך הסמסטר לנסות להבין את הקוד עד הסוף כבר בקריאה ראשונה ...להתעלם מאבסטרקציה ,להתעלם מהפרטים "החשובים" ,לצלול לכל שאר הפרטים להרים ידיים בקלות לחכות שכרמי יצא לשנת שבתון בתקווה שהדרישות תוקלנה להתפלל מעבדה במערכות הפעלה © צבי מלמד מה באמת צריך לעשות? 9 להיות חנון. היי-טק זה המקום שבו החנונים מנצחים להשאיר את הקוליות ...למפגשים מסוג אחר איך להיות חנון? קחו דוגמא ממני (צבי מלמד) מעבדה במערכות הפעלה © צבי מלמד מה באמת צריך לעשות? ()2 10 לכתוב קוד. לא מספיק להבין מה הקוד עושה לצייר את מבני הנתונים ( )struct + arraysוהקשרים ביניהם מעבדה במערכות הפעלה © צבי מלמד לימוד עצמי 11 "אבל "את זה" אני לא יודע – נגמרו התירוצים... " שיפור משמעותי במנוע החיפוש של גוגל" – http://www.feeder.co.il/article-everything-you-need-toknow-on-google-hummingbird-1000881632 במה שונה המעבדה הזאת? ( system programming תכנות מערכת) – לפני XV6 programming לקרוא בגוגל לפני שפונים אלי בשאלה ,במייל לקרוא טקסט ב -קונטקסט מעבדה במערכות הפעלה © צבי מלמד השלמת מעבדות... 12 חלק מהמעבדות הן דיי ארוכות.. מה שלא מספיקים בכיתה – להשלים בבית... בניית ידע ,גם ספציפי ל – ,XV6וגם לסביבת העבודה (פקודות, קיצורים ,שיטות עבודה) – המעבדות בהמשך ,בנויות על הידע וההתנסות במעבדות הקודמות. חלק מההסברים במעבדה ניתנים בע"פ – לסכם במחברת. מעבדה במערכות הפעלה © צבי מלמד דרישות המעבדה –תרגילים ,ונוכחות 13 מעבדות +תרגילים 30% :מהציון הסופי הגשת תרגילים – חובה ...וגם חיונית (מה שסיפרו לי תלמידים)... 3-4 - 20%תרגילים "רגילים" – בדיקה מלאה (בודק חיצוני) חובה להגיש את כולם .לקבל ציון 60%לפחות בשלושה - 10%נוכחות במעבדות +תרגילים לבדיקה מדגמית נוכחות חובה -לפחות 11מעבדות ,מתוך 13הראשונות (מעבדה 14 חזרה +הכנה לבחינה) תרגילים לבדיקה מדגמית (ייתכן שיכללו הגשה בנייר של קטעי קוד או ציור של מבני נתונים) ... מעבדה במערכות הפעלה © צבי מלמד סביבת העבודה מושגים: Host, Cygwin, Bash, VMWARE, Emulator, Bochs, Qemu מעבדה במערכות הפעלה © צבי מלמד 14 מה זה Emulatorולמה זה טוב? 15 אני מרצה קשיש ...יש משחקי DOSשאני נורא אוהב.. דע עקא – הוא לא רץ על הלאפטופ שלי windows-8 64bit אני היי-טקיסט צעיר ...ויש לי משחקי WINDOWSנורא קוליים... שאני רוצה לשחק בהם בעבודה (רק בהפסקת צהריים) דע עקא – בעבודה יש לנו רק מחשבי LINUX אני בחור צעיר ...יש לי משחק מדליק של Sony PlayStation 3 דע עקא -יש לי ( Nintendoאו )XBOX אני צריך לתכנת ולהריץ תחת לינוקס – אבל המחשב שלי הוא ...windows מעבדה במערכות הפעלה © צבי מלמד מה זה Emulatorולמה זה טוב? 16 יש לנו מערכת הפעלהXV6 .. דיי טובה( ...אפילו :טובה מאוד)... פשוטה דייה ללמוד בסמסטר מורכבת דייה ללמוד עקרונות מרכזיים ומעבר מה עוד דרוש? קומפיילר לקמפל את מערכת ההפעלה " מחשב ערום" שיטען אותה ויריץ אותה עליה אפליקציות שירוצו על המחשב הזה מעבדה במערכות הפעלה © צבי מלמד מה זה Emulatorולמה זה טוב? 17 יש לנו מערכת הפעלהXV6 .. דיי טובה( ...אפילו :טובה מאוד)... פשוטה דייה ללמוד בסמסטר מורכבת דייה ללמוד עקרונות מרכזיים ומעבר מה עוד דרוש? קומפיילר לקמפל את מערכת ההפעלה " מחשב ערום" שיטען אותה ויריץ אותה עליה אפליקציות שירוצו על המחשב הזה בעיות אין לי מחשב ערום... מה אני עושה כאשר יש לי באג במערכת ההפעלה.. או באג בטעינה של מערכת ההפעלה... או כל מיני בעיות אחרות מה הפתרון למה שחסר: תכנה שתדמה לי מחשב ערום כזה תוכנה שמדמה מכשיר או מחשב כלשהו ..נקראת emulator מעבדה במערכות הפעלה © צבי מלמד מה זה ?Bochs 18 אמולטור למעבד-מחשב אינטל – IA-32 architecture emulator יכול לרוץ על WINDOWSאו על ( LINUXאו מערכות אחרות) המחשב שהתכנה/האמולטור bochs/רצה עליו – כשמו כן הוא ( HOSTמארח) מדמה מחשב-ערום צריך לטעון עליו מערכת הפעלה צריך לספק לו דיסק (מבחינת ה HOST -יהיה לנו קובץ שמדמה את הדיסק dummy disk = file ואז לעבוד איתו באמצעות ...מסך ,מקלדת ,עכבר ...וכו' מעבדה במערכות הפעלה © צבי מלמד מה זה ?Cross-Compilation 19 איזה קומפיילר דרוש לי בכדי לקמפל תכנית שתרוץ על ?LINUX ואיך אני מקמפל אפליקציה שתרוץ על סמסונג גלאקסי? או אפליקציה שתרוץ על 20סוגים שונים של טלפונים? פתרון א :מקמפלים לשפת ביניים – התכנית רצה על ( JVMאו CLRעבור ).NET פתרון ב' :קרוס קומפיילר מעבדה במערכות הפעלה © צבי מלמד הדגמה 20 הרצת CYGWINבמעבדה הרצת VMWAREבמעבדה ,להפעיל ubuntu קומפילציה של XV6 הרצת BOCHS טעינה של .xv6 הprompt - הרצת תכנית משתמש ,כגון ls, echo, shell מעבדה במערכות הפעלה © צבי מלמד התקנות 21 מה שנרצה להתקיןcygwin, Bochs, VMWARE, LINUX : מה זה כל דבר? מעבדה במערכות הפעלה © צבי מלמד