תרגול ומעבדות במערכות הפעלה מרצה הקורס :ד"ר כרמי מרימוביץ' מתרגל :צבי מלמד מכללה אקדמית תל-אביב יפו חורף תשע"ה שבוע - #01מעבדת מבוא מעבדה במערכות הפעלה © צבי מלמד 1 צור קשר... 2 צבי מלמד דוא"ל[email protected] : שעת קבלה: ימי שלישי ,2:30-3:30חדר מתרגלים ( – )231נא לתאם מראש אתר הקורסhttp://tzvimelamed.com/lab/ : מעבדה במערכות הפעלה © צבי מלמד נושאים למפגש של היום 3 מבוא למעבדות מחשב מארח ,אמולציה סביבת העבודה CYGWIN, LINUX-VMWARE - התקנה של CYGWIN-LINUX- BOCHSבמחשבים האישיים מבוא לעבודה בcommand line - משימת כיתה: הפעלת הסביבה במעבדה עבודה ב - command lineבסיס מעבדה במערכות הפעלה © צבי מלמד 4 מתוך הרצאת מבוא באוניברסיטת קולומביה NY מעבדה במערכות הפעלה © צבי מלמד מבוא למעבדה במערכות הפעלה 5 קורס חשוב... מיליון סיבות ...אציין רק: מערכת הפעלה – בלב כל התקן ממוחשב כיצד לתכנת מערכת גדולה ,כשאנו לא מכירים את רוב התכנה מה שקשה (שקף הבא) – זה גם מה שחשוב (בחיים, בתעשייה) מעבדה במערכות הפעלה © צבי מלמד מבוא למעבדה במערכות הפעלה 6 קשה בגלל... קונצפטים חדשים לא מוכרים ולא אינטואיטיביים – מקביליות, זיכרון מדומה ,אופני ) (modeעבודה שונים (משתמש ,גרעין), פסיקות קוד לא מוכר ב ,Cמבנים שאינם נפוצים באפליקציות גבוהות עבודה עם assemblyאו inline-assembly סביבת עבודה לא-חלונאית (רובנו לא הורגלנו בה) אין דיבאגר (בוודאי לא דיבאגר מפנק כמו )dev-studio לכרמי יש דרישות גבוהות (אכן כך ...וטוב שכך).... מעבדה במערכות הפעלה © צבי מלמד אז מה צריך לעשות? 7 להתעורר ולחרוש רק בשבוע שלפני הבחן או שלפני הבחינה הסופית להעתיק תרגילים מהחברים המעבדות מבוססות אחת על השנייה – נא להתעלם מזה להחליט שהמעבדות זה בזבוז זמן לא לקרוא את הספר ,XV6חזור ושנן במשך הסמסטר לנסות להבין את הקוד עד הסוף כבר בקריאה ראשונה ...להתעלם מאבסטרקציה ,להתעלם מהפרטים "החשובים" ,לצלול לכל שאר הפרטים להרים ידיים בקלות לחכות שכרמי יצא לשנת שבתון בתקווה שהדרישות תוקלנה להתפלל מעבדה במערכות הפעלה © צבי מלמד מה באמת צריך לעשות? 8 להיות חנון. היי-טק זה המקום שבו החנונים מנצחים להשאיר את הקוליות ...למפגשים מסוג אחר איך להיות חנון? קחו דוגמא ממני (צבי מלמד) מעבדה במערכות הפעלה © צבי מלמד לימוד עצמי 9 "אבל "את זה" אני לא יודע – נגמרו התירוצים... " שיפור משמעותי במנוע החיפוש של גוגל" – http://www.feeder.co.il/article-everything-you-need-toknow-on-google-hummingbird-1000881632 במה שונה המעבדה הזאת? ( system programming תכנות מערכת) – לפני XV6 programming מעבדה במערכות הפעלה © צבי מלמד השלמת מעבדות... 10 חלק מהמעבדות הן דיי ארוכות.. מה שלא מספיקים בכיתה – להשלים בבית... בניית ידע ,גם ספציפי ל – ,XV6וגם לסביבת העבודה (פקודות, קיצורים ,שיטות עבודה) – המעבדות בהמשך ,בנויות על הידע וההתנסות במעבדות הקודמות. מעבדה במערכות הפעלה © צבי מלמד דרישות המעבדה – "תרגילים ו"Quiz - 11 מעבדות +תרגילים 30% :מהציון הסופי הגשת תרגילים – חובה ...וגם חיונית (מה שסיפרו לי תלמידים)... 4תרגילים "רגילים" – בדיקה מלאה – 5( 20%נק' לכל תרגיל) חובה להגיש את כולם .לקבל ציון 60%לפחות בשלושה ,ציון 40% לפחות באחד מהם תרגילים "לבדיקה מדגמית" 10% –Lab Quiz + נוכחות חובה לפחות 11מעבדות ,מתוך 14וגם 8מתוך 10הראשונות! מדי פעם (כ 3-6פעמים בלי נדר) – Quizשל 5דקות על חומר שתורגל/נלמד בשיעור הנוהל המפורט והקובע נמצא באתר מעבדה במערכות הפעלה © צבי מלמד סביבת העבודה מושגים: Host, Cygwin, Bash, VMWARE, Emulator, Bochs, Qemu מעבדה במערכות הפעלה © צבי מלמד 12 מה זה Emulatorולמה זה טוב? 13 אני מרצה קשיש ...יש משחקי DOSשאני נורא אוהב.. דע עקא – הוא לא רץ על הלאפטופ שלי windows-8 64bit אני היי-טקיסט צעיר ...ויש לי משחקי WINDOWSנורא קוליים... שאני רוצה לשחק בהם בעבודה (רק בהפסקת צהריים) דע עקא – בעבודה יש לנו רק מחשבי LINUX אני בחור צעיר ...יש לי משחק מדליק של Sony PlayStation 3 דע עקא -יש לי ( Nintendoאו )XBOX אני צריך לתכנת ולהריץ תחת לינוקס – אבל המחשב שלי הוא ...windows מעבדה במערכות הפעלה © צבי מלמד מה זה Emulatorולמה זה טוב? 14 יש לנו מערכת הפעלהXV6 .. דיי טובה( ...אפילו :טובה מאוד)... פשוטה דייה ללמוד בסמסטר מורכבת דייה ללמוד עקרונות מרכזיים ומעבר מה עוד דרוש? קומפיילר לקמפל את מערכת ההפעלה " מחשב ערום" שיטען אותה ויריץ אותה עליה אפליקציות שירוצו על המחשב הזה בעיות אין לי מחשב ערום... מה אני עושה כאשר יש לי באג במערכת ההפעלה.. או באג בטעינה של מערכת ההפעלה... או כל מיני בעיות אחרות מה דרוש: תכנה שתדמה לי מחשב ערום כזה תוכנה שמדמה מכשיר או מחשב כלשהו ..נקראת emulator מעבדה במערכות הפעלה © צבי מלמד מה זה ?Bochs 15 אמולטור למעבד-מחשב אינטל – IA-32 architecture emulator יכול לרוץ על WINDOWSאו על ( LINUXאו מערכות אחרות) המחשב שהתכנה/האמולטור bochs/רצה עליו – כשמו כן הוא ( HOSTמארח) מדמה מחשב-ערום צריך לטעון עליו מערכת הפעלה צריך לספק לו דיסק (מבחינת ה HOST -יהיה לנו קובץ שמדמה את הדיסק dummy disk = file ואז לעבוד איתו באמצעות ...מסך ,מקלדת ,עכבר ...וכו' מעבדה במערכות הפעלה © צבי מלמד מה זה ?Cross-Compilation 16 איזה קומפיילר דרוש לי בכדי לקמפל תכנית שתרוץ על ?LINUX ואיך אני מקמפל אפליקציה שתרוץ על סמסונג גלאקסי? או אפליקציה שתרוץ על 20סוגים שונים של טלפונים? פתרון א :מקמפלים לשפת ביניים – התכנית רצה על ( JVMאו CLRעבור ).NET פתרון ב' :קרוס קומפיילר מעבדה במערכות הפעלה © צבי מלמד הדגמה 17 הרצת CYGWINבמעבדה הרצת VMWAREבמעבדה ,להפעיל ubuntu קומפילציה של XV6 הרצת BOCHS טעינה של .xv6 הprompt - הרצת תכנית משתמש ,כגון ls, echo, shell מעבדה במערכות הפעלה © צבי מלמד מקמפלים מערכת הפעלה 18 תוצרים דרושים: קבצי " – )...IDE( DISKלשימוש כללי" – fs.img קובץ )...IDE( DISKשמכיל את מערכת ההפעלה xv6.img ( למה ההפרדה הזאת? האם היא הכרחית?) מעבדה במערכות הפעלה © צבי מלמד מקמפלים מערכת הפעלה 19 תוצרים דרושים: קבצי " – )...IDE( DISKלשימוש כללי" – fs.img קובץ )...IDE( DISKשמכיל את מערכת ההפעלה xv6.img ( למה ההפרדה הזאת? האם היא הכרחית?) איך מקמפלים (בונים) מערכת הפעלה? (או כל תוכנה גדולה?)... אפשרות א' :מריצים עשרות (או מאות) פקודות אפשרות ב' :מריצים פקודה אחת (או שתיים). איך? שימו לב ...בניית ...xv6זה יותר מאשר לבצע קומפילציה ...ולבצע לינק ...למשל ..צריך ליצור את קבצי ה img-הנ"ל בד"כ משתמשים במונח – BUILDבניית התכנה ..או MAKE מעבדה במערכות הפעלה © צבי מלמד התקנות 20 מה שנרצה להתקיןcygwin, Bochs, VMWARE, LINUX : מה זה כל דבר? מסמך התקנה ...בלינק הבא... מעבדה במערכות הפעלה © צבי מלמד חלונות מול טרמינל GUI vers. UI 21 מערכת ההפעלה עלתה ....לא בהכרח בסדר הזה קרו דברים כגון: הקצאת זיכרון גישה לדיסק גישה למקלדת ,למסך ,לעכבר ועוד כהנה וכהנה... ומה עכשיו? console, command window, cmd, shell, bash, cygwin סביבת windows, mac, x-windows, - GUI מעבדה במערכות הפעלה © צבי מלמד אינם חלק ממערכת ההפעלה, אלא מספקים ממשק אליה מבוא לעבודה בסביבת טרמינל שמות נרדפים: terminal, console, xterm, command window, shell המיקוד :עבודה עם BASH התחלה בשבוע ,#1המשך בשבוע הבא ()#2 ראה קובץ נפרד שמוקדש לנושא זה: Lab-02A-Bash-Intro.html מעבדה במערכות הפעלה © צבי מלמד 22
© Copyright 2024