התנדב בהגנה, ואף נפצע פעמיים בהגנה על יער בן שמן (1938). בשנת 1943 היה מזכיר מגבית ההתגייסות וההצלה ומזכיר כופר היישוב. בשנת 1948 היה קצין התרבות הראשון של המשטרה הצבאית והוציא לאור את עלוני המשטרה הצבאית הראשונים. בשנת 1949 היה עורך לשכת העיתונות הממשלתית. כמו כן, ייסד וניהל את הפרסום והתעמולה של מפעל הפיס. באותה שנה הקים את בית הספר למסחר 'רימון' בתל אביב, ובית דפוס. במהלך השנים חיבר ספר ללימוד כתיבה במכונה בשיטה עיוורת, שיצא במהדורות אחדות. רעייתו, ריטה, תרגמה אותו לאנגלית.
פרסם מאמרים בעיתונים שונים, בייחוד על תרבות הגוף ומחקרים על התנ"ך, שירים, בדיחות וחידות.
חקר את מכב"י העולמי, החל מראשיתו (חומרים רבים שאסף נמצאים בארכיון של מכב"י בכפר המכבי"ה).
חייו האישיים.
בשנת 1954 נשא לאישה את ריטה (שרה רבקה) לבית דומב, ילידת אנגליה. במלחמת העולם השנייה, היא פונתה מלונדון, עקב ה"בליץ", עם ילדים אחרים והייתה אצל משפחה אומנת בכפר רחוק מלונדון כ-3 שנים עד לתום המלחמה והמשיכה לקיים מצוות בסתר. עלתה לארץ לאחר קום המדינה, בתקופת הצנע, שם פגשה את בעלה לעתיד בצפת, כשביקרה את סבה שהגיע לעיר בערוב ימיו. היא הייתה נשיאת דוברות האנגלית של ארגון "בני ברית".
ילדיו: נעמי פרימט, אפרים אליעזר, רות והרב יוסף צבי.
ניהל את בית ספר 'רימון' ללימוד כתיבה במכונה, יחד עם רעייתו. המשיך לפתח את השיטה של דר. גוטסמן לאכול בריא ולהתעמל, כדי להימנע מהתקף לב. מסר הרצאות בהתנדבות במסגרות אחדות, כולל הנחיה לעוורים איך לאכול בריא. התעמל ורץ לסירוגין בכל בוקר, כחלק מהשיטה, עד גיל 85.
בשנת תשנ"ח, 1998, קיבל את התואר 'יקיר תל אביב'.
ג'ני-ונדה ברקמן
ג'ני-ונדה ברקמן (גרמנית: Jenny-Wanda Barkmann; 1922 - 4 ביולי 1946) הייתה שומרת במחנה הריכוז שטוטהוף.
ביוגרפיה.
ישנה סברה שהיא גדלה בהמבורג גרמניה. בשנת 1944 הצטרפה לשורות הנשים השומרות במחנה הנשים בשטוטהוף, שם התאכזרה והתעללה באסירות, בחלקן למוות. היא גם השתתפה בסלקציות של הנשים והילדים לתאי הגזים. בקרב נשות המחנה זכתה לכינוי "רוח הרפאים היפה".
ברקמן נמלטה מהמחנה עם התקרבות הצבא האדום לשטח גרמניה הנאצית. היא נעצרה במאי 1945 בתחנת רכבת בגדנסק. היא הועמדה לדין במסגרת משפט שטוטהוף, בו היא ונאשמים נוספים הורשעו בפשעי מלחמה שביצעו במחנה. על פי עדויות הנוכחים בבית הדין, היא צחקקה במהלך המשפט, פלרטטה עם שומריה וככל הנראה סידרה את שיערה בזמן שמיעת עדות על מעלליה במחנה. היא נמצאה אשמה, ולאחר מכן הכריזה: "החיים הם אכן תענוג, ותענוגות הם לרוב קצרים".
ברקמן הוצאה להורג בתלייה בפני הציבור, יחד עם עשרה נאשמים נוספים מהמשפט בעיר גדנסק ב-4 ביולי 1946.
סטיבן דפור
סטיבן ארנולד דפור (בהולנדית: Steven Arnold Defour; נולד ב-15 באפריל 1988) הוא כדורגלן בלגי המשחק בעמדת הקשר במכלן ובנבחרת בלגיה.
קריירת מועדונים.
דפור התחיל את הקריירה שלו במחלקת הנוער של מכלן עיר הולדתו. בשנת עבר למחלקת הנוער של גנק עקב בעיות כלכליות. בעונת ערך את הופעת הבכורה שלו והוא רק בן 17. בעונת הפך לשחקן הרכב ראשון וסיים את העונה עם 26 הופעות ושער אחד.
בקיץ ניסה לעבור לאייאקס אמסטרדם, אך גנק הערימה קשיים. דפור איים לעזוב דבר המותר לו לפי החוק הבלגי, אך לאחר שאייאקס לא הביעה עניין הוא חתם בסטנדרד לייז' ל-5 שנים. כבר בעונתו השנייה הפך לקפטן. בסיום אותה עונה זכה בנעל הזהב הבלגית וזכה עם הקבוצה באליפות ראשונה אחרי 25 שנים.
ב-15 באוגוסט 2011, חתם בפורטו ל-5 שנים וליאז' קיבלה 6 מיליון אירו תמורתו ותמורת אליקים מנגאלה. בעונתו הראשונה הבקיע 2 שערים ב-37 הופעות בכל המסגרות וזכה עם הקבוצה באליפות. ב-18 בספטמבר 2012 הבקיע את שער הבכורה שלו בליגת האלופות במדי פורטו בניצחון 0-2 נגד דינמו זגרב.
ב-13 באוגוסט 2014 חתם בקבוצה הבלגית אנדרלכט לחמש שנים.
ב-16 באוגוסט 2016 חתם דפור בברנלי מהפרמייר ליג עבור 8.5 מיליון אירו.
קריירה בינלאומית.
דפור ערך את הופעת הבכורה שלו בנבחרת בלגיה במאי והוא רק בן 18. ב-6 בספטמבר 2008, הבקיע את שער הבכורה שלו בנבחרת בניצחון 2-3 נגד במסגרת מוקדמות מונדיאל 2010. דפור עלה עם הנבחרת למונדיאל 2014 והוא זומן לסגל הנבחרת לקראת המונדיאל.
תארים.
סטנדרד לייז'
פורטו
אישיים
אלגוריתם הבנקאי
אלגוריתם הבנקאי (Banker algorithm) הוא מנגנון להקצאת משאבים והימנעות ממצב קיפאון שפותח על ידי אדסחר דייקסטרה. האלגוריתם מבצע זאת על ידי דימוי ההקצאה של הכמות המקסימלית של כל משאבי המערכת שסוכמו מראש ואז ביצוע בדיקת "מצב-בטוח", לשלילת אפשרות של מצב קיפאון עבור כל שאר התהליכונים בסיכון, לפני שמבוצעת החלטה אם להקצות את המשאבים.
האלגוריתם פותח בתהליך התכנון של מערכת ההפעלה THE ושמו נקבע בגלל הדמיון לאילוצים הקיימים על הבנקאי בחישוב נזילות כספים.
האלגוריתם.
לאלגוריתם יש 2 תנאים.
1. המערכת לא נמצאת במצב קיפאון (deadlock).
2. המתזמן ידאג שתהליך ירוץ עד שיושלם.
בהתאם לכך, האלגוריתם יכול להיות באחד מתוך 3 מצבים:
1. safe - שני התנאים מתקיימים. 2. unsafe – רק התנאי הראשון מתקיים ומצב קיפאון הוא אופציונלי. 3. מצב קיפאון.
אלגוריתם הבנקאי מופעל על ידי מערכת ההפעלה בזמן שתהליך מבקש הקצאה. האלגוריתם נמנע מקיפאון על ידי שלילה או דחייה של הבקשה, אם הוא מזהה שהבקשה יכולה להעביר את המערכת למצב לא בטוח (שייתכן ויתרחש קיפאון). כאשר תהליך חדש נכנס למערכת, הוא חייב להצהיר מראש מהו המספר המקסימלי שהוא יצטרך להשתמש מכל משאב בו זמנית. כמובן שלא ניתן לחרוג מהמספר הכולל של המשאבים שקיים במערכת. ברגע שתהליך מקבל את כל המשאבים שהוא ביקש, הוא מחויב להחזיר אותם תוך זמן מוגבל.
דרישות.
כדי שאלגוריתם הבנקאי יעבוד, הוא צריך להתייחס לשלושה דברים:
משאבים יוקצו עבור תהליך רק אם הוא יעמוד בתנאים הבאים:
חלק מהמשאבים המבוקשים במערכות אמתיות הם זיכרון, סמפורים וממשק גישה.
אלגוריתם הבנקאי קיבל את שמו מכך שהאלגוריתם יכול לשמש במערכת בנקאית, כדי לוודא שלבנק אין חוסר במשאבים, כיוון שהבנק אף פעם לא יכול להקצות את הכסף שלו בדרך כזו שהוא לא יוכל לספק את הצרכים של כל הלקוחות. על ידי שימוש באלגוריתם הבנקאי, הבנק מוודא שכאשר לקוח מבקש כסף, הוא עדיין יישאר במצב-בטוח. אם הבקשה של הלקוח לא גורמת לבנק לצאת ממצב-בטוח, הכסף יוקצה ללקוח, אחרת הלקוח חייב לחכות עד שלקוח אחר יפקיד כסף.
ניתן ליישם את אלגוריתם הבנקאי על ידי שימוש בכמה מבני נתונים בסיסיים:
בהינתן n תהליכים במערכת ו-m סוגי משאבים, נשתמש במבני הנתונים הבאים:
הערה: [Need[i,j] = Max[i,j] - Allocation[i,j.
דוגמה.
בהנחה שהמערכת מבחינה בין ארבעה סוגים של משאבים (C, B, A וD), ניתן דוגמה להקצאה של המשאבים. "יש לשים לב שהדוגמה מראה את המצב של המערכת לפני שהגיעה דרישה חדשה למשאבים. בנוסף, סוגי המשאבים ומספרם ניתנו רק לצורך הדוגמה. במערכת אמיתית למשל, יהיו יותר סוגי משאבים ויותר מכל אחד מהם."
סך כל המשאבים במערכת:
A B C D
6 7 5 6
משאבי מערכת זמינים(Available):
A B C D
2 1 1 3
משאבים שמוקצים כרגע עבור כל תהליך(Allocation):
A B C D
P1 1 2 2 1
P2 1 0 3 3
P3 1 2 1 0
מקסימום מכל משאב עבור כל תהליך(Max):
A B C D
P1 3 3 2 2
P2 1 2 3 4
P3 1 3 5 0
נצרכים = מוקצים כרגע - מקסימום עבור תהליך
משאבים שעדיין נצרכים עבור כל תהליך(Need):
A B C D
P1 2 1 0 1
P2 0 2 0 1
P3 0 1 4 0
"מצב בטוח" ו"מצב לא בטוח".
מצב (כמו בדוגמה שלמעלה) נחשב ל"מצב בטוח", אם זה אפשרי עבור כל התהליכים לסיים את ההרצה שלהם. מאחר שהמערכת לא יודעת מתי תהליך יסתיים או לכמה משאבים הוא יזדקק, המערכת מניחה שכל התהליכים מתכוונים לממש את ההצהרה שלהם לשימוש מקסימלי ושהם יפסיקו לרוץ בצמוד. זאת הנחה די סבירה מאחר שלא באמת מעניין את המערכת כמה זמן כל תהליך רץ בנפרד (לפחות לא מנקודת המבט של הימנעות מקיפאון). בנוסף, אם תהליך מסתיים מבלי לממש את ההצהרה למימוש מקסימלי, זה רק יקל על המערכת.
ההחלטה אם תהליך יכנס לתור התהליכים המוכנים (Ready queue), נעשית על ידי הגעה למצב בטוח.
מצב בטוח יוצר בטיחות במערכת מפני קיפאון.
אם נקבל את ההנחות הללו, האלגוריתם קובע אם מצב הוא בטוח בעזרת ניסיון למצוא קבוצה של הקצאות עבור תהליכים שתאפשר עבור כל אחד מהתהליכים להגיע לדרישת המקסימום שלו ואז להסתיים (ולהחזיר את המשאבים למערכת). כל מצב שלא מצליח למצוא קבוצה כזאת, יחשב למצב לא בטוח.
דוגמה.
ניתן לראות שהמצב שנתון בדוגמה הקודמת הוא מצב בטוח על ידי כך שנבחין שכל תהליך יוכל לקבל את דרישת המקסימום שלו ואז להסתיים.
יש לשים לב שבקשות התהליכים וההקצאות נעשו "בהדמיה". האלגוריתם למעשה מדמה אותם כדי לוודא שזהו מצב בטוח, אבל בפועל, שום משאב לא הוקצה ושום תהליך לא הסתיים. בנוסף יש לשים לב שלא משנה הסדר שבו התהליכים מבקשים את המשאבים - אם קיימת דרך כלשהי לסדר את הבקשות, המצב עדיין יחשב "מצב בטוח".
דוגמה למצב לא בטוח, היא הדוגמה הראשונה בשינוי תהליך P2 כך שיחזיק בהתחלה עוד יחידה מהמשאב B.
בקשות הקצאה.
כאשר המערכת מקבלת מאחד התהליכים בקשה למשאבים, היא מריצה את אלגוריתם הבנקאי כדי לקבוע האם זהו מצב שבטוח להיענות בו לבקשה. ברגע שקיימת יכולת הבחנה בין מצב בטוח ומצב לא בטוח, האלגוריתם מסוגל להמשיך בצורה די פשוטה:
"ההחלטה אם לדחות או להשהות בקשה לא תקינה או שמביאה למצב לא בטוח, היא החלטה נקודתית בכל מערכת הפעלה."
דוגמה.
נתחיל באותו מצב שבו הדוגמה הקודמת מתחילה בשינוי תהליך P3 שדורש 2 מהמשאב C.