מערכות הפעלה
|
|
- לאון מכלוף
- לפני5 שנים
- צפיות:
תמליל
1 מערכות הפעלה תהליכים ב- Linux תרגול 3
2 תוכן התרגול מבוא לתהליכים ב- Linux API לעבודה עם תהליכים מבוא לניהול תהליכים בתוך הגרעין )process descriptor( מתאר התהליך )process list( רשימת התהליכים מאגר התהליכים המוכנים לריצה )"הטווח הקצר"( תורי המתנה )"הטווח הבינוני / ארוך"( 2
3 מבוא לתהליכים ב- Linux )1( תהליך )process( הוא ביצוע סדרתי של משימה, המוגדרת על-ידי תכנית )program( תהליך = מופע )instance( של ביצוע תכנית תהליך נקרא גם task במקומות שונים מספר תהליכים מתבצעים "בו זמנית" על המעבד במחשב למעשה המעבד "ממתג" בין התהליכים בתדירות גבוהה באמצעות מנגנון החלפת הקשר. פרטים בתרגול הבא עבור מערכת ההפעלה, תהליך הינו יישות עצמאית הצורכת משאבים זיכרון, זמן מעבד, שטח דיסק וכו' לכל תהליך ב- Linux יש מזהה הקרוי PID Process IDentifier מספר שלם בן 32 ביט ייחודי לתהליך )עד 32K תהליכים מטעמי תאימות הסטורית( ערכי ה- pid ממוחזרים מתהליכים שסיימו לתהליכים חדשים שנוצרים 3
4 מבוא לתהליכים ב- Linux )2( באיתחול Linux גרעין מערכת ההפעלה יוצר שני תהליכים בלבד (pid=0) swapper \ idle משמש לניהול זיכרון ; מורץ כאשר אין אף תהליך אחר מוכן לריצה ; ממנו נוצר התהליך init (pid=1) init ממנו נוצרים כל שאר התהליכים במערכת כל תהליך נוסף נוצר ב- Linux כעותק של תהליך קיים התהליך המקורי נקרא תהליך אב )או הורה( התהליך החדש נקרא תהליך בן fork() תהליך הבן נוצר בעקבות ביצוע קריאת מערכת כדוגמת על-ידי תהליך האב תהליך אב יכול ליצור יותר מתהליך בן אחד 4
5 מבוא לתהליכים ב- Linux )3( תהליך יכול לאחר היווצרו לבצע משימה שונה מאביו על-ידי הסתעפות בקוד התכנית הקיימת, מהאב על-ידי טעינת משימה חדשה )תכנית חדשה( למשל, על-ידי קריאת המערכת execv() לאחר ההתפצלות לביצוע תהליך אב יכול לבדוק סיום של כל תהליך בן שלו אך לא של "נכדים", "נינים", "אחים" וכדומה אב יכול להמתין לסיום בן לפני המשך פעולתו למשל, על-ידי קריאת המערכת wait() 5
6 מבוא לתהליכים ב- Linux )4( כדי לאפשר לאב לקבל מידע על סיום הבן, לאחר שתהליך מסיים את פעולתו הוא עובר למצב מיוחד zombie שבו התהליך קיים כרשומת נתונים בלבד ללא שום ביצוע משימה הרשומה נמחקת לאחר שהאב קיבל את המידע על סיום הבן מה קורה לתהליך שהופך ל"יתום" )orphan( לאחר שאביו כבר סיים? התהליך הופך להיות בן של init התהליך init ממשיך להתקיים לאורך כל פעולתה של מערכת ההפעלה אחד מתפקידיו העיקריים נתוניהם לאחר סיום - המתנה לכל בניו, כדי לפנות את 6
7 )1( לתהליכים ב- Linux API קריאת המערכת pid_t fork(); fork() תחביר: פעולה: מעתיקה את תהליך האב לתהליך הבן וחוזרת בשני התהליכים קוד זהה )ומיקום בקוד( זיכרון זהה )משתנים וערכיהם, חוצצים( סביבה זהה )קבצים פתוחים,,file descriptors ספרית עבודה נוכחית( פרמטרים: אין ערך מוחזר: במקרה של כישלון: 1- לאב )אין בן( במקרה של הצלחה: לבן מוחזר 0 ולאב מוחזר ה- pid של הבן 7
8 )2( לתהליכים ב- Linux API לאחר פעולת fork() מוצלחת, אמנם יש לאב ולבן את אותם משתנים בזיכרון, אך בעותקים נפרדים כלומר, שינוי ערכי המשתנים אצל האב לא ייראה אצל הבן, וההיפך כמו כן, תהליך הבן הוא תהליך נפרד מתהליך האב לכל דבר. בפרט, יש לו pid משלו מה מדפיס הקוד הבא? main() { fork(); printf( hello ); } 8
9 )3( לתהליכים ב- Linux API hellohello hheellollo תשובות אפשריות )בהנחה ש-() fork הצליחה(: הסיבה: שני תהליכים כותבים פלט בצורה לא מתואמת status = fork(); מבנה תכנית אופייני המשתמש ב-() fork : if (status < 0) // fork() failed handle error (e.g. message & exit) if (status == 0) // son process do son code else // father process do father code 9
10 )4( לתהליכים ב- Linux API קריאת המערכת execv() תחביר: int execv(const char *filename, char *const argv[]); פעולה: פרמטרים: טוענת תכנית חדשה לביצוע על-ידי התהליך הקורא filename מסלול אל הקובץ המכיל את התכנית לטעינה argv מערך מצביעים למחרוזות המכיל את הפרמטרים עבור התכנית. האיבר הראשון מקיים argv[0] == filename או רק מכיל את שם קובץ התכנית. האיבר שאחרי הפרמטר האחרון מכיל NULL ערך מוחזר: במקרה של כישלון: 1- במקרה של הצלחה: הקריאה אינה חוזרת. איזורי הזיכרון של התהליך מאותחלים לתכנית החדשה שמתחילה להתבצע מההתחלה. 10
11 )5( לתהליכים ב- Linux API main() { char *argv[] = { date, NULL}; execv( /bin/date, argv); printf( hello ); } מה ידפיס הקוד הבא? התשובה: מצליחה: את התאריך והשעה נכשלת: hello execv() אם execv() אם 11
12 )6( לתהליכים ב- Linux API :execv() pid = fork(); if (pid < 0) { דוגמה אופיינית לשילוב fork() עם // handle fork() error } else if (pid == 0) { execv( son_prog, argv_son); //handle execv() error } else // do father code 12
13 )7( לתהליכים ב- Linux API קריאת המערכת exit() void exit(int status); תחביר: פעולה: מסיימת את ביצוע התהליך הקורא ומשחררת את כל המשאבים שברשותו. התהליך עובר למצב zombie עד שתהליך האב יבקש לבדוק את סיומו ואז יפונה לחלוטין פרמטרים: ערך סיום המוחזר לאב אם יבדוק את סיום התהליך status ערך מוחזר: הקריאה אינה חוזרת 13
14 )8( לתהליכים ב- Linux API קריאת המערכת pid_t wait(int *status); wait() תחביר: פעולה: גורמת לתהליך הקורא להמתין עד אשר אחד מתהליכי הבן שלו יסיים פרמטרים: status ערך מוחזר: מצביע למשתנה בו יאוחסן סטטוס הבן שסיים אם אין בנים, או שכל הבנים כבר סיימו וכבר בוצע להם wait() - חזרה מיד עם ערך 1- אם יש בן שסיים ועדיין לא בוצע לו wait() )zombie( חזרה מייד עם ה- pid של הבן הנ"ל ועם סטטוס הסיום שלו. מאקרו-ים שונים מאפשרים לקבל מתוך הסטטוס מידע על הבן. למשל (status) WEXITSTATUS יתן את ערך הסיום של בן שסיים )הערך שהעביר כארגומנט ל-() exit (. אחרת המתנה עד שבן כלשהו יסיים 14
15 )9( לתהליכים ב- Linux API דוגמת קוד אופיינית בה האב מחכה לסיום כל תהליכי הבן: while (wait(&status)!= -1); קריאה שימושית נוספת: waitpid() המתנה לסיום בן מסוים pid_t waitpid(pid_t pid, int *status, int options); ניתן למשל, באמצעות,options לבחור רק לבדוק אם הבן סיים )ערך )WNOHANG או להמתין לסיום הבן )ערך 0( 15
16 )10( לתהליכים ב- Linux API קריאת המערכת pid_t getpid() getpid() תחביר: פעולה: מחזירה לתהליך הקורא את ה- pid של עצמו פרמטרים: אין ערך מוחזר: ה- pid של התהליך הקורא קריאה שימושית דומה: getppid() תהליך האב של התהליך הקורא getppid() מה המשמעות של == 1 טיפוסי? תשובה: תהליך האב שיצר את התהליך הנוכחי סיים מחזירה את ה- pid של עבור תהליך משתמש 16
17 אתחול תהליכים ב- Linux משתמשים מתחברים לעבודה ב- Linux מסוף = מסך + מקלדת )מקומי או מרוחק( דרך מסופים התהליך init יוצר עבור כל מסוף של Linux תהליך בן הטוען ומבצע את המשימות הבאות לפי הסדר : איתחול של המסוף בתכנית getty תכנית login המאפשרת למשתמש להיכנס למערכת לאחר שאושרה כניסת המשתמש: תכנית shell )כמו tcsh )bash המאפשרת למשתמש להעביר פקודות למערכת ההפעלה או כאשר ה- shell שמבצע אותה, הבאה מקבל פקודה, הוא מייצר תהליך בן ממתין לסיום הבן ואז קורא את הפקודה 17
18 אתחול תהליכים ב- Linux )2( Pid=1 init fork() fork() fork() wait() Pid=7223 Pid=30498 Pid=8837 exec(getty) exec(getty) exec(getty) exit() exec(login) exec(login) exec(shell) shell fork() wait() Pid=5562 exec(command) exit() 18
19 ניהול תהליכים בגרעין )1( לכל תהליך ב- Linux קיים בגרעין מתאר תהליך descriptor(,)process שהוא רשומה מסוג )include/linux/sched.h גרעין )קובץ task_struct המכילה: מצב התהליך עדיפות התהליך )pid( מזהה התהליך מצביע לטבלת איזורי הזיכרון של התהליך מצביע לטבלת הקבצים הפתוחים של התהליך מצביעים למתארי תהליכים נוספים )רשימה מקושרת( מצביעים למתאר תהליך האב ו"קרובי משפחה" נוספים מסוף איתו התהליך מתקשר ועוד.. 19
20 ניהול תהליכים בגרעין )2( מצב התהליך נמצא בשדה,state שהוא משתנה בגודל 32 ביט המתפקד כמערך ביטים בכל זמן שהוא, בדיוק אחד מהביטים ב- state למצב התהליך באותו זמן Linux מגדירה את המצבים הבאים לכל תהליך: דלוק בהתאם TASK_RUNNING התהליך רץ או מוכן לריצה, כלומר נמצא בטווח הקצר TASK_INTERRUPTIBLE התהליך ממתין לאירוע כלשהו )טווח בינוני/ארוך( אך ניתן להפסיק את המתנת התהליך ולהחזירו למצב TASK_RUNNING באמצעות שליחת אות )Signal( כלשהו לתהליך. זהו מצב ההמתנה הנפוץ. 20
21 ניהול תהליכים בגרעין )3( TASK_UNINTERRUPTIBLE התהליך ממתין לאירוע כלשהו )בדומה ל- )TASK_INTERRUPTIBLE אך פרט לאירוע לו הוא ממתין, לא ניתן "להעיר" את התהליך מצב המתנה נדיר לשימוש למשל כאשר התהליך מבקש לגשת לחומרה ומערכת ההפעלה צריכה לסרוק אחר החומרה ללא הפרעה TASK_STOPPED ריצת התהליך נעצרה בצורה מבוקרת על-ידי תהליך אחר )בדרך-כלל debugger או )tracer TASK_ZOMBIE ריצת התהליך הסתיימה, אך תהליך האב של התהליך שסיים עדיין לא ביקש מידע על סיום התהליך באמצעות קריאה כדוגמת.wait() התהליך קיים כמתאר בלבד את ערך השדה state ניתן לשנות בהצבה ישירה או על- ידי המאקרו set_task_state או set_current_state )קובץ גרעין )include/linux/sched.h 21
22 ניהול תהליכים בגרעין )4( לכל תהליך יש מחסנית נוספת הקרויה,kernel mode stack כלומר "מחסנית גרעין" מחסנית זו משמשת את גרעין מערכת ההפעלה בטיפול באירועים במהלך ריצת התהליך פסיקות בכלל קריאות מערכת בפרט מחסנית הגרעין של כל תהליך מאוחסנת באיזור הזיכרון של הגרעין כאשר במהלך ריצת התהליך מתבצע מעבר בין user mode ו- ו- esp ( ss מתבצעת החלפת מחסניות )שינוי ערכי,kernel mode בין המחסנית הרגילה של התהליך ומחסנית הגרעין ערכי ss:esp המצביעים למחסנית הרגילה נשמרים על-ידי המעבד במחסנית הגרעין מיד עם המעבר ל- mode kernel ומשוחזרים במעבר החוזר ל- user mode 22
23 ניהול תהליכים בגרעין )5( מחסנית הגרעין מאוחסנת יחד עם מתאר התהליך בקטע זיכרון אחד בגודל,8KB המתחיל בכתובת שהיא כפולה של ( 8KB 13 )2 Kernel Mode Stack 0x015fbfff union task_union { struct task_struct task; unsigned long stack[2048]; }; esp current Process Descriptor 0x015fa878 0x015fa3cb 0x015fa000 המחסנית לא דורסת את מתאר התהליך מפני שאיננה גדלה מעבר ל בתים, וגודל מתאר התהליך קטן מ בתים 23
24 ניהול תהליכים בגרעין )6( מצורת האחסון הנ"ל נובעת דרך פשוטה "לשלוף" את כתובת מתאר התהליך מתוך esp כאשר המעבד ב- mode :kernel לאפס את 13 הביטים הנמוכים של esp בהתאם לדוגמה בשקף הקודם: esp = 0x15fa878 כתובת מתאר התהליך 0x15fa000 esp & 0xffffe000 = המאקרו current )קובץ גרעין )include/asm-i386/current.h משתמש בשיטה זו על מנת לאחסן את כתובת מתאר התהליך בערך מוחזר p: movl $0xffffe000, %ecx movl %esp, p andl %ecx, p 24
25 )1( ניהול תהליכים בגרעין רשימת התהליכים מתארי כל התהליכים מחוברים ברשימה מקושרת כפולה מעגלית הקרויה רשימת התהליכים list( )process באמצעות השדות prev_task ו- next_task רשימה זו מקבילה ל"טבלת התהליכים" הקיימת במערכות ההפעלה אחרות ראש הרשימה הוא המתאר של התהליך swapper )מוצבע ע"י )init_task init_task prev_task next_task prev_task next_task prev_task next_task swapper init 25
26 )2( ניהול תהליכים בגרעין רשימת התהליכים המאקרו SET_LINKS ו- REMOVE_LINKS )קובץ גרעין )include/linux/sched.h משמשים להוספה והסרה של מתאר תהליך ברשימת התהליכים מטפלים גם ב"קשרי משפחה" המאקרו for_each_task בין תהליכים. פרטים בהמשך )אותו קובץ גרעין( מאפשר לעבור על כל התהליכים ברשימה בסריקה דרך השדה :next_task #define for_each_task(p) for (p = &init_task; (p = p->next_task)!= &init_task; ) 26
27 )1( ניהול תהליכים בגרעין מיפוי PID למתאר תהליך אמנם קריאות מערכת המתייחסות לתהליך מציינות את ה- pid של התהליך, אך הגרעין עובד עם מתאר התהליך לפיכך, הוגדר בגרעין מנגנון המאתר את מתאר התהליך לפי ה- pid של התהליך המנגנון מבוסס על hash-table בגודל PIDHASH_SZ )בד"כ 1024( כניסות בדרך-כלל מספר התהליכים במערכת קטן בהרבה מ- 32K אין צורך להחזיק כניסות עבור כל ה- pid האפשריים התנגשויות בפונקצית ה- hash נפתרות על-ידי קישור מתארי התהליך, המתמפים לאותה כניסה בטבלה, ברשימה מקושרת כפולה דרך השדות pidhash_next pidhash_pprev ולכן ו- 27
28 )2( ניהול תהליכים בגרעין מיפוי PID למתאר התהליך הפונקציות hash_pid() ו-() unhash_pid מאפשרות להוסיף ולהסיר מתאר תהליך לטבלה הפונקציה find_task_by_pid() מבצעת את איתור מתאר התהליך לפי ה- pid הנתון pidhash PID 199 PID PID pidhash_next pidhash_pprev
29 )1( ניהול תהליכים בגרעין ניהול קשרי משפחה בגרעין "קשרי המשפחה" בין תהליכים מיוצגים בגרעין באמצעות מצביעים בין מתארי תהליכים מתאר תהליך אב מצביע למתאר תהליך הבן הצעיר ביותר שלו )שנוצר אחרון( באמצעות השדה p_cptr במתאר התהליך מתאר תהליך מצביע למתאר תהליך האב שלו באמצעות השדה p_opptr במתאר התהליך קיים שדה מצביע נוסף הקרוי p_pptr המצביע למתאר תהליך האב בפועל. ערך זה שונה מתהליך האב כאשר התהליך נמצא בריצה מבוקרת ע "י debugger או tracer מתאר תהליך מצביע למתאר תהליך ה"אח הבוגר" ( older,)sibling כלומר מתאר התהליך שאביו יצר לפניו, באמצעות השדה p_osptr מתאר תהליך מצביע למתאר תהליך ה"אח הצעיר" ( younger,)sibling כלומר מתאר התהליך שאביו יצר אחריו, באמצעות השדה p_ysptr 29
30 )2( ניהול תהליכים בגרעין ניהול קשרי משפחה בגרעין באמצעות "קשרי המשפחה" תהליך יכול לאתר את אביו למשל, עבור getppid() תהליך יכול לאתר את בניו לפי סדר יצירתם למשל, עבור wait() P 0 P 1 P 2 P 3 p_(o)pptr p_ysptr p_osptr P 4 p_cptr 30
31 )1( ניהול תהליכים בגרעין רשימות מקושרות בגרעין לצורך ניהול תורים ומבני נתונים אחרים הגרעין משתמש ברשימות מקושרות כפולות מעגליות struct list_head { struct list_head *next, *prev; }; typedef struct list_head list_t; list_head הגדרת מבנה הרשימה בקובץ הגרעין include/linux/list.h כל איבר ברשימה הוא מסוג list_t next next next next prev prev prev prev data structure 1 data structure 2 data structure 3 31
32 )2( ניהול תהליכים בגרעין רשימות מקושרות בגרעין האיברים ברשימה הם שדות המוכלים ברשומות מבני נתונים מבני הנתונים המכילים את אברי הרשימה מקושרים זה לזה באמצעות הרשימה הפעולות על הרשימה כוללות, בין השאר: יצירת )ראש( הרשימה: LIST_HEAD הוספת איבר במקום נתון )list_add( ובסוף הרשימה )list_add_tail( הסרת איבר נתון )list_del( בדיקה האם הרשימה ריקה )list_empty( גישה לרשומה המכילה איבר נתון )list_entry( #define list_entry(ptr, type, member) \ ((type *)((char *)(ptr) (unsigned long)(&((type *)0)->member))) לולאת מעבר על איברים ברשימה )list_for_each( 32
33 )1( ניהול תהליכים בגרעין הטווח הקצר מתארי התהליכים המוכנים לריצה ב- Linux )מצב )TASK_RUNNING נגישים מתוך מבנה נתונים הקרוי )kernel/sched.c גרעין )קובץ runqueue לכל מעבד יש runqueue משלו כל runqueue מכיל מספר תורים של מתארי תהליכים, אחד לכל עדיפות של תהליך כל תור ממומש כרשימה מעגלית כפולה שתוארה קודם השדה run_list במתאר התהליך הוא איבר הקישור ברשימה )מסוג )list_head 33
34 )2( ניהול תהליכים בגרעין הטווח הקצר ו-() dequeue_task enqueue_task() הפונקציות מכניסות ומוציאות ]מתאר[ תהליך ב- runqueue הפונקציה wake_up_process() הופכת תהליך ממתין למוכן לריצה,)TASK_RUNNING( מוסיפה את התהליך ל- runqueue באמצעות enqueue_task() ומסמנת צורך בהחלפת הקשר אם התהליך החדש מועדף לריצה על-פני האחרים 34
35 )1( ניהול תהליכים בגרעין הטווח הבינוני/ארוך תהליך שצריך להמתין לאירוע כלשהו לפני המשך ריצתו )TASK_(UN)INTERRUPTIBLE( נכנס לתור המתנה )wait queue( כמו כן, התהליך יוצא מה- runqueue ומוותר על המעבד כל תור המתנה משויך לאירוע או סוג אירוע כלשהו, פסיקת חומרה, למשל דיסק או שעון התפנות משאב מערכת לשימוש. לדוגמה: שהתפנה וניתן לשלוח דרכו נתונים אירועים אחרים כלשהם, כמו סיום תהליך ערוץ תקשורת כגון כאשר קורה האירוע אליו מקושר תור ההמתנה, מערכת ההפעלה "מעירה" תהליכים מתוך התור, כלומר מחזירה אותם למצב ריצה )TASK_RUNNING( 35
36 )2( ניהול תהליכים בגרעין הטווח הבינוני/ארוך תהליך ממתין בתור יכול להיות באחד משני מצבים: exclusive )בלעדי( כאשר האירוע המעורר קורה, מעירים אחד מהתהליכים שממתינים עם סימון "בלעדי". למשל: כאשר האירוע הוא שחרור של משאב שניתן לשימוש רק על-ידי תהליך יחיד ב-זמנית non-execlusive )משותף( כאשר האירוע המעורר קורה, מעירים את כל התהליכים שממתינים עם סימון "משותף". למשל: כאשר האירוע הוא פסיקת שעון שיכולה לסמן סוף המתנה עבור תהליכים שונים הממתינים למשך זמן קצוב בדרך-כלל אין באותו תור המתנה ממתינים בלעדיים ומשותפים יחד 36
37 )3( ניהול תהליכים בגרעין הטווח הבינוני/ארוך תור המתנה ממומש כרשימה מקושרת כפולה מעגלית שתוארה קודם )קובץ גרעין )include/linux/wait.h struct wait_queue_head { spinlock_t lock; מיועד להגן על התור struct list_head task_list; }; typedef wait_queue_head wait_queue_head_t; השדה lock מפני גישה במקביל על-ידי שני תהליכים או יותר כל תהליך בתור מוצבע מאיבר ברשימה המוגדר כדלהלן: struct wait_queue { unsigned int flags; non- )1( או struct task_struct *task; struct list_head task_list; }; typedef struct wait_queue wait_queue_t; השדה flags מציין האם ההמתנה היא exclusive )0( exclusive 37
38 )4( ניהול תהליכים בגרעין הטווח הבינוני/ארוך sleep_on() פונקציה להכנסת תהליך להמתנה בתור - void sleep_on(wait_queue_head_t *q) { unsigned long flags; wait_queue_t wait; wait.flags = 0; wait.task = current; current->state = TASK_UNINTERRUPTIBLE; add_wait_queue(q, &wait); schedule(); remove_wait_queue(q, &wait); } הפונקציות add_wait_queue[_exclusive]() ו- remove_wait_queue() מכניסות ומוציאות תהליך מהתור 38
39 )5( ניהול תהליכים בגרעין הטווח הבינוני/ארוך פונקציות נוספות מאפשרות הכנסת תהליך לתור כשהוא ממתין במצב interruptible ו/או כשהממתין בלעדי במקביל, פונקציות המשמשות "להעיר" תהליכים: wake_up מעירה את כל הממתינים המשותפים ואחד מהבלעדיים גרסאות נוספות של :wake_up להעיר מספר מוגבל של תהליכים ממתינים להעיר רק ממתינים שהם interruptible לבצע החלפת הקשר אם התהליך המועדף לריצה משתנה לאחר שמעירים תהליכים 39
מערכות הפעלה
מערכות הפעלה תרגול 5 אלגוריתם זימון התהליכים ב- Linux תוכן התרגול אלגוריתם זימון התהליכים ב- Linux איך בוחרים, בכל נקודת זמן, את התהליך הבא להרצה במעבד? 2 הערה מקדימה אלגוריתם הזימון המוצג בתרגול - האלגוריתם
קרא עודמערכות הפעלה
מערכות הפעלה תרגול 2 קריאות מערכת ב- Linux תוכן התרגול קריאה לפונקציות ב- Linux קריאה לשירותי מערכת ב- Linux 2 תזכורת - תכנית Linux ראשונה hello.c #include int main() { char *str= Hello ; printf)
קרא עודשאלהIgal : מערכים דו מימדיים רקורסיה:
אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ג חשון תשע"ח 12/11/17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד קיץ סמ' שנה תשע"ז 3 שעות משך
קרא עודמערכות הפעלה
מערכות הפעלה תרגול 8 ק/פ ותקשורת תהליכים ב- Linux תוכן התרגול קלט/פלט של תהליכים תקשורת וסנכרון בין תהליכים מבוא pipes הכוונת קלט ופלט FIFOs signals 2 קלט/פלט של תהליכים ב- Linux )1( ב- Linux פעולות הקלט/פלט
קרא עודMicrosoft Word B
מרצה: שולי וינטנר. מתרגל: שלמה יונה מבוא למדעי המחשב מועד ב', סמסטר א' תשס"ג, 17/2/03 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות: 1. ודאו כי בטופס שבידיכם 8 עמודים. יש לכתוב
קרא עודשאלהIgal : מערכים דו מימדיים רקורסיה:
אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ח תשרי תשע"ז 30.10.16 שמות המורים: ציון סיקסיק א' תכנות ב- C מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד סמ' קיץ שנה תשע"ו 3 שעות משך
קרא עודמבוא למדעי המחשב - חובלים
החוג למדעי המחשב אוניברסיטת חיפה מבוא למדעי המחשב סמסטר א' תשע"ג בחינת סיום, מועד ב', 20.02.2013 מרצה: ריטה אוסדצ'י מתרגלת: נעמה טוויטו מדריך מעבדה: מחמוד שריף משך המבחן: שעתיים חומר עזר: ספר של Kernighan
קרא עודPowerPoint Presentation
מבוא למדעי המחשב תירגול 6: כתובות ומצביעים 1 תוכנייה מצביעים מצביעים ומערכים, אריתמטיקה של מצביעים 2 3 מצביעים תזכורת- כתובות זיכרון הזיכרון כתובת התא #1000 #1004 #1008 ערך השמור בתא תא 10-4 לא מאותחל
קרא עודשאלהIgal : מערכים דו מימדיים רקורסיה:
אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ג מנ' אב תשע"ז 15.08.17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד סמ' ב' שנה תשע"ז 3 שעות
קרא עודSlide 1
מבוא למדעי המחשב תירגול 7: פונקציות 1 מה היה שבוע שעבר? לולאות מערכים מערכים דו-ממדיים 2 תוכנייה )call by value( פונקציות העברת פרמטרים ע"י ערך תחום הגדרה של משתנה מחסנית הקריאות 3 פונקציות 4 הגדרה של
קרא עודהגשה תוך שבוע בשעת התרגול
מרצה: שולי וינטנר. מתרגל: שלמה יונה מבוא למדעי המחשב מועד ב', סמסטר א' תשס"ג, 17/2/03 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות: ודאו כי בטופס שבידיכם 8 עמודים. יש לכתוב את
קרא עודשעור 6
שעור 6 Open addressing אין רשימות מקושרות. (נניח שהאלמנטים מאוחסנים בטבלה עצמה, לחילופין קיים מצביע בהכנסה המתאימה לאלמנט אם אין שרשור). ב- addressing open הטבלה עלולה להימלא ב- factor α load תמיד. במקום
קרא עודמבוא למדעי המחשב - חובלים
אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב סמסטר ב' תשע"ב בחינת סיום, מועד ב',.02..9.7 מרצה: אורן וימן מתרגלים: נעמה טוויטו ועדו ניסנבוים מדריכי מעבדה: מחמוד שריף ומיקה עמית משך המבחן: שעתיים חומר
קרא עודמספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי
מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בינסקי הנחיות: יש לענות על כל השאלות. יש לענות על כל
קרא עודפתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.
פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9. הדפסה ראשונה: מתבצעת לולאה שרצה מאפס עד אורך המחרוזת.
קרא עודסדנת תכנות ב C/C++
פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבוא למחשבים ושפת C קוד הקורס: 2-7028510 תאריך בחינה: 15.2.2017 משך הבחינה: שעתיים שם המרצה: ד"ר אופיר פלא חומר עזר: פתוח שימוש במחשבון: לא הוראות כלליות:
קרא עודמהוא לתכנות ב- JAVA מעבדה 3
מבוא לתכנות ב- JAVA מעבדה 3 נושאי התרגול לולאות ניפוי שגיאות לולאות - הקדמה כיצד הייתם כותבים תוכנית שתדפיס את המספרים השלמים בין 1 ל- 100 בעזרת הכלים שלמדתם עד עתה? חייבת להיות דרך אחרת מאשר לכתוב 100
קרא עודMicrosoft Word - c_SimA_MoedB2005.doc
מרצה: שולי וינטנר. מתרגל: עזרא דאיה. מבוא למדעי המחשב בחינת מועד ב', סמסטר א' תשס"ה,.2.2005 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות:. ודאו כי בטופס שבידיכם עמודים. יש לכתוב
קרא עודמבוא לתכנות ב- JAVA תרגול 11
מבוא לתכנות ב- JAVA תרגול 11 רשימה מקושרת אוסף סדור של איברים מאותו טיפוס. קודקוד ברשימה )Node( מכיל את המידע + הצבעה לקודקוד הבא ברשימה data next first רשימה :)List( מיוצגת ע"י מצביע לאיבר הראשון ברשימה
קרא עודSlide 1
מבוא למדעי המחשב תירגול 4: משתנים בוליאניים ופונקציות מבוא למדעי המחשב מ' - תירגול 4 1 משתנים בוליאניים מבוא למדעי המחשב מ' - תירגול 4 2 ערכי אמת מבחינים בין שני ערכי אמת: true ו- false לכל מספר שלם ניתן
קרא עודאוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו
אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', 31.1.2017 מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבוני, דולב שרון הנחיות: 1. משך הבחינה: 120 דקות. 2. היציאה
קרא עודמבוא לאסמבלי
1 ברק גונן תוכנית שבנויה מחלקי קוד נפרדים המשולבים זה בזה מאפיינים: נקודת כניסה אחת נקודת יציאה אחת מבצעים פעולה מוגדרת נקראים פרוצדורות ברק גונן 2 קוד קצר יותר לא צריך לחזור על חלקי קוד שאלה למחשבה: האם
קרא עודתכנות מונחה עצמים א' – תש"ע
1 תכנות מונחה עצמים והנדסת תוכנה תשע"ו 2 בנאי העתקה בניית העתק של אובייקט קיים. בניית העתק בעת העברת אובייקט לפונקציה. בניית העתק בעת החזרת אובייקט מפונקציה. ניתן להגדיר בנאי העתקה. אם לא מגדירים, אז הקומפיילר
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב מחרוזות, חתימה של פונקציה ומעטפות תוכן עניינים טיפוסים מורכבים טיפוסים מורכבים ערך שם טיפוס 12 m int undef. x boolean true y boolean arr int[] כאלה שעשויים להכיל יותר מערך פרימיטיבי אחד
קרא עודSlide 1
מבוא לשפת C תירגול 8: פונקציות שבוע שעבר... מערכים מיזוג מערכים ממויינים מערכים דו-ממדיים מבוא לשפת סי - תירגול 8 2 תוכנייה פונקציות ברמת התקשורת הבין-אישית חלוקה לתתי בעיות בדומה למפתח של ספר קריאות גבוהה
קרא עודמבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו
מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו 4 דפי נוסחאות. בדקו שכל העמודים ברשותכם. ב. משך המבחן
קרא עודתרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש
תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש המתרגם משימה: תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם 2 שאלות האם כבר יש
קרא עודהגשה תוך שבוע בשעת התרגול
מרצה: שולי וינטנר. מתרגל: עזרא דאיה. מבוא למדעי המחשב בחינת מועד א', סמסטר א' תשס"ה, 6..5 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות: ודאו כי בטופס שבידיכם 8 עמודים. יש לכתוב
קרא עודMicrosoft PowerPoint - rec1.ppt
תכנות מונחה עצמים בשפת ++C תר גול מ ספר 1 אוהד ב ר זילי אוניברסיטת תל א ביב חדש חדיש ומחודש תוספות של + +C לשפ ת C 1 #include Hello World using namespace std; int main() cout
קרא עודSlide 1
בעיית התוכנית הגדולה C תוכנית גדולה המבצעת פעולות רבות, יכולה להפוך לקשה מאוד לניהול אם נשתמש רק בכלים שלמדנו עד כה: 1. קשה לכתוב ולנפות את התוכנית,. קשה להבין אותה, 3. קשה לתחזק ולתקן אותה, 4. קשה להוסיף
קרא עודמקביליות
PROMELA גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון עדכון אחרון: 21:40 15/06/2013 2 שפת מ פ ר ט עם ס מ נ ט יק ה מוגדרת באופן מתמטי "שפת תכנות" למודלים המטרה: לאפשר גם לכאלה שאינם חוקרים בתחום לבנות
קרא עודבחן במערכות הפעלה
אוניברסיטת בן-גוריון בנגב, המחלקה למדעי המחשב בוחן אמצע במערכות הפעלה מרצים: איתי דינור, דני הנדלר ורוברט יעקבשוילי. מתרגלים: אור דינרי, אחמד דרובי, מתן דרורי, צחי ספורטה, רועי עוזיאל ואריאל תלמי. ענו
קרא עודPRESENTATION NAME
נכתב ע"י כרמי גרושקו. כל הזכויות שמורות 2010 הטכניון, מכון טכנולוגי לישראל הקצאה דינמית )malloc( מערכים דו-מימדיים סיבוכיות: ניתוח כזכור, כדי לאחסן מידע עלינו לבקש זכרון ממערכת ההפעלה. 2 עד עכשיו: הגדרנו
קרא עודמשימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות תכנות מתק
משימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות 2 הפשטה שאלות כצעד ראשון נפתור בעיה הרבה יותר פשוטה האם כבר
קרא עודPowerPoint Presentation
תוכנה 1 תרגול 1: סביבת העבודה ומבוא ל- Java אלכסיי זגלסקי ויעל אמסטרדמר 1 בירוקרטיה אלכסיי זגלסקי שעת קבלה: שני 13:00-14:00, בתיאום מראש משרד: בניין הנדסת תוכנה, חדר 209 יעל אמסטרדמר שעת קבלה: חמישי 15:00-16:00,
קרא עודאוניברסיטת בן גוריון בנגב תאריך המבחן: שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות מס' הקורס : מיועד לתלמידי : הנד
אוניברסיטת בן גוריון בנגב תאריך המבחן: 29.01.19 שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות 202.1.9031 מס' הקורס : מיועד לתלמידי : הנדסת תעשיה וניהול שנה תשע"ט א' סמ' א' מועד 3 שעות משך
קרא עודDisclaimer מסמך זה הינו סיכום און-ליין של השיעור ולא עבר עריכה כלל. מצאת טעות? שלח/י לי מייל ואתקן: 07/05/2009 קורס: מערכות ה
הרעיון: דפדוף paging וזכרון וירטואלי.1.2.3 לחלק את מרחב הכתובות לדפים בגודל קבוע )למשל )4KB את הדפים ממפים לזכרון פיסי a. לא רציף b. לא כולם העברה מזכרון לדיסק לפי הצורך מספר הדף: page = addr 4K המיקום
קרא עודמערכות הפעלה
תקשורת ב- Linux ו- Unix מנגנון תקשורת ב- Linux סכמת שרת לקוח: client/server מודל השכבות רשת תקשורת: חיבורים המאפשרים תקשורת בין מחשבים פרוטוקולי תקשורת מאפשרים העברת נתונים ברשת פועלים בשכבות שונות, כשלכל
קרא עודאוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג, משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם
אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג,.6.013 משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם 8 עמודי שאלון )כולל עמוד זה(. עליכם לכתוב את התשובות על
קרא עודPowerPoint Presentation
תוכנה 1 תרגול 1: סביבת העבודה ומבוא ל- Java 1 מנהלות אתר הקורס: http://courses.cs.tau.ac.il/software1/1516b/ מתרגלים: ברית יונגמן )שעת קבלה: שלישי ב- 8:00 בתיאום מראש( לנה דנקין )שעת קבלה: שלישי ב- 17:00,
קרא עודמבוא לתכנות ב- JAVA תרגול 7
מבוא לתכנות ב- JAVA תרגול 8 תזכורת - מבנה של פונקציה רקורסיבית.2 פונקציה רקורסיבית מורכבת משני חלקים עיקריים 1. תנאי עצירה: מקרה/מקרים פשוטים בהם התוצאה לא מצריכה קריאה רקורסיבית לחישוב צעד רקורסיבי: קריאה
קרא עודתרגול 1
מבוא למדעי המחשב 2019 תרגול 5 מחרוזות, חתימות ורקורסיה מחרוזות רצף של תווים רקורסיה קריאה של מתודה לעצמה באופן ישיר או עקיף ראינו בהרצאה מחרוזות: תווים, חתימות: העמסה- String,הצהרה, overloading אתחול רקורסיה:
קרא עודמבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי
מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 8-11( מבנה השאלון 5
קרא עודPowerPoint Presentation
רשימות מקושרות עבודה קבצים דוגמה מבנים המצביעים לעצמם רשימות מקושרות 2 נסתכל על המבנה הבא: typedef struct node { int data; struct node* next; *Node; איך נראים המבנים בזיכרון לאחר ביצוע הקוד הבא: Node node1
קרא עודמצגת של PowerPoint
מהי סביבת איקס לימוד? סביבת איקס לימוד היא סביבה גמישה לתרגול היכולת לזכור ולהיזכר במושגים ועובדות מתחומי תוכן שונים על ידי התאמה. הסביבה מבוססת על המשחק 'איקס עיגול' והתוכן אותו מתרגלים יכול מסוג טקסט
קרא עודSlide 1
מבוא למחשב בשפת C : מערכים חד ודו-ממדיים מבוסס על השקפים שחוברו ע"י שי ארצי, גיתית רוקשטיין, איתן אביאור וסאהר אסמיר עבור הקורס "מבוא למדעי המחשב". עודכן ע"י דן רביב נכתב על-ידי טל כהן, נערך ע"י איתן אביאור.
קרא עודאוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי
אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', 6.2.2012 הנחיות: 1. משך הבחינה: 120 דקות. 2. היציאה מהכיתה במהלך
קרא עודתאריך פרסום: תאריך הגשה: מבנה נתונים תרגיל 5 )תיאורטי( מרצה ומתרגל אחראים: צחי רוזן, דינה סבטליצקי נהלי הגשת עבודה: -את העבודה יש לה
תאריך פרסום: 01.01.15 תאריך הגשה: 15.01.15 מבנה נתונים תרגיל 5 )תיאורטי( מרצה ומתרגל אחראים: צחי רוזן, דינה סבטליצקי נהלי הגשת עבודה: -את העבודה יש להגיש בזוגות. -העבודה חייבת להיות מוקלדת. -הקובץ חייב
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב שימוש במחסנית - מחשבון תוכן עניינים prefix כתיבת ביטויים ב-,infix ו- postfix postfix prefix,infix ביטויים ב- כתיבת ו- infix נוסח כתיבה ב- (operator אנו רגילים לכתוב ביטויים חשבוניים כדוגמת
קרא עודמבוא למדעי המחשב
מבוא כללי לתכנות ולמדעי המחשב 1843-0310 מרצה: אמיר רובינשטיין מתרגל: דין שמואל אוניברסיטת תל אביב סמסטר חורף 2017-8 חלק א - השיטה הבינארית שיעור 5 ו- 1? ספירה בבסיס 2 ואיך אומרים "hello" עם 0 1 ממעגלים
קרא עודבס"ד תרגיל 3 מועד אחרון ל כללי בתרגיל זה עליכם לכתוב תוכנה שמדמה מאגר נתונים של חנות. את מוצרי החנות תייצגו באמצעות עצים ורשימות מקושרות יהיה עליכם לנ
בס"ד תרגיל 3 מועד אחרון ל כללי בתרגיל זה עליכם לכתוב תוכנה שמדמה מאגר נתונים של חנות. את מוצרי החנות תייצגו באמצעות עצים ורשימות מקושרות יהיה עליכם לנהל את מאגר הנתונים של החנות, לבצע אליו שינוים ושאילתות
קרא עודמבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב
מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. בדקו שכל העמודים ברשותכם. ב. משך המבחן שלוש שעות (180
קרא עודתרגול 1
מבוא למדעי המחשב 2019 תרגול 12 מחסנית )Stack( memoization ראינו בהרצאה מחסנית Infix/Postfix Notations בתרגול היום מחסנית בדיקת איזון סוגריים בביטוי אריתמטי מימוש תור באמצעות מחסנית memoization דוגמאות
קרא עודMicrosoft PowerPoint - rec3.ppt
תכנו ת מונח ה עצ מים משתני מחלקה, עצמים מוכלים ועצמים מוצבעים א וה ד ברז יל י א ונ יברס י ט ת תל אביב משתנ י מח ל קה Static Members משתני מחלקה members) (static משתנים סטטיים מוגדרי ם בתוך מח לקה ואולם
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב הממשקים Iterable,Set ו- Iterator תוכן עניינים מבנה נתונים מבנה נתונים מבנה נתונים הוא container של עצמים שמוגדרות עליו מספר פעולות למשל קבוצה של עצמים (אוסף ללא חזרות) עם הפעולות: הוספת
קרא עודפייתון
שיעור 12: מילונים ברק גונן 1 או מילון, :hash table או,dictionary זוגות של מפתחות keys וערכים values מילון מוגדר על ידי סוגריים מסולסלים { } לדוגמה: מילון שמכיל ציונים, המפתח הוא מספר ת.ז ערך מפתח הגדרה
קרא עודPowerPoint Presentation
== vs equals תוכנה תרגול 7 :מנשקים, פולימורפיזם ועוד Point p = new Point(,) Point p = new Point(,) p == p p.equals(p) מתי נכון להשתמש בכל אחד מהם? שימו לב, במחלקה שכתבתם בעצמכם יש לכתוב מתודת equals על
קרא עודSlide 1
מבוא לתכנות ב- JAVA תרגול 5 מה בתרגול מחרוזות מערכים דו ממדיים מחרוזות (Strings) מחרוזת היא רצף של תווים. immutable על מנת ליצור ולטפל במחרוזות נשתמש במחלקה String למחלקה String מתודות שונות שמאפשרות פעולות
קרא עודPowerPoint Presentation
תוכנה תרגול 7 :מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה == vs equals Point p = new Point(,2) Point p2 = new Point(,2) p == p2 p.equals(p2) מתי נכון להשתמש בכל אחד מהם? שימו לב, במחלקה שכתבתם בעצמכם
קרא עודMicrosoft PowerPoint - T-10.ppt [Compatibility Mode]
מבוא למחשב בשפת Matlab לולאות בלוקי try-catch :10 תרגול מבוסס על השקפים שחוברו ע"י שי ארצי, גיתית רוקשטיין, איתן אביאור, סאהר אסמיר וטל כהן עבור הקורס "מבוא למדעי המחשב" נכתב על-ידי רמי כהן,אולג רוכלנקו,
קרא עודComp. Arch. Lecture 1
א ר כי טקטור ת מ ח ש בים ד"ר טל שיקלר סו ב ול אימייל: stal@bgu.ac.il Mother board לוח אם CPU central processing unit מעבד דוגמאות: 80x86 ו תואמיו Intel 80x86 Intel Core 2 Duo 64 bits 80x86 compatible AMD
קרא עודex1-bash
ביה"ס למדעי המחשב סמסטר חורף תשע"ח 13.12.2017 יסודות מערכות פתוחות פתרון תרגיל מס' 7 המכללה האקדמית נתניה שימו לב: כל ההערות שבתחילת תרגילים 1-6 תקפות גם לתרגיל זה. הערה 1: החל מתרגיל זה והלאה, בכל פעם
קרא עודשאלה 2. תכנות ב - CShell
ביה"ס למדעי המחשב 4.2.2018 האקדמית נתניה מבחן מועד א' יסודות מערכות פתוחות סמסטר חורף, תשע"ח משך המבחן: שלוש וחצי שעות. יש לענות על כל השאלות. מותר השימוש בחומר עזר כלשהו, פרט למחשבים, (מחשבונים מותר).
קרא עודPowerPoint Presentation
מצביעים הקצאת זיכרון דינאמית מבנים - Structures טיפוסי נתונים - types Data העברת פרמטרים ל- main טענות נכונות שימוש בסיסי אריתמטיקת מצביעים void* מצביע למצביע 2 כתובת ערך הבית int התופס 4 בתים 7 0 0 0
קרא עודאוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי
אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', 6.2.2012 הנחיות: 1. משך הבחינה: 120 דקות. 2. היציאה מהכיתה במהלך
קרא עודתורת הקומפילציה
תורת הקומפילציה תרגיל בית 2 הוראות לתרגיל 2 בשפת MINI-PASCAL הפרוייקט המצורף הינו קוד שלד של מהדר לשפת mini-pascal עליכם לממש בסביבת (Eclipse (Java את הפונקציות המתאימות לפי החומר שנלמד בהרצאה ע"מ שהמהדר
קרא עודייבוא וייצוא של קבצי אקסל וטקסט
ייבוא וייצוא של קבצי אקסל וטקסט (Importing & Exporting MS Excel Files and Text) ייבוא (Import) הפיכת קובץ טקסט, Excel מבסיס נתונים אחר. או סוגים אחרים, לטבלת,Access או העתקת טבלת Access בתחילת התהליך יש
קרא עודMicrosoft PowerPoint - lec2.ppt
מרחב הש מות (namespace) אוהד ברזילי אוניברסיטת תל אביב מה בתו כנית? לקוח וס פק במערכת תוכנה ממשקים הכרת מרחב השמות מניעת תלות פוטנציאלית בין רכיבים במערכת ע"י עיצוב חלופי של מבנה הממשקים 2 א ונ י ב רס
קרא עודMicrosoft Word - pitaron222Java_2007.doc
1 מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א a mul k k a פלט b זוגי? b :1 Ï 3 1 5 1 5 F קלט: 3, 5, 8, 4 20 2 8 40 40 3 4 4 F :2 Ï m x x 0 פלט 70 x 50 0 א. 10 F 1 64 2 2 51 30 F -4 F ב. ג. 1- (כל
קרא עודMicrosoft Word - Ass1Bgu2019b_java docx
ת ר ג י ל 1 ב ק ו ר ס מ ב ו א לתכנות 202.1.9031 JAVA סמסטר ב, ת נ א י ם ו ל ו ל א ו ת תאריך אחרון להגשה בציון מלא : 02.04.19 עד שעה : 23:55, כ ל יום איחור ל א מ א ו ש ר א ו ח ל ק ממנו מודריד 10 נקודות
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב המחלקה Object תוכן עניינים Object הורשה והמחלקה ערך שם טיפוס DynamicIntArray da data size incrementsize DynamicArray תזכורת - Object[] data; int size; int incrementsize; DynamicArray זה
קרא עודProgramming
קורס תכנות שיעור עשירי: מיונים, חיפושים, קצת ניתוח זמני ריצה, קצת תיקון טעויות ועוד על רשימות 1 רשימה מקושרת רשימה היא אוסף סדור של פעולות רשימה לעומת מערך ערכים 3 5 7 9 typedef struct node { int data;
קרא עודפתרון מבחן במיקרו בקרים תשעו
פתרון מבחן במיקרו בקרים תשעו תשובה 5 א. Mov 4h,a העבר את הנתון שבאקומולטור אל כתובת 4h ב RAM הנתונים הפנימי. Mov 41h,#1h העבר מידית לכתובת 41h ב RAM הנתונים הפנימי את הנתון 1 הקסה )1 בינארי(. Cjne a,4h,note
קרא עודמספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה
עמוד 1 מתוך 11 תשע"א מועד ב סמסטר א' 14.2.2011 תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי המחשב יש לענות על כל 5 השאלות. בכל השאלות במבחן יש לכתוב פונקציות יעילות
קרא עודדוגמאות שהוצגו בהרצאה 10 בקורס יסודות מערכות פתוחות דוגמה 1 דוגמאות של פונקציות ב- awk שמראות שהעברת פרמטרים של משתנים פשוטים היא by value והעברת פרמט
דוגמאות שהוצגו בהרצאה 10 בקורס יסודות מערכות פתוחות דוגמה 1 דוגמאות של פונקציות ב- awk שמראות שהעברת פרמטרים של משתנים פשוטים היא by value והעברת פרמטרים של מערכים היא by reference וכן דוגמאות שמראות שמשתנים
קרא עודOffice 365 ProPlus בחינם לסטודנטים באוניברסיטת בן גוריון בנגב הוראות סטודנטים באוניברסיטת בן גוריון בנגב יכולים להוריד ולהתקין את חבילת התוכנה Office
Office 365 ProPlus בחינם לסטודנטים באוניברסיטת בן גוריון בנגב הוראות סטודנטים באוניברסיטת בן גוריון בנגב יכולים להוריד ולהתקין את חבילת התוכנה Office 365 ProPlus בחינם. ניתן להוריד ולהתקין את הגרסאות הבאות:
קרא עודPowerPoint Presentation
פרוטאוס הדרכה לפיתוח פרויקט מבוסס ארדואינו 1 הוראות הפעלה תוכנת פרוטאוס מכילה כמות גדולה מאוד של כלי עזר להבנת דרך ההפעלה של התוכנה. שני מקורות מידע עיקריים עומדים לרשות המשתמש מחוץ לתוכנה: o באתר האינטרנט
קרא עודתורת החישוביות תרגול הכנה לוגיקה ותורת הקבוצות מה יש כאן? בקורס תורת החישוביות נניח ידע בסיסי בתורת הקבוצות ובלוגיקה, והכרות עם מושגים בסיסיים כמו א"ב
תורת החישוביות תרגול הכנה לוגיקה ותורת הקבוצות מה יש כאן? בקורס תורת החישוביות נניח ידע בסיסי בתורת הקבוצות ובלוגיקה, והכרות עם מושגים בסיסיים כמו א"ב, מילה ושפה לטובת מי ששכח חומר זה, או שלא למדו מעולם,
קרא עודSlide 1
מבוא לשפת C תירגול 10: מצביעים, מערכים ומחרוזות שבוע שעבר... מצביעים Call by reference 2 תוכנייה קשר מצביע-מערך )אריתמטיקה של מצביעים( העברת מערכים לפונקציה מחרוזות דוגמה 3 קשר מצביע-מערך 4 תזכורת: תמונת
קרא עודWinZIP תוכנה לדחיסת קבצים ספטמבר 2007
WinZIP תוכנה לדחיסת קבצים ספטמבר 2007 תשס"ח 2007. כל הזכויות שמורות לאוניברסיטה הפתוחה. בית ההוצאה לאור של האוניברסיטה הפתוחה, רח' רבוצקי 108 ת, "ד 808, רעננה 43107. The Open University of Israel, 108
קרא עודמקביליות
תכונות שמורה Invariant Properties גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 בדיקות מודל Checking( )Model מערכת דרישות מידול פירמול בדיקות מודל )Model Checking( מודל של המערכת תכונות פורמליות סימולציה
קרא עודPowerPoint Presentation
מבוא למדעי המחשב תירגול 2: מבוא לתיכנות ב- C 1 תוכנייה משתנים קלט/פלט משפטי תנאי מבוא למדעי המחשב מ' - תירגול 3 2 משתנים 3 משתנים- תמונת הזיכרון הזיכרון כתובת התא #1000 10-4 לא מאותחל 67 לכל תא בזיכרון
קרא עודMicrosoft PowerPoint - 10_threads.ppt
נוש אים מתקדמים ב Java תכ נות מ ר ובה חו ט י ם אוהד ברזילי אוניברסיטת תל אביב מק בי ל יות ריבוי מעבדים processors) (multi זמן עיבוד slicing) (time ל עו מת חלוק ת רמת התהליך (multithreading) ההפעלה processes)
קרא עוד2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ
מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מספיק עמדות לכולם ולכן מומלץ לעבוד ביחידים). במהלך המעבדה יהיה עליכם לבצע משימות. אם תצטרכו עזרה בשלב
קרא עודMicrosoft Word - c_SimA_MoedA2006.doc
מבוא למדעי המחשב בחינת מועד א', סמסטר א' תשס"ו,..006 מרצה: מתרגלת: גב' יעל כהן-סיגל. גב' ליאת לוונטל. משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות:. יש לענות על כל השאלות.. קראו
קרא עודמקביליות
תכונות בטיחות Safety Properties גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 תזכורת: תכונות זמן ליניארי Linear Time Properties תכונות זמן-ליניארי מתארות קבוצת עקבות שהמערכת צריכה לייצר מכוונים ללוגיקה
קרא עודHomework Dry 3
Homework Dry 3 Due date: Sunday, 9/06/2013 12:30 noon Teaching assistant in charge: Anastasia Braginsky Important: this semester the Q&A for the exercise will take place at a public forum only. To register
קרא עודפתרון 2000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : פלט num = 37, sif = 7 r האם ספרת האחדות של sif שווה ל- num num 37 sif 7 שורה (1)-(2) (
פתרון 000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : num = 3, sif = r האם ספרת האחדות של sif שווה ל- num num 3 sif (1)-() (3) () אמת ) = ( 3 3 יודפס: 3. ב. פתרון שאלה 11 עבור הערכים: עבור סעיף
קרא עודשבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים ע
שבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים עליו כרגע )A מצביע עליו(. יש שני סוגי פקודות, פקודת
קרא עודTutorial 11
מבוא לשפת C תרגול 8: מערכים רב-ממדיים תרגילים בנושא מערכים ורקורסיה מבוסס על השקפים שחוברו ע"י שי ארצי, גיתית רוקנשטיין, איתן אביאור וסאהר אסמיר עבור הקורס "מבוא למדעי המחשב" נכתב ע"י טל כהן, עודכן ע"י
קרא עודמדריך להתחלה מהירה Microsoft Project 2013 נראה שונה מגירסאות קודמות, ולכן יצרנו מדריך זה כדי לעזור לך ללמוד להכיר אותו. סרגל הכלים לגישה מהירה התאם אי
מדריך להתחלה מהירה Microsoft Project 2013 נראה שונה מגירסאות קודמות, ולכן יצרנו מדריך זה כדי לעזור לך ללמוד להכיר אותו. סרגל הכלים לגישה מהירה התאם אישית את האזור הזה כדי שהפקודות המועדפות עליך יהיו תמיד
קרא עודאוניברסיטת בן גוריון בנגב תאריך המבחן: שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: מס' הקורס : הנדסת תעשיה וניהול מ
אוניברסיטת בן גוריון בנגב תאריך המבחן: 12.02.17 שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: 202.1.9031 מס' הקורס : הנדסת תעשיה וניהול מיועד לתלמידי : א' מועד א' סמ' שנה תשע"ד 3 שעות משך
קרא עודאוניברסיטת בן-גוריון המחלקה למדעי המחשב בוחן במבנים בדידים וקומבינטוריקה פרופ' מתיא כ"ץ, ד"ר עופר נימן, ד"ר סטוארט סמית, ד"ר נתן רובין, גב'
אוניברסיטת בן-גוריון המחלקה למדעי המחשב בוחן במבנים בדידים וקומבינטוריקה 0-- פרופ' מתיא כ"ץ, ד"ר עופר נימן, ד"ר סטוארט סמית, ד"ר נתן רובין, גב' יעל שטיין טל באומל, לילך חייטמן-ירושלמי, נתי פטר, ד ר סטוארט
קרא עודMicrosoft PowerPoint - lec10.ppt
תכנו ת מ ונחה ע צמ י ם בשפת ++C אוהד ברזילי אוניברסיטת תל אביב ירו ש ה מרו בה המצגת מכילה קטעים מתוך מצגת של פרופ' עמירם יהודאי ע"פ הספר: Object-Oriented Software Construction, 2nd edition, by Bertrand
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב תכנות מונחה אובייקטים תוכן עניינים טיפוסי נתונים מורכבים המחלקה String תזכורת לשימוש שעשינו במחלקה String str = new String( Hello ); s.o.p(str.tostring()); s.o.p(str.charat(4)); s.o.p(str.equals(
קרא עודPowerPoint Presentation
תכנות מתקדם בשפת Java אוניברסיטת תל אביב 1 תוכנה 1 תרגול 3: עבודה עם מחרוזות )Strings( מתודות )Methods( 1 תכנות מתקדם בשפת Java אוניברסיטת תל אביב 2 מחרוזות )STRINGS( 3 מחרוזות String s = Hello ; מחרוזות
קרא עוד