ללמוד UNIX

ללמוד UNIX פונה את המשתמשים ב-UNIX בתחום העסקי והאקדמי ואל כל אלה אשר מתכוונים לפתח יישומים ומערכות או להגר אל סביבת עבודה זו.

OCR (הסבר)
מל ב" לג ין ללמוד אוש עורך יצחק עמיהוד /. ספרי לימוד והכשרה רש יי ו = | 0/22/1777 במדעי המחשכב ּ > הוצאת הוד-עמי 0 ]ור 4 ללמוד אואט עריכה: יצחק עמיהוד תרגום: חיים פליכה ללמוד !1( ספרי לימוד והכשרה במדצי המחשכ הוצאת הוד-עמ!י סצוח ג]אע 5 .1 035זו0ח/ 0 (0) )חףהעקסס 6 ,חסוז68ט0= חפווווחסבּו עס 0 >זחפום וו 4+--+ אםפ 0% 0-333-48851-2 אםפ!| סז הסוו5]3ח3)+ 260וזסחוטות הסוס סהְבּטחַחב3ּ! חפווהַח= 6חז 0 ()) שפז60!] חו והףהעקסס .6 פזסתפווסטק ווח/-100] 5 307)-)3308 ,560 אסם .0.ק [98ז5! כל הזכויות שמורות (0) 1990 הוצאת הוד-עמי לספרי מחשבים בע"מ ת.ד. 560 רמת-גן אין לצלם, להעתיק או לעשות כל שימוש בספר זה, או בחלקים ממנו, ללא קבלת רשות בכתב מבעלי הזכויות בעברית הודפס בישראל תמוז תש"ן, 1990 0 ,88ז9) חו 60)חוזק .6 זססה ] |!6 87 ]0 אז8 1306 3 5 אואט מסת"ב 965-361-00000 158% תוכן העניינים הקדמה 5 0 פרק 1 סקירה על מערכת אזאטש .......1 0 1 הגרעין 6 2 המעטפת 2 3 פרוטוקול הכניסה ו % לאחר הכניסה למערכת רת פרק 2 מערכת.הקבצים ב-אזאזז 69 :0:30 1 קבצי אזאס תוס 2 קביעת המדריך הנוכחי |[ 3 שינוי המדריך 0 ל 0 סש 8% יכיצירת מדריך חדש | 5 ביטול מדריך 1 6 בביטול קבצ'ם ....:.2.41.115.... 2 7 פפירוט תוכן המדריך ........ 0 8 שרשור והצגה של קבצים בש 9 הצגת תוכן הקוב ......... 8 0 הדפסת קוב ל 1 העתקת קוב ייייייוייייייוי ...1.1 308 48 2 העברת קוב :2 8 3 חיפוש קוב במערכת הקבצ'ם............. 2 % קישור קבצים .... 6 5 אופני ההגנה של מערכת הקבצים || ' 2.16 ברירת מחדל בעת *צירת קוב [// יי 7 מערכת הקבצים ב-אנאס 3 8 קבצים מיוחדים והתקנים ו[ 9 התקנה, או קישור של מערכת קבצים 0 0 הורדה של מערכת קבצים ..3......, 8 פרק 3 מעטפת בור] (6מוט0ע)........... 0 1 פסקודות 5 2 דגלים 0 5 ב 3 פקודות עיבוד ברקע ......... 6 53 8 ביצוע של פקודות מקובצות 1 5 תווים שמורים והצגת תמליל על המסך 0 6 ניתוב קלט/פלט של 7 שמות קבצים ותווים שמורים 5 קל ₪ 5 336 4 8 צינורות ומסננים .0 49 משתני המעטפת 0 .90 .1 .2 .3 .% הצבה בפקודות ו פקודות שימושיות :שש אותות ומלכודות %:א: שימוש במסמכי 6ע162 + תבניות תכגנות במעטפת 8% תבנית התכנות +1 :+ תבנית התכנות 0856 38 . לולאת 116נתש :0 או%9:ש.: לולאת 11סתט 6:0 ₪ ₪2 גל יש לולאת 5ס+ כל כ כ מש נע .ו ףות 3 . 3 43נו*התתתח וי[ + 5 סיכום - דוגמאות של קובצי פקודות וט חסימת פסקים מהמקלדת + מספור שורות בקובצ והדפסתו ..+......... הידור והעברת שגיאות תחביריות לקובא ...+.... הדפסת כל הקבצים שבמדריך . חישובים אריתמטיים *'יי... בניית תפריט ...י......... עריכת קבצים עם מסמך 866 קריאות לפונקציות בקובצי פקודות פרק 4 שנויים בסביבת המעטפת...... 1 משתנ: המעטפת ב פרק 5 הפילטרים ב-אזאנז ותכנית אשהּ 1 תכנית השירות אשה 7 משתני 8% והצבות 7 תבניות תכנות מובנות 4 משפט +1 2 לולאת ע0ס? .. 0 לולאת 16נתש 7 עפ דוגמאות לפקודות אש8 יי חיפוש תבניות במספר קבצים . ספירת שורות ל השוואת שני קבצים חלוקת קוב לקטעים 7 בחירת שדות מתוך קוב תרגום של תווים ל 26 שילוב שורות מקבצים שונים . היטל אוקטלי של קוב (כתט4) 60 מיון קבצים 2 3 / .5 6 7 8 9 ת ת ת ו ת ת ת ת 3 3 ו 3 0% הבהתתתתתס 3-ו 3 ו בנתתת) יחצ .'. 5. .5.. +. +... פרק 6 תכנית העריכה נש יש מ ו 5-06 0 104 95 ו % תווים מיוהחדים 05 5 2 0 ל יצירת קוב 609 5 08 סקס ל סכ 6 הזזת הסמן לאורך ולרוחב המסך 5 חיפוש :סו וו 39 9:005. עריכת שורות תמליל ו הזזה והעתקה של תמליל 7[ || פקודות חזרה וחרטה (0ס6מט) ..: 7 פקודות תכנית הער:כה 06 0 קביעת אופציות | || 1 .1 ביצוע פקודות מעטפת 7 יש ₪ ₪ ₪ ₪ א א ו ו = ₪ %= ת 1 סס פאס פרק 7 עיבוד תמלילים טש ב מ תד 306% עורך התמלילים "++סעת" 0 4 ל 08.4 פקודות נפוצות של "+1סעת" כ תבניות המקרו "++סעת" ית עורך התמלילים "++סעת" וחבילת התוכנה "תח" אוגרים מספריים 00 50ב כל 0 ו ו ב מל 5 פקודות נוספות לעריכת הדף .... 0-0 פקודת 115% 8 6 0 0 ו 45 פקודת 6םם 215% ...... 2 7 הפקת רשימה באופן אוטומטי ..... 7 פקודת 115% 858 ו 5 ל 5 מ 06% 5 פקודת קו תחתון 0 כותרות ממוספרות ותוכן עניינים 0 כותרות רצות עליונות ותחתונות | | בר ה רק - ₪ 4% פרק 8 ביצוע תכנית בשפת 6 ית הידור של קובצ מקור 514 וה שאל 6-8 66 5-5 הידור של מספר קבצים 9 ל ו 0 קדם המעבד ב-6 והידור מותנה 8 6 קבצים מוכללים ₪ 4 4 ו 9% ₪ 3. שי 5 ₪5 ₪ 5 ₪ + 5 5 5 5/8 הידור מותנה כ 00 סס = ₪ 0 יצירת ספריות וקישור עצמים מספריות 0 מדידה ושיפור של ביצועי התכנית 8 הידור ושימוש בקובצי פקודות של המעטפת . 0 סס 00 סס סס = ת נר סס פרק 9 פונקציות ספריה סטנדרטיות בשפת 6 + 1 פונקציות העוסקות בתווים ו 2 פונקציות המטפלות במחרוזות ב השוואת מחרוזות 7 0 50| העתקת מחרוזות 5 2 0 005 5 0 יש 60 6 2 שימוש בצינורות ברמה נמוכה 0 3 צינורות בעלי שם א ₪ ל 0 2% דו"ח מצב על אמצעי 100 0 5 ביטול מידע על אמצעי 6פך ו 2 הש ל 6 תורי הודעות 0 7 זיכרון משותף 1 8 אתתים 5 1 פרק 11 כלים להפקת פרויקטים ולתחזוקתם 0 1 8866 9% 0:5 :0+ ו 2 כתיבת קובצי ₪8%6 8 3 סיומות קובצי 6אהח 0 8 ברירות המחדל של פקודות מקרו בקובצי 886 . 5 הכללים המובנים של 6א%הח 0 6 מערכת לבקרת קוד מקור (5605) || 7 העברת תכניות לפיקוח של 56058 ו 8 סמלים מיוחדים ב-5005 ו 9 5005 ו-₪866 0 0 פסקודות 5005 נוספות 5 55 5 :05 1 5 א 5 18 ₪ 5 5 5 28 ו של 4 ופקודות מערכת שרשור מחרוזות אורך המחרוזת קריאת מחרוזת המרת מחרוזת לערך שלם מאפייני תקשורת בין תהליכים פנימיים ההוראה 6%1% פקודות 66א6 ותווים שמורים אותות פונקצית המערכת 818081 0 השעיית הביצוע של תהליך 0 הפעלה של פסקי זמן יג חידוש של פעולת התכנית 8 0 צינורות ללא שם 0 1 פונקציות הצינור ההתתתהתששס ך.נתתת=ה=תש .+ תתתתת=ה=-=ת==ש כתיבת ערכים שונים למחרוזת .ה 0 * הפקודה 5%68ע5 5 , .0 ךן+התתתתתתתס=ס פונקצית המערכת 66א6% - ה בתתת₪ הפונקציות %ע0ס+ ו-81%ש ו 00 * 4.ההת=ת=ת-=-.-סס מסקסס ו-61086 ט. 86 ו-61056 7 פרק 12 תקשורת מקומית - שירותי דואר אלקטרוני 1 העברת הודעות למשתמשים ו 2 קריאת הודעות .שים. :4:5 3 תקשורת בהידברות בין משתמשים 8 % קבלת הודעות במסוף שלך 7 5 משלוח הודעה לכל המשתמשים 0 6 שירות ת:זכורות פרט: 0 כל 7 מידע על אירועים ו 8 ביצוע פקודות בזמנים מוגדרים ןיי 9 ביצוע פקודות על פי לוח זמנים יי פרק 13 תקשורת בין מערכות אזאשס 7 1 התקנת קסטט 5 5 ₪ ₪5 ₪5 5 ,05 4 2 אפשרויות קישור - ., 3 פקודות קסטט 632-000 סייק 8% קובצי ססטט 0 5 הקבצים "6עסשפפהק" ו-"16680ת1" 8 6 הרשאות הכניסה לקבצים מיוחדים 0 7 דוגמה מעשית 7 8 העברת קבצים -[[- ו 9 בעיות וניפוי שגיאות 1 סט כו 0 איחזור קבצים שהתקבלו ........ 8 1 קריאה למערכת אחרת בעזרת שס 7 ₪ ככלי לניפוי שגיאות 7[ פקודות טס ₪ פרק 14 פונקציות מנהלה כלליות 0 1 תהליך התיחול 0 2 רצף הפקודות 611ת5-ת10₪1-ע16-86%6ת1 3 כיבוי מערכת אזאט 8 8% גיבוי מלא לעומת.גיבוי חלקי 0 הפקודה 6010 4 וגא ₪ ליפו שאב 64 הפקודה ע68 יי הפקודה 68 7 5 הוספת משתמשים חדשים 6 2 6 ביטול משתמשים 7 7 ניצול קיבולת הדיסק 0 הפקודה +6 2 הפקודה ו 0 8 מבנה מערכת הקבצים ב-אצאטס 7 בלוק התיחול 0 ה 0 מ סופרבלוק ב רשימת 1 7 בלוקים של נתונים ...... 0 ....... ..+6... .......* ....... ....... .....'.. ..+....* .י5.... ....... ....*.. ....... .....'.. .....*.. ....... + י5.... .יי 55... ....... ....... ....... 149 090 תחזוקה של מערכת הקבצים 1 הוטפת התקנים חדשים למערכת אצאשט פרק 15 11 12 13 1085 15 146 נספחים א' - ב' - ג' - בוצלוצרפו *רוקלוקאום, אינדקס .. 10 מרכיבי*ים נוספים של מערכת הקבצים ... יצירת מערכת קבצים חדשה 0 תיקון אינטראקטיבי של מערכת הקבצים תיקון ידני של מערכת הקבצים יי ניקוי חירום של מערכת הקבציס 8 גישה למידע אודות המערכת 7 הקבצים שהתכנית משתמשת בהם המבנים שהתכנית משתמשת בהם השגרות שהתכנית משתמשת בהם תהליך ההכנה 'יי..... *........ + ....... 0% 3 התווים השמורים של המעטפת 8 תבניות תכנות במעטפת בורן ובמעטפת 6 טבלאות 45011 ל בהבההתתת'ש .........5... ........ ....+..' .......* ....... +. .....*.*.+* *י56.... הקדה מערכת א1א11 פותחה בשנות ה-70 המוקדמות במעבדות בל של חברת 77, על ידי קן תומפסון (תספקותסת1 ם146), דניס רלצ'י (16ת3150 15תםת26) ומספר מדענים אחרים. הפיתוח של א1א1ז הושפע ממערכת ההפעלה 1/016166, אשר רצה על מחשב 028645 בשנות ה-60 המאוחרות. הגרסה המוקדמת ביותר של א1%א11 רצה על 7-פכע והוסבה ב-1971 ל-11-עסעק. בזמן החיפוש אחר שפה ניידת (8016+זסק) למערכת ההפעלה החדשה, החליט ריצ'י לפתח את שפת 6, אשר נגזרה משפת 8, שנגזרה משפת [860. שפת 2 היתה שפה מפרשת ("6610"6%6ת1) שפותחה ע"י תומפסון. בשנת 1973 נכתבה א11%1 מחדש בשפת 6; היה זה רעיון חדשני למדי באותה תקופה. לאחר מכן גדל בהרבה מספר יחידות המחשב ב-4787 שהשתמשו ב-א11%1. אולם, מספר פסקי דין בארה"ב שהתקבלו בשנות ה-50, אסרו לשווק את א1א11 לציבור. לדוגמה, ווסטרן אלקטריק (חברת השיווק של '8787) לא הורשתה לתת תמיכה, לתחזק או לתת אחריות ל-א141%ז. כתוצאה מכך, הארגונים היחידים שיכלו להנות מ-א1א[1 באותה תקופה היו בעיקר ארגונים ללא מטרת רווח ומוסדות חינוך, תמורת תשלום מינימלי, אשר כיסה את הוצאות הטיפול והמשלוח בלבד. בשנת 1975 הפכה גרסה 6, שהיתה מרובת תכניות (-161טות שתוותמזה זקסיזק), לגרסה הראשונה של א1א11 שהופצה לציבור הרחב. ב-1977 החל תהליך של הסבת א11%1% לארכיטקטורות שלא היו מתוצרת דיגיטל, כמו אינטרדטה 8/34. גרסאות מאוחרות יותר הן גרסה 7 שהיתה זמינה ב-1978, 506-111ע5 ב-1981, וגרסת /-566ע5 מ-1983 שנתמכה בצורה מלאה על ידי 787. אזאנז נהנתה מ"תקופת הריון" ארוכה, אשר במהלכה היתה נתונה בשליטה מלאה של מתכנניה. אנשי אקדמיה ואנשים חיצוניים אחרים אשר קיבלו את התוכנה לשימושם תרמו רבות לפיתוחה. התוצאה הסופית היתה מערכת של מאפינים שהגדילה במידה רבה את הפופולריות של א1א11 בשוק המסחרי. נציין כמה מן המאפיינים: * מערכת הפעלה ניידת ביותר. * מישה (6:1806+ם1) משתמש פשוט, אך חזק ביותר. * מערכת קבצים היררכית קלה לתחזוקה. 11 * סביבת פיתוח דינמית, אשר ניתן לפתח בה תכניות ולהעביר אותן למחשבים אחרים מבלי לבצע אף לא שינוי אחד, או עם שינויים מעטים ביותר. אזצנז הינה מערכת הפעלה ניידת, רבת משימות (שת1א11585טות) ומרובת משתמשים (1)1156"6ם1),| אשר מספקת סביבת פיתוח ידידותית ועתירת תכונות ואפשרויות.' מערכת ההפעלה נתמכת בצורה מסחרית על ידי 8787, על *די יצרנים חשובים של מיקרו מעבדים כמו אעטל ומוטורולה, על :די יצרני מערכות ועל :די מפתחי תוכנה. דבר זה הופך אותה למערכת הפעלה מובילה בשוק. הספר מבוסס על ניסיונו של המחבר בעבודתו כמדריך, מרצה, מנתח מערכות ויועצ למחשוב. תשעת הפרקים הראשונים מיועדים לסטודנטים ולכל אדם הרוצה לרכוש ידע שיאפשר לו לעבוד ב-א[א[ז. שאר פרקי הספר מכסים מספר תכניות ש'רות חשובות ב-א1א1], אשר משמשות לפיתוח ולתחזוקה של חבילות תוכנה. מוסברים גם מאפיינים מתקדמים של תקשורת בין תהליכים כמו אתתים (0:65ת568880), סגמנטים משותפים ותורי הודעות (1₪6065 6ש8558/(). פרקים מתקדמים אלה פונים למשתמשי אז[11% אשר מעורבים בפיתוח של חבילות תוכנה ובהסבת חבילות תוכנה ממערכות הפעלה אחרות אל א1א1ז. הספר מכסה מגוון רחב ביותר של נושאים הקשורים ב-א1א1ז. מטרה זו הושגה על ידי כתיבה תמציתית ועל ידי שימוש בדוגמאות שימושיות שונות המחליפות דפים רבים של הסברים תיאורטיים. למרות שהספר מתחיל בתיאור היסודות של א1א11 לפני שהוא עוסק במאפיינים מתקדמים של מערכת ההפעלה, הוא מיועד לקורא המכיר באופן .בסיסי לפחות שפת תכנות עילית אחת. הנושאים המתקדמים בספר מיועדים לקורא בעל ניסיון בתכנות בשפת 6. אני רוצה להודות לאחי, קירייקוס, על עזרתו והעידוד שקיבלת: ממנו בזמן כתיבת הספר, כמו גם על ההגהות אשר עשה. ברצו(י להּודות גם לאנשים הבאים שקראו חלקים מהספר ותרמו הערות מועילות: ג'יימס ‏ ל. מיירס, ג'ון אפלבי, פיטר טינטל, מרְטין סוואש, ז'אן פייר ברטינצ'אמפ. 12 פרק 1 סקירה על מערכות אואנז פרק זה הינו סקירה על מערכת ההפעלה א1א11. הוא כולל גם מידע על תהליך הכניסה (ם1ש0ס1) למערכת, הסבר על תווים מיוחדים ועל תהליך היציאה (0%שס1). שפות (6, קובול, פורטרן, עדה) עיבוד תמלילים (++סעם) עורכים (א1,66,6ע) סביבת עבודה (5668) עבודה ברשתות ובתקשורת (ססטט,טס) רמת המשתמש רמת המעטפת רמת המעטפת רמת הגרעין מישק לקריאות מערכת עבודה בקבצים זיכרון מטמון ו ז 5 6600106 | 6210625 6001066 להתקנ* תווים להתקני בלוקים רמת החומרה תרשים 1.1 תיאור סכימטי של מבנה אזצתז 3 כפי שניתן לראות מתרשים 1.1 המשתמש *כול לשוחח עם גרעין ה-א]א[ז (61םז16 אז]א1ז) באמצעות מספר שפות תכנות ותכניות שירות. תכניות כמו המעטפת (611ת5) ו-506025 משתמשות בשירותים שמספק הגרעין באמצעות מערכת מוגדרת מראש של קריאות מערכת (מַ%6פק5 | 08115). | קריאות | מערכת | אלה מיועדות, | לדוגמה, ליצירת קבצים חדשים, לכניסה לקבצים קיימים, להתקנת צינורות (658ס1ק) ולהתקנה והסרה של מערכות קבצים (5%6885ע5 1116). כל המונחים החדשים האלה יוסברו בפרקים הבאים. 1 הגרעין הגרעין (61םז56) הינו הבסיס של מערכת ההפעלה. זוהי תוכנה הנמצאת בזיכרון ותומכת בסביבה מרובת משתמשים ורבת המשימות של א1א[ז. הוא מתבסס על כ-13,000 שורות הכתובות בשפת 6 ועל כ-1,000 שורות הכתובות באסמבלי. הגרעין אחראי לניהול התהליכים. תהליך (00655זק) הינו תכנית ביצוע בצירוף מבני הנתונים שלה. תהליך (הנקרא "אב"- %ת6ת8ק) יכול ליצור| תהליכי משנה נוספים ("ילדים" ‏ - ת116-6ת6). הגרעין מבטיח שהילדים :ירשו את סביבת האב. התקשורת בין תהליכים, אשר מנוהלת על ידי הגרעין, מאפשרת לתהליכים להעביר הודעות זה לזה וליצור קשר באמצעות אתתים. כדי להקל על הדרישה לזיכרון המרכזי, מועברים התהליכים מהזיכרון לדיסק וחזרה לזיכרון בעזרת אלגוריתם יעיל: באופן רגיל נעשה שימוש בשתי שיטות כדי לנהל תהליכים: העברה (קתוקק8ש5) ודפדוף (אִַנַאָ8ק). | בתהליך ההעברה, מועברים תהליכים שלמים בין הזיכרון המרכזי לבין ההתקן המשמש לאחסון התהליכים. בתהליך הדפדוף, מועברים דפים בודדים של התהליך לדיסק וממנו, לפי צורכי התהליך באותו רגע. היתרון של דפדוף על העברות נעוצ בכך שהוא מאפשר ליותר תהליכים להשתמש בזיכרון המרכזי. הדפדוף גם מאפשר לתהליך להיות גדול *ותר מאשר הזיכרון המרכזי העומד לרשותו. הגרעין | מפקח ‏ גם על שידור הנתונים בין הזיכרון המרכזי ליחידות ההיקפיות. חלק זה של הגרעין שנוה במידה רבה במערכות ההפעלה א1א11% הפועלות במחשבים של יצרנים שונים, מכיון שהציוד ההיקפי ותכונותיו משתנה ממחשב אחד למשנהו. כאשר תכנית נטענת לזיכרון לצורך ביצוע, נטענים למעשה התמליל (הפקודות ‏ - 6א56), הנתונים והסגמנטים הלוגיים של המחסנית שלה. החלק של הגרעין העוסק בניהול הזיכרון מאפשר שיתוף בסגמנט התמליל של התוכנית וגם הרחבה דינמית של הסגמנטים 14 המכילים נתונים, או אלה המשמשים את המחסנית. תזמון תחזוקת תהליכים מערכת קבצים הקצאה של ניהול משאב* מערכת %יכרון תרשים 1.2 מבט על הגרעין 2 המעטפת המעטפת (561) הינה תכנית מערכת המאפשרת תקשורת דו-כיוונית בין המשתמש למחשב. היא פועלת בצורה הדברותית כמפרשת של פקודות (ז6%6זק%6ת 1‏ 6תאותות60). היא גם שפת תכנות, עם משתנים המוגדרים על ידי המשתמש ועם אופציות לבקרת זרימה (%701ת60 שסן1). אופן הפעולה של המעטפת הינו מורכב למדי. בתחילה, מתורגמת הפקודה או ההוראה של המשתמש והתכנית המתאימה, המייצגת את אותה פקודה, מאותרת בדיסק. לאחר מכן נוצר תהליך אשר מבצע את התכנית והמעטפת ממתינה עד אשר התכנית מסתיימת. לבסוף, היא מנחה ()+קתסזק) את המשתמש להכניס את הפקודה הבאה. על .די סיום פקודה בסימן "8" *כול המשתמש לבצע פקודות ברקע (0ת58087000) כלומר, המעטפת תיצור שוב תהליך כדי לבצע את הפקודה, אבל היא לא תמתין לסיומו ותקבל את הפקודה הבאה. עקרון העבודה של צינורות (65ק1ק) מאפשר למעטפת ליצור מספר תהליכים שיכולים להתקשר ביניהם. באופן כלל, אם נדרש טיפול נוסף לפלט של תהליך, הוא מועבר דרך הצינור לקלט הסטנדרטי של תהליך אחר. תפישת העבודה של תכניות הסינון (8ז11166), שבה תכנית קוראת נתונים מאמצעי קלט סטנדרטי, משנה אותם (למעשה הנתונים "מסוננים" על ידי התכנית) וכותבת אותם לאמצעי פלט סטנדרטי, נתמכת גם היא ע"י הגרעין. שפת התכנות של המעטפת מאפשרת למשתמש להגדיר משתניס ולהשתמש במבנים הדומים לאלה של שפת תכנות, כדי ליצור רצפי פקודות מורכבים. רצף פקודות מאוחסן נקרא "קובצ פקודות", אך הוא ידוע יותר בשם 50126 [61ת5, או בקיצור 6ק1ז50 (בהמשך נשתמש במונח "קוב פקודות" - 1116 6תא8תות60). ניתן להשתמש בקבצי פקודות כדי לגרום לביצוע סדרתי של רבות מתכניות השירות של 15 א[אנז ועל ידי כך להגביר במידה רבה את עוצמתה של מערכת ההפעלה. שפת פקודות שרשור פקודות גמישה וניתוב ק/פ ביצוע צינורות ב-06ם00ע206ס+ ומסננים וב-6ת80%8₪200 תרשים 1.3 מבט על המעטפת 3 פרוטוקול הכניסה כדי להכנס (ם10₪1) למערכת א1א1, עליך להשיג ממנהל המערכת שלך מספר מזהה (שַַא8ַתז0פט) וסיסמה (855₪016ק). מסנף אזאנז ינחה אותך עם ההודעה: :תנשסך כתגובה להודעת "חושס!", הקש את המספר המזהה שלך באותיות קטנות ולאחריו הקש על מקש "תזט6%א" (א0). מערכת א1א11 תדפיס: 0: הכנס את הסיסמה שלך ולאחריה הקש 08. אם כל הפרטים נכוניס תכנס למערכת. אם לא כן, תצטרך לחזור על כל השלבים של הכנסת המספר המזהה והסיסמה. 4 לאחר הכניסה למערכת לאחר שנכנסת, אתה נמצא בקשר עם מפרש הפקודות של המעטפת. אתה יכול לשנות את הסיסמה שלך על ידי שימוש בפקודה: | שיס לב שהסימן "%" בדוגמה לעיל אינו חלק מהפקודה. למעשה זהו מנחה ה-א1א11, אשר יכול להיות שונה בכל יחידת מחשב המשתמשת ב-א1א1ז. בספר זה נשתמש בסימן "9" כדי להקדים את כל פקודות אזאז. 16 מספר תווים, אשר אינם בהכרח זהים בכל מערכות א1%א1ז, מטופלים בצורה מיוחדת ברמת הפקודה של המעטפת. להלן מקצת מבין התווים האלה ומשמעותם: 1 - מחיקה של התו האחרון שהוקלד. הקשה על [ז-1סאאס - מחיקת שורה שלמה שהוקלדה. הקשה על כ-01א1א60 - הדמייה של תו סוף קובא. הקשה על אכ או פנזם - מפסיקה פקודה (%קטזז%6ם1). הקשה על תזט6%6ת (0) - סוף הקלט, הוראה לבצע את הפקודה. * כ %* א א + כדי לקבל מידע על תכניות השירות של א1[א1 או על פקודות, אתה יכול להשתמש בפקודת תגחז לדוגמה: 86 תתה9 פקודה זו תציג מידע על האופן שבו יש להשתמש בפקודת 6 כדי לשנות את הסיסמה. לאחר שסיימת את השימוש במסוף, אתה יכול לצאת על ידי הקשה על מקשי כ-01א1א60, או על ידי הקלדה של הפקודה הבאה: 510 17 4 פרק 2 מערכת הקבצים ב-אוא ק זה מתאר את המבנה הבסיסי של מערכת הקבצים ב-א1א[ז ואת סוגי הקבצים שניתן להשתמש בהם. בנוסף לכך נתאר מספר פקודות פש 1 וטות אך חיוניות: 6 = יד 61את יד 11 דד 15 0% 56 פס עס . פס שו 4+ ת1 וס הט %תטסות 6מנוסוחט .2 קבצי אזאזז מערכת ההפעלה א11%1 משתמשת במערכת קבצים היררכית, המאורגנת כעצ. הצומת הראשי נקרא מדריך ראשי (ץז61:6060 006), אשר מיו צג על ידי סימן י*חיד "/" (ת5185). למשתמש יש גישה לארבעה סוגים של קבצים: + .* 8 קבצים רגילים אשר נוצרים על :די המשתמש (תכניות ‏ 6, דוחות, קבצי פקודות של המעטפת וכו'). מדריכים אשר מתנהגים כמו קבצים רגילים, אך רק משתמשים בעלי הרשאה מתאימה יכולים לכתוב בהם. מדריכים משמשים כדי לקבץ קבצים שיש קשר בניהם וכדי לקבוע זיקה (שתנסקגות) בין שמות קבצים לוגיים לשמות פיסיים. צינורות (65ק1ק), אשר משמשים לקישור פלט של תהליך אחד לקלט של תהליך אחר. הם מותקנים בגרעין כמאגרים הפועליס לפי שיטת ראשון-נכנס-ראשון-יוצא (0ע1ע). גירסת ש-אזאנז מבדילה בין שני סוגים של צנורות: צעורות ללא שמות (הנוצרים על :די קריאת המערכת 6ק1ק וצינורות עם שמות (הנוצרים על ידי קריאת המערכת 06חא ומשמשים לתקשורת בין תהליכים שאינם קשורים זה לזה). קבצים מיוחדים, אשר משמשים את המערכת לביצוע פעולות מנהלה ובקרה. קבצים מיוחדים אלה משמשים למשל, כדי לפקח על התקני קלט/פלט (ראה סעיף 2.18). מקרא: [ ] פיהו 3 . : - קובא 2 רגיל ₪ = מיוחד תרשים 2.1 קבצים בע טיפוסי של מערכת קבצים שם קובצ במדריך :כול להכיל עד 14 תווים. בשמות קבצים לא ניתן להשתמש בתווים הבאים: ‏ ; 8 / % כל מדריך מכיל לפחות שתי רשומות; רשומת "." אשר מתייחסת למדריך עצמו ורשומת ".." אשר מתייחסת לאב של המדריך הפעיל הנוכחי. ניתן לראות רשומות אלו בעזרת הפקודה 81- 18). להלן כמה מבין המדריכים המנהליים: / - מדריך ראשי אותט/ - גרעין מערכת אזאנז תום/ - פקודות 6 - קובצי מנהלה 0 - ספריות קח?+/ - קבצים זמניים א* |( א( א א א%* ניתן למצוא כל קובצ במערכת הקבצים על :די שימוש במסלול (ת8%ק) מהמדריך הראשי (ראה פקודת 06). 19 2 קביעת המדריך הנוכחי המדריך הנוכחי הינו המדריך שבו המשתמש פועל כרגע. פקודת שש משמשת למציאת המסלול המלא של המדריך הנוכחי. בהתייחס לתרשים 1, אם המדריך הנוכחי הוא "עתסת", אז הפקודה 6 תציג צתסש/ עפט/ 3 שינוי המדריך ניתן להשתמש בפקודה 66 כדי לשנות את המדריך הנוכחי למדריך הרצוי. הפקודה נראית כך: [שס-מדריך] 508 כדי להגיע למדריך "עתסע/זפט/" (תרשים 2.1) אתה צריך להשתמש בפקודה: צַתסע/עפט/ 506 אם ברצונך לעבור לאחר מכן מ-"עתסע/זפט/" ל-"ץ6ם8/זפט/", אתה יכול להשתמש בפקודה: צַ6ת8/עפגו/ 806 או בפקודה: צֶסתה/.. 506 אפשר לכתוב פקודה זו, מכיון ש-".." מתייחס למדריך האב של "שתסע", שהוא "עפט/". באופן דומה, אם ברצונך לבצע את התכנית "ק8ש5" (תרשים 2.1) כאשר המדריך הנוכחי הוא "ע6ם8/זפט/", אתה יכול להשתמש באחת משתי האפשרויות הבאות: קפ ץתסת / צפגו/ 5 או 880 צֶתסע/..5 אם לא מצויין שם מדריך כמשתנה בפקודה 66, הפקודה 66 תשנה את המדריך למדריך "הבית" (עז61760+0 11011) של המשתמש. לרוב, זהו המדריך שבאמצעותו המשתמש נכנס למערכת. 20 4 יצירת מדריך חדש פקודת 61 משמשת ליצירת מדריך חדש או מדריכים חדשים. הפקודה נראית כך: [שם-מדריך/ ים] ש9₪%61 המדריך הנוכחי הוא "עתסע/זפט/", כדי ליצור מדריך חדש "תס" ב-"עתסע/זפט/", ניתן להשתמש באחת משתי האפשרולות: תנס ש5₪%61 או תזנם/ שַתסי / פגו/ 612>מ% 5 ביטול מדריך ניתן להשתמש בפקודת 1061 כדי לבטל מדריכים: [שם-מדריך/ים] ע61שע9 ניתן לבטל מדריכים ריקים בלבד (כלומר, מדריך המכיל את הרשומות ‏ "." ו-".." בלבד). יתר על כן, המשתמש יכול לבטל רק מדריכים שנותנים לו הרשאת כתיבה. 6 ביטול קבצים ניתן להשתמש בפקודת חז כדי לבטל קבצים: שם-קובצ/ים [אופציות] תש9 שתיים מבין האופציות הנפוצות ביותר הן: *‏ 6- | לביטול רקורסיבי של כל הקבצים ומדריכי המשנה. * 1- לביטול של כל הקבצים שאין להם הרשאת כתיבה. כדי לבטל את הקבצים "6.ק8ש5" ו-"5667.0אות", ניתן להשתמש בפקודה: 0 580.60 שע5 21 7 פירוט תוכן המדריך הפקודה 18 משמשת לפירוט תוכן המדריך: [שמות קבצים] [אופציות] 18 להלן כמה מבין האופציות השימושיות ביותר: 8 פרט את כל הקבצים במדריכים המצוינים בפקודה, כולל קבצים נסתרים המתחילים בנקודה. 1+ פרט בפורמט ארוך את כל הקבצים המצוינים בפקודה. + פרט קבצים שמוינו לפי תאריך עדכון אחרון (הקבצים שהשתנו לאחרונה *ופיעו ראשונים). 4 פרט את מספר הצומת 1 (ע6סמטת 86סת) בטור הראשון (ראה סעיף 2.14). דוגמאות: פרט את כל הקבצים המסתיימים ב-"6.": 6.+* 518 פרט את כל הקבצים המתחילים באותיות גדולות: *[8-2] %18 8 שרשור והצגה של קבצים פקודת +68 משרשרת את הקבצים ומציגה את תוכנם מבלי לערוך את המידע: [שמות-קבצים] [אופציות] 5086 לדוגמה, כדי להציג את תוכן הקבצים "ס.שסזק" ו-"80.6שפ", השתמש בפקודה הבאה: 0 ס6.שסעס 5086 9 הצגת תוכן הקובץ הפקודה את מאפשרת לבחון את תוכן הקוב, מסך אחר מסך: [שמות-קבצים] [אופציות] 8₪ס% אם תקיש 08, יוצג מסך נוסף של תמליל (כלומר, פקודת תכנית). אם תקיש "?" לאחר שהוצג הדף הראשון, *וצגו על המסך כל האופציות האפשריות. הפקודה א ממלאת את אותה פונקציה כמו הפקודה ₪0"6, אך ההבדל העיקרי ביניהן הוא באופציות העומדות לרשותך בכל פקודה. 22 0 הדפסת קובץ הפקודה 15 (או זס1 בגרסאות אחרות) משמשת להדפסת קוב>: [שמות-קבצים] [אופציות] ס%1 בדרך כלל משתמשים בפקודה ק1 יחד עם הפקודה זק שמדפיסה קבצים במסוף. הסיבה לכך היא שפקודת תק יכולה לערוך קוב בטורים, לפי גודל דף וכו'. לדוגמה: 2- מש1 1 6 172- 6- משס% פקודה זו תגרום לכך שהפלט של הקובף "606.0פהות" שיודפס במדפסת שורה, יהיה בעל התכונות הבאות: * רווחים כפולים (אופציה 6-) בין השורות, * גודל דף יהיה 72 שורות (אופציה 1-), * מספר העותקים שיודפסו יהיה 2. בגרסת /-א1א1[ז נשתמש בפקודה +- 125086 כדי לראות את הסטטוס של המדפסות. 1 העתקת קובץ ניתן להשתמש בפקודה ק0 כדי להעתיק קובף אחד לקובף אחר, או כדי להעתיק קובצ אחד או יותר למדריך. דוגמאות: העתק את תוכן "11168" ל-"כ11160". אם "111600" קיים, הקוב החדש ייכתב עליו: 0 21168 500 העתק את תוכן "11168" ו-"11162" למדריך "עתסע/עפט/": צַתסע/עפג/ 21162 021168 500 2 העברת קובץ הפקודה עטוז משמשת להעברת קבצים ע"י שינוי שמם (שתנותאתסת). פקודה זו מתנהגת בצורה דומה לפקודה תֶס, פרט לכך שהיא גם מעבירה קבצים. ברוב המקרים, אם הקוב% מועבר לאותה מערכת קבצים, אין העברה פיסית, אלא רק שינויי מדריכים. 23 דוגמאות: העבר את התוכן של "11168" ל-"11160" (קובצ "11[68" מבוטל): 1160+ 1168+ טשפ העבר את המדריך "6:8" למדריך "615" (ההעברה תבוצע אם "1:8" אינו המדריך הנוכחי ואם שני המדריכים הם בגנל אותו אב): ממ01 6128 טם9 3 חיפוש קובץ במערכת הקבצים הפקודה 16 משמשת לאיתור קבצים בעצי המשנה של מערכת הקבצים לפי קריטריונים מסוימים. בדוגמאות שלהלן ניתן לראות כמה מבין השימושים הנפוצים ביותר של פקודת 6ח:1: דוגמאות: חפש את הקוב "0070" (אופציה 6מתהת-) במדריכים "עם0?/זפט/" ו-"57/8007085/ " ולאחר שמצאת אותו הצג (אופציה 6תנעק;) את שם המסלול שלו: 6תנפס- 6 שמוהת- 62685ת8/עפט/ עתסע/עפט/ 6ת5%1 הצג את שמות המסלולים של כל הקבצים במדריך הנוכחי ובמדריכי המשנה שלו: . ס>מנעק- . 8ם1?% הצג את שמות המסלולים של כל הקבצים במערכת שלא נכנסו אליהם (אופציה 86186-) ולא כתבו בהם (אופציה 106)₪-) במשך 60 הימים האחרונים: 6תנעס- 60+ 61₪6ש- 60+ 801₪6- / 6םת%21 4 קישור קבצים לכל קוב הרשום במדריך יש מספר זיהוי *יחודי במערכת הקבציס של א1א1ז, הנקרא מספר הצומת 1 (עססמחתטת 66סם-1). ניתן לייחס מספר קבצים אל קובא פיסי אחד על ידי הצבה של אותו מספר צומת 1 בכניסות המתאימות של המדריך שלהם (ראה פרק 14). קישורים כאלה :כולים להיווצר על ידי שימוש בפקודה 1 (הערה:הסוגריים נועדו להפריד בין הפרמטרים, אך אין הם חלק מהפקודה): (קובץ או מדריך המטרה) (שמות קבצים) ם%1 24 דוגמאות: קשר ‏ את קוב% "11168" במדריך הנוכחי אל "11160" שבמדריך ההעברות (5ק5₪8). לאחר הקישור, הן "1168" והן ‏ "ס16]" *תייחסו לאותו קוב פיסי בדיסק: 60 פהטם 1168? ת%1 קשר את ,"/1168"‏ "11160" ו-"11162" על :די אותו שם בקוב ההעברות: 8 211602 1160? 211068 ת%1 לא ניתן לקשר קובצ לעצמו, ואין זה חוקי לקשור קבצים בין מערכות קבצים הנמצאות בהתקנ* אחסון שונים. 5 אופני ההגנה של מערכת הקבצים מערכת א1%א11 מספקת אמצעים שבעזרתם המשתמשים *כולים ליצור קבציםס, להשתמש בהם במשותף ולבטל אותם, בתנאי שיש להם את ההרשאה המתאימה. המערכת מבדילה בין שלושה סוגי משתמשים: הבעלים - המשתמש שיצר את הקובא. הקבוצה - הקבוצה שאליה משתייך בעלי הקובא. אחרים - כל שאר המשתמשים המורשים במערכת. לקוב השייך למשתמש מסוים *כולות להיות הרשאות הכניסה הבאות: (ע) 26806 אפשרות לקרוא את הקובא. (ט) 1%6עש אפשרות לכתוב ולשנות את הקובא. (א) 6860108 אפשרות להרי את הקובא.. הבה נבחן עכשיו את הפלט של הפקודה 18: 515 -1 508 10:05 12 ת78 120 עפט צ6ת8 1 א-עאאצאאץה 06 12:58 145 תב0 - 978 עפט צָ0ת8 1 --ם-אם-אם- 583 10:20 16 ת08 2058 סעפט עה 1 -החחחע-חת- הערה: שים לב לכך שלאחר הצגת הפקודה ניתנות שורות פלט לדוגמה. כך נעשה גם בהמשך, נציג פקודה ודוגמת פלט. התו הראשון ברשימה הארוכה לעיל מציין את סוג הקובצ, אשר יכול להיות אחד מאלה: 25 קובצ מדריך. קוב+ מיוחד לתווים. קובצ מיוחד לבלוקים. קובצ מיוחד לצינור עס שם. קובצ+ רגיל. ₪ 0 שיו תשעת התוו*ם הבאים מציינים את הרשאות הכניסה לקובצ. תשעת תווי מערכת אלה מחולקים לשלוש קבוצות בנות שלושה תווים כל אחת. הקבוצה הראשונה של שלושה תווים מציינת את הרשאות הכניסה של בעלי הקובף>, הקבוצה השנייה - לקבוצת המשתמשים והשלישית - לאחרים. לפיכך, אנו *כולים לראות מהפלט של פקודת 1- 5] שהקוב "45667ות" הינו מדריך אשר לבעליו, "עסת8", יש הרשאות קריאה ("), כתיבה (ש), וביצוע (א); לקבוצה "זפט" יש הרשאות קריאה, כתיבה וביצוע; ולאחרים יש הרשאות קריאה וביצוע בלבד. ניתן לשנות את הרשאות הכניסה לקובצ בעזרת הפקודה 6ס0הת6: שמות-קבצים אופציות 6סשת6 האופציות *כולות להיות *יצוג אוקטלי או סימבולי של ההרשאות. בשיטת הייצוג הסימבולי משתמשים בקודים הבאים: [ספאשם] [- +] [8סשט] הקודים של המשתמש [08שט] הם: צ הבעלים ₪ | הקבוצה 0 האחרים 8( כולם (8 העה ברירת המחדל, אשר כוללת את ש, ₪ ו-0) קודי הפעולה. [- +] הם: + הוסף הרשאה - בטל הרשאה קודי הרשאות הכניסה [6פאשת] הם: קריאה כתיבה ביצוע סיבית מספר מזהה (016 6נ1ש) סיבית צמודה (21% עא5610%) ₪ 9 5 4 26 דוגמאות: כדי לשנות את הרשאות הכניסה לקובצ ההעברות (ק8ש5) כך שלבעלים, לקבוצה ולכל האחרים תהיינה הרשאות קריאה, כתיבה וביצוע, אפשר להשתמש בקוד 777. הסיבה לכך היא שהלצוג האוקטלי של 777 היו 111 111 111 (בהתאמה אשזאעתאשז). השפ 777 6סשםת0ס5 כדי לשנות את הרשאות הכניסה לקובף ההעברות, כך שלבעלים ולקבוצה תהיינה הרשאת כתיבה וקריאה ולאחרים תהיה הרשאת קריאה בלבד אפשר להשתמש בקוד 664. הסיבה לכך היא שתליצוג האוקטלי של 664 העו 100 110 110 (בהתאמה --ץ-שע-שת). 580 661 06םת%6 כאשר סיבית הזיהוי של המשתמש (12 1156 56% - כ5111), נקבעת ("נדלקת") בקוב> הניתן לביצוע, המערכת נותנת למשתמש המבצע את הקוב אותן הרשאות כמו לבעלי הקוב>. באופן דומה, סיבית הזיהוי של הקבוצה (כ1 קטסז 56% - כ501) מאפשרת למשתמש להשיג את אותן הרשאות כמו לחברי הקבוצה שאליה משתייך בעלי הקובצ. התשובה לשאלה איך ניתן לבצע זאת טמונה בעובדה שב-א1א]]] לכל תהליך יש שני כ11] ושני כ01. הזוג הראשון של ה-כ1 וה-כ21), הידוע בשם הזוג "האמיתי", משמש לזיהוי הבעלים של התהליך ולזיהוי הקבוצה שאליה הוא משתייך. הזוג השני, הידוע בשם הזוג "האפקטיבי", משמש לבדיקת הרשאות הכניסה לקוב% המאוחסן. ברוב המקרים מספרי הזיהוי האפקטיביים והאמיתיים יהיו זהים. אולם כאשר תהליך מבצע תכנית אשר נקבעו בה כ5%11 או כ501, הופכים מספרי הז'הוי האפקטיביים שלו להיות זהים לאלה של בעלי התכנית ו/או הקבוצה שאליה שייך בעלי התכנית. בצורה זו יכול התהליך שקרא להכנס לקבצים ולעדכן אותם בעזרת התכנית שנקראה. לאחר קביעת ("הדלקת") כ5111, משתנה התו המתיר לבעלים לבצע את הקובצ, מ-"א" ל-"5". פקודה טיפוסית ב-א]א[ז שנקבע בה 5011 היא 8556, אשר מאפשרת למשתמשים רגילים לשנות את הסיסמה שלהם. פקודה זו מעדכנת את קוב% "660/08556/" שבו יש לפקודת פאק הרשאות כתיבה וקריאה ולמשתמשים רגילים יש הרשאת קריאה בלבד. הסיבית הצמודה נקבעת בדרך כלל על ידי מנהלן המערכת לפקודות שהשימוש בהן הוא בתדירות גבוהה בלבד, כמו 18 או [ט. ברשומת הקובצ היא מצוינת על ידי התו "+" המסמל את סוג הקובא. לאחר 27 שנקבעת הסיבית הצמודה, מאוחסן באופן קבוע עותק של התכנית הניתנת | לביצוע (600₪%8016א6), בשטח הדיסק הידוע כמרחב הכתובות המשמש להעברות (50806 ק5₪8). שלא כמו שאר מרחבי הכתובות בדיסק, מאורגן מרחב הכתובות המשמש להעברות באופן סדרתי. בצורה זו מצטמצם באופן משמעות: הזמן שנדרש לטעון ולבצע תכנית מתוך קובצ ההעברות כי התכנית נטענת לזיכרון כיחידה אחת ולא בלוק אחד בכל קריאה לדיסק. צריך לזכור, שהסיבית הצמודה גורמת לכך שתכניות הנמצאות בשימוש לעתים קרובות תשארנה בשטח אחסון שניתן להכנס אליו במהירות. יש להשתמש בסיבית הצמודה בתשומת לב, מכיון שמרחב הכתובות להעברות משמש לתכניות שהביצוע שלהן הושעה באופן זמני והוא מוגבל בגודלו (במיוחד במערכות קטנות). דוגמאות נוספות: . קבע את סיבית זיהוי של המשתמש ‏ - שם קובף 85+ט 08שת50 קבע את סיבית הזיהוי של המשתמש - שם קובף 2000 6סמשת%6 קבע את סיבית הזיהוי של הקבוצה - שם קוב>ף 5+₪ 06שת%0 קבע את סיבית הזיהוי של הקבוצה - שם קוב 6000 ₪06ם%0 קבע את הסיבית הצמודה - שם קוב 6 + ₪06ת%0 6 ברירת מחדל בעת יצירת קובץ כאשר נוצר קובצ או מדריך, מקצה לו המערכת את ברירת המחדל של הרשאות הכניסה (אפאות), אשר לרוב ערכה האוקטלי הוא 666 (קריאה וכתיבה על ידי הבעלים, הקבוצה והאחרים). ניתן לשנות את ברירת המחדל בעזרת הפקודה א85חש: [אופציות] 85%מט5 המשתנה של א%פ₪8חש₪ מופחת מערך ברירת המחדל. בצורה זו תגרום הפקודה "022 א₪85ש%" שהקבצים *יווצרו עם הרשאות כניסה 4, מכיון ש-666 פחות 022 שווה ל-644. אם נשתמש בפקודה זו ללא משתנה, היא תציג את הערך הנוכחי של ברירת המחדל. מנהלני המערכת נוהגים לקבוע את הערך של אפאחחטש ב-"701116ק/6%6/". 7 מערכת הקבצים ב-אזא כל מערכת קבצים מתבססת על ארבעה חלקים בסיסיים: בלוק התיחול, סופרבלוק, בלוק רשימת-1 ובלוקים המשמשים לנתונים. הבלוקים במערכת הקבצים ממוספרים מאפס ועד לגבול מערכת הקבצים. 8 מערכת הקבצים מאוחסנת בהתקן פיסי (דיסק), אשר :כול להיות מחולק למספר התקנים לוגיים (מחיצות). ניתן לאחסן מערכות קבצים בהתקנים לוגיים ולכן *כול התקן פיסי אחד להכיל מספר מערכות קבצים. מערכת הקבצים הראשית (200%) נמצאת בראש ההיררכיה של הקבצים ולא ניתן לבטל אותה (ראה פקודות )הטסו ו-)הטסותט), אך ניתן לבטל מערכות קבצים אחרות. קבצים במערכת קבצים הניתנת לביטול יהיו זמינים ‏ רק לאחר שמערכת הקבצים הותקנה, או קושרה (%)תטסת) לוגית,למערכת א1]אנ0. תיאור מפורט *ותר של מערכת הקבצים מופיע ניתן בפרק 14. 8 קבצים מיוחדים והתקנים קבצים מיוחדים מאוחסנים בדרך כלל במדריך "ט66/". קבצים אלה אינם מכילים נתונים והם משמשים לכניסה ליחידות היקפיות במערכת כמו מסופים, כונני דיסקים, כונני סרטים ומדפסות. כל אחד מהתקנים אלה מופעל באמצעות מודול של תוכנה הקרוי 660166 זט בקשה לקריאה או כתיבה לקוב+ מיוחד גורמת להפעלה של זט 660106 מתאים להתקן הפיסי. הבה נתבונן בפלט של הפקודה הבאה: 6 [8- 515 8 16:49 11 םא 0 ,2 0 2008 30 | האחחא--אעש 0 11:23 19 עֶב 83‏ 6 ,2 0 005ם 20 0 -אע-אץ-אעס התו הראשון ברשומה מייצג את סוג ההתקן המזוהה עם ההתקן הפיסי: ס מציין התקן בלוקים (כמו כונן דיסקים). ₪ מציין התקן תווים (כמו מדפסת, או מסוף). המספרים הבאים לאחר הקבוצה הראשונה מציינים את מספר ההתקן העיקרי (זס[אנ) והמשני (עסתות). המספר העיקרי מציין באיזה 7 6601606 (לדוגמה, סרט מגנטי) יש להשתמש וערכו הוא אינדקס לטבלת 6785ט1ז6 166ש06. המספר המשני מועבר כארגומנט ל-ז61100 | 060106; הוא מפרט מידע התלוי בהתקן, כמו מספר כניסה בכרטיס קלט/פלט, האם יש לגולל סרט מגנטי להתחלה בזמן הסגירה, מידע על המחיצות בדיסק וכן הלאה. 29 2.09 התקנה, או קישור של מערכת קבצים יש לקשר מערכת קבצים ל-א1א1ז לפני שניתן להשתמש בה. עושים זאת בשני שלבים: -‏ יצירת מדריך ריק במדריך הראשל. - שימוש בפקודת )תטסוח כדי לקשר את מערכת הקבצים להתקן לוגי. לדוגמה, הפקודות / 5086 2ע₪8506/ ע%61ש% ע₪8806/ 660/1650/ 6תט800/₪0/ יקשרו את מערכת הקבצים על ההתקן "660/1650/" במדריך "ז8560ה1/". כך, גרעין אזאז יידע על קיומה של מערכת הקבצים החדשה. ‏ על ידי שינוי של המדריך ל-"85%67/", ניתן *היה ליצור קבצים, למחוק ולשנות אותם כאילו הם היו מוגדרים בהתקן הראשי. בכל התקנה של מערכת קבצים, מעודכן קובצ בדיסק (בדרך כלל "0%80תות/6%6/") עם רשומה של מערכת הקבצים החדשה. ניתן להתקין מערכת קבצים עם הרשאת קריאה בלבד על :ידי שימוש באופציה *-: ע- ע₪8506/ 660/1650/ >תטסם/860/ שימוש בפקודה +חטסוחת ללא ארגומנטים יגרום לכך שכל מערכות הקבצים המותקנות במערכת תוצגנה במסך: טס /5/600 8 17:53:20 19 260 תסא ם0 166עא/680: 06//65%/051/ תס / 8 17:56:34 19 266 ת0א תס 680/92166: 151/א05/ש66/ תס 8606/ש5ט/ 0 הורדה של מערכת קבצים ניתן לבטל (%תטסותמט) מערכת קבצים בעזרת הפקודה )+תחטסחש. בזמן הביטול עלולה להופיע הודעת השגיאה הבאה: צפטם 8601066 6>תטסת ההודעה הזו מוצגת כאשר מישהו משתמש במדריך של הדיסק שאתה רוצה לבטל, או כאשר מישהו פתח קובצ באותו התקן. לא ניתן לבטל מערכת קבצים ראשית ("86/65%/051/" בדוגמה לעיל). לדוגמה, כדי לבטל את מערכת הקבצים "65%/151/ ש66/" נכתוב: 1 ע66/ שתווסם/ 6%60/ % 20 פרק 3 מעטפת בורו מעטפת בורן הינה מפרש פקודות הדברותי. היא גם שפת תכנות עס משתנים שניתנים להגדרה על ידי המשתמש וכוללת אפשרויות פיקוח על זרימה. פרק זה נועד לתאר את מעטפת בורן ([61ת5 6ת7ש208) על מנת לאפשר למשתמש ב-אזאנז להשתמש בה ביעילות ובאמינות. מאפייני המעטפת כוללים עיבוד בחזית (0תט0ע10760) וברקע (6מ0ז086%), ניתוב | קלט/פלט סטנדרטי, | צינורות | ומסננים (פילטרים), קובצי פקודות, תווים שמורים ומשתני המעטפת. 1 פקודות המעטפת קוראת פקודות ממסוף או מקובף ומבצעת אותן. פקודה מורכבת מרצף של מלים המופרדות ביניהן על ידי מרווחים. המילה הראשונה מציינת את הפקודה (אשר יכולה להיות תכנית או קוב פקודות) שיש לבצע. לדוגמה, הפקודה סחש תציג את המשתמשים אשר מחוברים כרגע למערכת: סתשף 0 12 266 65701 862688 5 12 26060 05ע66 1טפס הערה: שים לב, אנו מציגים פקודה ומתחתה - דוגמת פלט אפשרי. כדי לזהות את המשתמש כרגע במסוף מסוים, הקש: 1 חף סםש% 1 12 260 0601 8626858 יש לסיים כל פקודה בהקשת "חזט)6א". אפשר להקיש מספר פקודות בשורה אחת על ידי הפרדה בנקודה-פסיק (;): 6 וח סתש9ף 2 12 2606 6601 8060685 8 9 10:32:21 12 266 חסא 31 2 דגלים דגלים (%5ח6ת80ז8 1188) מציינים הפעלה של אופציות המותרות לפקודה מסוימת. לדוגמה, הפקודה 15 ללא דגל תציג את הפרטים הבאים: 118 6. סוס 6 מע סס הפקודת 18 עם הדגל 1- תציג את הפרטים הבאים: 1 515 6. 60 8 9ַָ מ18 10553 19608 089ע62ת8 1 שתע-שע-שע- 6 3 10 מ18 520 050299 620685ת8 1 שע-שע-שע- 3 פקודות עיבוד ברקע לאחר שניתנה פקודה, :וצרת המעטפת תהליך חדש וממתינה עד אשר הוא *סיים את עבודתו. רק לאחר מכן היא מוכנה לקבל פקודה נוספת מהמשתמש. אולם, פקודה המסתיימת ב-"8" תעביר את השליטה חזרה למעטפת בזמן שהיא מתבצעת, כך שהמעטפת תוכל לקבל את הפקודה הבאה. תפישה זו :דועה בשם עיבוד ברקע (אַת!0655סזק 6מטסזשא86כ). לדוגמה, הפקודה 500 -6 008%.0 8 תבצע את ההידור: (0116ת00) של התכנית "66506.0" ברקע, בעוד המשתמש *כול לבצע פקודות אחרות. 4 ביצוע של פקודות מקובצות בין שתי הפקודות הנראות מטה יש הבדל קטן, שיש להבין אותו: 46 סמ600;08/ 506 (859600ק 600;08%/ 5)66 בפקודה הראשונה, כפי שתצפה בוודאי, המעטפת עוברת למדריך "6%0/" ומציגה את תוכן קובצ הסיסמאות. לאחר ביצוע הפקודה, המעטפת נשארת ב-"666/". בפקודה השניה תופעל מעטפת חדשה. מעטפת זו תיעלם לאחר הביצוע של פקודת "086" והמדריך של המעטפת שהפעילה אותה לא ישתנה. 22 5 תווים שמורים והצגת תמליל על המסך במעטפת *שנם תווים מסוימים שיש להם משמעות כפולה, הן סמנטית והן | תחבירית. | תווים | אלה, | הידועים | כתווים | שמורים (6%80(8:80%019), מציינים פונקציות מיוחדות שיש לבצע בכל פעם שתו כזה מופיע. הרשימה המלאה של התוו*ם השמורים, כמו '<', '>', 'לל', '66', נמצאת בנספה א'. כאשר התו מקדים את התווים השמורים, הם מאבדים את משמעותם המיוחדת ומוצגים על המסך לפי צורתם הגרפית. לכן, כדי להציג על המסך את התו למשל צריך להקיש \ 0ת%60 ישנן שתי שיטות נוספות שבעזרתן ניתן להציג תווים: מרכאות רגילות ומרכאות כפולות. כל התווים הנמצאים בין שתי סימני מרכאות רגילות (פרט לתווי המרכאות) יוצגו כפי שהם. כדי להציג את התמליל: "(א/צ) ע1ק6? 216856 ?ץסץזק*" השתמש בפקודה הבאה: '(א/צ) 2601 210856 ?מסעעם*' סת660 התווים הנמצאים בין שני סימני מרכאות כפולות *וצגו על המסך, פרט ל-", , %, ו-', שאותם אפשר להציג בעזרת התו שיבוא לפניהם. 6 ניתוב קלט/פלט במערכת ההפעלה א1א11, כל היחידות ההיקפיות (וגם מסוף המשתמש) נחשבים קבצים במערכת הקבצים. בצורה זו ניתן לבצע את כל הקלט והפלט על-ידי קריאה מקבצים או כתיבה אליהם. כאשר המעטפת מבצעת פקודה, היא פותחת את מתארי (6018ק065011) הקובצ+ 0, 1 ו-2 הנקראים בהתאמה קלט סטנדרטי, פלט סטנדרטי ושגיאה סטנדרטית. מתארים אלה מתייחסים בדרך כלל למסוף של המשתמש וכך, ברירת המחדל של הפקודה היא לקרוא ממסוף המשתמש ולכתוב אליו. אולם לפני שפקודה מתבצעת, ניתן לנתב את הקלט או הפלט שלה בעזרת תווים שמורים. אם עומדים לבצע את התכנית "?8.00" אז הפקודה 58.016 < 6 תריף את התכנית ותנתב את הפלט הסטנדרטי שלה לקובצ הנקרא "ו וו וס" 3 הפקודה 8 > %8.016 תריצ את התכנית 8.006 עם (תונים שנקראו מהקובף "68+8ת!". ניתן לשלב את שתי הפקודות הקודמות בצורה הבאה: סטס < 6868ת1 > 58.00% קובצ הפלט "6טס" :יווצר בתנאי שהוא לא קיים, ואם הוא קיים - הוא יקוצצ לאפס. ניתן גם לצרף את התוצאות בסוף קוב פלט קיים בעזרת התו השמור << כפי שנראה להלן: %>טס << 068%68ת1 > 58.00% נפוצ גם ניתוב בעזרת התחביר הבא: ספרה< קישור של הקובצ לספרת מתאר הקוב ובכך הופכת אותו לפלט הסטנדרטי. ספרה%> קישור של הקוב לספרת מתאר הקובצ ובכך הופכת אותו לקלט הסטנדרטי. -8< סגירה של הקלט הסטנדרטל. -6> סגירה של הפלט הסטנדרטל. ניתן להוסיף ספרה לפני כל אחת מצורות התחביר שנראו לעיל. לדוגמה, הפקודה %>טס < 2 6תהמשסס תרי+ את 600806 ותנתב את פלט השגיאות הסטנדרטי לקוב "+וס", בעוד שהפקודה 1 קססמסס <1 6תבחמסס תריצ את 6תאותהז00 כאשר הפלט הסטנדרטי ופלט השגיאות הסטנדרטי מזווגים יחד; כלומר, היא מקשרת את מתאר הקוב 2 עם אותו קובצ שאליו היה קשור מתאר הקוב 1 (בדוגמה, הקובף "קת66"). בקבצי פקודות רבים במערכת אפשר לראות ניתוב ל-"[1ות/ ע66/". זהו קובצ שאליו יוכלים להכנס כל המשתמשים והוא דומה ל"חור שחור", שתפקידו לבלוע פלט לא רצוי. לדוגמה, אם רוצים לעקוב אחר זמני הביצוע של התכנית "6ש8.0", אשר מפיקה פלט להתקן הפלט הסטנדרטי (ברירת המחדל היא המסך של המשתמש), נוכל לנתב את הפלט של התכנית ל-"[1טת/צ66/" ואז *ופיע על המסך המידע הקשור לזמן בלבד: 1 /80/ < 8.016 561₪6 8 0.3 ע6פט 1.8 2681 15.6 4 7 שמות קבצים ותווים שמורים כל פקודה הניתנת למעטפת, נבדקת לפני ביצועה, כדי לראות אם היא מכילה אחד או *ותר מהתווים השמורים הבאים: *, ?ל ו-]. אם נמצא אחד מהתווים הללו, הפרמטר מוחלף בשמות הממוינים בצורה אלפאביתית, על פי התבנית הבאה: מתאים לכל מחרוזת (כולל מחרוזת ריקה). מתאים לכל תו בודד. ...] מתאים לכל אחד מהתווים הנמצאים בסוגריים. ניתן להשתמש בסימן -, כדי לציין תחום של תווים. הסימן ! לאחר הסוגר ] מציין כל תו, פרט לאלה הנמצאים בתוך הסוגריים. * פד -- אם שמות הקבצים ‏ "6650.8", "605%.0", "6650.6", "005.08" נמצאים במדריך הפעיל, אז השימוש בפקודת 18 בצירוף התוויס השמורים "?" ו-"*" יפיק את הפלט הנראה שלהלן: 7 5918 08 .0% 6 *909% 515 8 0 0 0.8 לדוגמה, נשתמש בפקודה *[2-%] %18 תפיק רשימה של כל הקבצים במדריך הנוכחי המתחילים באחת האותיות הנמצאות בין % ל-2 כולל. למעשה, זוהי אחריותה של המעטפת לבצע את ההרחבות ולהעביר את שמות הקבצים התואמים לפקודה. אם לא נמצאו שמות קבצים התואמים לתבנית מסוימת, תעביר המעטפת לפקודה את המחרוזת כפי שהיא, יחד עם התווים השמורים (כמו * ו-?). 8 ציגורות ומסננים ניתן להשתמש בקו האנכי "| הידוע כסימן הצינור, כדי להריף רצף של פקודות המהוות *חד צינור. במהלך ביצוע רצף הפקודות, הופך להיות הפלט הסטנדרטי של פקודה אחת לקלט הסטנדרטי של פקודה אחרת. 55 מסנן ("11166) הוא פקודה, אשר קולטת מההתקן הסטנדרטי שלה, משנה את הקלט המגיע ומנתבת אותו לפלט הסטנדרטי שלה. לדוגמה, הפקודה צמה קסעש | סתש5 תאתר ותדפיס את כל המשתמשים (אם ישנם כאלה) העובדים באותו רגע תחת השם "צָחַתא8". 9 משתני המעטפת ניתן לחלק את משתני המעטפת לשתי קטגוריות: פרמטרים המבוססים על מלות מפתה (8:ז6%0ו[8ז8ק 6זסשץ6) ופרמטרים מקומיים (06+019ת878ק 81ת051610סק). בכל הקטגוריות, מציין התו % את החלפת המשתנה. פרמטרים המבוססים על מלות מפתח חייבים להתחיל באות ולאחריה אותיות נוספות, ספרות או קו תחתון. לדוגמה, ברמת הפקודה של המעטפת, פקודת ההשמה הבאה 58/ ע0ת / 860% / אמסש/ =ס%5 מקצה למשתנה "ק" את המסלול המפורט בפקודה. ניתן לאחר מכן להשתמש בערך של "כ" על ידי הקשה של הסימן % לפניו. לדוגמה, הפקודה שלפנינו כ% 66586 ש9₪ תעביר את הקוב "665%" מהמדריך הפעיל באותו רגע למדריך בשם 5" .)...... אם נכתוך את הפקודה ספ 508 היא תשנה את המדריך הנוכחי ל-"8007065/ עת8/ 800%/ אזסאי/". אם מקישים לאחר הפרמטר אות, ספרה או קו תחתון שאין אנו רוצים שייחשבו כחלק משם המשתנה, עלענו להשתמש בסוגריים מסולסלים. לדוגמה, סוס / 50112609 / 86 / 866% / אפסשו/ =ס% 2 ס06055 שטש%9 פקודות אלו העבירו את הקובף "565%" למדריך 02 807 / 800% / וסאי ישנם מספר משתני מעטפת המוגדרים מראש ומתוארים בקוב "1116סזק. /91101]8". | קובצ זה יבוצע בזמן הכניסה למערכת ואז משתני המעטפת יקבלו את הערך שהוקצה להם. ניתן להשתמש 16 בפקודת )56 כדי לקבל רשימה של משתנים אלה (ראה פרק 4). הבה נדון בנפרד בכל אחד מהמשתנים שבקוב> "1116סקק. / 10" - 110(]5 - מכיל את שם מדריך הבית המשמש את פקודת 66. לדוגמה, כל אחת מהפקודות %110(]8₪ %66, או %06, תשנה את המדריך הנוכחי הפעיל למדריך הבית. - 105 - מציין את מפרידי השדה הפנימי (11616 [88תז66ח1 %9) שמחלקים את הפקודה. ערכי ברירת המחדלי הם בדרך כלל 50866, 189 ו-6ת11[ש6ת. - 18410 - מציין את שם הקוב שהמעטפת בודקת, כדי למצוא אם המשתמש קיבל הודעות חדשות. - 11/1008 - מציין את התדירות (בשניות) שבה המעטפת צריכה לבדוק אם התקבלו הודעות חדשות. - 247111 - מציין את מסלול החיפוש של פקודות. לדוגמה, הפקודה מנס/ זפט/ :ח1ם/ =דזיד/ק תחפש פקודה מסוימת במדריך ת1כ/ תחילה ולאחר מכן במדריך "ת01/:פט/". - 251 - מציין את המחרוזת הראשית של המנחה ()קומסעס). בזמן שנכנסים למערכת, המחרוזת הראשית היא, בדרך כלל, סימן %, או שם המערכת. - 052 - מציין את המחרוזת המשנית של המנחה, שתופיע אם הפקודה תהיה מתכולה של שורה אחת. -‏ 511811 - מציין את סוג המעטפת שבשימוש. לדוגמה, "ת5/ת1ס/" למעטפת בורן, "ת05/ם1פ/" למעטפת 6 ו-"תפז/תנום/" למעטפת מוגבלת. - ]151 - מציין את סוג המסוף שמשתמשים בו (לדוגמה, 5200ט). -‏ 20א11א1 - אפשרויות ותכונות המסוף מתוארות בבסיס נתונים הנמצא ב-"0+תותז6+/פ11/זפט/". כדי לבחון בקלות תיאור של מסוף חדש, מציבים במשתנה 80א11אמ7' את שם המסלול, אשר כולל את התיאור של סתאזאאפץ. - 60840]תם'1 - דומה למשתנה ‏ 0עא11א15. משתנה זה מתייחס לאפשרויות המסוף המוגדרות בבסיס הנתונים "ק6%60/667[008/". כאשר מתבצע קוב פקודות של המעטפת, ניתן להכנס לארגומנטים שלו בעזרת הפרמטרים המקומיים %0, %1, ....%9. | הפרמטר %0 מכיל תמיד את שם קוב הפקודות שמתבצע. לדוגמה, כאשר מפעילים קוב פקודות של המעטפת הנקרא "ע66808ש" בצורה הבאה 7 6 5006468 משמעות הפרמטרים הינה כדהלן: 0 יכיל את הערך ע66808או. 1 יכיל את הערך 6. 2 יכיל את הערך 7. 3 לא יוגדרו. 17 למספר פרמטרים נוספים אשר הוגדרו, ניתן לפנות בתוך קובצ הפקודות: % מספר הפרמטרים המקומיים. בדוגמה "ע66808ש", ערך הפרמטר יהיה 2 מכיון ששני פרמטרים הועברו לפקודה. 1 מספר התהליך של הפקודה האחרונה שרצה ברקע. % מספר התהליך של מעטפת זו. כדאי להשתמש בפרמטר זה ליצירת קובצי עבודה זמניים ויחודיים (כמו למשל %%קן(19256). -% דגלי המעטפת הנוכחיים, אשר סופקו למעטפת בעת שהופעלה, או באמצעות הפקודה 566. ?7 המצב שבו הסתיימה הפקודה האחרונה שבוצעה. רוב הפקודות מחזירות ערך עשרוני השווה לאפס אם הן מסתיימות בהצלחה. על כן ניתן להשתמש בפרמטר זה כדי לבדוק הצלחה או כישלון של פקודה. *% פרמטר זה יתאים לכל הפרמטרים שסופקו, להוציא פרמטר %0. בסעיף 3.15 ניתן לראות קובצי פקודות של המעטפת המשתמשים בפרמטרים שהוסברו לעיל. 0 הצבה בפקודות הצבה בפקודות הינה אחד המאפיינים החזקים ביותר של המעטפת. את הפלט הסטנדרטי של פקודה, הנמצא בין מרכאות רגילות. ('), ניתן להציב לתוך משתנה, שגיאה נפוצה היא להשתמש במרכאות כפולות במקום מרכאות רגילות. שים לב לכך. הפקודה ע)) תזהה את המסוף הפעיל באותו רגע ותציין אותו בצורה "<ת6ע660/50/", כאשר <ם> היו מספר עשרוני. כדי להדפיס את הפלט "<ת6ע55/ע86/" נכתוב את הפקודות הבאות: 'ץ60 '=ע65ע₪% צַט6ְעַ₪ש5 0ת%60 אם יש צורך להדפיט רק <ם6ע60 מתוך <ת6ע660/%6/, ניתן להשתמש בפקודת 566 ובפקודת 1 88 סחש כדי לעשות זאת. לדוגמה, נשתמש בפקודה 1 מה סתש ונקבל את הפלט הבא: 0 22 ת18 01ע50 685ע62תם עתה, כדי לקבל את שם המסוף (כלומר, את השדה 01ע56), נשתמש בפקודות ההצבה הבאות: 8 '1 ם8 סתשט' 5566 92 עֶס6עַש%9 0ם560 השדה "01ע6" *וצג במסוף, מכיון שהפרמטרים %1, %2, 53, %4 ו-%5 | *היו | בהתאמה | "6:685ת8", | "01ע00", | "תה" "22" . ו-"10:30", ואנו מבקשים את פרמטר 2 בלבד. 1 פקודות שימושיות נציג עתה מספר פקודות נפוצות בקבצי בפקודות של מעטפת. מספר קבצי פקודות המדגימים איך להשתמש בפקודות אלו נמצאים בחלק האחרון של פרק זה. - 60620 - מציגה את הארגומנטים שלה על התקן הפלט הסטנדרטי (לדוגמה, %128[1 600 תציג את הערך של המשתנה ]את7). - 1686 - משמשת לקריאת תווים מערו+ הקלט הסטנדרטי. לדוגמה, כדי לקרוא את התאריך שהמשתמש טיפק ולהציג אותו שוב, השתמש בפקודות הבאות: "ס :6866 ע66ת6 16886ק" ס0ת660 6 52686 68 ס 5600 - 056+ (ביטוי) - הפקודה %65% מעריכה את ה"ביטוי" ואם הערך שלו הוא נכון, היא מחזירה אפס (אמת). במקרים אחרים היא מחזירה ערך שאעו אפס (שקר). הביטוי יכול להיות מורכב מהמשפטים הבאים: שם-קוב% ‏ ע- אמת, | אם ‏ הקובף ניתן | לקריאה | (למשל, 06 ת;- 605%). שם-קוב+ ש- אמת, אם הקוב ניתן לכתיבה שם-קובף א- אמת, אם הקוב ניתן לביצוע שם-קוב% ‏ 8- אמת, אם נפח הקוב גדול מאפס שם-קובצ ש- אמת, אם נקבעה סיבית לזיהוי המשתמש שם-קוב+ 6- אמת, אם הקוב הוא מדריך 2 קס [6 אשר ק0ס יכול להיות 6ת-, 64-, 6%-, ₪6-, 6[- ו-16-. משמעותן של אופציות אלו הוא בהתאמה: לא שווה, שווח, גדול מ-, גדול מ- או שווה, קטן מ-, וקטן מ- או שווה. - צַתָא6 - משמשת להערכת ארגומנטים. לדוגמה, אם נכתוב את ההוראות הבאות, הן ידפיסו את הערך 34. '8 * 2 + 2 מסאם'=%8 8 9600 39 שים לב, שיש להקיש תו 850806 (לוכסן הפוך) לפני הסימן '*', שאם לא כן, נקבל רשימה של הקבצים במדריך שפעיל באותו רגע. - [תהליך] )841 - ממתינה עד אשר התהליך המצוין בסוגריים ישלים את עבודתו וידווח על מצבו בעת סיום העבודה. אם לא צויין תהליך, תהיה ההמתנה עד אשר כל תהליכי הבנים הפועלים באותו רגע יחזירו קוד אפס. - ק8166 - משמשת להשעיית הביצוע של התהליך למספר שניות הנקוב בפקודה. לדוגמה, (6עסמ ו 1- 18 ;10 51660) תהיה המתנה של 10 שניות ואח"כ תבוצע הפקודה שנמצאת אחרי הסימן נקודה-פסיק. - 811ש - שולחת הודעות לכל המשתמשים במערכת. לדוגמה, 1 ּ, "65ת5600 60 ת1 תש60 שת801 66₪פ5ע5" 0ם960 2 אותות ומלכודות אותות (815ת518) *כולים להיות מופקים כתוצאה מהתרחשות אירועים חריגים כמו פקודת 111א, או טעות בתכנית, שגיאת אפיק (ז0עז6 8שכ), או הקשה על 28. במקרים רבים, אות :גרום להפסקת התהליך המקבל, אבל במקרים רבים אחרים ניתן ללכוד את האות ולהתעלם ממנו, או להשתמש בו כדי להעביר את השליטה למקום כלשהו אחר בתכנית או במערכת ההפעלה. בטבלה 3.1 ניתן למצוא רשימה של האותות הנפוצים ב-א1אנז. פקודת המלכודת ק8ז+ מיועדת ללכוד את האותות הנכנסים: ל<מספר: -האותות> <רצף-פקודות> קפס לדוגמה, אם נרשום את הפקודה 3 2 1 "" סהע6 היא תחסום את פסקי המקלדת (כיון שבהתקבל אחד האותות הללוּ תתבצע הפקודה ‏ "", שהיא פקודה ריקה). פירושו של דבר, שהמשתמש לא יוכל לעצור את ביצוע קוב הפקודות על ידי האותות נז510, 7א5101, ו-51001(11. כדי להחזיר את פסקי המקלדת יש להשתמש בפקודה הבאה: 3 2 1 כ8ע6 20 כדי לבטל את כל קובצי "*קוז66" שבמדריך "65%+/זפט/" ולהפסיק את ביצוע קובצ הפקודות (באמצעות פקודת 15א6), לאחר שמתקבלים אותות 2 או 3, אפשר להשתמש בפקודה הבאה: 3 2 "10א0; *ק608%/%0₪/עפט/ םמע" קהעס טבלה 3.1 אותות ה-אזאחח ניתוק 1 3 פסק 2 א יציאה 3 | 5100011 הוראה לא חוקית (לא אותחלה בזמן שנתפסה) 8 0 מלכודת לא חוקית (לא הותחלה בזמן שנתפסה) ‏ 5 510788 הוראת /7842 6 7 הוראת דא 7 7 חריגה בנקודה צפה 8 ₪ ביטול (לא ניתן ללכוד או להתעלם) 510709 שגיאת אפיק 19 5 הפרה של כללי החלוקה לסגמנטים 1 510580 ארגומנט לא תקין בפקודת קריאה של המערכת 12 5 כתיבה לצינור, שאין מי שיקרא ממנו 3 5101 שעון מעורר 108 אות סיום/הפסקה של תכנית 5 516 אות 1 המוגדר על ידי המשתמש 6 5100581 אות 2 המוגדר על ידי המשתמש 7 5100582 חיסול של ילד 88| 51000 תקלה במתח החשמל או שיתחול (%ע265%68) 9 | ₪₪ק5102 ניתן להשתמש בפקודה %111 כדי לשלוח אות לתהליך. לדוגמה, את האות המופק על-ידי הפקודה <מס' מזהה של התהליך> 15- %%111 ניתן ללכוד בעזרת הפקודה ק8ז0. אולם הפקודה <מס' מזהה של התהליך> 9- %%111 תמיד תפסיק את פעולתו של התהליך, מכיון שלא ניתן ללכוד את 2 (אות מס' 9), או להתעלם ממנו. חשוב לזכור, שאם אות אינו מפסיק את פעולתו של תהליךך שר>, התהליך ימשיך את פעולתו, אלא אם צוינה במפורש הפקודה )1א6. +1 3 שימוש במסמכי 11076 ניתן להשתמש במסמך 11676 כדי לבצע רצף של פקודות. רצף הפקודות מתחיל בתווים '>6' ולאחריהם רושמים סימן כמו '%', או מחרוזת כמו 'עאם'; גוף המחרוזת מסתיים בפעם הבאה שבה מופיע הסימן, או המחרוזת שרשמנו לאחר התווים '66'. על :די ציון הסימן שלאחר '>6', ניתן למנוע החלפה של הסימנים %,; ו ו-'. הבה נתבונן במקרה שבו יש להמיר את כל האותיות הקטנות בקוב באותיות גדולות. ניתן להשתמש לשם כך בפקודה "] (518%6ת08), או במסמך 1676]. אפשר להשתמש בפקודה "6 בצורה הבאה: 6 < "[4-2]" "[8-2]" עס | 2116ת1 908% "1116" הינו קובצ הקלט ו-"61116שס" הינו קובצ הפלט. אפשר לבצע את המרת האותיות הקטנות בגדולות באמצעות מסמך 6. לצורך זה יש לשלב בקובץ הפקודות את תכנית העריכה 66, ואת הפקודות שלה, כפי שנראה להלן: 01 51 % 1 104 , , 1 /2/5//2/ף 4 % אם קובא הפקודות הנ"ל *יקרא "ז6קקט", נוכל להשתמש בפקודה 6 קמ ססקט9 כדי להמיר ‏ "את כל התווים בקובצ "1116ם1" לאותיות גדולות. 12 4 תבניות תכנות במעטפת בקבצי פקודות של המעטפת ניתן לכלול פקודות המשתמשות במפעילים (8:ז00678%0) לוג:ים. לדוגמה, (יתן להשתמש במפעיל = (שווה) ובמפעיל-1 (לא שווה) כדי להשוות מחחרוחזות. ניתן להשתמש במפעיל ‏ 88 ("611ת8") ובמפעיל | | ("11זס") כדי לבצע את הפעולות הלוגיות כעאג ו-05 בהתאמה. לדוגמה, המשפט 0 8₪ 100 18- 58016 668% יבדוק את ערך המשתנה "6נש" ואם הערך שלו קטן או שווה ל-100, הוא יקבל את הערך 60. אם נשתמש במפעיל "| |" במקום במפעיל ":8.8", נקבל פעולה הפוכה. כלומר, באמצעות המשפט הבא 0 || 100 16- 16ט5 6686 ניתן למשתנה "6נ1ט" את הערך 60, רק אם ערכו קטן או שווה ל-100. בנוסף למפעילים אלה הוגדרו מספר מלים שמורות שניתן להשתמש בהם ליצירת מבני תכנות חזקים ביותר. להלן רשימת המלים השמורות: 6 71 6 1% תסתס 19 6 606 60 1סט דש תד פסץ בסעיפי המשנה שלהלן נסביר את המבנים של הפקודות הבאות: ]1 0856, 116חעש, 11)תט ו-ז10. המבנים 18 ו-0856 מאפשרים למשתמש להתנות ביצוע של פקודות. המבנים 116תש, |1)תט ו-:10 מאפשרים ליישם לולאות, אשר בהן סדרת פקודות מתבצעת עד אשר תנאי, או מספר תנאים מתסיימים. |33 תבנית התכנות ]1 המבנה של משפט 11: (הסוגריים משמשים לתיחום מלת ההסבר ואינם חלק מן הפקודה) (תנאי) ‏ 1% תסתס (משפט/ ים) (תנאי) ‏ 011% מסתס (משפט/ ים) 1-8 (משפט/ ים) 71 הקטעים המכילים ‏ את 6118 ו-6156 הינם רשות. לדוגמה, כדי לבדוק שקובץ קיים וניתן לביצוע נכתוב: 0 א- 6655 15 חסתם "התט0+ 985 58980.0 116ע" 600 0 "תהג10 806 985 58980.6 116ם" 0ם60 1 תבנית התכנות 6856 כל אשר ניתן להשיג באמצעות מספר משפטי 1 ו-]611 ניתן לכתוב במשפט 6856 אחד, אשר מבוסס על התאמת תבניות. במשפט 6856 ניתן להשתמש בתו השמור '*', המציין מספר כלשהו של תווים ובתו '?'- המתאים לכל תו בודד. ניתן להשתמש גם בסוגריים המרובעים כדי לציין תחום. משפט 06856 הוא בעל המבנה הבא (הסוגר הימני וסימני ; הם חלק מן הפקודה): תנ מלה 08586 ;משפט/ים ‏ ( אופציה1 ;)משפט/ים ‏ ( אופציה2 ;משפט/ים ( אופציהע 0-6 4 בדוגמה שלהלן, השתמשנו במשפט 68856 לזיהוי מערכת בעזרת הארגומנט שהמשתמש מעביר לקובצ הפקודות שהפעיל אותה. התו '*' הינו ברירת המחדל, שתפקידו לציין תו כלשהו: 1=חהח תג 6חהח5 456' ;;"ח20 ח566ע5 165" 6620 (20 ;;"ת80 05 40 ח566ע5 165" 0מ60 ( 80 | 40 ;;"ת61+160ה106 28 808 688 ת566ע5" 0ת60 ( * לולאת 6ווחש לולאת 6!נ1חש הינה בעלת המבנה הבא (הסוגריים אינם חלק מן הפקודה): (תנאי) 16נתש 0ף (משפט/ ים) 606 קובצ הפקודות הבא *כול לפעול ברקע ולהדפיס הודעה כאשר משתמש בשם 'עַתא' נכנס למערכת: ( קח6ם < עַהתג3 4560 | סמא ) 116מט 00 5 51660 06( "הח5606צ5 628 0 ם1 10606 5%טך 135 'צ0ת8' 0562" 6020 לולאת 11)חט לולאת 1)חש הינה בעלת המבנה הבא (הסוגריים אינם חלק מן הפקודה): (תנאי) ‏ 11סתט סף (משפט/ ים) 6 לדוגמה, כדי לבדוק אם תהליך שר יצר קובצ בשם '68%8', 5 ואם לא - לבצע בדיקה חוזרת בכל 10 שניות, יש לכתוב את הפקודות הבאות: 8 5- 6655 11סתט 0 0 51660 006 "ה268660 מ266 אסת 185 6868 0116" 0מ60 לולאת +10 לולאת 10% הינה בעלת המבנה הבא: [רשימת-שמות ת1] שם 2ס? בדוגמה הבאה, לולאת 10% משמשת לחישוב והדפסת הערך של ריבוע המספרים 1, 2, 3 ו-4: 4 1 8ת1 1 0+ 00 % * 51 מקא6'=ה "ת51=58 01 500826" 0ת60 006 5 סיכום - דוגמאות של קובצי פקודות ניתן ליצור קוב פקודות של המעטפת בעזרת תכנית עריכה, כמו גצ למשל. שורה בקובצ> הפקודות המתחילה בסימן "א" מתורגמת כשורת הערה שאינה מבוצעת. לאחר שנוצר קוב+ הפקודות ונשמר, יש לשנות את אופן (1066) ההפעלה שלו, כדי שניתן *היה לבצע אותו. אפשר לעשות זאת על ידי שימוש בפקודה שם-קובצ-הפקודות א+ 06מת%0 או בפקודה שם-קובאצ-הפקודות 6777 06ש₪ם%6 6 שתי הפקודות גורמות לכך שאתה, הקבוצה שלך וכל שאר המשתמשים תוכלו לבצע את קוב הפקודות (ראה פקודת 6סת0). נסכם את הפרק בהצגה של מספר קבצי פקודות המדגימים את אשר למדנו. חסימת פסקים מהמקלדת בקובצ הפקודות הבא ישנה לולאה שתפעל עד אשר תקיש "ע", או עד שתשתמש בפקודה <06058-16ז:ק> 9 811. לא ניתן להפסיק פקודה זו באמצע, כמו למשל בהקשת .231, מכיון שהשתמשנו בפקודה 8+ כדי לבטל אפשרות של קבלת אות מספר 2. שים לב לשימוש בתבנית התכנות ]1 עם סוגריים מרובעים: '' 1000 : 50106 % ג 3 1 "" סהעם 6 116תא :85 ת1666תא 06 8150 ת08 א610ם 08ט562ה00 116םא 66 + : 116םא 10 6 שת 658מקקט5 50 ₪560 15 אס261 028240562 "6" 6ם%6 "6 :600 ₪0 ץ 05 6ת1ע50 עַת8 ע6סתם" 0ם60 3 1680 "ץ" = "51" 6685 11 :85 5806 6ת6 15 אס61ם 06טע56ה00 11 % ] ₪ ₪ = "58" [ +1 חסםם א 1 1006 מספור שורות בקובץ והדפסתו קובצ הפקודות הבא משתמש בפקודת אש8 כדי למספר שורות בקוב>. לאחר מכן הוא מדפיס את הקובצ בתנאי ששני ארגומנטים כלשהם הועברו לקובצ הפקודות. אם לא כן, הוא מציג את הקוב>, מסך אחר מסך, באמצעות הפקודה 6חסת. 5 :100ת%50 ג [ 0 64- 5% ] 11 תסתם 17 02106660 26 ₪0 086 1116 ץ506011 516856" 0ת60 "ת5צ6מחטת 6ת11 ת16ט "'ק1 86ה1116 65ת11ק1' 15 סחַ058" 0ם60 "ת8550060 15 '6ע0ח' שַת₪1551 15 'ק1' 11" 0מ60 1 616 41 .1 0060866 826 65תשתטסָע3 0% מ6עתטת 86ם6 ע[תס שהת6 66סם % ס] 08106 02] 060% ₪0 ₪806 15 סקה666ה סה + [ 2 6ח- 5% ]+11 תסתם שסח | 51 '(50 ,תא ,"ת%5 %36" +6ה1מק)' אשב 16| "1ס-" סן | 6- עם | 91 '(50 ,תא ,"ת%5 %36" ]סתגתק)' אשב 54 כדי למספר שורות של קובף הנקרא "56506.6" ולהדפיס אותו במדפסת, צריך להקיש את הפקודה הבאה: כ 56950.0 65םת11ס%1 הידור והעברת שגיאות תחביריות לקובץ הפקודה 66 משמשת להידור תכניות הכתובות בשפת 6. בקוב הפקודות שלהלן, הפלט הסטנדרטי מקושר עם הקובצ "קות66" שאליו יועברו שגיאות תחביריות (אם ישנן כאלה). קוב+ השגיאות הסטנדרטי משולב בקובצ הפלט הסטנדרטי: %502100 : ג "הת6ת 116+ 60 62018 א8>תץ5 שת0116001 6ת3 %1 ש8ה0111ה60" 0ג60 1 סת1<060 91 60 כדי להדר קוב הנקרא "6.ק8שפ5" צריך להקיש את הפקודה: 5000012600 6 הדפסת כל הקבצים שבמדריך לפעמים יש צורך להדפיס את כל הקבציס שבמדריך. קובצ הפקודות הבא ימספר וידפיס את כל המדריך ששמו הועבר כארגומנט. 34502106 ;:: 5 1 ח *5 ם1 1 צ0+ 8 010 =" 6000 =" 6020 '(50,מא,"ם%5 6" +סחנתק)' אאה | 51 086 פן | 172- 6- מס | 6ת60 כדי להדפיס את הקבצים במדריך "01006ם5:/1ט/", צריך להקיש את הפקודה 686 פ8ס6ת581111 חישובים אריתמטיים קובצ הפקודות "6416" שלהלן מדגים את השימוש בפקודת זקא6 לביצוע חישובים ולמציאת אורך של מחרוזת. 50106 : 6 8 על 05080606 6 56 608280062 "*" 0ת8 280%6:5 : 6 ה80%5185ע הסט 0 ח8601%10 102 עקא6 056 % ד / ( 77000 + 350000 ) עסאס'=8 "חת 8-58" 600 ף שם טש סש ה1168010ק161טת 05] מק8א6 ₪056 % ?2 * 58 עקא0='6 "ת 0-50" 6000 % 6 הא םג 5 05 עפמחטת 6הט60 60 תקא6 6פט 1150 % תנעס 111 1% 50 ,10066 0082805625 56068 15 "0:685תת" .6.6 + אס61ם 80018א6 6ת6 ת1 7 ע6סחטה 6ת6 + "685 ה1"=סחהת '*,' : שההת5 עקא6 בניית תפריט ניתן להשתמש בקובף פקודות לבניית תפריט פשוט כפי שנראה להלן.| משפט "6856" משמש לזיהוי הקלט של המשתמש. קוב הפקודות *סתיים כאשר המשתמש יקיש את הספרה 3. 606 : 5616 + ג 19 2 "" קבע+ 0 60 "ג" 14016ע8 1:181126ה1 % 30 קססן 186ה1?ה1 % 6 116תט 00 502660 66 01682 % 0 "תתתחת" 600 "ה5א6110אטץ א5288צ5 -- 0 א 2 א " 6000 "ה[5=555555=55בשככבםםבשבפפפכם " 0000 "הת 6856 606 16עת = 1 " 6000 "תתח575606 6 תס 6ַ6ח0ָ10 15 סמא 6ת1ץק = 2 " 6000 "התתם15אם = 3 " 6000 "ס : ת56160%10 60887 218856 " 6020 8 2680 0 חן 58 0856 ;;0806 (1 ;;סתא (2 ;;)1א01685;6 (3 1 ץס6עחטת מ610ק0 116טה1 = 58" 0ת60 (* 6 "ס : 6טה%1ה60 60 תתט66ם 16אה" 600 5 680 0006 עריכת קבצים עם מסמך 6זס קוב הפקודות "ז8[1+0" הנראה להלן מראה כיצד ניתן לשנות במדריך מסוים את כל הקבצים עם הסיומת "1.". הפעולה נעשית בעזרת תכנית העריכה 66 במסמך 6ז1160. 0 : ססק5021 % ג 0 ].* ם1 1116 ע10 00 "55118ת" 600 000% 1626 01 56826 % |> 92116 - 60 5 6ה6ססג 36 2116 6(6 ת1 1 6ה11 60 60 % 18 00 6הג1 11256 חס 65טק % 00 50 2 ש6ת:11 0ח5600 חס 5טק % 2\ 6 סטקה1 "60" 616 8:65ה56201 115600ט! 8 20 6 ח541ת00 6בת= 1116 6ת6 ת1 1165 411 ססָתהת0 חאסת % " 2*2ג10610" ₪0 " 0001022" שט1בט % 4 2*2ג5//10610/ 6/1001082 6 ₪626 6086 0280865 66 6ט58 % א 1 606 ס6תם 0116 % ]: %ה06ט000 ₪656 0% 6ת6 % ו 00 0? 0% 6ת6 % 06 קריאות לפונקציות בקובצי פקודות קוב הפקודות שלהלן מראה כיצד לכתוב ולהפעיל פונקציות בקובצי פקודות. הפונקציה 6ם1 מיועדת להציג את מספר השורה בקוב% "65%+", המכיל את המלה "עסתת". + 500106 :: 6 | ()0ח1 | 0סח 86 680ת 6116 | ₪656 086 00 'ה6ת%' 61026 ת56016010 0% 56ט 6ת6 066 % תסתם ; [ "צעְסהאה" = "6ה%11" ] 1% 06 985 'ץסתהת' 9020 66 םס1תא תס משעחטה 6ת11 600 % סל 6020 5 00662 ת6סתטה 6ת11 6856ת6ת1 % '1 + 500 עקא6'=סת 0066 58 סג 60 ע6שהטסס תף3551 6תג '0ת?' תס1םסתט] שאסטת1 % '0הטס+' 13016תהט 6תם ₪0 % 610% 0811 ת0ג6סהט] 6(ם ת1 ₪560 326 65ט028 6ח8006 סת: 6מסה + '0ח? '=6תט0ס+ תסתם ; [ 0 =! 6תט0ס51 | 1% "ה6תט0+% 6ת11 תס 'עסתהּת' שַת5521 66 6תט50:20" 0ת60 6 "ה'ץסחגת' שת5051 6(6 100866 05ה ת50:03" 0ת60 41 1 פרק 4 שינוי'ם בסביבת המעטפת על משתמשי א1א1[1 להבין את סביבת המעטפת כדי שיוכלו להשתמש במערכת ההפעלה לפיתוח :ישומים. פרק זה מסביר, בעזרת מספר דוגמאות, כיצד לטפל בסביבת המעטפת ולשנותה מרמת הפקודה של המעטפת, מתוך קובצי פקודות (10611165ז50), ומתוך תכניות הכתובות בשפת ‏ 6. 1 משתני המעטפת הסביבה היא לשומה המכילה זוגות של משתנה-ערך בצורה הבאה: ערך=משתנה טי את הרשימה ההתחלתית של הזוגות משתנה-ערך, המשמשת לקביעת סביבת המשתמש, ניתן למצוא בקובף "01116זק/6%6/" (במעטפת 6תזט0סע). קוב זה יבוצע בזמן הכניסה. למערכת ואז יוקצה לכל ערך מתאים. ניתן לקבל רשימה של משתני הסביבה הנראים מטה, בעזרת הפקודה "טמס6" (ראה הסבר אודות המשתנים בפרק 3). ץח צ0%ת800%/8/א%תסא/ = מס 5 = ץ5/0811/300ט/ = ו 0 =א1008660ג /ץ5ט/:ת1ס/ = אצת 5 = 1 < ב 2 מ5/ח1ם/ = ונ 0 = אגפך ניתן | ליצור זוגות חדשים של משתנה-ערך וניתן לשנות את הקיימים בעזרת הצבות פשוטות ופקודת 0016א6 כפי שנראה בהמשך. 2 לדוגמה, כאשר נכתוב את הפקודות אססוזה8=אתםך9 אתםץ 6עסקא50 ישתנה הערך של משתנה הסביבה ]%(א1 ל-"א6קותא". באופן דומה, כאשר נכתוב את הפקודות 00 / תה / עפגו/ =2. 561 12עש 6עסקאס5 הן יכניסו את המשתנה "ז61עוח", המוגדר על-ידי המשתמש, לסביבת העבודה. בצורה זו ניתן להשתמש בפקודת +ז0קא6 כדי לקשור משתנים חדשים לטביבה. דרך אחרת לקשירת זוגות של משתנה-ערך לסביבה, היא להשתמש באמצעות הפקודה 8- 56%. לדוגמה: 8- 58560 6ץ = 5 עפטו/ =15 ס% במקרה זה תכניס הפקודה 8- 566 לסביבה את כל הזוגות שבאים אחריה. כדי לבטל את ההשפעה של 8- 566 השתמש ב-8+ )56. ניתן להשתמש בפקודת 6%פחש כדי לבטל זוגות של משתנה-ערך. לדוגמה, אם נכתוב את 56%תט%9 פקודה זו תבטל את המשתנה 1881 מתוך הסביבה. שים לב, לא ניתן לבטל משתנים אלה: פ5ח1, 52ק, 51, דב ק, 056% זוא תרגיל מעניין בשלב זה יהיה להשתמש בפקודות 5606 ו-טח6, לאחר שנשתמש בפקודות 6ז20א6, 8- 566 ו-66פחש, כך ניתן להבין את ההבדל בין 566 לבין-טת6. 2 הסביבה של תכנית 6 רשימה של זוגות משתנה-ערך, הקובעים את הסביבה, מועברת לתכנית המתבצעת בדרך שמועברת רשימת ארגומנטים. כאשר תכנית 6 מתבצעת, הפקודות שמפעילות אותה נראות כך: ( עטתס, טשפה , 8960 ) 81 1 סם1 :| ]סטתס* ,[ ]טשעה* עפת0 "סאַז8" הינו מונה הארגומנטים. "צשז8" הינו מערך של מצביעי 3 תווים (9ז%6ת1סק 8180%6ת0) למחרוזות המסתיימות בתו ריק (ת1ע50 | 8060ת(ז11-50ום). | "קטת6" העו מערך של מצביע: תווים למחרוזות הקובעות את הסביבה של התכנית. ניתן. לציין במפורש בעזרת פקודת 6016א6 את הסביבה שבה תכנית מסוימת תתבצע כפי שנראה להלן: )=[]סטת6* מגת0 , "עְסת3/ ע5ט/=6א0א" ,"56 צא=את5" /* 2620 עס 2620108566 06 ₪056 1156 */ 0 :1 ().ם81ח ; (סְטח6,"ם5","ת5/ה6016)"/01א6 ) שים לב שבדוגמה לעיל השינויים הם בסביבה שבה התכנית מתבצעת בלבד, ולא בסביבת האב שמתוכה הופעלה התוכנית (סביבת האב יכולה להיות, לדוגמה, הסביבה של קובצ פקודות של המעטפת שמתוכו הופעלה התכנית). בדיון שלהלן נראה כיצד אפשר לשנות גם את סביבת האב. ניתן לקבל את פירוט הסביבה של תכנית מסוימת על ידי שימוש במשתנה החיצוני "תסענטת6" כפי שנראה להלן. ;הסע1טת6** 6082 תע66א6 ;טתסק** 0082 ()ם81ח 2 6ת1 ;0 טת6=טת6ק (טתסק*)116ם | ; (++טת6ק*,0,"ת%0=%5-116עט מת6ההסע1טתם")+6ת1צק ;++0 ] 4 (יתן להשתמש בשגרת הספריה "טת₪6%6" כדי לבחון את משתל הסביבה ובשגרה "טת66טק" - כדי לשנות את ערך משתנה הסביבה הקיים או כדי להוסיף לסביבה זוג חדש של משתנה-ערך. השגרה "טִת66טכ"- משיגה את השטח הדרוש למשתנים החדשים על ידי קריאה לשגרת המערכת "סס11החז". התכנית בשפת ‏ 6 שלהלן מדגימה את השימוש בשתי השגרות. ; [%860]40 0085 () ם₪1 | ;[40]ץ ע8ת0 ( ("6120ט1586-5") טתסק ח )15 ז ; ("ת)תסהתסת1טה6 00117 06ת680 :מסממם")]םתנגצק ;(15)1א6 ]) ( (ץ ,"אתםן") טח96 םח 15 | ; ("ת6ת6הת1:0שה6 2680 680005 :תסעעם")1םהגמק ;(16)2א9 ] 06| ; (ץ,"ת806=%5ה 81ת6201) אשא")61ה1צק ; (16)0א6 /* הגעשַסתק ה81ח 0% 60 */ ( ]הסההס:1נטת6 תג +0 6ט1גט ספֶת8ת0 70 : 86ט */ /* 18016תהע (5)טת6ק ה שה1 568616 ;* 0082 | ; ()טח6סטק* ע8הת0 תל66%א6 1807 6ת1 ; (660,8א) 56200 ( (ק66א)טתססטס )1% /*0000260 ע6520*/ ;1 = 1186 ; (5184) הע660ץ 1 %תסהתסת1טת6 תג 0% 6ט081 2686 10 1 6מג6טסת */ /* 18016עאץ (צ,5)שת46 ח שת1 558810 ;ץ* ,5* ע8ת0 | 55 7* 0085 ; () טת6600* 0082 תע66א6 1962 6ת1 /* 18016עאט תה1:0טה6 2686 */ ;(5) ש8=00:60 (0(* ע8ת0) =! 11)8 [ /* א0 2686 985 13516עהט מת6התסץ1טה6 ₪26 */ ; (8,ץ) ץ5600 1807 ] ; (5184) מעט66ע ]) 3 שינויים בסביבת מעטפת האב שגרת "טתס6טק" מטפלת בסביבה שצוינה על ידי המשתנה "תסז1טם6" (שהוסבר קודם) אך אינה משנה את "קטתס", הארגומנט השלישי של "תנ8ח". השאלה הבאה מתעוררת בשלב זה היא, כיצד ניתן לשנות את "קטת6", כך שכל שינוי שנעשה בסביבה על ידי התכנית שנקראה מקובף הפקודות *היה זמין גם לתכניות אחרות באותו קוב+ פקודות? כאשר תכנית מתבצעת, היא יוצרת מעטפת חדשה וכל שינוי בזוגות של משתנה-ערך ישפיע רק על המעטפת החדשה ולא על מעטפת האב. כדי לעקוף בעיה זו, ניתן להכניס את הזוגות משתנה-ערך לקוב זמני מיוחד ולהשתמש בפקודה 6תאת 1116 . שבה רווח מפריד בין נקודה (ק560 [1ש1) לשם-קובצ. קוב% פקודות טיפוסי ייראה כך: 006 1 תג סמא' 60066א6 + '17 הג סת' 56% סגה 1ה1ת62ם 666 % 66862 '001מ' ת8תשסתק 6 60056א6 % 1 [ 6הההץ%00 ]- ] 11 שחץ6ת ת1 180165עט 15 =ה6התסע1טה6 ץ0011ה + השתס 6תההץ . הגה 116] 260006 + 6ת8הץ566 חע 51 '?2סזק' ת8עשסעק 6 60066א6 % 2 66 בדוגמה לעיל, בהנחה ש-1ק0עק צריכה לשנות את המשתנים [אאשך ו-871ק2 השייכים לסביבת קוב הפקודות, היא י*כולה ליצור קובצ המכיל זוגות של משתנה-ערך בדומה לזה שלהלן: 0 טם=תמך אתםץ טעסקאס 8 סעכ / 80065 / אעסש/ =חידק סספססאס משפט ]1 בקובצ הפקודות של המעטפת בודק אם קובצ כזה קיים. אם הקוב קיים, הוא משתמש בפקודה ק115%0ש1: כדי לשנות את סביבת האב של קובף פקודות המעטפת. שנויי הסביבה שנעשו על :די "1קסזק" *היו זמינים גם ל-"2שסזק" (שים לב שניתן להשתמש בפקודת 115600ש1 בדרך דומה, כדי לשנות את הסביבה ברמת פקודות המעטפת). 7 פרק 5 הפילטרים ב-אןאט ותכנית אא מערכת א[א[ז כוללת מספר רב למדי של פקודות ותכניות שירות שמאפשרות למשתמש לעבד קבצים ופלט של פקודות בקלות רבה וביעילות. פרק זה יתאר רבות מפקודות אלה, וביניהן את תכנית השירות אש8 הנחשבת לשפת התכנות המורכבת ביותר המשמשת להתאמת תבניות (קַת1ת6+אות-ת8%561ק) ולעיבוד תמלילים. בהמשך ניתן סקירה על הפקודות הבאות: סוס 6 קסינם ע6 %גס 0% 0% 04 ספ 1 תכנית השירות אש אש8א הינה תכנית שירות להתאמת תבניות וגם שפה המושפעת מאד משפת ‏ 0. בנוסף לכך שהיא משתמשת ברעיונות משפת ‏ 6, היא משתמשת גם ברעיונות מתכנית השירות 566 של א1אז ומשפת 0801א5%. אשהּ נקראת על שם שלושת מפתחיה: ם8718 ,808ז6סת61/ט 6%ק ,סתה 81 תהתקתותז46[. ניתן להשתמש ב-אש8 למשימות כמו אלה הרשומות להלן: * המרה של (תוני קלט למבנה שיתאים לעיבוד על ידי תכנית אחרת. * עריכת דוחות. הפעולות הבסיסיות שתכנית אש8 מבצעת: קריאת רשומה. הפרדת רשומה לשדות. ביצוע הפעולה המבוקשת. חזרה על שלבים אלה עד סוף הקובף. * א א * כל רשומת קלט מחולקת לשדות המופרדים על :די התווים 'ס8ז' 8 (טאבולטור), או '50800' (רווח). אפשר לגשת לכל שדה בעזרת המשתנים השמורים %1, %2 וכו', כאשר הסימון %1 מתייחס לשדה הראשון, %2 מתייחס לשדה השני וכן הלאה. המשתנה השמור %0 מתייחס לשורת קלט, או לרשומה שלמה. גם המלים א₪01ם ו-פאם הינן מלים שמורות, אשר משמשות בדרך כלל לציון תחילה וסוף של תכנית. ניתן להשתמש במספר פעלים לוגיים (אופרטורים) בשפת אשש8. פעלים אלה מפורטים בטבלה 5.1 בסדר חשיבות *ורד. טבלה 5.1 פעלים לוגיים בשפת אש8 פעלים לוגיים מטרה (קרא מימין לשמאל בהתאמה) ו ו + *ל - + * ל + הוספה, גריעה חילוק, כפל, שארית - חיבור, חיסור 2 סימן אי-שיוויון (=!) וסימני יחס אחרים. [ הפיכת הערך של ביטוי. 6 הפעולה הלוגית עא8 (לדוגמה, 8880) 1 הפעולה הלוגית 08 (לדוגמה, 8!!5) =,=*,2-,5+,2/,-2 זהה לפעולות בשפת 6. ו ₪1 45 וו ש 1 - %/ - ש- - -- ו טבלה 5.2 מציגה כמה מאפייני אש8 שיכולים לשמש בייצוג מספרי. טבלה 5.2 סוגים שונים של ייצוג מספר? הסוג המרה ל גג נש 23 מספר עשרו(נ:* 4 נקודה צפה 20 אוקטל: א% הקסדצימל: 25 מחרו זת מספר פרמטרים מוגדרים מראש בשפת אש8.-.כמה מהם מוצגים בטבלה 3. 9 טבלה 5.3 משתנים שמורים ב-אש8 יוור המשתנה המטרת == אנ ונש ג הא זדץ שם קובצ הקלט הנוכתח: אא מספר רשומת הקלט הנוכחי 75 מפריד השדה (ראה אופצית ק-) שא מספר השדות ברשומת הקלט הנוכחית 005 מחרוזת המפרידה בין רשומות הפלט הפעלים המפורטים בטבלה 5.1 משמשים לחישובים אריתמטיים. האפשרויות להמרת תווים והמשתנים המפורטים בטבלאות 5.2 ו-5.3 מיועדים בעיקר להצגת הפלט המעובד עבור משתמש. ניתן להשתמש בפקודות 6תזק ו-1)ת1זק להצגת פלט ערוך ולא ערוך בהתאמה (ראה דוגמאות %ש8 בהמשך פרק זה). מספר פונקציות של אש8 משמשות לטיפול בנתונים. שתיים מבין הפונקציות הנפוצות ביותר הן: * (5+2,803)א66ת1 מאתרת את המחרוזת "563" במחרוזת "562" ומחזירה את מיקומה. היא מחזירה את הערך אפס, אם לא ניתן למצוא את "562". לדוגמה: ( ("עתה",סתזהת)א66ת1 %םוזק + * (ם,5₪9507)50,8 מביאה ת תווים המתחילים בנקודה 5 מתוך המחרוזת 56; זוהי פונקצית תת-מחרוזת. לדוגמה: [] (1,3,עז0ת0ס)50507 +מוזק) + משתני אש8 והצבות בנוסף למשתני אש8 שבטבלה 5.3, יכול המשתמש להגדיר משתנים נוספים משלו. בכל משתנה ניתן להציב ערך מספרי או מחרוזת; כך, סוג המשתנה נקבע על ידי הערך שהוצב לו. בדוגמה למטה, המשתנה ‏ 'ת' הינו משתנה מספרי והמשתנה 'ע' הינו משתנה מחרוזת: 9 "עסתהא"=ץ 3 + ת=ם 00 תבניות תכנות מובנות ב-+תש8 כלולות מספר תבניות תכנות מובנות.| משפט 656-]1 ותבניות הלולאה 10 ו-116תש מתוארים בהמשך. משפט ]1 (תנאי) ‏ +13 משפט 16 משפט לדוגמה, כדי לבדוק אם יש חמשה שדות בשורת קלט, ניתן לכתוב כך: (5 > שא%)12 ) 1- תא% = ת 06| לולאת 10 ללולאת *10 היא בעלת המבנה הבא: (ביטוי2;תנאי;ביטוי1) 5ס+ משפט כדי להציג את ארבעת שדות הקלט הראשונים בשורת קלט מסוימת, אפשר לכתוב כך: (++ה ;4 => תח ;1=ה)102 - ם5 6ת1טם לולאת 6ווחש הלולאה 116תש היא בעלת המבנה הבא: (תנאי)116צתש משפט 1 כדי להציג את ארבעת שדות הקלט הראשונים בשורת קלט מסוימת, אפשר לכתוב כך: 1>ח )(4 => ם)116םא ם5 >תנעק מ++ דוגמאות לפקודות אש המבנה הכללי של פקודת א;ש8 הוא: [6ש8ת110?] [ שסעק [ 8- ] ] [את-] אש%8 האופציה את- מציינת שמפריד השדה הוא התו 'א' ולא ברירות המחדל תו רווח, או תו טאבולטור. הארגומנט שַסזש *כול להיות תכנית אש8 בת שורה אחת, או כאשר משתמשים באופציה 1-, מציין הארגומנט אָסחק קוב המכיל תכנית מקור הכתובה בשפת אש8. הארגומנט 6ו88ח1110 מציין את שם קוב הנתונים שיש להשתמש בו כקלט לתכנית אש8. בהמשך (ציג מספר דוגמאות של שימוש בהוראת %ש8 שיבהירו את הרעיונות שהוסברו קודם. דוגמה 1 הצג את תוכן הקבצים "4.6א6" ו-"601.קות6)". 1 פאס 1.60א6 '[סת1עק)' 5808 דוגמה 2 מספר את כל שורות הקובא "4.6א6": 6 '[50 ,תא 6ת1עק)' 588 דוגמה 3 מספר את כל שורות הקוב "4.0א6", כך שכל מטפר שורה *היה בן חמש ספרות: 6 '(580 ,תא ,"ם%5 256" +6ת1עק)' אשם% 2 דוגמה 4 בחר את הטור הראשון והחמישי מהפלט של פקודת סתש. בהנחה שהפלט של הפקודה סתש הוא כדלקמן: 5 16 סטג ₪002 06 12 16 שטג 60108 0:685ת8 5 16 שטג ₪612 צחסץ כאשר נכתוב את הפקודה '[595 ,51 ,"ת%5 48" 6%ת1עק)' אשה | סתש% נקבל את הפלט הבא: 115 פס 12 800688 5 צחסע דוגמה 5 המידע על התהליכים שפעילים כרגע במערכת מסופק על ידי הפקודה 8, נסה לבחון אם התהליך "85%6ת" הינו פעיל. אם הוא פעיל, הצב את מספר התהליך שלו למשתנה "ותטתק" ועצור אותו. שים לב, שהתווים שלפני הפקודה פק ולפני המשפט "[0=ממטתס%] 11" הינם סימני טעם (6ת8006 006ז₪) ולא מרכאות *חידות (כיוון התג - הוא 'י ולא ' בהתאמה). ' 86% | 6- 5ס'=תטחסק ) /₪85561/ 2 > 6חט0+ 6 111 ₪010 "ספה" 0% 10 00658מק 66 סת1עם % הטחק 18216צט ₪6 60 606הת5510 % 2 סתגעס ] [ פאם (סחטס+!) +1 ;"0" %ח1עק + זן [ 0 = הטחק% ] +1 תש 08 "ת806106 ₪06 15 ת8עססתק 35662 76" 600 הטחס% 9- %111 םג ?5 0856 660 שסה 085 ת6:8סמק 085662 76" 0ת60 (0 ;;"ת%11160 668 80% 85 ת04:8תק ₪35662 6מ7" 0ם60 (* ;;"ת%11160 6 דוגמה 6 |06 34 השתמש בתכנית ‏ "ע"8115818+5%" כדי להפיק דו"חה על משכורות הצוות מתוך מידע הנמצא בקובף "5%841108%8". השדה השני בכל שורה של הקוב% "5%81108%8" מייצג את המשכורת ומפריד השדה הינו תו נקודה-פסיק (;). הצג את תוכן הקוב% "5+81108+8": 88 90805 0; מספסחסםמך 10 0 ; ח50חמס0 0 ; מסתעסא הצג את תוכן הקובף "ע5%81158187": 64 צע50555813 568% (";"=פק ) א8001 (52 =+ 0881 ] 6מגמס ) פאם מחגצם "ךתס0קמה צתת1ג5" 6הנצס ג -----" םח1מס 1 "5 = סטס 816ק מהטסחת" סתגטק 8א/0041ם "5 = צ:5818 866ע6טת" סתגעס [תא " = 00065560 60010665 0% ת6סחטא" 6ת1צק פקודת %ש8 שלהלן תפיק את הדו"ח המוצג אחריה: 8 +"+צ508155818% 5- א8ב5 הקפר צתהה]הס 0 = ףטס 0810 >הטסהג 00000 ץ58[8 ססַבע6טב 4 6 60010665 0% שפסהטא 1 2 חיפוש תבניות במספר קבצים כאשר יש צורך לחפש תבנית (םז%6+8ק) מסוימת בקוב> יחיד, ניתן להשתמש בעורך תמליל. אולם, כדי לחפש במספר קבצים, ניתן להשתמש בפקודה ק6*ש. פקודה זו תאתר תבנית תווים מסוימת מהר יותר וביעילות גבוהה *ותר: [קבצים] ביטוי [אופציות-] 60ע%8 אופציות: ת- הצג בתחילת כל שורה את מספרה היחסי בקוב>. ט- הצג את כל השורות פרט לאלו שתואמות לביטול. 6- הצג את מספר השורות (%6תש60) שבהן נמצאה התבנית. לדוגמה, כדי לאתר את המחרוזת "16סט 558616" בקוב ‏ "580.6" השתמש בפקודה הבאה: 87.6 "16סט 508610" ם- ק6ע₪% 3 ספירת שורות פקודת שש סופרת את מספר השורות, המלים או התווים בשמות הקבצים המצינים, ‏ או בקלט הסטנדרטי, אם לא ניתנו שמות קבצים: [קבצים] ביטוי [אופציות-] סש% אופציות: 1 - הצג את מספר השורות. ש - הצג את מספר המלים. 6 - הצג את מספר התווים. 5 דוגמאות: הצג את מספר המשתמשים שרשומים כרגע במערכת: 1- ₪6 | סמש הצג את מספר השורות ואת מספר המלים בכל הקבצים בעלי ההרחבה (הציון) "6.". 6+ ש1- ששף 4 השוואת שני קבצים אפשר להשוות שני קבצים בעזרת הפקודה קות6. אם הקבצים זהים ולא צוינה אופציה כלשהי, לא *דווח דבר על המסך. קובצ2 קובאצ1 [אופציות-] קשס% אופציות: + דווח על המקום בקובף (בבסיס עשרוני) שבו ישנו הבדל והצג את הבתים (בבסיס אוקטלי) השונים בכל קובף. 5- החזר קוד 0 לקבצים זהים, 1 לקבצים שונים ו-2 לארגומנט חסר, או לארגומנט שלא ניתן להכנס אליו. 5 חלוקת קובץ לקטעים ניתן לחלק קוב למספר קטעים באמצעות הפקודה 50115: קובצפ קובצג [אופציה/ות-] %9011% אופציות: פ- לציין קטעים בני 512 בתים ת- לציין את מספר השורות בכל קטע הקבצים החדשים שנוצרים מקבלים את השם "קובאצ3" עם ההרחבה "הַה", "80" וכן הלאה עד ל-"22". אם לא נרשם "קובצם", ברירת המחדלי לשם הקוב תתחיל עם "א", "סבא" וכו'. לדוגמה, כדי לחלק את הקובף "45661.68%ות" לקטעים בני 258 שורות כל אחד, השתמש בפקודות שלהלן. כך תבצע את החלוקה ותציג את שמות הקבצים: 6 550116 -25 ₪85561.08, ₪ 8 15 350 10..(|8 5-0 ...-6 6 בחירת שדות מתוך קובץ ניתן להשתמש בפקודה 6ש6 כדי לבחור שדות מתוך כל שורה בקוב>, או נדי לבחור טורים מתוך טבלה מסוימת. אם לא צויין שם קוב>, ישמש המסוף כקלט: אופציות: -% -% --% [שם קובצ] אופציות- %606 לציין- את | "א" כתו | מגביל (ז160ת6611) | שדה; הטאבולטור (80+) הינו ברירת המחדל של תו מגביל שדה. לציין את שדות הבחירה. לציין את מיקום התווים (לדוגמה, 61-15- בוחרת את 9 התווים הראשונים (1 עד 15). בדוגמה שלהלו, השתמשנו בפקודה 686 כדי להראות את תוכן קוב הנתונים ‏ "6.א6". לאחר מכן נשתמש בפקודה 0₪6 כדי לבחור את הטורים (במלים אחרות, שדות) 1 ו-3 מתוך "0.א6": 0 5686 ו סק : 26816 :22 : 6תת8 %: 160: 25 : ע0ח8 4 - :60- 6טש50 6 :36 6: םה 07 7 תרגום של תווים פקודת התרגום ז+ משמשת להעתקת תווים מהקלט הסטנדרטי אל הפלט הסטנדרטי תוך מחיקה או החלפה של התווים שמצוינים: מחרוזתפ מחרוזת8 [אופציות-] ש%6 אופציות: 6- לתרגם את כל התווים, פרט לאלה שבמחרוזתה, לתווים המתאימים במחרוזתם. 4- למחוק את כל תווי הקלט במחרוזתג. 5- "לדחוס" את כל תווי הפלט שחוזרים על עצמם במחרוזתג, לתווים יחידים. דוגמאות: למחיקה של התווים "48062" מתוך הקלט הסטנדרטי.נשתמש באופציה 6. המשתמש מקיש "ת4802618" ופקודת "+ מציגה את "ת618" בלבד. 2 6- עס9 העיס בס השתמש בפקודת "+ עם האופציה 5- כדי לדחוס את כל קבוצות המופעים, של תו הרווח לתו רווח *חיד. לאחר מכן השתמש בפקודת % כדי להדפיס את השדה הראשון והשדה החמישי: 5]- " "6- 606 | '* | 5- עם | 0תא5 5 6605 12 80026858 5 עחסע 8 שילוב שורות מקבצים שונים הפקודה 28566 *כולה לשמש לשילוב שורות מקבצים שונים, או לשילוב שורות עוקבות מקובף מסוים: שמות-קבצים אופציות 828566 68 אופציות: - לשמש במקום כל שם קוב>, כדי לקרוא שורה מהקלט הסטנדרטי. %.- להחליף | את מפריד השורה הסטנדרטי, שהינו ‏ תו הטאבולטור, בתווי "1155". 5 לשלב שורות עוקבות במקום שורה מכל קובצ קלט. דוגמאות: תחילה, השתמש בפקודת 068% כדי לראות את תוכן הקבצים "11162" ו-"11163" ולאחר מכן שלב את שני הקבצים בעזרת פקודת 8566: 2 5080₪ 6 615 626% 681ה120עסם 3 9086 6 085ם5 686 05% 3 11802] 508566 5 05 6ת6261ה 681ה102120 626 5אסםת5 80016א6 15ת6 כדי להציג רשימה של הקבצים במדריך הנוכחי בשלושה טורים ולהחליף את תו הטאבולטור ברווח, אפשר לכתוב כך: - - - " "6- 08806 | %18 6 21160 71168 8 ₪850620.60 95080.6 9 היטל אוקטלי של קובץ ניתן להציג היטל (קחתט8) של קובצ בצורה אחת או *ותר בעזרת פקודת 06 (קתש6 00+81). אם לא צויין שם קוב, תשתמש הפקודה בקלט הסטנדרטי: [שס קובצ] [6אס-] %08 >09 אופציות: ס- להציג מלים בבסיס 8 (אוקטלי); זוהי ברירת המחדל. א- להציג מלים בבסיס 16 (הקסדצימלי). 6- להציג מלים ב-45011. בדוגמה שלהלן, משמשת הפקודה 06 להצגת הקוב "1116ת1", במבנה הערוך על פי בסיס 16 (הקטה-דצימלי) ועל פי ]901: 6 סא- 506 0020 1 2065 6 7320 2069 6973 5468 0000000 ה 8 א 6 ם- 8 5 1 5 5 ₪ ₪ 09 2 6065 09 6120 6620 206% 6665 0000020 6-1 ם. 8 2 % + 8 5 6 18 20 6 7573 8 7065 7566 2064 6667 0000040 כם 1 5 יט ם 4 6 סק הת ט 6 ם 0 4 64205 6 2020 2078 6520 7468 0000060 0 - 4 םת 8 א - 68 1 > 808 6073 6965 | 7074 2065 0000100 ח 5 8 1-0 565 0 0 מיון קבצים ניתן למיין קובצ בעזרת פקודת +:80: [שמות קבצים] [שדה2-] [שדה1+] [אופציות-] 95090 אם צויין התו "-" במקום שם קוב>, :יקראו הנתונים מהקלט הסטנדרטי. התוצאות מפקודת 5016 **כתבו לפלט הסטנדרטי. אופציות: ת- לשלב קבצים שמוינו בשלב מוקדם יותר. א)- להפריד השדה הוא התו א. 7- להפוך את טדר המיון. + המספר הסדורי של המפתח הראשון. 8- המספר הסדורי של המפתח האחרון. המיון יכול להיות מבוסס על מספר שדה מסוים, כאשר השדת הראשון (0+) הוא שדה מספר אפס. שדה הוא אוסף של תווים. ברירת המחדל של מפרידי השדות הם תווים ריקים ותווי 10 טאבולטור. ‏ אם לא צועו בפקודה שדות, המיון יפעל על כל השורה. בדוגמה שלהלן, הקובצ שעומד להיות ממוין, מודפס תחילה בעזרת פקודת 686. לאחר מכן הקוב ממויין על פי השדה הרביעי בקוב (שדה מספר 3 כאשר מתחילים לספור מ-0) שהוא מפתח המיון: 8 מְ908 מ05/ת21/: 800 / 800% /:85/ : חס עָחְתג: 113:100: עָסחה ת210/5/: צַת52/8006/20ט/:תס6תעסמן צַת115:100:80: עתסץ ת5ע/ת01/ :01656 / 8006 /ש5ט/ : 00656: 100 :120 : 656נוס 86 0061116 0- 3+ :6- 6ת580 908₪ 86 מ05/ת1/ : ע0ת052/300%/8/ :00065 צָתת:113:100: עְֶת 010/25 :120:100:0065%:/05:/8606/00656: 6656 ם5/ח21/: צַת5:/8605/20ט/ :תססתמסם? צַתס115:100:8:עחהסץ "1 פרק 6 תכניו העריכה ‏ במערכת א1%א11 טיפוסית יהיו בדרך כלל מספר תכניות עריכה כמו 1 66 ו-א6. ניתן להשתמש בתכניות עריכה אלו ליצירה ולשינוי של קבצים. אחת מתכניות העריכה הנפוצות ביותר היא 1 (15081ע), שהיא תכנית ‏ עריכה חזותית, או מבוססת-מסך. תכנית 01 הופכת את מסך המסוף לחלון, שבו המשתמש רואה את הקוב שברצונו לערוך. כל השיניים שבוצעו בקובצ מוצגים ישירות על המסך. השינויים גם מוכנסים לתוך מאגר (116ס), הנכתב על פי דרישה לדיסק כאשר מסתיימת העריכה. כדי שאפשר יהיה לשנות קבצים, צריכה תכנית 1ט לדעת את טוג המסוף שמשתמשים בו. מזהה הסביבה משתנה-ערך, אשר כאן ערכו "שם מסוף=181", מודיע ל-1ט את סוג המסוף שבשימוש. תיאור מלא של אפשרויות המסוף נמצא בבסיס הנתונים "10ת1(ז6)", או בבסיס הנתונים ‏ "6080080". משתמש רגיל אעו צריך לדאוג לפרטים אלה, מכיון שמנהל המערכת אחראי לכך שבסיס הנתונים "10ת601)", או בסיס הנתונים "0ק068(-66", יכילו את הנתונים הנכונים אודות המטוף. 1 תווים מיוחדים תכנית העריכה מטפלת במספר תווים בצורה מיוחדת, לדוגמה: * מקש 08 (םזט60 08111886) - לסיום פקודות (לדוגמה: 866: 02 טת). המקשים ₪5כ2, או 3[ז2 - להפסקת פקודה (לדוגמה: ‏ ₪1 טסע). המקשים 56ם, או 81/7 - לסיום הכנסת טקסט (לדוגמה: ‏ ₪56 %א6?-%טקם1 0). * ע-0000701 - לביטול ההשפעה של תווים כמו רווחים, או 68 (לדוגמה: 08 /-00206701). + + 2 יצירת קובץ ניתן ליצור קבצים חדשים, או לבצע שינויים בקבצים קיימים, 72 בעזרת הפקודה הבאה: קבצים 1טש% לדוגמה, הפקודה 0נסס 5א6 בטף תאפשר למשתמש לערוך את הקבצים "5א6" ו-"6.קות66". עם תחילת העבודה :וצב הסמן בתחילת הקובף>. השתמש בפקודה 1 כדי להכניס טקסט לפני הסמן וליצור את הקובצ. הכנסת טקסט מסתיימת בהקשת 6 במסוף. ניתן לשמור את השינויים בעזרת פקודת הכתיבה ש? (או ‏ 22). לאחר שבוצעו כל השעויים הדרושים לקוב+ "5א6" בדוגמה לעיל, תוכל הפקודה +א6ת: לאפשר לך לערוך את הקובא "ס. קנת66". כדי לצאת מ-[ט השתמש ב-):. אולם, אם בוצעו שינויים בקוב, פקודת ): לא תאפשר לצאת מ-1ט. במקרה כזה הקש שָש: כדי לשמור את השינויים ולצאת מ-[ט, או שתקיש !): כדי להתעלם מהשינו*ים שבוצעו בקובצ ולצאת מ-01. 3 הזזת הסמן לאורך ולרוחב המסך פקודות רבות של העורך מאפשרות להזיז את הסמן לכל נקודה על פני המסך: מקש 1000 הזזת הסמן לתחילת השורה הבאה. מקש 280880806 הזזת הסמן תו אחד שמאלה. מקש 50866 הזזת הסמן תו אחד ימינה. הזזת הסמן שורה אחת למטה. ה זהה ל-286%508066. 1 זהה ל-50866. % הזזת הסמן שורה אחת למעלה. +ת הזזת הסמן ם שורות קדימה (לדוגמה, +4). -ת הזזת הסמן ת שורות לאחור (לדוגמה, -4). % הזזת הסמן לסוף השורה. 0 הזזת הסמן לתחילת השורה (תו אפס). ניתן למקם את הסמן בשורה מסוימת בקובצ על ידי כך שנצמיד לפנ האות 2) מספר, שמציין את השורה הרצויה. הפקודה 126% למשל, תמקם את הסמן בשורה 12 בקוב, ו-60 בלבד - תמקם את הסמן בסוף הקוב>. הפקודה 6-[618 תתן את מספר השורה שבה נמצא הסמן ואת שם הקובצ הנמצא כרגע בעריכה. הפקודות 11, 12 ו-1/ מזיזות את הסמן בהתאמה לשורה הראשונה, האחרונה והאמצעית במסך. כדי לזז 33 בקובצ מסך שלם, או חצי מסך, השתמש בפקודות הבאות: ת-א זוז קדימה מסך שלם. כ-81 זוז קדימה חצי מסך. 28 זוז אחורה מסך שלם. [ז-1 6 זוז אחורה חצי מסך. צ-6781 חשוף שורה נוספת בחלק העליון של המסך. 1-5 חשוף שורה נוספת בחלק התחתון של המסך. 4 חיפוש מספר פקודות מאפשרות למשתמש לחפש מחרוזות בקוב>, או מלים ותווים בשורה. בזמן החיפוש ניתן להשתמש בתו '' (ת080%5185) כדי לבטל את המשמעות של תווים מיוחדים כמו '/'/ ', '*' ו-']'. הפקודה חתס[/ תחפש קדימה, מהמקום שבו נמצא הסמן באותו רגע, את המחרוזת "תתס[". אם נשתמש ב-'?' במקום '/' (לדוגמה, תת0[?) אז החיפוש אחר המחרוזת "מתס[" י*תבצע לאחור. הפקודה ם תבצע שוב את פקודת החיפוש ('/' או '?') האחרונה שבוצעה. אפשר גם לחפש מלים ותווים בשורה. באופן כללי, מלה הינה מספר תווים אלפאנומריים המופרדים על-ידי רווח, או טאבולטור: ש הזזת הסמן קדימה לתחילת המלה הבאה. 6 הזזת הסמן קדימה לסוף המלה הנוכחית. פע הזזת הסמן אחורה לתחילת המלה הקודמת. ניתן| להצמיד לפקודות הרשומות לעיל מספר ואז, פקודה כמו 45 תזיז את הסמן לאחור בארבע מלים. יש פקודות חיפוש מקבילות המשתמשות באותיות הגדולות %, ם ו-8. הן מתייחסות לכל תו במלה, פרט לטאבולטור ורווח. כדי לחפש תו מסוים בשורה השתמש בפקודות הבאות: ח1 חפש קדימה (מהמקום שבו נמצא הסמן) את התו ת. םת חפש לאחור את התו ת. ג חזור על פקודת ם] או ח" האחרונה. 5 עריכת שורות תמליל הפקודה המאפשרת להכניס תמליל (טכסט) לפני הסמן הוצגה בשלבים קודמים. הפקודה 0 (האות הגדולה (0) תכניס תמליל לפני השורה 734 הנוכחית, עד אשר תתבצע הקשה על ₪56, ואילו 0 (האות הקטנה 0) תכניס תמליל לאחר השורה הנוכחית. יש פקודות נוספות אחרות המשמשות לעריכת שורות של תמליל: הוסף תמליל לאחר הסמן (סיום בהקשת 506ת). הוסף תמליל בסוף השורה (סיום בהקשת 556). החלף את התו הנוכחי בתו א. מחק את השורה הנוכחית. מחק מלה במקום שבו עומד כרגע הסמן. מחק תו במקום שבו עומד כרגע הסמן. מחק תו לפני המקום שבו עומד הסמן כרגע. ₪ << 5 ₪4 <₪ לפני הפקודות 66, 6 ו-א ניתן להקיש מספר. לפיכך, הפקודה 206 תמחק שלוש שורות של טקסט, ואילו הפקודה תמחק 12 תווים מהמקום שבו עומד הסמן כרגע. 6 הזזה והעתקה של תמליל למשתמש ב-1ש יש מספר מאגרים (המסומנים בתווים 8 עד 2), שניתן להשתמש בהס להעתקה והעברה של טקסט בתוך הקוב או בין קבצים. תכנית העריכה עצמה משתמשת במאגר ללא שם לשם שמירת טקסט שעבר שינוי, או יטקסט שנמחק. הפקודה צ שומרת שורה לתוך המאגר ללא שם ו-ע מחזירה אותו לקובצ לפני המקום שבו עומד הסמן כרגע. ניתן להעתיק מספר שורות לתוך מאגר בעזרת הפקודה צלסם" סימן המרכאות הנו התו הראשון של הפקודה, ת הנו מספר השורות שיש להעתיק, 5 הינו שם המאגר (יכול להיות כל תו מ-8 עד 2) ו-צ הינו קיצור של הפקודה עַעַ המשמשת לשמירת השורות. התבוננן ברצף הפקודות הבא: 120 - מקם את הסמן בשורה 12. צ;8" - העתק 8 שורות (מ-12 עד 20) לתוך מאגר 2. 4 -- מקם את הסמן בשורה 25. כק2" - הבא 8 שורות מתוך מאגר 2 ומקם אותן לאחר שורה 5. באופן דומה, כדי למחוק חמש שורות מהמקום שבו נמצא הסמן כרגע 75 נכתוב את הפקודה 68 רצף טיפוסי אחר של פקודות שיכול לשמש למחיקת שורות הוא: 4 - מחק 6 שורות ושמור אותן במאגר ללא שם. 468 - מקם את הסמן בשורה 23. ק - כתוב 6 שורות מתוך המאגר ללא שם ומקם אותן לפנ: שורה 23. כדי להעתיק 87 שורות מהקוב הנוכחי אל קוב "קמס6ס", ניתן להשתמש בפקודות הבאות: 36 - מקם את הסמן בשורה 34. 7%" - העתק ]8 שורות לתוך מאגר 8. סקפסס 6: - קרא את קובא סקשסס. כם" - כתוב 87 שורות ממאגר 8 אל קובף 69₪0. 22 - שמור את קובף סשסס. 7 פקודות חזרה וחרטה ניתן לחזור על הפקודה האחרונה שהוקשה למסוף (68%6ק6ת), בעזרת פקודת נקודה ('.'). לדוגמה, נשתמש בפקודה הבאה כדי לבטל 5 שורות 60 הפקודה שלהלן זהה לפקודה 5066 (שים לב ל- 4 הנקודות): 1 אפשר להתחרט על פעולה שנעשתה ולחזור בכל זמן מהשינוי האחרון (ס6תט) בעזרת פקודת החזרה ש. לדוגמה, 4 מחיקה של השורה הנוכחית מהקובף. ש החזרת השורה המחוקה למקומה בקוב. פקודת האות הגדולה [1 תחזיר את השורה ותשחזר אותה למצבה המקורי, לפני שבוצעו בה שינויים כלשהם. 8 פקודות תכנית העריכה 66 שמת לבך בוודאי לכך שלפני מספר פקודות נכתבו נקודתיים (:). כל פקודה כזו היא למעשה פקודה של תכניות העריכה א6 ו-66, שניתן להשתמש בה בתכנית העריכה החזותית (1ט). ניתן להשתמש 76 בתכנית העריכה 66 במסוף-מסך או במסוף מסוג טלטייפ. מספר פקודות שימושיות של תכנית העריכה 66 מתוארות בטבלה 6.1. שיס לב שהסימן '"' מצביע על תחילתה של שורה. הנקודה (.) מציינת כל תו במהלך החיפוש. כמו כן יש לסיים כל פקודה ב-68 (ם16%7 081718₪6). טבלה 6.1 פקודות העורך 66 שניתן להשתמש בהן בעורך 01 פקודות העורך 66 הפעולה שם-קובף שע,צעַ: כתוב שורות ץ עד 2 לקובצ (לפי "שם-קובצ"). שם-קוב> 6: קרא קוב (לפ*י "שם-קובצ") לעריכה. שם-קובף !6: התעלם מהשינויים הנוכחיים וקרא קוב חדש. שם-קוב% ע: כתוב קובצ לתוך המאגר. פקודה! ע: כתוב את הפלט של הפקודה לתוך המאגר. ח: ערוך את הקוב> הבא (קיצור ל-6א6ם). !ת: התעלם משינויים בקובצ הנוכחי, ערוך את הקובצץ הבא. /שם/: מצא בקובף את המחרוזת "שם". /שם"/: מצא שורה המתחילה במחרוזת "שם". 80/ם6/5//2ם/₪: שנה את כל המופעים של המחרוזת "שם" למחרוזת "שם2". /שם//8/7..../5: שנה את ארבעת התווים הראשונים בכל השורות בקוב> למחרוזת "שם". /שם8/206/3: שנה את המחרוזת "שם2" למחרוזת "שם3". /0ם63ת8/206/88: שנה את המחרוזת "שם2" למחרוזת "שם2 ושם3". 0 ///0-9[/5] "/ש: שנה את כל השורות המתחילות בסיפרה, מחק את הסיפרה +הצג את כל השורות שבוצע בהן שינוי. 4:: מחק את כל השורות מהשורה הנוכחית עד לחמש שורות לפני השורה האחרונה. /א.ט/: מצא מחרוזת בת שלושה תווים המתחילה באות ט ומסתיימת ב-א (לדוגמה, אאט). ס%,1: הדפס את כל הקובצ. 4: מחק שורות 12 עד 20. %: מקם את הסמן בסוף הקובא. ורוו ימי הניוו רו 9 קביעת אופציות לתכנית העריכה יש קבוצה של אופציות, שניתן לקבוע אותן בעזרת פקודות בעלות המבנה הבא: 77 + ח0ס1)קס 506: קביעת אופציה. * 000010 56%: ביטול אופציה. ניתן לקבל רשימה של כל האופציות שניתן להשתמש בהן ב-1ש בעזרת הפקודה: 1 566: להלן מספר דוגמאות נוספות: צם 8₪6%: מספר שורות בקובף. טתסת 56%: בטל את ההשפעה של פקודת שת הקודמת. 1 866: הזזה (מ%8%610ם06ת1) אוטומטית פנימה בתחילת פיסקה. 1 ס566: בטל את פקודת 81 הקודמת. ניתן לקבוע אופציות אלו בצורה אוטומטית בכל פעם שנכנסים ל-1ץ, על-ידי השמה למשתנה ‏ 17א1א₪ שבקובף "01116קק. /60₪": 1זא1אם סעסקא81';0 טת 56%6'=צזאדאסם 0 ביצוע פקודות מעטפת ניתן לבצע פקודות מעטפת מתוך 1ט בעזרת הפקודה הבאה: צֶ6א-תעט6%ע 6תהממסס!: לדוגמה, כדי להציג את כל המשתמשים הפועלים במערכת, נכתוב את הפקודה סתט!: אם יש לבצע מספר פקודות בזמן שמשתמשים ב-[ט, ניתן ליצור מעטפת חדשה בעזרת הפקודה: צַסא-תעט660ע ת5: לאחר פקודת "תפ", ניתן לבצע מספר כלשהו של פקודות מעטפת. לאחר מכן יש להקיש על 'כ-1א61' כדי לחזור ל-1ץט. לדוגמה: ע6א-תעט26% ת8: מעבר למעטפת חדשה. סמש" הצגת המשתמשים המחוברים למערכת. 5 הצגת רשימת הקבצים במדריך הנוכח'י. פ-0182 חזרה ל-+ט. 08 פרק 7 עיבוד תמלילים שלב התיעוד הינו אחד השלבים החשובים במהלך הפיתוח של כל מוצר. התיעוד הינו כלי תקשורת חשוב שמטרתו להעביר לאחרים, מנתחי מערכות ותכניתנים, את המידע אודות המוצר,. כדי שיוכלו להשתמש במידע זה לצורך תחזוקה. למשתמשים שאינם תכניתנים, ישמש התיעוד ככלי עזר בהפעלת מוצר התוכנה בלי תמיכה ופיקוח של מומח* מחשב. הערה: ההנחיות מכוונות לעבודה באנגלית, בכיוון שמאל-ימין. ב-א[א[ז, ישנן מספר תכניות לעריכת תמלילים ("[ס6", | "תף6", "1)סזת", "70+1)") וחבילות מקרו ("מתת", "פח") שניתן להשתמש בהן לתיעוד. פרק זה יתאר את עורך התמלילים ")]1סעת" ואת חבילת המקרו "ותות". 1 עורך התמלילים ")1סזה" אחת התכונות החשובות ביותר של כל עורך תמלילים היא להפיק יישור שוליים מימין ומשמאל. ניתן לכתוב שורות פלט באופן חופשי, ואם המלה האחרונה בשורה אינה מגיעה לשוליים, בעת העריכה יתוספו בשורה רווחים, כדי ל"יישר" את השוליים. אפשר להשתמש במיקוף ו"לשבור" את המלה כדי שמספר הרווחים הנוספים יהיה קטן *ותר. אפשרות המיקוף, כמו מאפיינים רבים של "+1סעת", הינם אופציונליים. הפקודה "011זם": [קבצים] [אופציות] ++סעת% תחילה, נשתמש בתכנית העריכה ליצירת הקוב שיעובד על :די "ז1סעת". קוב כזה יתבסס בדרך כלל על שורות תמליל ושורות של פקודות. שורות התמליל מכילות את הנתונים שיש לעבד ושורות הפקודה מצינות איך לערוך את הנתונים האלה. שורות הפקודה מתחילות בדרך-כלל בנקודה. התווים '' ו-'"' משמשים לסימון שורות הערה ולכן העורך "11סזת" מתעלם מהם. כפי שנראה בדוגמה להלן, ניתן לציין כקלט יותר מקובף אחד. אם לא נרשם שם קוב, תוכנת "+)סזת" תקרא את הקלט הסטנדרטי: ת.1168] ת.2/116 %+סעת5 >9 2 פקודות נפוצות של "!סח" במקרים רבים, פלט מ-"11סזת" יודפס על דפי 84 סטנדרטיים. ניתן להשתמש למטרה זו בפקודת 11., כדי לציין את אורך שורות הפלט: מציין אורך של 70 שורות " | 70 11. ניתן לעצור מילוי של שורה בעזרת פקודה לשבירת שורה: ספם. ניתן להפעיל או להפסיק מיקוף בעזרת הפקודות הבאות: הפסק מיקוף " 0 צעֶת. הפעל מיקוף "" 1 צֶת. קבע שתו המיקוף יהיה התו " '8'‏ 8 עג. שורות הפלט של "+1סזם" מודפסות בדרך כלל ברצף, ללא שורות רווח ריקות. הפקודה 3 פפ. תגרום ל-"11סזת" להשאיר שלוש שורות ריקות בפלט. המרווח הסטנדרטי בין השורות יכול להקבע על ידי המשתמש: המרווח בין השורות הוא 2 שורות " 2 15. אפשרות אחרת היא מרווח יחיד בין שורות הפלט: מקביל לפקודה 1 18. " - 58. מספר פקודות משנות את מספר התווים להזזת התמליל מגבול השוליים הרגיל (%ת066ם1): הזז פנימה 5 רווחים מהשוליים השמאליים | " 5+ ת1. הזז החוצה 5 רווחים מהשוליים השמאליים , " - 5- ם1. הזזה פנימה תתחיל בפוזיציה 5 "‏ 5 ת1. הפקודה האחרונה (כלומר, 5 ת!.) מאלצת את כל שורות הפלט להתחיל בפוזיציה 5. אולם ניתן להזט פנימה שורה אחת בלבד, על ידי שימוש ב-"61.": הוז פנימה ב-15 רווחים את השורה הבאה בלבד " 15 61. בפקודה האחרונה משתמשים לעתים קרובות, כאשר פותחים פסקאות חדשות,. שבהן מזיזים רק את השורה הראשונה של הפסקה. 00 אפשר להקדים את כל שורות הפלט של "]1סעת" במספר רווחים בעזרת הפקודה 20. (01156% 6). הפקודה סק. מבצעת לכל הקוב (השורות) מה שהפקודה 61. מבצעת לשורה אחת: הקדם את כל שורות הפלט ב-8 רווחים ‏ " 8 סס. החזר את המצב לקדמותו " סס. ניתן לשנות את גודל הדף וניתן להתחיל דף חדש בכל מקום בפלט: קבע שאורך הדף יהיה 12 שורות "72 1ס. התחל דף חדש " סס. התחל דף חדש ומספר אותו כ-3 " 3 סס. התחל דף חדש אם בדף הנוכח: אין מקום ל-7 שורות " 7 6ם. הוצא 2 דפים ריקים החל מהעמוד הבא " 2 8%. מילוי שורות הפלט נעשה על פי ברירת המחדל. אולם ניתן להפסיק זאת בעזרת הפקודה ]ח.: התחל מילןו: 04 הפסק מילוי של שורות הפלט ‏ " *ַת. ניתן למרכז שורת פלט ו/או להוסיף לה קו תחתון. דבר זה נעשה בדרך כלל בכותרות: מרכז את שורת הקלט הבאה 6. מרכז את 2 שורות הקלט הבאות ".2 06. הזז פנימה 5 רווחים מהשוליים השמאליים ". 5+ ם1. הוסף קו תחתון לשתי השורות הבאות " 2 1ט. ניתן | לציין | אילו | כותרות תופענה באופן קבוע בחלק העליון ובחלק התחתון של כל דף פלט מודפס, מבלי שיהיה צורך להכין אותן מחדש עבור כל דף. כותרות אלו נקראות "כותרות רצות". הפקודה הבאה קובעת כותרת עליונה (%1666 ז6806ת) רצה: : 3200800 '6ע08ק0ת6'2ע19028' 6ת. התמליל | "15%087%" מיושר לשמאל, התמליל ‏ "3200816" מיושר לימין ו-"+0081ת2" הוא במרכז הדף. סימן % בכותרת מוחלף על ידי מספר הדף הנוכחי. המבנה של פקודת הכותרת (11.) דומה למבנה של הפקודה 6ת., כמו לדוגמה !0-0 '-%-'400א0ת-641' [ס. פקודה זו תיישר לימין ולשמאל את המלה '06408ק-61' ותמקם את מספר הדף באמצע שורת הפלט, כפי שנראה להלן (ללא המסגרת): 1 0-2 = 0-08 3 תכניות המקרו "+01זה" תכנית מקרו מתבססת על אוסף של פקודות "+11סעת". תכניות המקרו נמצאות בתחילת מסמכי "11סזת", מכיוון שיש להגדיר אותן לפנ שמשתמשים בהן. פקודת 66. מתחילה כל מקרו ומגדירה את שמה. לאחר מכן ניתן להשתמש במספר פקודות "11סעת" כדי ליצור את גוף המקרו. לבסוף, תכנית המקרו מסתיימת בשתי נקודות בשורה חדשה. הדוגמה שלהלן מראה את ההגדרה של תכנית המקרו "שָםִ": השתמש בפקודת "66" כדי להגדיר מקרו בשם אס " שַס 66. שבירת שורה " עס. שתי שורות ריקות " 2 80. הזז את שורת הפלט הבאה בלבד ב-10 רווחים | " 10 1ס. סיים את המקרו שש " : ניתן להפעיל את המקרו לאחר מכן, בקובף "11סעת", על *די ציון שם המקרו בתחילת שורה, כפי שנראה להלן: 5 אפשר גם להפעיל את המקרו בשורה מסוימת בפלט, על ידי שימוש בפקודת תש. (קיצור של ת6תש): 2 0 תש. 2 7]- תש. בדוגמה לעיל, הפקודה תש. הראשונה מציינת שיש להפעיל את המקרו של הכותרת הרצה העליונה (תכנית המקרו "2ת" שהוגדרה על ידי המשתמש) בשורה אפס של דף הפלט. הפקודה ש. השניה מציינת שיש להפעיל את תכנית המקרו של הכותרת הרצה התחתונה ("12") ולהדפיסה שבע שורות מתחתית כל דף. ביחידות מחשב רבות המשתמשות ב-א%1א1ז נוצר אוסף של תוכניות מקרו, אשר מתאימות לצורכי התיעוד המקומיים שלהם. מאוד מקובל להשתמש בפקודה 50. כדי להכניס תכניות אלו לקובצ נפרד, שאותו ניתן לכלול במסמכים שעומדים לערוך. הנה דוגמה: .50 86 בדוגמה זו, "01116ז0את" הוא שם הקוב המכיל את תכניות המקרו. לקוראים המכירים את שפת התכנות 60, נציין שהפקודה 50. .2 דומה למשפט "<6חהת1116> 61066ם1/" בתכנית. 6. טבלה 7.1 מציגה את רוב הפקודות של "11סעת". טבלה 7.1 פקודות ")01זח" הפקודה המשמעות - ---------------0---------------------0------------/]/]/----------------"' 1 +1 םר םס ם ם ₪ ם ת תח +1 6 טע 1+ +1 .4 התחל ל*ישר את התמליל לשוליים הימניים. הצמד שורות לשול:יים. מספור שורות בשיטה העשרונית. שבור שורה. הפסק למלא את השורה הנוכחית. הכנס ם שורות ריקות במקום הנוכחי. התחל דף חדש שמספרו ם, ואם אין מציינים - מספרו 1. מספר את ת השורות הבאות. הגדר מקרו הנקרא 22. רווח כפול בין שורות הפלט. כמו 2 18. בדפים זוגיים הדפס את הכותרת התחתונה 1ס. בדפים זוגיים הדפס את הכותרת העליונה 1ס. התחל למלא את שורות הפלט. כל הכותרות הרצות התחתונות הן 1ס. כל הכותרות הרצות העליונות הן 61. בטל שורות כותרת. התחל מיקוף אם 1=ת והפטסק אותו אם 0=ם. הזז ם רווחים מהשוליים השמאליים. הזזת דף. זהה ל-'ת1.' אך בלי שבירה. אורך שורה הינגו ם תווים. המרווח בין השורות הינו םת שורות. הכנס םת שורות ריקות בין ראש הדף לבין הכותרת העליונה. הפסק ליישר תמליל לשוליים הימניים. התחל דף חדש, אם אין מקום בדף ל-ם שורות. לא למקף. אין למספר את שורות הפלט הבאות. הזז מספרי שורה ימינה ב-ת רווחים. אל תמלא את שורות הפלט. התחל לקבל קלט מ"שם קובצ". הפסק כאשר "שם קובצ" משתנה. הכרז על אוגר ץ והצב בו את הערך ט. הכותרת הרצה התחתונה בדפים אי-זוגיים הופכת להיות 61. הכותרת הרצה העליונה בדפים אי-זוגיים הופכת להיות 61. 3 ת1ת. אורך דף העו ם שורות. ת סק. התחל את כל השורות ב-ת רווחים (01156% ס6שַק). 0ז. מספור דפים לפי השיטה הרומית. 6ותאתות המזז. הפסק את תכנית המקרו ש6ותחז מכיון שאינה דרושה יותר. ח 5%8. | דלג ת שורות ריקות בתחילת הדף הבא. 6ו תג 50. הכנס את התוכן של "שם קוב" במקום זה. ת ק5. | דלג ת שורות. 8. שורות הפלט במרווח *חיד. א 06+. | התו המחליף את הטאבולטור הופך להיות א (ברירת המחדל היא רווח). ה ₪1. | הזז את תחילת השורה הבאה בלבד ב-תם רווחים. סש 61. | כותרת הדף היא 6עסש. הח [ט. | הוסף קו תחתון ב-ת השורות הבאות. א6 ת תש. הפעל את המקרו א6 בשורה ם. .. פקודת סיום של הגדרת מקרו (מפסיקה את הפקודה 6). 4 עורך התמלילים "]1סזם" וחבילת התוכנה "חא" בסעיף הקודם הוסבר איך להגדיר ואיך להשתמש בתכניות המקרו ב-"11סזת". ב-א1א[1 ישנן מספר חבילות של תכניות מקרו שניתן להשתמש בהן בשילוב עם "11סעת". הידועה ביותר היא חבילת "תמוח" (8010 טט0ת8זסותסות). [שמות קבצים] [אופציות] מש- ++0עת% הפקודה לעיל תגרום ל-"11סזת" להפעיל ‏ גרסה לא דחוסה (6011080%60-תסת) של חבילה זו. אם מחליפים את חות- ב- 60-, "1]סזת" ישתמש בגרסה דחוסה של החבילה, אשר מאיצה את תהליך הטעינה. פקודות "תות" שונות מפקודות רגי*לות של "+1סעם" בכך שיש לכתוב אותן באותיות גדולות לעומת פקודות "11סזת" הנכתבות כולן באותיות קטנות. בדומה לפקודות "011עםת" רגילות, גם פקודות "תות" מתבססות על שתי אותיות. כדי לעזור בתהליך הלימוד, השתמשנו בסדרה של דוגמאות הנמצאות בתת-הסעיפים הבאים. רוב הדוגמאות מתבססות על שני חלקים; קובצ קלט, אשר מכיל את התמליל ואת הפקודות שחבילת "11סעת" צריכה לעבד, וקובצץ פלט אשר מציג את התוצאה של העיבוד של קובצ הקלט. 4 אוגרים מספריים ניתן להשתמש בפקודת חת. (6215007? זסמממטת) כדי להכרטס על אוגרים חדשים, או לשנות כאלה שהוגדרו קודם. שמות אוגרים יכולים להיות באורך של עד שני תווים: 2 א עת. הפקודה תכריז על אוגר % ותקצה לו את הערך 2. ניתן להדפיס את הערך של האוגר % על ידי כך שנוסיף לפניו את התווים "ת". לדוגמה, את ס5. הפקודה הזו תדפיס (תדלג) שת* שורות ריקות, מכיון שהאוגר 1 אותחל בערך 2. ניתן להשתמש באוגר 118 (0"68% 686ת), כדי לציין את רמת הכותרות שבעקבותיהן תבוא שבירה. לדוגמה, יפ עת. הפקודה לעיל מציינת שבעקבות כותרות מרמה 1 עד 7 צריכה לבוא שבירה. ברירת המחדל היא שרק בעקבות כותרות מרמות 1 ו-2 צריכה לבוא שבירה. הפקודה 7 5 עת. מציבה באוגר "רווח כותרת" (806ק5 2686) את הערך 7, כדי שתהיה שורה ריקה לאחר כל הכותרות העליונות. הפקודה 2 ₪0 תת. מציבה ערך באוגר "קפיצת" הדף (ת6[60010) וכך, כל הכותרות מרמה 1 ו-2 יתחילו בדף חדש. הפקודה 7 קפם. מציבה את הערך 7 באוגר רמת התוכן ([1606 %ת%6ת60), כך יופק תוכן עניינים המכיל את כל שבע הרמות של הכותרות. (התייחס בהמשך לסעיף בפרק זה הנושא את השם "כותרות ממסופרות ותוכן העניינים", שם השתמשנו בפקודות שהוסבּרו לעיל). פקודות נוספות לעריכת הדף הפקודה 55 של "תת" (אשר זהה לפקודה 52 של "+1סזת") מפיקה (או מדלגת) שורה ריקה. ניתן להשתמש במספר כדי לפרט כמה 565 שורות ריקות רוצים לדלג. לדוגמה,. 2 5פ. פקודה זו מדלגת שתי שורות. הפקודה הבאה .98 3 מדלגת על שלושה דפים. כדי לדלג על דף אחד נכתוב את הפקודה 8%. ניתן להפעיל *ישור שוליים מימין על ידי שימוש בפקודה 1 54. ולהפסיק יישור שוליים על :די הפקודה 0 84. פקודת 11%6 הפקודה % משמשת להדגשת פריטים ברשימה. היא בעלת המבנה הבא: [כל תו] [סימן] 11. האופציה "סימן" (אזאות) מציינת את התו שישמש להדגשת הפריט. האופציה "כל תו" (ע6(8-עת8) יכולה להיות כל תו והיא משמשת לציון העובדה שהסימן חייב לבוא לפני כל ספרה מודפסת (ספרות עשרוניות בדוגמה הבאה). קוב> הקלט 1 פ. 5 0000308 2186 6תם 01 56ט 6ת6 005628%665ה66 16קח8א6 5גתך .65 185ט10תזק ה0085121 .1 2 עע. 1 "!" סהת6 תם1ש 60אז8ת 158 ת166 15תך .1 "!" ת16א 0826606 06ת 15 1562 15תך 2 זע. אתגת "!" 6ת6 עס 6020851260 15 ב166 15תם הגהה 5ע. 66 קוב* הפלט עס 0007806 % 06 01 056 606 005%178%665ה06 16קה8א6 15ת1 .0 18%ט85:10ק [ת45121תקח6 1 "!" 6ת6 ת16 85%66 15 180 7018 .1 ! "|" 6ם6 ת16א %60ם0 סה 15 ח166 15מ7 2.5 %צגּח "!" 06) על 851200תקה6 15 ח166 15ת: תִגסַת ‏ .3 ! הפקודת ₪4 1186 כל פקודות הרשימה (65ת8מות60 115%) חייבות להסתיים בפקודה 5, אשר המבנה שלה הוא: [צורות ר*קות] 1₪. האופציה "שורות ריקות" *כולה לקבל את הערכים 0 (ברירת מחדל) ו-1, כאשר 0 פירושו בלי שורות ריקות ו-1 פירושו הוספת שורה ריקה אחת לאחר הרשימה. הפקת רשימה באופן אוטומטי הפקודה ‏ 8. (1150 %08616ש8) מפיקה באופן אוטומטי רשימות שממוספרות בצורה שצוינה בפקודה. מבנה. הפקודה: [צורות ריקות] [הזזה] [סוג] 4. האופציה סוג יכולה לקבל אחד מהערכים הבאים: ספרות עשרוניות (ברירת מחדל). אותיות רומיות קטנות. אותיות רומיות גדולות. אותיות אנגליות קטנות. אותיות אנגליות גדולות. = 47 ע > האופציה הזחה מצינת את ערך הזזה (ת%8%10ת06ת1). אס האופציה שורות ריקות מקבלת את הערך 1, אז הפריטים *וצגו ברשימה ללא שורה ריקה שמפרידה ביניהם. אם האופציה שורות ריקות היא 0 (ברירת המחדל), אז בין כל פריט ופריט ברשימה תפריד שורה ריקה. 7 אם לא צויין ערך להזחזה, יהיה ערך זה שווה לערך הנמצא באוגר 1. (אוגר רמת ההזזה). ניתן להשתמש באוגר 18. (אוגר רמת הרווח) כדי לציין באיזה רמות יש להשאיר שורה ריקה מעל הפריט ברשימה ומתחתיו. לדוגמה, .18 2 פקודה זו מציעת שיש להשאיר שורה ריקה לפני ואחרי כל פריט הנמצא ברמות 1 ו-2. הדוגמה שלהלן מראה את השימוש בפקודה .841. קוב קלט .5 1 2 15 עח. .1 4 6 088 00008005 20. 5286 פ5אסת5 16קהגא6 6ת1 .6ם0 61ש16 15 15םמך בו 3 1ה. .1 6 111 16605 6ה6ט560סט 5‏ ."ג" 18261160 15 ח166 16061 56606 5גתך7 15 25. 11שהט 1665625 ת16א 18061166 1 ."ספ" 18261166 15 1608 15מף 5 .11 .הס םם. ₪26 916 60060 ה266 85( 16061 560006 6ת6 6גת) אסא .0 1₪. 6א6ה [גשתט 36818 558285 6ת0 16081 8 קוב פלט 005 עת. 5086 5אסה5 80016א6 6ת1 .6ת0 16061 15 15ם 7‏ .1 .1 06 088 ."8" 18061160 15 1668 16061 06ת5600 115 - .8 858 מם1א 18261160 06 9111 16608 5ה56006סט5 .1 18585 שם. 11פתט ."ספ" 18061166 15 186₪ 715 | .םס 5. 6ת6 916 60066 ת066 5 [1806 0ת5600 6תם 686 אסא .2 5. 6א6ת 11מחט ת1ַ6 508265 | 6ת0 | 61ש126 .6תאתחסס . 006 08 פקודת 1156 הפאק פקודה 1155 0858 היא בעלת המבנה הבא: [צורות ריקות] [הזזה] פ. האופציה הזזה מציינת את ערך ההזזה פנימה (10 רווחים בדוגמה שלהלן). אם האופציה שורות ריקות שווה ל-0, אז שורה ריקה אחת תפריד בין הפריטים ברשימה, ואם הערך שווה ל-1 אז אף לא שורה אחת תפריד בין הפריטים. הדוגמה שלהלן מציגה את השימוש בפקודת גזפ.. קובצ הקלט .5 1 2 15 מח. 5 1660 (680 6ע6תא 5% 2858 ₪06 66₪005:18665 16ק88א6 15הך .0850 8 ת916 2%066ה 6ת8 528065 ת56 ₪66ה06ה1 0 מם. .11 1660 11186 66 18 15תך7 .11 ח6ם1 560006 6תס 15 15םך קובצ הפלט 5 1660 ה680 9626 1156 ת085 6תם 5628665ה6600 80016א6 15מך .ה85) 8 916 60א₪42 8006 508065 ת66 66:ה66ה1 ח160 1256] 6(6 15 15ם1 - 1660 566000 506 15 15ם1 - פקודת קו תחתוו ניתן להשתמש בפקודה 1]. יחד עם הפקודה א. כדי לשלוט בשרטוט קו תחתון מתחת לתמליל. .9 כאשר משתמשים בפקודה 1. עם ארגומנט יחיד, ימתח קו תחתון רק מתחת לאותו ארגומנט. ללא ארגומנט, *היה קו תחתון מתחת לכל התמליל שרשום אחריה, עד שתתקל בפקודה א. . להלן דוגמה: קובץ הקלט 1 . 98 סמבַת סמ6תטף82 616ת51 8 6ה11[ע06תט 111 1. 6מ7 5 1 1. תסם6 ,1060טסמק 15 מתסשתטשע3 סה 1% 1. 8. 8 11פתט 65ת21 שַת1א10110 תס 6א66 811 6ת11ש606תט 8 18 000806 קוב* הפלט 5 ותסותטקזה סת ]1 .11 5ש0ס011] 086] זהסותטשזה 6|קתג5 8 6תו!זסנתט [11אי 1. שת ה. 8 [נותט 65ת:! קתושס!!0) חס ]א6 ]81 6ת[ז66הט []וטט 1. תסת] ,66שנטסזק .15 6ח8 תות 00 כותרות ממוספרות ותוכן עניינים ניתן| למספר כותרות באופן אוטומטי ולערוך אותן באמצעות תכניות המקרו הנמצאות בחבילת "מות". בגמר התמליל ניתן להפיק באופן אוטומטי תוכן עניינים, שיכול להכיל עד שבע רמות של כותרות. עושים זאת בעזרת הפקודה 76. המבנה של פקודת הכותרת 11. הוא: [תוכן הכותרת] רמה 81. הדוגמה שלהלן מציגה את השימוש בכותרות ובפקודה 76.: קובץ הקלט 7 או 7 פח. 7 תתם. 1 . "280% 1050200610 1666 ע6שטקהסס" 1 8. 0 פקודת 12156 הפה פקודה 1186 2858 היא בעלת המבנה הבא: [צורות ריקות] [הזזה] ,פ. האופציה הזזה מציינת את ערך ההזזה פנימה (10 רווחים בדוגמה שלהלן). אם האופציה שורות ריקות שווה ל-0, אז שורה ריקה אחת תפריד בין הפריטים ברשימה, ואם הערך שווה ל-1 אז אף לא שורה אחת תפריד בין הפריטים. הדוגמה שלהלן מציגה את השימוש בפקודת זפ.. קובצ הקלט 40 1 2 15 עם. 5 1660 0800 86 1156 2858 06 060005528565 6880016 5גתך .085 8 ת616 60א₪81% 0ה8 528065 ת56 566ת06ה1 0 פ. .1 ה6ם1 11256 ₪26 15 15מ7 .1 ח6ם1 0ה5600 66 15 15תך קובצ הפלט 5 1660 680 626ת₪ 215% ת285 66 5628:65ה0ה46 6%80016 5גמך .0858 8 616 ₪82%60 806 508065 ת6= 060:60ת1 - 7015 158 66 115% 160 ח1606 0ת5600 6תם 15 115 - פקודת קו תחתון ניתן להשתמש בפקודה 1. יחד עם הפקודה א. כדי לשלוט בשרטוט קו תחתון מתחת לתמליל. .09 5 .5 666סחטה 01 056 6ת6 085528665ה66 16קה8א6 15מל * 58 05 584216 8 0608056 8610:ה000006 102 ₪566 ץ1הסתהסס 6זב .0 106. ₪6 916 2000060 26 עְגה "006551005 61" 2 4. .0 05 0065 66תת= 4016 הג0 80%6ס 621 6תך "006561005 00108 16ס161טא" 3 ₪. 0055600 561605 50 285 0565 6םתך "006551005 65-01-80ץ" 3 8. .0 8 0 65 8 תס1ח 5601 ₪0 5 ₪562 סת7 "006561008 6-01-58156טמ7" 3 5. 18156 02 6טעם 8 6ט61 60 185 ₪562 6תף "5586156105 61" 2 8. 6 6ת0 35565565 6086 [1801116 מ56טמ6קט5 8 15 15תך 4 6 0% 70 קובצ הפלט 686 חס1ססטת56ה1 11660 מ66טסתסס .1 6:66פחטה ‏ 0% ₪56 6( 06005:28665 16סת8א6 715 6 8 0608056 ת600006058610 102 566 ץ1מסתח60 6תג 65ת₪6801 .60 10. 66 16 0606606מק 26 עה 65ת66ה60 +01 8% 01 1.1 05 6065 61266 180016 608 280%806 021 6תך 85 6001065 161016טא 1.1.1 602600 561600 ₪0 85 ע6פט 6מך 8 סתח-65-05? 1.1.2 .0 ה 0 65ץ 8 ם%16 צסס 0 085 62פט 6ת1 85 581565-:6-0ט12 1.1.3 .1 1815656 ם0 6206 8 0106 ₪0 185 65פט 6ת1 68 0 1.2 1 0610208006 6( 85565565 86( צ801116+ ע6פטע6קט5 8 15 115 .5 6תם 01 05 .. ... 1‏ חת 1055200010 21060 ם66ט0ה00 .1 1 יספט 07 1.1 1 06551085 60106 161016טא 1.1.1 1.1.2 +658-0:-00 006551085 1 1.1.3 7206-05-18156 006561088 1 1-02 0 5 1 כותרות רצות עליונות ותחתונות כותרת עליונה רצה וכותרת תחתונה רצה *כולות להופיע בהתאמה בראש כל דף ובתחתיתו. המבנה של הכותרת העליונה הוא כדלקמן: "'%63ע8ק'62ע8ק'1סעהס'" זק. התמליל ‏ "61זגם" מוצמד לשמאל, התמליל ‏ "%3ז8ס" מוצמד לימין, ו-"2+ז8ק" במרכז. לפקודות שלהלן יש מבנה זהה למבנה הפקודה 11ק.: עע. לכותרת תתחתונה רצה, 1]ע. לכותרת עליונה בדפים זוגיים, ו-011). לכותרת עליונה בדפים אי-זוגיים. התבנית פמ\\ בתוך כותרת יכולה לשמש להפקת מספר הדף, כפי שנראה להלן: קובצ הקלט "'פה\\ 825'2806ק-05שת6'66עהק-:165'" אס 6 6חג 868002 שַתנהתט? 3 05 סַהנסת1תס 626 5628665ה0600 715 פטת קוב הפלט 1 סַחָבת - 06 6% 6 6ח8 :6306 שָת1תהטע 8 01 סַה1סה1תק 66 005628565ה06 7215 . שח 6סחטה 2 פרק 8 ביצוץ תכנית בשפת 6 בפרק זה נלמד כיצד לבצע תכנית בשפת 6, אשר הוכנה בעזרת תכנית עריכה (ראה פרק 6). נתרכז בעיקר בפקודה 066 המשמשת להידור ולקישור (את1) של תכניות ‏ 6 ומייצרת קוב פקודות שניתן להרצה (1116 60068016א6). הנושאים שנדון בהם כוללים הידור קבצי מקור, קדם המעבד של שפת 6, מבנה קבצי הרצה, איך להקטין את גודל הקבצים הללו כדי להגביר את מהירות הביצוע וכיצד להכין במעטפת קבצי פקודות להידור של תכניות. 1 הידור של קובץ מקור הידור של תכנית בשפת 6, אשר נערכה ונשמרה עם הסיומת ‏ "6.", נעשה בפקודה 66: [שמות קבצים] [אופציות] %00 (כרגיל, הסוגריים המרובעים מציינים שהארגומנטים הינס אופציונליים). לאחר שתכנית עברה הידור, נשאר קוב היעד (00[60%) שלה על הדיסק באותו שם של קוב המקור, אבל הסיומת "6." משתנה ל-"0.",. | באופן רגיל קוב+ "ס." מתבטל, מכיון שפקודת 0606 מפעילה את תכנית הקישור המפיקה קובף ביצוע ונותנת לו, כברירת מחדל, את השם "8.00" (בהנחה שאין טעויות תחביריות). כדי לבצע את "8.00%" הקש 5% ניתן לשנות את ברירת המחדל "8.0406" לכל שם אחר בעזרת האופציה ‏ 0-. לדוגמה, אם תכנית מקור נקראת "66590.6" ואנו רוצים ששם תכנית הביצוע (מ8זקסזק 600+8016א6) יהיה "656.6" במקום "6ט8.0", נשתמש בפקודה זו: 566 -0 06506.6 0 ניתן ליצור קובצי יעד בעזרת האופציה 6-. אופציה זו מנחה את המהדר להפיק קובצי יעד עם הסיומת "0.". לא *ופקו קובצי 3 ביצוע, מכיון שלא ניתנה הוראה לבצע את שלב הקישור שלאחר ההידור. לדוגמה, כדי להפיק את קוב היעד "ס.%את", נשתמש בפקודה: 6 ס6- 506 2 הידור של מספר קבצים תכניות גדולות מחולקות לעתים למספר קבצים כדי להקל על הניהול שלהן. במקרים כגון אלה, רק אחד מבין הקבצים צריך להכיל את הפונקציה 'ת[םת'. בפקודה זו, לדוגמה, הקבצים "ס.ה+הות", ‏ "80606.6" ו-"6.6[טגת" הינם קובצי מקור הכתובים בשפת 6. תכנית הביצוע היא 81.6ת11: 06 806.0 0.ת₪8% 81.6ת1+? 0- 806 ניתן לבצע את הפקודה 66 עם מספר קובצי מקור וקובצי *עד, או עם קובצי *עד בלבד. לדוגמה פקודה, אשר מפיקה תכנית לביצוע ".ןתו" | מקובףצ המקור ‏ "₪8%8.6" ומקובצי. היעד ‏ "800.0" ו-"16.0נוות": 0 806.0 6.ת₪8% 81.6ם1? 0ס- 8066 ניתן להפיק קוב מקור הכתוב בשפת אסמבלי בעזרת האופציה 5-. נשתמש לדוגמה בפקודה הבאה: 0 8- 500 היא תפיק קובצ מקור "806.5", הכתוב בשפת אסמבלי. הפקודה 0 0ס.₪800 800.8 6.ת₪8%6 81.6ת1? ס- 806 תבצע הידור של "6.ת%גות", תבצע אסמבלי של "806.5" ותקשר את "ס.הַאָות" ו-"8060.0" כדי ליצור את התכנית לביצוע "81.6ת11". 3 קדם המעבד ב-6 והידור מותנה פקודת 66 מספקת מספר אופציות, אשר מאפשרות לשלוט על הפעולות המתבצעות על-ידי קדם המעבד של שפת 0. קבצים מוכללים כל תכנית 6 המשתמשת באמצעי קלט/פלט סטנדרטים חייבת לכלול בתחילתה את ההוראה <ת.5%5010> 61066ת1/ 4 הוראה זו מורה לקדם המעבד של 6 להכליל בנקודה זו את המשפטים הנמצאים | בקובף "ת.61066/5%610ם5:/1ט/". | הסימנים | <‏ ווֶ-> מציינים את המדריך הסטנדרטי שהינו בדרך כלל "61066ם1/ץפט/". כאפשרות נוספת אפשר להשתמש בהוראה "ת.68016/תת0ס[/עפט/" 86ט1סת1/ . היא תגרום לכך שבתכנית 65 *וכללו המשפטים הנמצאים בקובף "ת.8016>" שבמדריך "תתסן/זפט/". בעזרת האופציה 1- בזמן ההידור ניתן להגדיר בצורה מפורשת את המדריכים המכילים קבציםס מוכללים. נשתמש' בפקודה 6 מם1/₪52/10- 8006 היא תגרום לכך שההוראה שלהלן, הנמצאת בקוב "6050.0", לת.8016>%> 61066ת41 תוחלף בתוכן הקובף "ת.8016+/ מתסן/זפט/". החיפוש בברירת המחדל של המדריך "61066ם5*/1ש/" יתבצע רק לאחר חיפוש במדריכים שצוינו עם האופציה 1. הידור מותנה הידור מותנה ניתן לבצע בעזרת האופציה כ-. זהו מאפיין נוסף שמספק קדם המעבד 6, אשר מאפשר למשתמש לציין אילו שורות בתכנית יש להדר ומאילו יש להתעלם. אפשר להשתמש באופציה כ- כדי להגדיר ערך של מקרו. נוח לעשות זאת כאשר משתמשים בהוראות ]1/, 1]601/, 061ת/01, 6156 ו-011ת6/. אופציה זאת היא בעלת המבנה הבא: [ 8106= ] 6מהתמק- "סתתהתות" הינו שם המקרו ו-"6ש81טגת" העו הערך של המקרו. אס לא צויין ערך למקרו, מניחים שהמקרו מוגדר עם הערך 1 (אמת). עיין בקטע הבא מתוך התכנית "65%.0:" 111061 ; ("ם1טח 6ת61ט0ץ 6:60ם6ת1)"5>תנמק ; (הטסס,"ת%0=>תט60 0% 6ט61)"781תגצס + 955 נשתמש בפקודה 6 00₪כ- 9806 כדי להדר את כל ההוראות בין ]81/66 לבין ]01ה6/. על ידי כך ניתן יהיה לבצע את שתי ההוראות תוזת בזמן הביצוע של התכנית. הפקודה שלפנינו, 56060 06 תתעלם מההוראות הנמצאות בין 1/0661 לבין-611ת06, מכיון שהאופציה כ- לא צוינה. אם רוצים להדר מספר קבצים, יש לציין את האופציה כ₪- לפני שם הקובצ שבו יש להגדיר את המקרו. לדוגמה, נשתמש בפקודה 5066 ₪016.6 -207140₪ 06 כדי להגדיר את המקרו "013408" עבור "866.0" בלבד. בדרך זו, לאופציה "01380כ-" תהיה השפעה על "866.0", כמו להוראה 1 005 6ת266+1 שבתוך הקובף "66.6ַ8". 4 מבנה התכנית בהנחה שאין שגיאות תחביריות, תפיק תכנית הקישור קוב לביצוע בשם "%ש8.0". בטבלה 8.1 ניתן לראות כיצד קוב+ כזה מאורגן. כאשר נפעיל את פקודת 66 עם האופציה ₪ַ-, יפיק המהדר בקוב היעד תוספת מיוחדת עבור כל שורת מקור של 6, שבה קיימת אפשרות לציין נקודת שבירה (6ם68%001זכ). משתמשים :כולים לקבוע נקודות שבירה במספרי השורה המתאימים בעזרת תכנניות ניפוי כמו ‏ "560", או "ססא". (יתן למצוא את מבנה התוספת המיוחדת של מספרי שורה בקוב ב מטתסת11/ 6166ת1/ עפט/ נתוני הניוד (ם61008010ז) אינם דרושים, אם לאחר הקישור לא יהיו שמות חיצוניים שיש לפתור (66ש6501זַמט). המידע לגבי טבלת המחרוזות לא יהיה קיים אם קובצ המקור אינו מכיל שמות ארוכים :ותר משמונה תווים. כמו כן, אם תכנית "הושארה במערומיה" בעזרת האופציה 5- (ראה בסעיף הבא), לא יהיה מידע לגבי נתוני הניוד, מספרי השורה, טבלת השמות וטבלת המחרוזות. 66 יווהה ה מידע על כותרת הקובף 0א המסגמת מתצק כותרת הקובא 08662 16נק כותרות עזר 5 עְטשע1118אטב כותרת %6א6ס6 68000 860010 6א66. כותרת 6808 68002 800010 68%68. כותרות 55 8 מ 560010 05858. מידע על הנתונים 0 14 נתו(ני 6א6ס 8 תמתס56001 סאס6ס. נתוני 6868 8 ת560010 6808. מידע על נתוני הניוד 0עאז 514 אסזדב06.זמת נתוני הניוד של ה-6א6ס 8 מ61008610ע ת860610 6א66. נתוני הניוד של ה-6868 8 מ61008010ע ת860010 6868. מידע על מספרי שורה סעאע הממוטא מאדן מספרי השורה של ה-6א6%ס פעססטטת 1186 ת5606%610 6א6ס. מספרי השורה של ה-6868 פעסוטת 6ת11 ת560010 8868. מידע על טבלת הסימנים סעאת מתפגץ' סמצ5 סמלי ה-6א06 8 תמ ס3560001 0א66. סמלי ה-68068 8 מ 0ס56001 6808. סמלי ה-85ס 58 מס58001 2855. מידע על טבלת המחרוזות סא םתד 0א1 שמות מחרוזות 8 שת1סספ תרשים 8.1 מבנה של קוב יעד חלק | ה-'6א56.' (תמליל/טכסט) מכיל הוראות לביצוע,| חלק ה-'08%8.' מכיל משתנים שניתן להם ערך התחלת* ואילו '55ם.' מכיל משתנים ללא ערך התחלתי. לדוגמה, נתונות ההכרזות הבאות אשר (מצאות בתכנית 6: = 6ת1 ;ץ %5ם1 המשתנה '!' ימוקם בחלק הנקרא '08%8.' ו-'ץ' - בחלק הנקרא 'פפס.'. תכניות לביצוע המופקות על *די תכנית קישור יכולות להיות שייכות לאחת משתי קטגוריות: תכניות עם 'סגמנט טקסט לא טהור' (6ת53206 6א6+ 6עטקם1) ותכניות עם 'סגמנט טקסט טהור' (6זטם 7 5% %א6). במקרה של תכניות עם סגמנט טקסט לא טהור, יוצרים הסגמנטים של הטקסט והנתונים סגמנט אחד ויחיד לקריאה וכתיבה. לתכניות עם סגמנט טקסט טהור יש סגמנט טקסט משותף לקריאה בלבד וסגמנט נתונים לקריאה וכתיבה (ראה תרשים 8.2). סגמנט מחסנית לקריאה/כתיבה 6ת568₪60 5668% 06 1כ₪/ פס סגמנט נתונים לקריאה/כתיבה 598266 2868 106ע₪/0הסת וווההההההווווווווו ו סגמנט טקסט לקריאה בלבד 6ת508₪₪0 6א76 צ1תס-368 תרשים 8.2 מרחב כתובות של תכנית עם סגמנט טקסט טהור כאשר ‏ קוב ביצוע נטען לזזכרון, | נוצרים שלושה סגמנטים לוגיים: סגמנט טקסט, סגמנט נתונים (מתבסס על נתונים שאותחלו ולאחריהם נתונים שלא אותחלו) וסגמנט מחסנית. הכותרת (ראה תרשים 8.1), אשר לעולם אינה נטענת לזיכרון, (בדקת על-ידי הגרעין. אם השדה הראשון, אשר ידוע בשם "מספר הקסם" (ז6פחטת 08816) מכיל את הערך 410 (בבסיס 8), אזי התכנית נחשבת 'סגמנט טקסט טהור'. המשמעות היא שאם תהליכים שונים מבצעים את אותה התכנית, הם משתמשים בסגמנט טקסט *חיד. כלומר, הם משתמשים באותו עותק של התוכנית, אולם לכל אחד מהם יהיה עותק נפרד של הנתונים. אם מספר הקסם בכותרת *כיל את הערך 407 (בבסיס 8), תחשב התכנית כתכנית עם 'סגמנט טקסט לא טהור'. סגמנט הנתונים הוא בדרך כלל סטטי, אך הוא :ורחב אם יתבצעו קריאות ל-"1106אוז", או ישירות לשגרות "אס" או "אזספ". סגמנט המחסנית, אשר משמש לשמירת מידע, כמו משתנים מקומיים של הפונקציה וכתובות חוזרות, יכול להתרחב בצורה דינמית. אופציות המהדר הדרושות להפקת סגמנט טקסט טהור או סגמנט טקסט לא טהור, משתנות ממהדר למהדר. מספר מהדרים מפיקים כברירת מחדל תכניות עם סגמנט טקסט טהור ויש צורך להשתמש באופציה א- כדי להפיק תכניות <-עם סגמנט טקסט לא טהור. מהדרים אחרים משתמשים באופציה 1- ובאופציה ם- כדי להפיק תכניות עם סגמנט טקסט טהור. במספר מערכות א1א1ז, *כולים המהדרים להפיק 'מודל בינוני' של קוב לביצוע או 'מודל קטן' שלו. במערכות אלו, אינך *כול 08 להפיק תכנית עם סגמנט טקסט טהור אם המהדר מפיק מודל בינוני של תכנית. אולם, אין להתעלם מהיתרונות של תכניות עם סגמנט טקסט טהור המתבטאים במהירות עיבוד ובחיסכון של מקום בזיכרון. 5 אופטימיזציה של מהירות הביצוע בזמן| ההידור. ניתן להפעיל את תכנית האופטימיזציה בעזרת האופציה 02-. בדרך זו אפשר לקבל תכנית קטנה יותר שתתבצע מהר יותר. יש להשתמש באופציה זו בשלב האחרון של פיתוח התכנית, לאחר שנופתה משגיאות. כדי לבצע אופטימיזציה לקבצים "6.ת%גז" ו-"6.6[טנת" וליצור קוב ביצוע אופטימלי הנקרא "8.006" נשתמש בפקודה זו: 806 -0 ₪86.60 6 כדי להפיק קובצ יעד אופטימלי הנקרא "ס.8%1ת" נשתמש בפקודה: 06 שש- 0- 506 ניתן להקטין את תכנית הביצוע במידה רבה עוד *ותר על *די שימוש באופציה 5- (ק56:1). אופציה זו מבטלת את מספרי השורה ואת המידע בטבלת השמות (ראה תרשים 8.1), אשר דרושים לתכניות לניפוי שגיאות, כמו "860" ו-"500". לשם כך נשתמש בפקודה 500 -5 ₪80.60 06 פקודה זו תפיק תכנית ביצוע שאינה מכילה מספרי שורות ולא מידע על טבלת השמות. ניתן להשיג את אותה תוצאה על ידי שימוש בפקודה ק5)1 של אזאתז. האופציות ()6- ו-5- *עילות במיוחד בזמן ההתקנה במערכות שבהן מרכיב הזמן ומרכיב המקום מהווים בעיה. 6 יצירת ספריות וקישור עצמים מספריות הפקודה ז8 *כולה לשמש לתחזוקת קבוצה של קבצים או פונקציות בספריה יחידה, אשר מתייחסים אליה כקוב% ארכיון. קובצ ארכיון יכול להכיל, לדוגמה, את כל השגרות הקשורות לפרויקט מסוים ואשר דרושות למודולי מקור שונים של אותו פרויקט. כל קבצי היעד לשגרות סטנדרטיות בשפת 6 וקריאות מערכת נמצאות בקוב הארכיון "1106.8/ סנ1/". .099 בדוגמה שלהלן, יוצרים את הספריה "18.8ק81א110" שבתוכה קובצי היעד ,"466.0"‏ "16.0טות" ו-"ס.סטפ". 0 ס116.0ם 800.0 8.8תק1120%81 עס ש%8 כדאי (מסיבות שיוסברו מאוחר *ותר), שכל שם של ספריה יתחיל בשם '11' ויסתיים ב-'8.'. האופציה ט (672056) מבטיחה ש-ז8 תדפיס את הפעולות שהיא מבצעת. כדי להדפיס את: תוכן הספריה שזה עתה נוצרה, נשתמש בפקודה 8 ס ס58 כדי לשלוף את קוב היעד "16.0טות" מהספריה נשתמש בפקודה 0 8.8תכ110%81 טא ע58 כדי להחליף בספריה את קובף "16.0טות" בגרסה מעודכנת *ותר נשתמש בפקודה . 0 8.8תק110%81 טע ע%8 כדי להעביר את קוב "ס.ם1טםת" כך שיהיה לפני "866.0", נשתמש בפקודה 0 8.8םת110%810 808.0 סטם "58 נשתמש באות 5 כדי לציין "לפני" וב-8 כדי לציין "אחר:". לאחר שנוצרו ספריה או קובצ ארכיב, נעביר אותם <-"פ:1/" או ל-"110/זפט/". | אם נשתמש באופציה ‏ 1- תוכל התכנית להיות מקושרת לפונקציות בספריה. לדוגמה, נשתמש בפקודה 500 ₪80.60 -8 כדי לקשור את הספריה "8.8תק81א1!0/110/זפט/" לקובצ המקור "ס.+המז". שים לב שהאופציה 1- מורה לפקודה 60 לחפש ב-"ט11/" וב-"11/ז₪5/" בכדי לאתר את הספריה "8.8תק41אפ11", | מכיון שהמלה '8תק81א' נכתבה לאחר האופציה 1-. זו הסיבה שאם רוצים להשתמש באופציה 1-, חייבים כל שמות הספריה להתחיל ב-'ם11' ולהסתיים ב-'8.'. אין זאת אומרת שאי אפשר לתת כל שם אחר לספריה, אלא שבמקרה זה חייבים לציין את שם המסלול המלא בשורת הפקודה 60. 100 7 מדידה ושיפור של ביצועי התכנית תמיד כדאי למדוד את זמן הביצוע של התכנית לאחר שהוכח שהיא פועלת כראוי, במטרה לשפר את הביצועים שלה. דבר זה הגו שלב חשוב בדרכה של כל מערכת לפני התקנתה הסופית. לדוגמה, ניתן למדוד את זמן הביצוע של תכנית "6.ת%אנת" בעזרת פקודת 18(6+ כדלקמן: 60/1 61₪066ת1/ 1 פונקציות העוסקות בתווים ניתן להשתמש בכל אחת מהפונקציות המפורטות בטבלה 9.1 כדי לבדוק תווים. כל הפונקציות מחזירות ערך השונה מאפס אם תוצאת הבדיקה היא אמת ואפס - אם תוצאת הבדיקה היא שקר. טבלה 9.1 פונקציות ספריה בשפת 6 המשמשות לבדיקת תווים הפונקציה הבדיקה (150181%)6 6 - ספרה עשרונית בתחום שבין 0 ל-9. (1585011)0 6 - תו 45611 הקטן מ-200 בבסיס 8. (8)0תס1591 6 - אות. (01)0/שס181 6 - אות קטנה באנגלית. (067)0ק150 6 - אות גדולה באנגלית. (6)תטח[158 6 - תו אלפאנומרי (אות או מספר). (0181%)0א15 6 - ספרה בבסיס 16 בתחום שבין 0 ל-9 או אחד התווים שבין 8 ל-1 או בין 8 ל-ק. (1550806)0 6 - רווח, טאבולטור, סוף שורה (08), הזנת נייר (10111-1660), או רווח אנכי. (0)+ם1זק15 6 - תו הניתן להדפסה עם ערך שבין 040 לבין 6 בבסיס 8. (0)םק8ז150 זהה ל-(0)6ת1ז150, אך מחזיר "שקר" (כלומר, אפס במקרה של רווח). (ס)11+מ150 6 - תו בקרה עם ערך 0177 בבסיס 8, או ערך הנמצא בין 0 ל-037 בבסיס 8. (0%)0םטס15 6 - תו פיסוק (לא תו אלפאנומרי ולא תו בקרה). 133 הקטע הבא מתכנית .6 קורא מהקלט הסטנדרטי ספרות בתחום שבין 0 ל-9 ולאחר מכן בונה את המספר המתאים: 2)=מספחטה,6 106 ( ( ()ת0=0660083 )1501016 )116םא 2 - 6 + 10 * עססחטח=ת6פחטת ניתן| להשתמש בפונקציות (067)6קש50 , ו-(61)0ש010+ להמרת "גודל" האותיות (באנגלית כמובן): * (6")0ש%010 ממיר תווים לאותיות קטנות. מחזיר את התו ללא שינוי, אם איננו אות גדולה. * (6)זַתְקט0+ ממיר תוו*ם לאותיות גדולות. מחזיר את התו ללא שינוי, אם איננו אות קטנה. בקטע התכנית הבאה של תכנית 6 קוראים תו מהקלט הסטנדרטי. אם התו הוא אות גדולה, ממירים אותו לאות קטנה: 7 16 ;א ת8ת0 ; () 050650082 ( (0)ע6סקט15 )15 ; (0) 1=6010961 2 פונקציות המטפלות במחרוזות פונקציות מחרוזת ב-06 *כולות לשמש להשוואה, להעתקה, לשרשור ולמציאת אורך של מחרוזת. ניתן להשתמש במספר פונקציות מחרוזת לטיפול בכל. התווים במחרוזת, או במספר תווים מתוך המחרוזת. השוואת מחרוזות הפונקציה קְ00ז)5 משווה שתי מחרוזות. המבנה שלה הוא: 5520 )51 ,82( 1 ו-82 הגם מצביעים למחרוזות שיש להשוות בניהן. אם המחרוזות שוות, מחזירה הפונקציה אפס. אם המחרחזות אינן שוות, היא מחזירה את ההפרש בין ערכי 85611 של זוג התווים הראשון שאינו שווה. היא מחסירה תמיך את ערכו של התו במחרוזת השניה מהתו במחרוזת הראשונה. 14 לדוגמה, הקריאה לפונקציה ( "סמתה", "סתתם" ) כו 5% מחזירה את הערך אפס, מכיון שהמחרוזות שוות. אבל, אם נכתוב ("מאאה", "4אאה") פםס5% תחזיר הפונקציה את הערך 4- לאחר שתחסר את התו 5 מ-84. הפונקציה 0602ז)8, שלא כמו קת60ז50, משווה מספר מסוים של תווים בשתי המחרוזות. בקטע הבא מתוך תכנית ‏ 6, משמשת הפונקציה 600תז54 להשוואת תת המחרוזת "[ט1" שבמחרוזת "5" עם תת מחרוזות אחדות שבמחרוזת "פות" עד למציאת שם החודש המתאים. שים לב שרק שלושה תווים מושווים בו זמנית: ;"8 1 12:28:50 25 1ט0 מסא"=5* עגת6 568610 ; "0066א56000סת 1 טק טנס 1363 "=תח* 082 558610 ;₪ סת1 (++;51;0>13=ח) 0+ ( (3, (1-ח) *3+תח,5+4) פה0ת562 | )11 ;תס ; (ח,"ה6:=%0פחטה מסתסא")+6תוצס העתקת מחרוזות הפונקציה עק0ז)5 הינה בעלת המבנה הבא: (00)51,52ע802 פונקציה זו מעתיקה את המחרוזת "52" לתוך המחרוזת ‏ "51". לדוגמה, קטע התכנית הבא מתוך תכנית 6 כדי להעתיק את המחרוזת "סתתה/זפט/" למחרוזת "ז:6פט": ;"סתת8/לפט/"=6חהת* ע8ת0 568616 ;[562]15ט ע8ת0 ; (שחהת, 562ט) עקת 5% הפונקציה עק06ז)5, שלא כמו עק5070, מעתיקה רק מספר מסוים של תווים למתרוזת נתונה. בדוגמה הבאה מעתיקה פונקציה זו את ארבעת התווים הראשונים של המחרוזת "סשת" (כלומר, "זפט/") לתוך המחרוזת "ז56ט": 155 ;"סתת5:/3ט/"=8ההת* 0085 5584616 ;[56:]15ט צ008 ; (4 , חח , 562ט) צְס56200 /*608280%61 11טת ₪26 םם1א שַת1ע55 6ת6 */ ;'56:]4[='ג שרשור מחרוזות הפונקציה +68"+5 הינה בעלת המבנה הבא: (08%)51,82ע86 פונקציה זו מוסיפה את התווים של המחרוזת "52" לסופה של המחרוזת ‏ "51". בדוגמה הבאה מתוספת המחרוזת "ק8ש6/5תת8" אל | קצה| המחרוזת | "6ותאת", | כדי ‏ לייצר | את המחרוחת "8 ש5/ 6תת8/ עפט/": ;"/ץ5ט/"=[20] שאה 85ת0 8%8616 ; ("ק598/פתח3" , סחהח) 562085 הפונקציה 4% מוסיפה תו אחד או *ותר לסופה של מחרוזת נתונה. בדוגמה שלהלן, מתוספים ארבעת התווים הראשונים של המחרוזת "ז6פט" לסופה של המחרוזת "6נתאת", כדי ליצור את המחרוזת "6חת8/ז5ט/": ;"/ע5ט/"=[6]20חאה 85ה0 568610 ;"6/5980חת0565="8* 0282 558610 ; (4 ,561 ט, 806ח) 5020085 אורך המחרוזת הפונקציה ת16ז50 מחזירה את מספר התווים במחרוזת, עד לתו הריק הראשון (אך לא כולל אותו). מבנה הפונקציה: (5)ת16ת5% התו 8 מציין את המצביע למחרוזת. בדוגמה שלהלן, שם החודש מתקבל מהקלט הסטנדרטי. אם שם החודש מכיל *ותר מ-3 תווים, תודפס הודעת שגיאה: [5]םסהסח 082 ; (ת)חסח) 9655 ( 3 < (מףתסת)ת56516 )15 | 16 קריאת ; ("תשחאה ת6תסח 102 60א4110 680665 3 צָ1תהס")61הנצק ; (6%16)2 1 מחרוזת הפונקציה ]ת5568 משמשת לקריאת ערכים ממחרוזת, שעשויה להכיל ערכים המיוצגים בדרכים שונות. מבנה הפונקציה: 5 + (5ע8, ₪86ע0+, 8) 39081 מצביע ("56ת1סק) למחרוזת שיש לקרוא. * +10₪08% צורת הייצוג של הנתונים שיש לקרוא. * פשזה המשתנים שיקבלו את הערכים. צורות הייצוג הנפוצות ביותר הן: % %0 א 1 %5 %* א א א * עשרוני בסיס 8 (אוקטלי) בסיס 16 (הקסהדצימלי) נקודה צפה מחרוזת בדוגמה שלהלן, מתקבלים ומודפסים החודש, השעה והשנה מהמחרוזת "ז ."086050‏ שים לב לכך ש-'5*%' משמעותו 'התעלם מחלק זה של המחרוזת'. ;"198 57 11:04:40 21 תג; 7מ68:05:2="1* 6087 568610 ;[4]םסתסת 0087 ;[685])5ץ עַגת0 ;(%5106)9 0085 ; (681ע,6106>,ת)הסת,"35%35%*25%85%*35%45*%",68:6567)%ת5568 ; (6106,7685>,ה>תסת,"ת68:=%5? 6 5165%5: 806 %5=ת>הסת")+6תוצק כתיבת ערכים שונים למחרוזת הפונקציה 1)ת1זק5 משמשת לכתיבת מספר ערכים למחרוזת נתונה. מבנה הפונקציה: ( 8288 02886 , 61)5ת1מס5 107 הסבר הפרמטרים: % % מצביע למחרוזת שתקבל את הערכים. * )1008 מצביע למחרוזת המגדירה את הערכים שיש לכתוב למחרוזת 5. * פשזה רשימה של משתנים, או ערכים, שיש לכתוב. בדוגמה שלהלן, כותבים את המחרוזת 2- 1 / 0%קסע/ סתתה8/עפט/ ?- עס אל המחרוזת '6ש0'. הפקודה 506(88ע5 שבאה לאחר מכן, משמשת להדפסת שני עותקים מקוב% "+זסס6ץ": ;[6]50ט0 0082 ;" 8006/26002%/ת5ט/"=ק* 0(87 568616 "ם- 10 |"=ץ* שת סת1 52025 ; (0,צ,ק,"ת%5%5%0 +- עס",פטס)61ה1שס5 ; (5ט0)ת51556 המרת מחרוזת לערך שלם שתיים מבין הפונקציות הנפוצות ביותר להמרת מחרוזת של ספרות לערך מספרי הן 8601 ו-8+01. המבנה שלהן הוא: (8501)8 אַתס1 (8501)5 %6ת1 1 סהת0 0* סאת0 הפונקציה 8601 מחזירה ערך שלם המיוצג על ידי מחרוזת התוו*ם ש-5 מצביע עליה. הפונקציה 8601 מחזירה ערך שלם ארוך, המיוצג על ידי מחרוזת התווים ש-5 מצביע עליה. הדוגמה שלהלן מראה איך ניתן להמיר מחרוזת של תווים למספר ארוך: 558616 082 *5> 7"; , ()4601 שָת10 :6%=8501)5( ; ;(5,266,"ת%10 =מ6מחטה 6ת34 45=%5א שַת61)"5%21ת1תק ולבסוף, כדאי לציין בנקודה זו שישנן שתי פונקציות נוספות שבעזרתן ניתן לבצע המרה. |18 הפונקציה האחת ה*א: (552001)5,0,08596 שתס1 ;ם** ,5* ע8ת0 ;6 סת1 כאשר (11,10 זצן(**זַהת561%01)5,)0 (6ם1) מקביל ל-(8+01)5. הפונקציה השניה היא: (8%500)5 600016 ]* עפת0 פונקציה זו ממירה את המחרוזת ש-5 מצביע עליה למספר מקביל המיוצג בשיטת הנקודה הצפה בדלוק כפול (ת601810"ק-600016 עססתטות +תוסק-7ה1108%1). ופ וו 7-ה 1.09 פרק 10 מאפי' תקשורת בין תהליכים פנ'מיים ופלודות מערגת בפרק זה נדון במנגנונים המסורתיים והחדשים שמאפשרים תקשורת בין תהליכים פנימיים (להלן, 6פז - 5 ת108+10תטתות60). קבצים, אותות, צינורות ללא שם וצעורות בעלי שם הינם אמצעים מסורתיים שמאפשרים תקשורת בין תהליכים פנימיים. אמצעי ‏ 126 החדשים הענם בעלי עוצמה רבה וכוללים תורי הודעות, סגמנטים משותפים בז'כרון ואתתים. בפרק זה גם נציג מספר פקודות מערכת שהינן תחיוניות לפיתוח מוצרים ב-א18צתז. מקובל לכנות את פקודות המערכת גם בשם "פונקציות". 1 הפקודה 55068 הפקודה 550688 מאפשרת לקרוא ולבצע תכנית מתוך תכנית אחרת ולהחזיר את השליטה לתכנית המקורית. (6ת8ומסס ) 60 55 הפרמטר 6ח8חות60 הינו מצביע למחרוזת המכילה את שורת הפקודה של המעטפת. לדוגמה, משפט בתכנית 6: ; ("8866")₪ 5560 פקודה זו תגרום לכך שהתאריך והשעה יודפסו בפלט הסטנדרטי. באופן דומה נוכל לכתוב ;] ("ס1 6. קופס 2- עק")שס50צ5 הפקודה תגרום לכך שהקובף "6.קות6?" *ודפס מתוך תכנית ‏ 6. קריאת המערכת מחזירה את הערך 1- במקרה של שגיאה. 2 ההוראה +1ַא6 הפונקציה 16א6 גורמת להפסקת תכנית אשר רצה ולהחזרת השליטה למערכת ההפעלה. (16)568008א0 הפרמטר 508068 הינו ערך שלם שיישלח למערכת. הדוגמה הבאה, 110 הכתובה בשפת 0), מדגימה את השימוש בפונקציה 1%א6: (ע01א == ( (":ץ","קה66")תסקס)-ס] ) ) 1% | ;("תת26801 05+ 0ח6ם 116+ ת006 שסהת08")שת1מק ;(16)1א6 1 ; (16)0א9 3 פונקציית המערכת 66א6 הפונקציה 66א6 גורמת להסבת התהליך הקורא לתהליך חדש. למעשה, הפקודות והנתונים של התהליך שקרא מוחלפים על-ידי הפקודות והנתונים של התהליך שצויין כארגומנט בזמן הקריאה ל-66א6. הפונקציה 66א6 תחזיר את השליטה לתהליך שקרא לה, רק אם קרתה שגיאה בזמן הקריאה (לדוגמה, לא ניתן לאתר את התכנית שקראה לפונקציה). ניתן לומר שהקריאה ל-60א6 דומה *ותר ל-8060 מאשר קריאה לפונקציה. ישנן מספר צורות של קריאה לפונקציה 66א6 שחלקן מוצגות להלן: (0 ,ה-86-1,....820ע8 ,0-אַע8,ת86ק)601א6 סת1 + ,0-אָתַ3* ,הִמהס* 0885 (צףע86,8ק) צ60א6 סם1 ;[]6תג* ,תםס* תת (0 ,ה-820-1,....820 ,6,82-0ה111608)ק661א6 סת1 ;ה-0ת3* ....,6-1ת82" ,0-צ6ָע8* ,6ה3ת116+* עבתס דוגמאות 1. נתון המשפט הבא בשפת 6 (0 ,"6860" ,"8866/ם1ם/")601א6 הוא יבצע את הפקודה 68%6/ת21/. הנוהג הוא כי "0-קעה" הינו שם התכנית שיש לבצע, אשר בדוגמה זו היא תקבל את הערך '68%6'. הארגומנט האחרון צריך להיות שווה לאפס. 2. אם לא צון שם מסלול החיפוש בזמן הביצוע של הפקודה [60א6, היא תשתמש במסלול הנמצא במשתנה הסביבה זי7ק. 11 לדוגמה, נתון המשפט הבא בשפת 6 ; (0 ,"ס-2116" ,"2116-8" ,"18" ,"601)"15א0 הוא יבצע את הפקודה 15/ת21/, כדי לבדוק אם הקבצים "1116-8" ו-"פ-1116" קיימים במדר*ך הנוכחי. 3. פקודת /60א6% הנראית בתכנית 6 שלהלן משמשת בדרך כלל להעברת ארגומנטים לתכנית אחרת, כאשר המספר המדויק של הארגומנטים אינו ידוע מראש: <ת.56010> 066ט01ת%1 (עס6,32ט82) ת1בח 0 סת1 ;[][טסָת8* עגת0 | 2 6ת1 ; [20] 00 * 03 /* בההתהסס 15 606 56056 11286 */ ;"000]0[="15 /* ההעשסמק 58 60 085560 65תסחטסֶת3 811 56026 אסת */ (++1 ;( 19 > 1 ) 68 ( ססָ > 1 ) ק1=1) ע0: ;[1]טסתג3 = [000]1 ;0 = [0]1ח0 /* 5ת6חט320 6 811 מ16ח 6ההתח60 15 526 66ש60א6 */ ; (0חס ,"15/ת21/") /60א6 ; ("ם מהתחסס '15' 616 ט60א6 פסהת68 :שסעעם") 65תגעק ; (16)1א6 ] 4 פקודות 66א6 ותווים שמורים החיסרון העיקרי של פקודות 601א6 ו-600א6 הו באי *כולתן להשתמש בתווים שמורים כמו *,7,[,],> ו-<. ניתן להתגבר על בעיה זו על ידי כך שנשתמש ב-601א6 כדי לקרוא למעטפת ולאחר מכן נאפשר למעטפת לבצע את הפקודה. קריאה כזו נראית כך: (0 ,6ת60₪₪8 ,"6-" ,"ת5" ,"ב5/ת1ט/")6001א6 לדוגמה, כדי לקבל רשימה של כל הקבצים בעלי הסיומת ‏ "6." נשתמש בפקודה הבאה: (0 ,"6.* 15" ,"6-" ,"ם5" ,"ת5/ת1ט/")601א0 112 5 הפונקציות 10% !-+81ש פקודות 66א6 אנן שימושיות במיוחד, מכיון שהן מספקות מנגנון שבו התכנית הקוראת מסיימת את פעולתה והתכנית שנקראה ממשיכה להתבצע. הפונקציה 105% מאפשרת ליצור מתוך תכנית שמתבצעת שני תהליכים עצמאיים, אשר :כולים לפעול בנפרד. לאחר הקריאה ל-א:0+ נוצר תהליך חדש, תהליך בן. זהו העתק מדויק של התהליך שקרא לפונקציה, אשר נכנה אותו תהליך אב. תבנית הקריאה לפונקציה: ()16=?028ק לאחר הקריאה ל-א%ז0), ניתן לזהות את תהליך האב ואת תהליך הבן על ידי בדיקת הערך המוחזר. אם חזר הערך "אפס" הרי שזהו תהליך בן. אם חזר מספר שלם חיובי, אשר הוא למעשה המספר המזהה של התהליך, לפנינו תהליך האב. ולבסוף, אם חזר הערך 1- פירוש הדבר שהקריאה ל-א8ז10 נכשלה. קריאה לפונקציה 816ש גורמת לתהליך האב (שקרא לפונקציה) להמתין עד אשר יסיימו התהליכים הבנים לפעול, ורק אז הוא יוכל לחדש את פעולתו שלו. הקריאה ל-816ש נראית כך: (6ת1ק)16פש +חות הינו מצביע למשתנה המקבל מספרים שלמים. התכנית שלהלן מדגימה שילוב של קריאות ל-%:10 ול-66א6. התכנית שקוראת לפונקציה | מבצעת | את התכנית ‏ "85607" הנמצאת במדריך "807688 57/". לאחר שהתכנית "ז5%6אות" מסתיימת, המערכת מחזירה את השליטה לתכנית שקראה לפונקציה. <ת.55010> 61006ה1+ () ם₪81 ן ,508005 שת1 ; () 210=102% ( 0 == 216 )11% | / * 0200658 02116 6ת₪ 165 */ ; (ע01א ,"תַ6ס5הה" ,":8506ה/0:685ת05:/8/") 68661 ;(15)1א6; ("הח8:טסעק 0845662 0% 60א6 ת1 עסםשם") +סתגטק ] ( 1- == 016 )11 6156 13 ;("ת%מ0? ₪0 41160ק")61הנמק ;(16)1א6 ] 06| /* ת15ה11 60 500655 6 מס 9816 50 2500655 שתסעאק 165*/ ; (855855) 816 ; ("תתהּתסֶסעק 0% 6תט")+6ת1תק ;(16)0א6 ] הסטטוס המוחזר על ידי הפונקציה 816ש (בגרסת ש-א18א1ז) מיוצג על ידי מספר שלם שנוצר מ-2 קבוצות של שמונה סיביות. שמונה הסיביות הנמוכות מכילות את הערכת המערכת לגבי סטטוס הסיום של תהליך הבן. הסטטוס *היה "אפס" לסיום נורמלי ושונה מ"אפס" כדי לייצג תקלות שונות כמו סיום כתוצאה מפסק, או כתוצאה מאות סיום. שמונה הסיביות הגבוהות נלקחות מארגומנט' הקריאה ל-1א6 של תהליך הבן לפני שהוא מסתיים. אם תהליך הבן לא קרא באופן מפורש לפונקציה 16א6, יהיה הסטטוס של שמונה הטסיביות הגבוהות שווה ל-0. לסיום נוסיף, כי תהליך הבן יורש מאפיינים רבים מתהליך האב כמו: הסביבה, הקבצים הפתוחים, הקלל הסטנדרטי, קבצי השגיארי והפלט, ברירות המחדל בזמן יצירת | קובף, טיפול באותות וסגמנטים משותפים בזיכרון. 6 אותות אותות (5180815) מיועדים באופן מסורתי כדי לסיים את פעולתם של תהליכי א1צ11. אותות *כולים להשתמש בערכים מוגדרים מראש בלבד וכתוצאה מכך הם אינם מיועדים להחלפת מידע. אות העו צורה של פסק תוכנה (6קט:ז0+ת1 5016/8:6), אשר מפסיק את הביצוע הנורמלי של תכנית. פסק :ישלח לתהליך אשר רץ, אם התרחשו הדברים הבאים: 14 טעויות בחישובי נקודה צפה. הפניות לא חוקיות בזיכרון. | ביצוע של הוראה לא חוקית. | הקשת מכ. .01117 תשקה‎ שימוש בפקודת המערכת 111. קריאה לשגרות מערכת (כמו "%:0ס8", אשר מפיקה את האות | 7 או "מ1זז818", אשר מפיקה את האות 1401 510). | * א א א א א %* לאחר שהופק אות, עדיין ניתן במספר מקרים למנוע את התוצאה הסופית, שהיא הפסקת התהליך. במקרים אלה ניתן ליירט את האות ולהתעלם ממנו, או לנקוט בפעולה אחרת. ן פונקצית המערכת גוא הפונקציה 111א, המשמשת להפקת אות: (18,518ס)%111 %ם1 81 טת1 אם המטפר המזהה (12) של המשתמש בתהליך שקרא ל-1111 אינו של משתמש-על, תהיה פקודת 111 אפקטיבית רק כאשר המספר המזהה של המשתמש בתהליך שקרא זהה למספר המזהה של המשתמש בתהליך המקבל. הפרמטר 212 *כול לקבל מספר ערכים: 0<מזפ שלח "51" לתהליך שהמספר המזהה שלו העו כזק (כ1 5פסס06ז). 0 שלח "אפ" לכל התהליכים (פרט לתהליך 0 ותהליך 1, שבהם המספר המזהה של קבוצת התהליך שווה לזה של השולח. 1תזת שלח "5186" לכל התהליכים, שבהם המספר המזהה האמיתי של המשתמש זהה למספר המזהה האפקטיבי של המשתמש בתהליך השולח. אם "אפ" נשלח על :די משתמש על, אזי כל התהליכים במערכת (פרט ל-0 ו-1) יקבלו את האות. 1+פזת שלח "51" לכל התהליכים, אשר המספר המזהה של הקבוצה שלהם שווה לערך האבסולוטי של סמזק. לדוגמה, בתכנית בשפת 6 ישנו המשפט הבא: (510138, ()206216) 2111 הפונקציה תשלח לתהליך שקרא לפונקציה אות טיום שניתן "ללכוד" אותו. 115 לעומתו, הפונקציה במשפט (5100111, 152) 1בא תשלח לתהליך מספר 152 אות סיום שלא ניתן "ללכידה", והוא יסתיים מייד ללא תנאי. אם הקריאה כ111-5 עברה בהצלחה, *היה הערך המוחזר שווה לאפס. בכל מקרה אחר יהיה הערך המוחזר שווה 1-. פונקצית המערכת 518041 קוראים לפונקצית המערכת 518081 כאשר יש צורך בעיבוד אותות. הקריאה לפונקציה: (מ80610, 0ת518781) 518081 כאשר 0ח81ח51 מספר שמציין את מספר האות. 860 מציין את הפונקציה שיש לבצע כאשר האות מתקבל. הוא גם *כול לציין את הערכים 10% 516, שמשמעותו התעלמות מהאותות ואת זע 510, שמאפשר שיחזור של ברירת המחדל לסיום התהליך. כל מספרי האותות יכולים להיות זמינים לתכנית. 6, אם נכתוב את המשפט הבא: <ת, 518081> 6 דוגמאות: * כדי להתעלם מהפסק הנוצר בעת הקשה על ,₪1 השתמש במשפט הבא: (א10 5106 , 1א5101) 518081 * כדי להתעלם מהאות 61111 השתמש במשפט הבא (א10 510, 5100011) 1+ * כד:י לשחזר את ברירת המחדל במקרה של קבלת האות "61117 השתמש במשפט הבא: (.זפע 510 5100011) 1 בעת הקריאה ל-518081, אם שדה ת80010 מכיל קריאה לפונקציה, יש להכר עליה לפני שמשתמשים בה. בצורה זו *וכל המהדר להתמודד עם ההפניה שבהמשך. כאשר מתקבל אות ולא מתעלמים ממנו (פרט ל-51011.1 ו-5107840), 116 הוא חוזר באופן אוטומטי לערך המחדל שלו. אי לכך, תכנית הרוצה לטפל במספר פסקים, צריכה לקרוא לשגרת 51081 בכל פעם שמתרחש פסק. בתכנית "6.תז818" תוכל למצוא הדגמה קצרה של הדרך שבה יש להשתמש בקריאה ל-81ח518. 7 השעיית הביצוע של תהליך ההוראה 28056 יכולה לשמש להשעיית הביצוע של התהליך הקורא, עד אשר התהליך מקבל אות שאין הוא יכול להתעלם ממש. ()8186ש אם הפונקציה לתפיסת האות אינה מסיימת את התהליך הקורא, יחדש התהליך את פעולתו מאותה נקודה שבה הושעה. 8 הפעלה של פסקי זמן לעתים רוצים שתכנית תפסיק את פעולתה אם אירוע מסוים לא התרחש תוך פרק זמן מוגדר מראש. ניתן ליצור פסק זמן כזה על ידי קריאה לפונקצית| המערכת | הה818 ובעזרת האות "זא ". הקריאה ל-81878: (0)5608ע8182 66תש1פתט 1 1866פתט הפרמטר 8608 משמש לציון מספר השניות שיחלפו לפני שהאות ]1 יישלח לתהליך שקרא לפונקציה. קריאה ל-חח818 עם הערך אפס תבטל את בקשת חוו818 הקודמת. התכנית שלהלן מדגימה קריאה ל-81818. אם המשתמש לא יקיש דבר במשך 10 שניות, התכנית תיקח פסק זמן ולאחר חמשה פסקי זמן רצופים היא תפסיק את פעולתה. /* 6 1 העשת * * ה 5180815 הע818 0% ₪56 6ת6 66000552866 10 : סט * 5 160000107קח1 6 **/ <ת.55010> 61006ה41 <ת.81הף51> 41061066 ()ת31ח זָ 17 2 ;088 7=חט 60 סח1 ; () 0ח06ת8182 6ת1 ; (0וח006 313 ,516818%) 81ת510 ( 5 > סתט60 )116ת9 | /* 5600005 .10 0% 6ט60ת1: 8 566 /*‏ ;(3418:0)10 ;'0 '=[0] +טס ;(" < 5600005 10 ת1ת16א שַת5621 ע6סהפה")1:ה1טק ; (+גוס) 9665 /* 6106006 6תם [06ת68 /*‏ ;(0)ה:818 /* 5600005 10 ת1 686 ת066 285 חֶת1ת5006% 11 א%ס6תס */ /* 606266 945 שָתנתססה */ ( 0 == (+טס)ת16ת50 )+1 ; ("2260ט000 סט60ת11ה")+פת1צק ;++00006 1 6 ז ;(?טם,"ת15=%5 5660005 10 ת1ם16א 2686 שטסת1")+סת1עם /* 1000 ₪26 15א6 ₪0 */ ;6=5תטסס 1 /* 1000 116ת9 0% 06ת6 */ [ /* ה28טסמק ה1גח 0% 6ת6 */ ( 818060 )( ז ; (0600 313 ,51618%) 510081 ; ("6ת1טסץ 818200600 15106ת")+>תנצק ) הרצה טיפוסית של התכנית תפיק את הפלט הבא: < 56000605 10 ת1ת18א שמ5521 מ66חם 16סטסת 813200600 105106 11090000 06 שמת < 05ה5660 10 ת1ת%16 שת1ת55 מע66חם 6ת15-8 5600005 10 ת1ת16א 2686 סטקתך 1|8 9 חידוש של פעולת התכנית ניתן להשתמש בשגרות הספריה קח[560 ו-פְח[ָקַתס1 כדי קבוע נקודה בתכנית שממנה תחדש התכנית את פעולתה לכשיופיע פסק. השגרות קח[50 ו-קְ0[קַ100 מתנהגות בצורה דומה מאד לפקודות ₪060 בשפת 6, אך ללא ההגבלות הרגילות. המבנה של שגרות אלו הוא כדלקמן: <ם. קח( 566> 66מ01ה%1 (505%6808) 56% 16 0% טפ סח (266081 ,545580%) 5ח[6ת10 6ת1 2 סםת5/5080%;1 +טס סחך השגרה הראשונה הינה קח[56%, אשר שומרת את סביבת המחסנית של התכנית שרצה ומחזירה ערך השווה לאפס. ניתן לקרוא לאחר מכן לשגרת פח[ץקַחס1 כדי שתשחזר את טביבת המחסנית של התכנית שרצה, לאחר שהביצוע של התכנית הופסק על :די המשתמש במכוון או בשגגה. שגרת קח[אַחס1 מחזירה את הערך המצוין על ידי הפרמטר 1, ניתן לבדוק ערך זה בנקודה שממנה נקראה השגרה קח[86. תכנית 6 שלהלן מראה כיצד ניתן להשתמש בשגרות פחו[+56 ו-קחז[שַחסן: <ם. קח(56%> 06ט610ת%1 <ה.519081> 086ט010ה%1 ; ()ץפת1ת3 תצ6םאס ;55680 +טס סחך ()ת81ח | 2 ,10008 סת1 ; (62ת801 ,1א510081)5101 ה0ת? מהשההסע1טה6 5%80% >ה6עעטס 6ת₪ 5846 60 סח[:56 6811 */ /*תס סת1סק 15ם% 566 )5/55808( ; ג ף8עףסעק 01 6865ץ 1 ; (15)0א6 1|9 /*ההסָסעק הגה 0% 6ת6*/ [ () ת5ה1ח3 ָ /* 00026006 >קטעע6סת1 6א6ה 105 81ת810 656% */ ; (52ת1ת1,8א5161) 810081" ("ה!! חהתסֶסעק מקטעעסשה1 06ה 60 16856ק")61ת1צק /* 552086 ע%6 8 ת3166 מתשההסת1טת6 5880% 656056 */ ; (5680%,1ש5) סח נְחַח10 1 0 צינורות ללא שם עד עתה הראעו כיצד ניתן להשתמש בקריאות לפונקציות 101% ו-066א6 כדי ליצור תהליכי בן. לא הראעו עדן כיצד *כול תהליך בן להתקשר עם תהליך האב שלו ועם תהליכים אחרים. זאת ניתן לבצע בעזרת מנגנון הצינורות. צינור (6ס1ק) הוא סוג מיוחד של קוב>, אשר נוצר על ידי תהליך כדי להעביר באמצעותו מידע לתהליך אחר. שלא כמו קוב> רג*ל, מייצג צינור שטח אחסון זמני בזיכרון שנשלט כולו על :די המערכת ואנו קשור לזיכרון של התהליךך שיצר אותו. אולס, לתהליכים הכותבים אל הצנור או קוראים ממנו, חייב להיות מקור משותף. צינורות | מכתיבים שימוש | במנגנון | 2/1102 (ראשון-נכנס-ראשון -יוצא) בעת איחזור נתונים ופועלים בצורה סדרתית; לא ניתן לדוגמה לבצע חיפוש בצינור. כל הודעה בצעור *כולה להקרא פעם אחת בלבד. צינורות מיועדים לשימוש בין שני תהליכים המשתפים פעולה, בדיוק כמו סימן הצינור של המעטפת, 4 המשמש להעברת הפלט של תהליך אחד לקלט של תהליך אחר. 1 פונקציות הצינור בספריה הסטנדרטית ניתן למצוא מספר פונקציות צינור כמו: מסקסק 6 1[6 06 120 ניתן להשתמש בפונקציות אלו לטיפול בצינור (צינור ללא שם) בדיוק כמו שמטפלים בקובצ. הן מחז'רות מצביעים לקובצ או מתארי קוב, אשר *כולים לשמש פונקציות קלט/פלט סטנדרטיות לקריאה מצינור או לכתיבה אליו (לדוגמה: 686ת, 166:, ]ג ])חוזק] וכד'). חסקסק ו-61056] הפונקציה ח6קסק, הינה בעלת המבנה הבא ; (06ע%5 ,6₪0)תסקסס הפרמטר 686 העו מצביע למחרוזת שמכילה את שורת הפקודה במעטפת ו-6קע+ מציין האם יש לפתוח את הצינור לקריאה (ז) או לכתיבה (ש). הפונקציה ח6קסק *וצרת תהליך חדש ולאחר מכן פותחת צינור לקלט או לפלט הסטנדרטי של התהליך החדש. אם הקריאה ל-ח2006 מצליחה, מוחזר מצביע לצינור הפתוח הזהה למצביע לקובא. אם הקריאה לא הצליחה כתוצאה משגיאה כלשהי, אחרת *וחזר הערך ענזצ. הפונקציה 01056 הינה בעלת המבנה הבא ; (עלק)61056 הפרמטר 6 הענו המצביע לצינור שיש לסגור. הדוגמה שלהלן מראה את השימוש ב-ח6ק0ק וב-001056. התע : 04588 */ 86 3 סַת51ט 6חגה 66201081 665 10 : 56ססתטק ‏ * /** <ת.55010> 66ט%12010 () ם81ח | ; ()ח6קסק* ,0+ק* פעזס ;[12]+טפ תַגת0 ( ם1טא == ( ( "ע","ץ:ס6")תשקסם = 0]ק ) ) 1% | ;("ה81160? 0811 106 צַ1)"66>תגעס ;(15)1א9 ]1 11 /* 106 הסם] שההּה 41ת1הץ6: 6 */ ;(2טפ ,"%5" ,0+ס):5080+ ;(?טס ,"ה%5 = 680? 6ההתץ:6")]:ה1צס ; (0+ק)0601056 ] 06( ו-01056 פונקצית המערכת 6 הינה בעלת המבנה הבא (6)016ס1ק הפרמר 16ק הינו מצביע למערך בן שני איברים של מספרים שלמים. קריאה לצינורות ברמה נמוכה זו פותחת קוב הן לקריאה והן לכתיבה. היא תחזיר את הערך אפס אם הקריאה הצליחה ואת הערך 1 אם הקריאה לא הצליחה כתוצאה משגיאה כלשהי. כדוגמה, הבה נתבונן בקטע הבא מתכנית 6: ;2 ,[0]2ס 6ת1 ; (80ק)106ק = סץ (1- == ףץ ) 1% /* 00002066 62202 ת8 608056*/ ;(16)1א6 האיבר הראשון במערך "[10]0ק" יכיל את מתאר הקובף. לקריאה לצינור, בעוד ש-"[16]1ק" *כיל את מתאר הקוב לכתיבה לצינור. בסעיף הבא תוכל לראות דוגמה של תכנית 6 המשתמשת בקריאות לפונקציות המערכת שתוארו בסעיף זה. 2 שימוש בצינורות ברמה נמוכה הפונקציות 6806" ו-6)וזש (בדומה לק/59 ברמה נמוכה) *כולות לשמש לקריאת תווים מצינור ולכתיבת תווים לצינור. למערכת יש שליטה מלאה על אחסון הנתונים בצינור. אם תהליך כותב לצינור מלא, הוא יצטרך להמתין עד אשר הצינור יתרוקן. אם תהליך קורא מצינור ריק, הוא יצטרך להמתין עד אשר יגיעו הנתונים. כדי לקרוא 20 תווים מצינור פתוח, אפשר להשתמש בדוגמה הבאה: 08;%תטס6 ,[16]2ק 6ם1 ((?טם)+51200 ,%טם ,[6]0+ס )686ע=6תטסס 12 כדי לכתוב 20 תווים לצינור פתוח, אפשר להשתמש בדוגמה הבאה: (20 ,"טס ,[96]1ק )166עש=6תטסס מכיוון שיש שני מתארי קובצ הקשורים לכל צינור ברמה נמוכה, יש צורך להשתמש בפונקציה 61056 פעמיים. להפסקת הקריאה מהצינור נכתוב: ;( [26]0ס )01086 להפסקת הכתיבה לצינור נכתוב: 61056) +6]1[ (; התכנית בשפת ?6 שלהלן מדגימה את השימוש בצינורות ואת הקריאות לפונקציות המערכת 10% ו-66א6: 1: 06 8% 1% .01065 01 ₪56 56 562866ת06₪0 סל : 46 סמ ח0ת? 0ה8תה00 5611 8 80606065 6 0ם 6000306 66 85565 תסת6 16 .שטסת1 6 0208665 מ16ם9 "106 סס" תס1שסתנ1 06 66 665א6 6ה8 5א102% תסתם 18 .106 6060 6תם 0% סטקסטס ₪26 686 שַתְנסַתאעע3 31662 6 .0268500 685 סגתם 6ק1ק 66 ₪0 6065 86 8 פתעטס6ת חשת6 "16ק קס" תס1ססהט+ 00 106 606 01 5106 2686 66 60 605ק1ת6650 6 2086 ₪0 ₪566 15 תס1תא ,חהצףַסעק ה₪81 6ת6 06 ש6חם עס 106ק 6מ6 ת1 שטק 651165ץ %ת0ע8ק 506 פטת? :0200655 68116 60806א6 תג 06ה 46‏ .6כ1ק ₪6 200] 16808 00655ת [ 6 185 מ0600000108:10 00655ת0-:6סת1 .65 60 6ם6 ה66%66 */ <ת. <ת. (1- מ8תססקץ */ * * 86 0 610606ה%1 01+> 01006ה%1 ) הסתתם 306116 0 כגפה 6ה%0611 1 175 6ה306)1 ()ם81ח ןָ 13 ;6תט0ס ,%0ת 6ת1 ;6 ,[0]20ת0 0085 ; (" : 6ההתח0ס 662ת6 16856פ")+שת1עק ; (076) 0665 /* 0650510601 1116 2686 666 ;6 60 92166 6ת8 106ק 020866 */ ; (0ח0) 106ק 50-00 (0 > 60ם) 11 | . ;(210,"ה10=%0: 0ח8 ה10םסהט] 106 סס ת1 מסעעם")65ת1עק ; (1) 16א6 ] /* ץ6קתס 5 11>תט 60056085 165 שטקשטס 6ת8 6ש1ק 66 686ע */ ( עעטא =! ( (1 ,80 ,6=:680)2+6תט60 ) ) 16גםט ; (0) 82ם60טק ; (16)0א0 /* הה:שָסמק ת81ה 01 606 */ ] /* 86 סס : הס1נםסתנק * * ףטקפטס 55800820 6612608 ,6ק1ק 626 056866 70 : 86 * עס 6ק1ק 6(ם 60 166 ₪0 6ח3 ,106ק 6תם 60 * 5 085560 985 5186 6ת08ח6-00ם6 שַת51ט60א6 - 6 פתתט66ת ץ61ת56006סט5 16 .שה6חטףת8 ח8 * 6 01 5106 2680 56 ₪0 6650210602 1116 5 .ב . ** / (0ה6) 106 קס סת1 568610 * :08 | 1% ,[10]2ק ,5ש5686 טה1 6 מ50 1005ת0650 1116 18 6+ | */ 6 6מםם 6ת56801 0+ [0ג50]858ק /* 106 6ת₪ 50 שַת1ש1עא ע0+ [10]82175 /* 16ק ת6קס */ ( ה0תתם==[6+ק]6ק1ק )12 /* 1116 ת006 60 81186+ */ ;(1-)תעט66ץ 14 ( 0==( ()א:10=10ק ) )15 [ /* 0006 00655מ2 62116*/ /* 610% 6ת3תה0ס 61ה10 566; 550006 61056 */ ; (5ט01056)5%600 /* .106ק 0% 51066 2680 61056 */ ; ([0ג10]35ק) 010858 5 0106 ח006 5806 6(: 60 261628 550006 546 50 16061 56*/ /* |10]88118ק ; (550006 ,ספקטס 8 ,[61)010]08118ת0] /* 66066 מַַסַח10 סת 15 16 6סת51 [מ11תא] 16ק 016 61056 */ ; ( [10]₪8115ק)01056 /* ₪562 66 עס השטג 985 85ת6 6ת60008 6ת6 66ט60א6 */ /* 6ק1ק 6ת6 60 ם66ם1מא 6ם אסת 111א סטקסטס */ ;(012א ,000 ,"6-" ,"ת5" ,"ת5")ק601א6 ; ("ת60א6 שַתנעט0 עסמעם")+6ת1עק ; (3-) מעטססץ 1 ( ת0תתם==10ק )11 6156 [ ; ("ח5%+ 60 1166ק")1םת1מק ; (4-)תעט66ץ )] /* 0006 6תסעאק */ 9816) 8558605 (; /* 9816 102 00116 60 016 */ 01056)0%0]%8118[ ( ; ; ( [כג20]88ק)תתט66ע /* ה10ס6סתט? 0% 6ת6 */ ] 3 צינורות בעלי שם פעולת צינורות בעלי שם זהה לזו של צינורות ללא שם. אולם לתהליכים המשתמשים בצינורות בעלי שם לא חייב להיות מקור משותף. תהליכים שאינם קשורים ביניהם *כולים לשלוח בקשות לצינור בעל שם, בתנאי שהם *ודעים את שמו. נלתן ליצור צינורות בעלי שם מרמת הפקודה ב-א1א1ז בעזרת הפקודה 6סחאחז: ם 6מהתק (06)5מ>₪/6560/% הפרמטר ‏ ק מצ"ן שרוצים ליצור צינור הנקרא "סממהתס", 15 ולא ליצור קוב+ מיוחד, שהוא השימוש הנפו% בפקודת 6סחאחז. גם מתוך תכנית ‏ 6 ניתן ליצור צינור בעל שם בעזרת הפקודה 48. לדוגמה, שימוש בפקודה 6סחאות: <ת. %51ת0?> 06ט61ה%1 ;6 שת1 ;"6ק1קעחה"=6ההתק* ,[512]+טס 0282 ;(0664,0 | 010000 ,6ההחק)0סהאתח פקודה זו תיצור צינור בעל שם הנקרא "ס6סקעת" ובעל הרשאת גישה 0664. לאחר מכן ניתן לפתוח את הצינור לקריאה באמצעות פונקצית המערכת חס6קס, כפי שנראה בדוגמה שלהלן: ; (צ4 ]טקא 0 , צןאסכת 0, 6מהתק) מסקס=00106? ולבסוף, כדי לקרוא יש לפנות לפונקצית המערכת 7080 ; ( (+וס)512601, פטס , 260106) 20806 צינור בעל שם ימשיך להתקיים עד אשר יבוטל בעזרת קריאה לפונקצית המערכת אחז1חט. 4 דו"ח -מצב של אמצעי 156 פקודת 1008 משמשת לדווח על מצב אמצעי 126 (סגמנטים משותפים בזיכרון, אתתים ותורי הודעות). התחביר של הפקודה: [אופציות] 1008 אם לא צונו אופציות כלשהן, 1005 תדווח על המצב של אמצעי ה-126. להלן כמה מבין האופציות הנפוצות ביותר: וח- הצג מידע על הסגמנטים המשותפים שפעילים כרגע בזיכרו(. > | הצג מידע על תורי ההודעות הפעילים. 8 הצג מידע על האתתים הפעילים. 8- דווח כל מה שאפשר על אמצעי 6פן]. 1566 5 ביטול מידע על אמצעי 26]ז פקודת חז6ק1 משמשת לביטול מבני נתונים ומספר זיהוי הקשורים לאמצעי 156 מסוים. התחביר של הפקודה הוא [אופציות] מעסק1 להלן כמה מבין האופציות הנפוצות ביותר: 8תת5 ות- מבטל סגמנט משותף בזיכרון הקשור למזהה 6!חזתפ. 6 8%- מבטל מערכת של אתת הקשורה למזהה 560:6. 6 )6- מבטל תור הודעות הקשור למזהה 1516. 6 תורי הודעות תור הודעות (10 - 6006065 165586/) הינו שטח בזיכרון הראשי אשר מופרד מהזיכרון של התהליך שיצר אותו. לאחר שנוצר, יכולים מספר תהליכים להתקשר בעיהם על :ידי שיגור הודעות לתור וקבלת הודעות מהתור. כל הודעה בתור ההודעות חייבת להיות מסווגת (6קץ%). בדרך זו יש לתהליך המקבל אפשרות לבחור בסוג הודעה מסוים. בדומה לצינורות, מועברות ההודעות לפי שיטת 180ע. כל כניסה לתור ההודעות היא אטומית (לא ניתן לבצע שתי פעולות בו-זמנית לתור, פעולה אחת חייבת להסתיים לפני שהפעולה הבאה מתחילה). כל תהליך שיש לו הרשאה מתאימה *וכל להכנס לתור ההודעות. תורי ההודעות מתאימים ביותר להחלפת הודעות קצרות בין תהליכים. תור ההודעות *תקיים כל עוד לא בוצעה קריאה לפונקצית המערכת 1, או לפונקצית המערכת 6- חחסק1 (ראה גם הסברים על פונקציות המערכת 5סק1, ותתסקן1 ו-60+1פו/). תכניות המטפלות בתור* הודעות *כילו באופן רגיל שלושה קבצל כותרת: <ם.065ץ575/5> 06ט61ה1+ <ת.5/106ץ5> 01006ה%1 <ת.5/0506ץ5> 06ט610ה%1 ת.6ק! הענו קובצ המשמש את התקשורת בין תהליכים פנימיים, ותפקידו לציין את הרשאות הגישה. הקובף מכיל את הגדרות הבאות: 127 0 10, מךהמת6 0ק1, סא 120, מסאם 120, ע5₪2 0ק1, 7 6 פזאת 10 ו-1018חק 6 בנוסף, הקובא מכיל את המבנה חזז6ש 106, כפי שמפורט להלן: )הפס 106 /*ע6האס 01 0: ע₪56 1681 */ 12 מף,ם0ח5 | 60ת51 /*ם6האס 0% 16 קטסת6 681 */ 1 5055 66ת516חט /*0ג 612600106 */ - ;0010 סעסה5 66חסג5תט /*10 טספ 655600106 */ | ;גחָס 6ע0ם5 516866חט / "0065 58 */ ;₪006 502% 606ה514חט /*ם6סחטה 560006006 6מָ8פט 5106 */ 2 סמםסת5 10060פחש /*ץ6א% 6מס */ ;| צ6א 109 הקוב המשמש את תור ההודעות, "ת.שפוח", מכיל מספר מבנים, שאחד מהם הנו מבנה הנתונים "65 616פו", המכיל את המספר המזהה של תור ההודעות. מבנה הנתונים "65 5016" סיים לכל תור הודעות במערכת והמבנה שלו נראה להלן: 5616 ה6015510ק 0062861085 6ת65;/*6ס ₪56 המסק 100 ססטמש5 /*6עטססטע5%2 /*6נוסנוס תג 0655806 %1256 ₪0 ע66ה5155;/*001 סָפה* ספה מס5620 /*6ט6ג0 1 6 1855 60 ע6שה1850;/*001 שַפח* ₪50 56206 6 ם1 צ61ת6,תטס 5 05 מססתהטת*/;607665 פה םתסת5 518060תט /*6ט6וס /*6ט6טט ם1 5 05 מ6פהטת*/ ;הטחף ספה מפסה5 66ת14פתט ה1 605ע0 05 מ6סחטת הטח1אהה*/;565ע00 ה 6צסם5 60מ16פחט /*סטסטס /*0311 "5500" 1856 05 15120;/*016 6ָפה מעסת5 60ת51תט /*0811 "טס:אַפה" 1856 01 12016;/*016 056 סעסת5 60ת516הט /*ן081 "הַח5פַפח" 1856 05 6ה56106;/*%1 ספה [ ויו /*0811 "טסמספה 1856 05 6186;/*6186: פה 1% /*סְסָתַ8ת0 05 6ה61 6616;/*1856 ף5ה 104 2 פונקציות מערכת אחדות משמשות ליצירה ולטיפול בתורי הודעות. התחביר שלהן גראה להלן: (180? , צ6א) 50060 106 ;א > 66 72 סהת1 18 (5180 ,5052 500 , 5610ח) 6ה₪505 6ת1 17 סת1 ;* 5000%ה 6סטת56 7 סת1 (5180 ,פע₪506, 5852 ,500 5010ח) 0ש50 סת1 12 סת1 562006 54008 +? 1 סח1 6ח10 72 סת1 (5טם ,06 ,5010ה) 56051 שח1 ;0 סת1 ;זטם* 65 05616 05גת56 הפונקציה 52866 *וצרת את תור ההודעות יחד עם המבנה הקשור אליו (ראה את הדיון הקודם בעניין "65 616פו") ומחזירה מספר שלם חיובי שהעו *יחודי ואשר ידוע כמספר המזהה של תור ההודעות ("0נשפות"). "616פז" *כול לאחר מכן להיות בשימוש של 8 ו-טסשפוח. בעזרת קריאה ל-6ַחפאפות ניתן לשלוח הודעה לתור הודעות הקשור ל-"16שפו₪". בעזרת קריאה ל-ש0זשפו ניתן לקרוא הודעה מתור ההודעות הקשור ל-"16שפז". בעזרת קריאה ל-5001ות ניתן לבצע מספר פעולות בקרה בתור ההודעות. לדוגמה, הפקודה (10אא 56001)₪05010,126וח מבטלת את תור ההודעות הקשור ל-"16שפות". בספר ההדרכה של אזאז תמצא תיאור מפורט :ותר של הפרמטרים המועברים לפונקציות שתוארו לעיל. כדי להקל את השימוש בפונקציות מערכת אלו, הבאנו את התכנית הבאה. התכנית יוצרת תור הודעות, כותבת לתוכו שת: הודעות, אשר מסווגות כסוג ‏ 1 וסוג ‏ 2, ואז קוראת בצורה סלקטיבית מהתור את ההודעה מסוג 2 ומדפיסה אותה. <ת.55010> 610066ה%1 <ת. 065ע5/6ע5> 06ט1061+ <ת.55/106> 11061806 <575/050.0> 66ט610ה1+ [|59 4 אפספבגסת 6ה%0611 (1-) 05תתם 1061186 ;000306 תת6ק 106 ססטת56 )| 06558066 06טת56 100% ; [40] 00086 88ם0 2 7 08558889 56106 סת1 תל66א6 סםת1 ; [50]+טס 085 (0ט32 ,66:ה) ח81 7 סהת1 ;[] טסעג8* 0082 ,061=1ץ5 שַת10 /* 6עט05ג502 16181126ת1 60 0560 6ת61טסע */ ;()5ח ת1 בנסע /* ץ6א 6ט10חט 8 026866 /*‏ ;()665016 (10006) =ע6א%.600806 /* 0606 0655806 026806 */ ; ( (אסגפת |02אם 126 | 1תשת6 126) ,ץ6א. 6ת8ח00) 5610=₪50065ח ( 28008 == 5010 )11 | ; ("ת0606 0655806 %6ת626851 ת1 מסעעם")1>תנ1עק ; (0תע62 ,5010 "ה=%0ת622 0ת8 61)"2610=%0תגצס ; (+טם) 6202 ;(15)1א0 ] /* 0268660 985 86( 6ט006 ₪855806 אסת5 */ | ;("6- 1065")ת51556 /* 0868 5006 50 6תט06טע55 18181126ה1 */ ; (61ץ86",6 108)העסק:5)"60ת ת1 /* 6טסטף 06558066 0ם 166מא */ ( (5610,80650ה) שה סא )12 /* 502ת6 הג 0% 0608856 */ ;(16)1א6 /* ַת1ע55 8806262 60 6מטססטע55 16181126ַת1 */ ; (062עס, "גא1א0 ה0022028610") 5ח ת+ /* 6טסטף 06558006 60 156םמא */ ( (5010,80650ה) ₪6 מא )15 ;(16)1א6 /* טסט 0655806 2680 */ ( (062ע5010,06ה)4ה 26 )11 ;(16)1א6 2 (16)0א6 1 10 [ /* 0868 5006 60 6עטססטת56 6(] 15181126ה1 10 : | תס1ססתטק */ (06ע₪5)5,5060 ת1 16סט 568610 1 עהת0 7 סשסחת1 0 ;ה ; (5 ,תק 60. 650) 56:00 ; (5 , 6 חח 60. 4 6ח) צַ20 55 1 /* 00606 655806 6(ם ססה1 655806ה 8 166תא 0ץך : הס1םסחטט */ (05010,00659)ה מא סת1 558616 21 סח1 7 655806 56065 ו ( 0 == ( 0, (₪655806 0%ט656,51260%)562חק ,05016) 56506 )11 ו ; ("ת6טסטף 0655806 60 סַָת1ם1םט ה1 עסעסם")+םה1סס ; (5טם) 02מש6 ; (1) ם2ט66ת 1 /* 6טסט 655806 אסת5 */ ;("6- 5660)"1005ץ5 /* 05001605 סטסת16א ת66ם1עא 985 655886ה */ ;(0)תעט66ץ ] /* קטחסס1סמ‎ 1 60 2686 0655886 00606 */ (06%700> ,05010) ה 20 שת1 558610 1 סחם1 ;7 100% | ;חס ס6ת1 *,ט065: ₪6855806 06גת56 =657חעק (1 ,6776 , (655880 56206 )650,512601חעק ,5610ה) טסמשפת )11 ( 3308 = | 141 6 ת0ם+ 65%6קע₪ 655866 שַה20801 תג עסעעם")+1>תנגעק ; (06ע66ם₪ , "ת 6טסגס ג (5טם) ע0עע6 ; (1) מ0002ם ] /* ץ50006551011 2680 985 6ט) 655806 */ ; (86 חק 60<-656ונק , "ח 680=%5ם הת צְתהפהס6ה") 61ה1עס ; (0) תעט66ץ ] ביצוע של התכנית לעיל יפיק את הפלט הבא: 8 09:32:53 19 060 םסא 05 385 תסתא%/צ66/ 0+ 558605 ו תפאזוס 005גז צסא פד / :1 655846 עפט 3858 7ְ577ה-26-5-- 00004566א0 450 4 8 09:33:09 19 260 תסא 0% 85 תסת%/צ06/ ה0ע+ 5ט5680 126 6 א 005 צסא פד ד :1 655886 צפט 8 - -,--5-אם-- 00004%66א0 450 8 8 09:33:24 19 060 תסא4 0% 35 ת6ת%/צ06/ ת0ע? 5ש5680 6פך 0 הפאווס סא סא פד ד :5 11655806 עפט 5 - -57ה-ם-אע-- 00004266א0 450 4 01% 0285108ק2680=001 סחהה צת8קה00 7 זיכרון משותף זיכרון משותף (511 - עעסות66[ 8766ת5) הינו קטע בזיכרון המרכזי של המחשב שבו :כולים להתחלק תהליכים עצמאיים. כפי שניתן לראות מתרשים 10.1, זיכרון משותף קשור לסגמנט הנתונים של התהליך והוא מופיע ככתובת בפועל, אשר שונה בכל תהליך. הגודל המקסימלי של סגמנט משותף מוגבל ‏ רק על :די גודל הזיכרון הפנו*. הגישה לסגמנטים המשותפים והחלפת הנתונים בין תהליכים שאינם קשורים ביניהם *כולים להעשות בצורה אמינה 12 בתנאי שנסנכרן את הכתיבה והקריאה לסגמנטים אלה. הסינכרון מושג בדרך-כלל בעזרת אתתים (פ65זַ0ת56380). מחסנית טקסט נתונים טקסט נתונים תרשים 10.1 גישה לזיכרון משותף סגמנטים משותפים בזיכרון ימשיכו להתקיים עד אשר *בוטלו באמצעות פונקצית המערכת 601ת5, או בעזרת הפקודה 6- מוספן1 (ראה גם 05ק1, 2סק1, 641תח5). תכניות שצריכות לטפל בזיכרון משותף תשתמשנה במספר קובצי כותרת ובמספר קריאות לפונקציות מערכת, אשר התחביר שלהן נראה להלן: <ת.55/6/065> 066ט%1061 <ת.575/106> 06ט%1861 <ה.חמ5/5ץ5> 31001066 (180+ ,5126 ,ץ6א) 66שחת5 סת1 ; = ע6א 2 ,5126 סת1 1383 (189] ,3002658 ,500106) 6החת5 008 2 ס6ת1 0 +7 7 סת1 (3002655) 570% %5ת1 ;655 עהת0 (?טס ,600 ,61)50016סהת5 6ת1 ;0 ,50010 6ת1 ?טל" 65 52010 06נ502 הפונקציה 506% משמשת ליצירת סגמנט משותף בזיכרון, אשר גודלו ("5126") מצוי*ן בבתים והוא כולל גם את מבנה הנתונים הקשור אליו ("ע6א"). פונקציה זו מחזירה את המספר המזהה של הזיכרון | המשותף ("6וות8") הקשור ‏ עם "ק6א". ציון הדגל ("1[8₪") יכול להיות שילוב של הערכים הבאים: * אופן הגישה - הסיביות המצינות את אפשרוזות הגישה לסגמנט המשותף החדש שנוצר זהות לאלו של הפונקציה ()676866 (כלומר אשזאשזאשז), פרט לכך שרק ההרשאות לקריאה וכתיבה הינן בתוקף. תשע הסיביות הנמוכות של אות הסימון מגדירות את אפשרויות הגישה. *- 0358475 06ק] - יצירה של סגמנט משותף בזיכרון אם אינו קיים עדיין; ‏ אם הסגמנט קיים, אזי איו התייחסות לאפשרות היצירה, אלא אם כן צויין הדגל ₪861 6ען. * | 0₪אם 156 - אם הסגמנט המשותף קיים והשתמשו ב-61א₪ 6קן יחד עם 08087 106, תוחזר שגיאה. הפונקציה +8%ת5 מחברת את הסגמנט המשותף המזוהה על :די "6נותת5", החל מהכתובת ("800"655") של סגמנט הנתונים שבתהליך הקורא. אס הכתובת שווה לאפס, מערכת א1%א11 תחליט היכן לחבר את הסגמנט המשותף. הדגל *כול לקבל את הערכים הבאים: 0 - ערך אפס מציין שהסגמנט המשותף ניתן לקריאה ולכתיבה. צזאספא ]51 - מציין שהסגמנט המשותף ניתן לקריאה בלבד. לאחר סיום מוצלח, תחזיר 508% את הכתובת שבה חובר הסגמנט המשותף; במקרה של שגיאה, *וחזר הערך 1-. 14 פונקצית המערכת 606ת5 משמשת לניתוק הסגמנט המשותף ממרחב הכתובות של התהליך. היא מחזירה את הערך אפס לאחר ביצוע מוצלח ואת הערך 1- לאחר כישלון. בעזרת הפונקציה ₪041ת5 ניתן לבצע בסגמנט המשותף מספר פעולות בקרה כפי שמצוין על-ידי 606. הפרמטר 6086 :כול לקבל את הערכים הבאים: 57817 6ע], 557 16 ו-פזואא 126. לדוגמה, נכתוב את הפונקציה הבאה בתכנית 6: ( 0 (* 5 ₪10ת8 6סטע50), פא 0ק1, ₪18ם661)5מתפ פונקציה זו יכולה לשמש להריסת סגמנט הזיכרון המשותף יחד עם מבנה הנתונים המצורף ל-51016 (בסעיף הבא תוכל למצוא תכנית ‏ 6 המשתמשת בפונקציות המערכת המטפלות בסגמנטים). 8 אתתים בגרסת /-5%6[8ע5 א1צ12, אתת (56/801076) הינו מבנה נתונים שבו יכולה להתחלק קבוצה של תהליכים. כאשר מספר תהליכים מתחרים על אותו משאב (כמו קובצ או תור הודעות), ניתן לסנכרן את הפעולות בעזרת אתתים, כדי שלא יפריעו זה לזה. אתתים מבטיחים כי רק תהליך אחד יקבל גישה בלעדית למשאב מסוים באותו זמן. הביצוע של כל התהליכים האחרים הזקוקים לאותו משאב, יושעה על ידי גרעין א1אנז. לאחר שתהליך משחרר את המשאב, הוא מאפשר לתהליך מושעה להשתמש במשאב בצורה בלעדית. לעתים קרובות משתמשים באתתים בזוגות, במטרה לנעול את המשאב ולאחר מכן לשחרר אותו. מבנה האתת ב-א1%א17 מכיל את המשתנים "[ט ,"560‏ "%ת20תז6פ", "זתסתות56" ו-"016ות56". המשתנה "[8ע500" הינו מספר שלם לא שלילי, שערכו משתנה בהתאם להסבר על 56807 שבהמשך. ")ת020ת86" הענו מספר שלם קצר ללא סימן המייצג את מספר התהליכים המושעים שממתינים לכך שערכו של "[8ט60פ5" לגבי אתת זה יהפוך לאפס. "%תסתות6פ" הינו מספר שלם קצר ללא סימן המייצג את מספר התהליכים המושעים שממתינים לכך שערכו של "561081" יהיה גדול יותר מאשר הערך הנוכחי שלו. "9016" מחזיק את המספר המזהה של התהליך שביצע את פעולת האיתות האחרונה באתת זה. תכניות שצריכות להשתמש באתתים כדי לפקח על משאב מסוים, משתמשות במספר קובצי כותרת ובמספר קריאות לפונקציות מערכת. התחביר של הפונקציות הוא כדלקמן: 15 <ם. 265ץ575/6> 61006ת11 <ם. 5/100ץ5> 11001006 <ת.56> 06ט610ה%1 (ב19? ,61מתטת5 ,עָ6א)096ה56 שה1 ;ץ > ע6א ;פָ1] ,ת6סחטת5 סת1 (?6סהטת5 ,50062861085 ,00)56010ה56 שה1 סה1 ;] (5ת500628610*) 5ט0ח56 5506 ;צסמחטת5 6ה1 (סַב ,1 ,הטתת56 ,560061)56010 סת1 ;0 ,56010 108 ;חטתת56 6ת1 )מטה56 תסנתט סם1 + 65 56010 06טת56 נ;צְתת8* 055ת5 510060חט ;ג הקריאה ל-+561086 משמשת ליצירת מערכת של אתתים בצירוף מבנה הנתונים הקשור אליו ("65 56416"). פונקציה זו מחזירה מספר שלם חיובי הידוע כמספר המזהה של האתת ("5616"). ניתן להשתמש לאחר מכן ב-"56116" כפרמטר בקריאה לפונקצית המערכת ו . הפרמטר ‏ "ע86" ב-+86₪₪6 מציין את שמה של מערכת האתתים, ו-"זססותטתפ" מציין את מספר האתתים במערכת. הפרמטר "1188" (משתנה דגל) יכול להיות שילוב של הערכים הבאים: * אופן הגישה - הסיביות המצינות את אפשרויות הגישה למערכת האתתים החדשה שנוצרה זהות לאלו של הפונקציה ()6768406 (כלומר אעתאשזאשץ), פרט לכך, שרק ההרשאות לקריאה וכתיבה הינן בתוקף. תשע הסיביות הנמוכות של הדגל מגדירות את אפשרויות הגישה. * ךמת 120 -יצירה של אתת בשם "ע6א", אם הוא לא קיים עדיין; ואם האתת קיים, להתעלם מאפשרות היצירה, אלא אם צויין הדגל 8801 0פ]. * ₪805 120 - אם מערכת האתתים קיימת ומשתמשים ב-61א 1906 יחד עם 0358475 10, תוחזר שגיאה. 14516 לאחר שנוצר מערך (ע81:8) של אתתים, ניתן לקרוא לפונקצית המערכת 56000 בכדי לטפל בהם. "56816" הינו המספר המזהה של האתת המוחזר על ידי 50026%, "5ת500078010" הינו מצביע למערך המכיל את הפעולות באתת ו-"ז6סמטתפ" הינו מספר הרשומות במערך. המבנה של כל רשומה ב-"502018%105" זהה לזה של המבנה "5601" שלהלן: )56 6סטע55 /*צ6מחטה 6עסמק3ת56 6ת6*/ ;חטה ת56 6ת0ת5 66ת14פחט /*006280100 5008016 506*/ ;00 ת56 6תסם8 /*פסָ18+ 6286100ק0*/ ;106] 560 6שסם5 ]) הקריאה ל-56000 תפעיל את האתת שמספרו [ח]חטת 56 ואשר שייך למערכת האתתים המזוהה על ידי "5616". פעולה זו מוגדרת על ידי [ח-]ק0 86₪ ועל ידי קבוצת הדגלים [ח]112 86₪0. תוצאוּת הקריאה ל-86002 תלויות בערכים של "קס 568" ושל "118 בז6פ". ניתן לחלק את התוצאות לשלוש קבוצות בהתאם לערכים שהפרמטר "סקס תַ6פ" יכול לקבל: מספר חיובי, מספר שלילי ואפס. אם לדוגמה "סקס 508" גדול מאפס, *תוסף הערך של "סס 8688" למשתנה "[8ט56". אם התוצאה של "411 שסא 126 6 5611" היא שקרית והערך של המשתנה "56881" קטן מאשר הערך האבסולוטי של "סס תספ", יגדל הערך של המשתנה "+תסתם86" באחד זהתהליך הקורא יושעה עד אשר הערך של "[8ע56" *היה גדול *ותר, או שווה לערך האבסולוטי של "קס ‏ 56". כשזה יקרה, יתבצע חיסור של הערך האבטולוטי של "קס 56" מ-"[56008" ואם התוצאה של "ססאנ ]55% 8 8 56" תהיה אמת, יתוסף הערך האבסולוטי של "קס 56" לערך של "[5086". לפרטים על פעולות נוספות, עיין במדריך ל-1%א11 בסעיף העוסק בקריאה ל-56000. פונקצית המערכת 56041 מאפשרת פיקוח על פעולת קבוצת האתתים המזוהה על ידי "5616" על פי פקודות המצוינות בפרמטר 0₪06. הפרמטר 66 יכול לקבל את הערכים הבאים: 7 , 540, סדעצת6, עאסאדתס, 27 , 57 6קך, פזאת 150, 1ם ספ1, םהזמ ו-זד. לפרטים נוספים על כל אחת מפקודות אלו, עיין במדריך א1אנז, בסעיף העוסק ב-"60601פ". התכנית ‏ "0.א6ו56" שלהלן, הכתובה בשפת 6, תעזור לך להבץ כיצד להשתמש הן בפונקציות מערכת המטפלות באתתים והן באלו המטפלות בסגמנטים משותפים בזיכרון. 17 התכנית וצרת תהליך בן על :די קריאה לפונקצית המערכת %ז10. תהליך הבן אחראי לקריאת רשומות מהקובצ שמועבר כארגומנט לתכנית. בכל רשומה שהוא ‏ קורא, הוא משנה את שני הבתים הראשונים לאפס וכותב את המידע הזה לסגמנט המשותף. תהליך האב קורא את הרשומה וכותב אותה לפלט הסטנדרטי. האתתים משמשים לתיאום הפעילויות של תהליך האב ותהליך הבן בכך שהם מבטיחים שתהליך האב יקרא מהסגמנט המשותף בזיכרון רק לאחר שתהליך הבן סיים לכתוב את הרשומה. מצורף גם תדפיס הפלט של ביצוע מעקב (1?806)), כדי לאפשר לך להבין את התכנית ביתר קלות. הביצוע של התכנית "6.א5606" בשליטת תכנית המעקב יפיק את הפלט הבא: )מסתעגת 01 6806:ק 061026 ספטש צְגָּא 6-1עחטה 60020ם סַתנםנעא 56 616856 60 סטספג 6116 0=-0 93600 %ח6תהס 0% 680םק 6ת06%0 ספטש 00116 26168566 6 האג 2-מ6סתטה 600:0ם שַת161קת 0116 85086 ₪0 2610856 6 8-נ=|--ננרפרפרררר9"09"9(0"-"""5"5 (.צ(צ(("ג(ג(((922 009 "7" %ח6תאק 0% 22680 561026 ספטש 00116 261085060 6 אה 3-ת6מחטה 260020 סַת1ש1קח 506 2616856 60 סטססג 0116 6-------"- ,"7" %ת6עאס 01 680תק 065026 ספטש 00116 561685600 6 5600 60 +%טסתא חַת08111 תהתססעק ב15ה1+ ₪0 186? 8 15 0.11חט0+ 560026 6תם /* 0.א5606 : הטלק */ <ת.55010> 31001006 <ה.065ץ55/5> 06ט610ת%1 <ת. 61מ0+> 31001006 <ם. 81ת510> 1101006 <ם.5/5/106> 3101006 <ם.חם5/5ע5> 06ט61ה%1 <ת.ח55/56> 6+ 18 0 115 %061106 1 5109 6ה%0611 (1-) ה0תתם 6ה%06/1 /*6ה50006 (5%) עצסהסה 566 +0 5126 */ | 1* 512 585128 6הג4661 (10ק6 == ()066010) 60116 165 6ת%66]1 /* .500 5% 200) 1080 ₪0 60020 0% המַחַָת10 */ 50 605126 6ה%0611 ) 50ת501 56006 ;96500 שח1 ;ח056ת 186 0082 1 ;חת65* עת0 ,160סק 18 ; () 86ם5* 082 ת662אס (טףע8 ,ס6סמג)תנ1את 2 סהח1 ;[] טסע8* 0282 16 16, 666006 )(; : (466006 ,516802) 510081; (865006 ,5100591) 510081 : (666006 ,1א5161) 518081; (665006 ,510758%) 510081 07 =2501050 ( 2 =! 60ם8 )11 [ ; (1) 16א6; ("ה806ה116] פחהתסַָסמק : 15 61)5606::,"05846ה1תס+ ] /* (10 6ה6עאק ) 10 02000655'5 615 666 */ ;()16=068010סק /* %ה6ח560 5% 8 880 0:65ת50080 סא6 626866 */ ;()811126 /* 50806 8001655 00655ת2 6(6 60 6ת6ת560 5% ם46680 */ ( 08תתם (* תַבת0) == ( (0 ,0 ,10תת5) 6ת(5 = +טפ<-10ת1ח5) )11 | ; (4) 16א6; (":ת56006 58 86680 60 16פהת0")תסתתסק ו ; (501020) 166תשע ( 0 == ( ()א:210=]0) )11 ו /* %ה56006 5% 60 0868 92156 50 00655תק 6116 */ ; ()0016=066010 /* 60 סַת181מ9 05+ 1162טם 665 */ ;(10ה1ח05) 166עאסם 1|9 1120 ; 5טפ<-0510+0=ת65 ; ([1] צסֶ3) ח05ח56 1 ( 28808 == 010 )11 6156 | ; (7) 16א6; ("105% 60 16מְת0"):סמתצסק ] 00| [ /* 5600606 א5 2080 50 000655 סתשעגק 168 */ ; ()6260ט0 ] ; (15)0א0 /* ההתסָסעק ה1ה 01 6ת6 */ [ /* 60020ץ 8 00658שק 10 : 6ת1מטסת */ (51160806) 560050 ;17* 85ת0 [ ;=תט565,00צעָפסת,50 6ת1 ; [260]512 0082 /* 1660265 2686 60 886ה2116 תשקס */ ( 8908 == ( (צעא0סה 0 ,306ה5116)הסקס=10) )11 ; (6ח8ה116? ,"%5 11686 סַת1ה6ק0 ת1 260,"52002)+6ה1עק5 ; (60ת) מע6מס ] /* 6 06 0₪ע+ 2600105 66עם6 2686 ₪0 1000 */ עס סת ( 3 > 6תטסס )9116 | ( 665עפסת =! (2680)10,206,005665 )11 / ; (8ח8ה%5",1116 6 שת6801 ם1 עסעעם",60ת)1םת1עס5 ; (260)ממ6עס ] /* 2605 ₪0 6 + 65מע2 90ם 11556 6סַת8ת0 */ ;'66)1[='0ת;'60]0[='0ץ /* %ת506006 5% 60 260026 92166 */ ; (0178, 665עסת ,60ם) ++טסצא ;++6חט00 ]) ; ("תק550 0 ++טסעא 6[ת560006,"08111)+:ת1עק? ; (פ60,0,510ת) +גופ א ] /*560800070 2616856,:ת56006 5% ₪0 266020 66גץא : 6תגסטסה */ (0תס , 665צססה, +טס) +5טפם א ;1טם* 007 ,665ע05ה 6ה1 | ; [60)100ת ש0708 2 סח1 558610 ( 4115 == 000 )18 | ; (5ה600,"חצ898 %0-ת6פתטה 600206: סַה161תא",1)560006םהגעס+ /*6ה56006 5% 60 60016 166עא*/ ;(65םצפסה ,]טס , חת65) עססחטה ; ("ח500800026 26106856 ₪0 סטססג 116ת0",:ט61)5600ה1מס+ ;++6תט0ס ; (1) םעט66ם ] ( 5108 == 000 )11 91586 | ; ("םחהעשסעק ם1015+ ₪0 6ת71",ט1)5600:ה1לס: /* 5000 60 מת6עגם 6611 60 */ ;(9,"***סאם***",תה65) עקסחפסה ; (20תג5ק) 680ץע 2 (01056)0 ; (20ת051) 06חם5 ;(16)0א9 (ף 06| ( ; (%0",000, 15 5+טסתא ת1 00808006 2660001260ת60,"0ת)61ת1עס5 ;(160)ממ6מס 1 ; (0)תעטס6ץ ] /* 260020 606 מטקםטס 6ת8 6ת50006 584 686 70 : שמנ1סטסת */ ()6266טס ן ;[60]10ת מ8ת0 ;0 סת1 558610 /* 2600205 2680 ₪0 1000 186ה%1ת1 */ (116)1םא | ; ("ת%חה6עק 01 686תק 61026 ספטשת",:1)55065>הנצס+ /* אַת26801 108 מ162+טם 8 666 */ ;(%0ת1ת640)05:ק ; (9 ,6טפ<-05010+0 ,60ת) עססת 56 141 ( 0 == (9,"***סאם***",60ת)קהסהת56 )11 | ;(01056)1 ;("תא0 15 0006.411] 260020 6תם",:ע61)5666ת1עס) ; ()010106 ; (16)0א9 ]) /* ;טקפטס 6350ת558 60 שת6חף56 א5 05 65ת56ה60 סטססטס */ 0 ; (605126ת ,1שפ<-%0ת1,0501) 6 1עא /* שַת161עא ע0+ מ165+טם 2616856 */ ;(%0ת1ת5ק) 156עאט /* 1000 166ה11ת1 0% 6ח6 */ [ | , /* ה8תף0תק 16א6 6ת8 קט צ655806,510 ע0עת6 סהנעת : טס */ (050) שממ6צס 72 ע8ת0 ( ;065 5/5 ,62:00 שת1 תת66א6 ;[]1156ת6 5/5* 0085 תת66א6 /* 0655866 :6520 שת1עס */ ;(סַפה,"ת56062:,"%5)+6ת1מס! ( עע06 515 > 0תצם6 66 0 < סתעע6 )15 ; ([סתעמ6] 6521156 5ע5,"ת560621,"%5)+שתנשס] ( 00116 165 )11 /* מהסעגק 111א 60 514881 0ה56 */ ;(5160581 ,111)2010א 1-06 /* 68116 111א% 60 81ת810 6 */ ;(5100581 ,111)0010א ; ()010106 ; (15)9א6 ] /* ה8ת6סתק "ה1אה" ת1 60הת0611 5100815 ת16א 6006 : 6גסטסת */ () 96605 ( 00116 165 0 7-ו ; ()0101006 /* :ת6ת8ק 6ת6 165 8% 6 12 /* 5600006 5% ת06680*/ ;(1טס <- 0+ה1ח5ק) ססחת5 ] ; (5) 1%א6 ] /* 6ה56006 54 ג 800 5608020265 0א6 026866 10 1 86 */ ()811106 / | 0987 126 ,1 ,10קק (6 ץ6א) )560666 = ת2056 <- %0ה1ה5ק ) )15 ( אתא == ( ( 0664 | 202 126 ; ("07016ק5608 11256 626866 ₪0 16מהת0")שמ6צם | 0981 126 ,1 ,10+1קק (0 צ6א) )6סס0ה50 = ה656א <- 10הנת5ק ) )11 ( תתה == ( ( 0664 | 02א%₪ 16 ; ("56080026 560086 626866 ₪0 008016")תמ6עק | 1ה698 196 ,545128 ,10קק (ם ץ6א) )ס6סָהת5 = 16הם5 ) )15 ( א0תתם == ( ( 0664 | 02א₪ 186 ; ("5ה56006 5% 026866 ₪0 16מ008")עע6עס 4 6865טססט5:5 800 1065 560800026 260006 70 : 1סטסת */ /*5650000265 3550018660 8006 10 6ת6חף56 5% 8150 010106)( / / ; (0 ,סזאת 126 ,0 ,20560<-20ה1ח05) 56061 ;(0 ,10אה 126 ,0 ,6560<-10ה1ה05) 56051 ; (0 ,10אה 196 ,10ח50) 61סחה5 1 1 15 [גט 1% .6מסתק3ת56 8 תס "קסת56" תע10ע6ק 0? : 86 */ 1 0200655 5050600 1- 15 1גט 1% ;1 עס "[הט560" 6ה6ת6תסת: /* 081 01 08106 80501066 עס 18 %ת0661606 ה6ת= שחהה8 1 15 "1ט56₪" 056000 )56010, 081( סת1‎ 56010, | 562006 5600 2 ;0=חטה ת5/81.56‎ ח5/81.50%‎ 1; ת81.560ש5‎ = 11) (פ0תתם == (1 ,85081 ,00)56010ת50‎ ("ת006586:0 560800026 62%028ק 60 16סת0")שס6עק‎ ; 1 138 /* 500800016 (068) 100% ;ה006:8610 2 00 70 : טס */ (56₪10) 2 >ם1 | 05600 )56016, -1( ; 1 /*6ת00ק8ת56 (2616856) א100%תט;ה10םבע6קס / 60 70 : 16סטסת */ (56010) ל 16 ן 05600 )56₪10, 1( ; ] /* 161+טס 606 מ0] 6ת0ה0גת56 186תא 6גם 666 0? : 6תנסטסת */ (חמ5ק) 166עא ;חםפק* %0ת1ה5 66טע552 ;( ח9556 <- תג5ק)ת ו /* 162?נס 66 02] 56328026 2680 6םם 666 10 : 6מ1שטסת */ (תת5ק)680פק ;ח(פק* 0+ה501 562005 ; ( ח2056 <- חתפק)ת 1 /* 102+טס 6ת6 102 560300026 1680 6(= 2616856 10 : 6תגסטסת */ (חת5ק) 680עע ;תתפק* 10ה1ת5 56008 | ; ( 2656 <- חמ5ק)ל 1 /* 161+טס 66 05 0:6םק8ה166.56עא 5616856 10 : 6תגםטסת */ (תם5ק) 1=6צאע ;חתפ5ק* 20ת1ת5 562005 ( ; ( ת6פסא <- הת5ק)ל ו 14 פרק 11 כלים להפקת פרו'קטים ולתחזוקתם הקשיים בפיתוח ובתחזוקה של תוכנה *דועים מאז החלו לעסוק בנושאים אלה., מבין האמצעים הרבים שמערכת א[אנ[ז מספקת בכדי להקל על הפיתוח, התחזוקה והשחרור של פרויקטים, אפשר למנות את ₪866 ואת המערכת לבקרת קוד מקור (50065). 6 הינו הכלי כדי לחולל (6:8%6ת6) בעזרתו את המערכת. תוכנת 56065 מאפשרת לתחזק מספר מהדורות של התוכנה בקוב אחד. הדבר חשוב ושימושי במיוחד במערכות :יצור, אשר בהן המהדורה הנוכחית הפעילה מתוחזקת באופן שוטף, בעת אשר מפתחים מהדורות חדשות. 66 1 תכניות גדולות מחולקות למספר חלקים קטנים *ותר כדי שניתן יהיה לנהל אותם ביתר קלות. תכניות אלו תלויות בדרך כלל בקבצי מקור שונים, אשר *כולים להיות בתת-מדריכים שונים. התלות שנוצרת בין הקבציס מקשה על' המעקב והידיעה מהי הגרסה המעודכנת ביותר. הפקודה 8%6 מאפשרת להתגבר על קשיים אלה. מבנה ההוראה; [קובצ: מטרה] [הגדרות מקרו] [אופציי ות] [116+₪ +-] 9₪8%6 הפקודה ₪886 מבצעת את הפקודות שב-"1116ז" וכך מתבצע העדכון ב"קובצי המטרה". אם לא משתמשים באופציה ]-, הפקודוו בודקת את קובצי התיאור ‏ "61116אות", "18%861116", | "5.8%61116", "8./18%611[0", לפי סדר זה. להלן כמה מבין האופציות הנפוצות: ת- הדפס את הפקודות שיתבצעו בקוב%ף 8%6, אך אל תפעיל אותן, כדי לבנות את קובצי המטרה. .₪ בתשובה לשאלה לקובף> 6א₪8%, ניתן לדעת אם קוב% המטרה מעודכן או לא. ערך חוזר השווה לאפס משמעותו שהקוב> מעודכן וערך השונה מאפס משמעותו שהקובצ אינו מעודכן. + עדכן את זמני השינוי בקובצי המטרה. ץע אל תשתמש בכללים המובנים הנמצאים בטבלאות הפנימיות. 15 6 הדפס מידע מפורט על הקבצים כדי לעזור בתהליך הניפו*. 6 ]- השתמש ב-"1116ת" כקובצ התיאור (במקום ברירת המחדל | "4%61116ת", | "61116א18/", | "61116אה.5", "5./]8861116") 2 כתיבת קובצי 6אגת המשתמש צריך ליצור את קובף 8%6 לפני שהוא משתמש בפקודה 6 קוב זה מכיל מידע על *חסי תלות בין קבצים, הגדרות מקרו ופקודות לביצוע. השורות המכילות את המידע על *חסי התלות מציינות, למעשה, כיצד יש ליצור את קובצ המטרה ממספר קבצים. אם תאריך העדכון של קבצים אלה מאוחר יותר מאשר זה של קובצ המטרה, קובצ המטרה *ופק מחדש בהתאם לפקודות שתהיינה לאחר השורה המכילה את המידע על יחסי התלות. המבנה הפשוט של קובצ 8%6 נראה כך: רשימת תלות : קובף מטרה 1156-ע0ת66ת0ק 660‏ : 68666 פקודה לביצוע תו-148 6ת8ש60₪ 60068016א6 8280%602ת748-6 להלן קוב 8%6 (61116אַ13) פשוט: ַ 9-1 61116א + ג 0 502.0 016.0 800.0 : א.ם6גה ת[- 61.0 0.פט5 16.0טח 300.0 א.ת86ה 0- 006 0 806.0 : א.סחט1 %5.ָ תן- 55.0 800.0 א.סהט? 0- 00 800.0 : 06 606 -60 06 40 : 16.0טת 6 0- 06 500.0 : 06 06 -0 6 619.0 : 06 06 -0 0 1466 "א.ת80מז" ו-"א.6תט1" הינם קובצי המטרה. ‏ "806.0" "ס.6ונות", "ס.סטפ5" ו-07.ש61" יוצרים את רשימת התלות של "א.ם6ות" ו-006 הינה הפקודה לביצוע; יש להקדים את 66 בטאבולטור. קוב %6ג הנראה לעיל נשמר בשם "61116אגת". פקודת ₪8%6 תפיק את קובא המטרה "א.ח6אוז" כפי שנראה להלן: 6 06 -6 0 00 -6 6 66 -6 6 06 -6 06 ח[- 61.0 0 116.0 800.0 א.ם₪88 0- 66 שיס לב שקובף המטרה "א.6חנ+1" לא הופק. הסיבה לכך היא, שכאשר מבצעים אתת הפקודה ₪8%6 ללא שמות קובצי מטרה, היא תיצור רק את קובף המטרה הראשון המוזכר בקוב 8%6. לאחר ביטול קובצי היעד ,"860.0"‏ "ס.6[טו", "ס.סטפ" ו-"0.ש61" ניתן להפיק את קובצי המטרה "א.ת6ת" ו-"א.6ת11" בעזרת פקודת ₪8%6, כפי שנראה להלן: א.6תט א.תסגה 6א508% 06 60 06 00 -6 06 66 60 6 06 -0 06 חן- 61.0 0.סט5 1:.0טה 860.0 א.ם6גה.0- 606 5 1- 0.ט5 80606.0 א.6תט] 0- 66 בדרך זו הפקנו את שני קובצי המטרה. בשלב זה נקיש את הפקודה א.סתט% א.ם86ת 508%6 תכנית השירות ₪866 תדפיס את הפלט הבא: 6 00 קט 18 'א.תסְאם' 6 0ס0ס קט 15 'א.סםתט,' הסיבה לכך היא, שאף קובצ מאלה הנמצאים ברשימת התלות לא עבר שנוי. | אם נקיש ₪886 לאחר שהקובץ "6.[טת" עבר שעוי באמצעות תכנית עריכה, או באמצעות הפקודה "16.6ט תסטספ", נקבל את הפלט הבא: 117 56 6 60- 06 ה[- 0.ש61 0.סט5 16.0טח 300.0 א.תסת 0- 66 שים לב שזהו מספר הפקודות המינימלי הדרוש להפקת קובף המטרה "א.ת+הות". 3 ברירות המחדל של סיומות קובצי 6א8 מהדיון הקודם צריד להיות ברור שכדי להפיק קוב מטרה, משתמשת 6 בקובצ תיאור שהמשתמש מספק (8661116(), בשמות קבצים ובתאריכי השינוי האחרונים שלהם כפי שרשום במערכת הקבצים. אולםס, תכנית השירות 8%6ות משתמשת גם במספר כללים מובנים. המידע כיצד לשנות קוב בעל סיומת אחת לקובצ בעל סיומת אחרת מאוחסן בטבלה פנימית. רשימת הסיומות המוגדרות כברירות המחדל ניתנת בטבלה 11.1. טבלה 11.1 טבלת ברירת המחדל של הסיומות סוג הקוב סיומת קובצ יעד (116? 00166%) קובץ מקור בשפת 0 קובצ מקור בפורטרן קוב מקור ברטפור (פַס+סַ3) קובצ מקור באפי (₪21) קובץ מקור באסמבלר דקדוק המקור 18% דקדוק המקור 866-0ץ דקדוק המקור ע800-386+0+ דקדוק המקור ₪2/1-860+ כ 0450 ₪- 56 > > ס כך, על :די ניצול המידע הפנימי האגור ב-08%6, ניתן לכתוב מחדש את הדוגמה "818016-1א6 8%61116מ1" כפי שנראה להלן: + 72 062115 + ז 108 0 5.0 0 800.0 : א.ת תן- 0.צ61 0.סטפ 0 806.0 א.₪860 0- 66 0 860.0 : א.סח0? 5- חן- 0 800.0 106.8 0- 60 14 פקודת מקרו בקובצי 866 בתכנית השירות ₪8%6 *שנו אמצעי לביצוע פקודות מקרו. ניתן להגדיר פקודות מקרו בקובף 6אגת וניתן להעביר | אותן כארגומנטים לקוב% ₪8%6. בקוב% 8%6 מוסיפים לאחר שם המקרו את הסימן = (שווה) ורצף של תווים. ניתן להפעיל את המקרו בעזרת סימן הדולר. שם מקרו אשר ארוך *ותר מתו אחד הילב להכתב בסוגריים. פקודות המקרו המועברות כארגומנטים *בטלו את המשמעות של פקודות מקרו עם שמות זהים הנמצאים בתוך הקוב>. כאשר מפתחים מערכת מורכבת, כדאי שלכל *ישום יהיה מדריך מקור משלו. לכל מדריך יהיה קובצ 8%6 משלו וכל קובצ כזה יכיל את כל המגוון של הפונקציות המשמשות לתחזוקה. הדוגמה הבאה מציגה את אשר הוסבר לעיל. קבצים בחבילת תוכנה להנהלת חשבונות יכולים לחיות מפוזרים במספר מדריכים כפי שנראה בתרשים 11.1. המדריך "68ת:ו8600" המדריך המדריך המדריך "6ת0ק" "5816" "660" "ס. [סענוכ" "6. 662 ₪85" "26568.0" "0. 581659" "6. 68" "6. עפ" "ם. סענו" "ס.שטת1" "ב[. 668" "₪8%61116" "8460116" תרשים 11.1 קובצי חבילת תוכנה להנהלת חשבונות 1439 קבצים בעלי הסיומת ‏ "6." ו-"ת." מייצגים בהתאמה קובצי מקור בשפת .6 וקובצי כותרת. שני קובצי ₪8%6 נבנו להפקת המערכת הנ"ל: קובצ ‏ "3 16ק80א6 8861116" הנמצא במדריך ‏ "8816" וקובץ "4 16קו8א6 8%61116" הנמצא במדריך "ז6ת86". להלן התוכן של שני קובצי 8%6 אלה: :0126000 5816 ₪06 ת1 80016-3א6 65:16אה 3 הן- = 19:65 65/.. = 018 0 5218/20%8.0 0.ה0שטכ/9018 = 90868 ס.טת: 08.0 58186.0 83065.0 :- 6800ה1 ( 06061;08%6/.. 00 ) )5 0.ץ8ק 0.טת1 5816.0 085665.0 186860 0- 66 (109ק1) כ 6 : 50811ת1 06. ס6סַסם1 קס 6 חךם רה פס נ סתנצס ] ,01160505 ת6ה06 ה1 80016-4א6 65116אה % ג 0 080.0 0.תסמטק : | 65ת06 ב.תסמטק : 0.תסמטס ם.606ם :- 606.0ץ "05)בעי", "תזפ", ו-"מעסאנזת" הינס דוגמאות של פקודות מקרו. ביצוע של פקודת 8%6 במדריך "5816" יתן את התוצאות הבאות: 5%6 06 -0 -0 06 06 7-0 0 0 66 -0 -0 6 66 -0 -60 6 10 )06 ../66065;08%6( 00 70 -0 0 06 70 -60 06 06 -0 -6 06 0 0ס.טת1 5816.0 0856861.0 5800ת1 0- 006 0.... 0.ם20ט0600/0/.. ה!- 62/080.0ה46/.. לאחר פקודת ₪846 הקודמת תבואנה ברצף הפקודות הבאות: 6 תסטס595 "10009868- 1₪- = 100405" 9₪8%6 הפלט של פקודת 8%6ו יהיה עכשיו: 00 70 0 06 ( 81;08%6ה06/.. 06 ) 0 ס.טת1 5816.0 45665.0ה 800סה1 0- 00 0. . 0.ם20טק/67ה96/.. 5. חן1- 6:/080.0ה06/.. שים לב שמתבצע הידור של הקוב "85068.0" מכיון שהוא הקוב היחיד שעבר שינוי באמצעות הפקודה ת0ש0+). כאן אנו רואים שוב שזהו מספר הפקודות המינימלי הדרוש להפקת גרסה מעודכנת של הקובץ לביצוע "6800ת1". נקודה נוספת שראו* לשים לב אליה היא | שהערך | של המקרו | "05)מ1ע1" | הוחלף | בארגומנט "161565- 1[-". קוב המטרה "5%81ת1" הוגדר ב-"16-3ק0ת8א6 8%61116ות". לפיכך, אס נכתוב את ההוראה 1 6א5₪8 היא תדפיס את הפלט הבא: 6. 6060סת1 קס 6 מע הפקודה מעתיקה את הקוב "8606+ת1" למדריך "66א6" ומבטלת אותו במדריך | "5816". | "סת[עק" | הוגדרה | באופן | דומה בקוב "016-3ו81א6 61116אות" ולכן הפקודה 6חוזק 8866 תדפיס את קובף י המקור ‏ "6.ז5%6ת" הנמצא במדריך "5816". בצורה זו אפשר להכניס פונקציות תחזוקה רבות לקוב% 8%6. 1:1 5 הכללים המובנים של ₪866 עבור כל סיומת הנמצאת בטבלה 11.1 קיים ב-₪8%6 כלל פנימי המגדיר את הפקודות שיבוצעו כדי לשנות קובצ עם סיומת אחת (לדוגמה, קוב "6.") לקוב* עם סיומת אחרת (לדוגמה, קוב% "0 ההוראה 8%6 משתמשת גם במספר פקודות מקרו מוגדרות מראש. המקרו "?02))", לדוגמה, מציין את שם המהדר שהעו ברירת המחדל, והמקרו "61025" מציין את הדגלים שהינם ברירת המחדל למהדר "20)". המשתמש *כול להגדיר מחדש את פקודות המקרו האלו. קיימות פקודות מקרו נוספות המוגדרות מראש: *% שם קוב המטרה ללא הסיומת. 0 השם המלא של קוב המטרה. % שם הקוב שמתחיל את הפעולה. 7 רשימת הנתמכים שאינם יותר בתוקף. לפני שהיא מעבדת את הקבצים לפי כללים מסוימים, בודקת 8%6 איזה כללים לשינוי סיומות נמצאים במסגרת הכלל "₪5א1קש 5.". בדוגמה שלהלן השתמשנו במספר רעיונות שהועלו כאן. בקובצ 6 זה מתבצע הידור של מספר תכניות הכתובות ב-ת5/5-101%178. תכניות אלו מקושרות לאחר מכן עם מודולים בשפת 6 כדי להפיק קובצ ביצוע הנקרא "ז66פאות". שים לב במיוחד להגדרה של כללים חדשים (לדוגמה המרת "6." ל-"[פס.") ולכלל "₪5א1עעז5.". בחן בקפדנות את (תוני המעקב (%806) המופקים על :די הפקודה "ת- 8%6ח". ל 61116אה 1% ג (00. 105. 0. 0. א. 85א1%תת50. הה8תך0םס ת02078+ 8 15 105א6 6ת8 085662 15 1116 81666 6ת6 + הגםססעם 6 8 15 124א0 + [פ124.0א6 [105.05א6 :85665 /פ 1 [0.00ג1ת6+/5:/115ט/ [ע105.0א6 ס.םשטס 1- סשאת11ט [ס85110.0 ס- [124.00א6 6.0ש0 00 "ס." +0 566806ת1 "[00." 8 60 116] "6." 3 5םתס6טת60 מ10תא 16גת אסשת +% א 12 06 8% [פ0.*% 0.*% 60 6 "ןַסס." 3 60 116+ "505." 8 65ע6ט600 ב16תא 16טם אשת + :1. מסס1. 00 5> 6 00 -8 66 5*.01 ג.קח6ם טח 5*..0% ם8ת6ע0+ 1.* 0066 נפס.*5 (05.%.*5 טח 0.פחסם 5- חל הפקודה ת- %₪8%6 תפיק את נתוני המעקב הבאים: 6 105.502א6 60 6 ת- 60 ץ%0 660.1 שח מ0?.א%.105א6 102028 1 0066 [105.05א6 (00.%.105א6 שח חס +- חז 06 60 06 [124.00א6 124.0א6 סס [פס.פ5:/110/28511ט/ [פ112.0ת6+/ע11/עפט/ [פס.105א6 0.שטס 1- צסאת11ט 1 0- [124.00א6 006.0 06 6 מערכת לבקרת קוד מקור (5005) במהלך מחזור החיים של תכניות הן עוברות שיפורים, ‏ ניפוי שגיאות והוצאה של מספר גרסאות. התכנית לבקרת קוד מקור (להלן 5 - 59500 1. 0066 500106) הענה מערכת של כלים שניתן לעקוב בעזרתה אחר שלבי ביניים רבים של התכנית. יּ התוכנה 50665 מאפשרת למעשה למשתמש לתחזק מספר גירסאות שונות של התכנית בקובף פיסי אחד בדיסק. קובצ זה מכיל מידע המספיק ליצירה מחדש, במגבלות מסוימות, של גרסאות ישנות. על פי . בקשה ניתן לקבל גרסה מסוימת ומכיון שרק ההבדלים בין גרסה זו לאחרת נשמרים, הדבר חסכוני מבחינת המקום בדיסק. 13 מנהל הפרויקט *כול לציין, בעזרת סדרה של פקודות, אילו פעולות מותרות בקובף 5005 מסו*ם. 7 העברת תכניות לפיקוח של 56065 הפקודה ת8681 *כולה לשמש להעברת קובא מקור מסוים לפיקוח של 5. הגרסה הראשונה של קובצ 5005 היא בדרך כלל 1.1, אשר משמעותו "גרסה 1 רמה 1". כל שינו* שיעבור קובצ 50605 מכאן ואילך ידוע בשם דלתה (86168) וכך, כל פקודת דלתה מעלה את מספר הגרסה, או את מספר הרמה, או את שניהם כאחד. פקודת דלתה גרסת הפקת פקודת פקודת |קוב> 5005| פקודת מערכת נוצר או מערכת עבר שינןו:י תזנחסה תרשים 11.2 מחזור 5605 טיפוסי כדי להעביר את קוב המקור "186.0+" לפיקוח של 5005, ינשתמש בפקודה הבאה: 06 6.0מ101- ת1ש%580₪ (]₪ס) 658עסשץ6א 16 סת הפקודה ת86₪1 מדפיסה את ההודעה "(67) 05זסשע56 16 סם" ומסיימת. אפשר לבטל את קובף המקור ("51₪6.6" בדוגמה שלעיל) מכיון שתוכנו נמצא עכשיו בפיקוח 5005. שים לב, בשלב זה כל קוב+ הנמצא בפיקוח של 50605 חייב להכיל את הקידומת ".5". כמו כן, אין להשאיר רווח בין האופציה 1- לשם הקוב>. מהרגע שבו הקוב נמצא בפיקוח של 5005, ניתן להשתמש בפקודה % בכדי לאחזר כל גרסה שלו למטרת קריאה בלבד. לדוגמה: 5766 06 1-1 31 5 (7ת0) 0106אצ6א 16 סא 144 משמעות ההודעות הן שהקוב "61₪6.6", שהופק מ-"5.516.0", הינו: "גרסה 1 רמה 1" ואורכו 31 שורות. כדי לשנות את קוב המקור, השתמש בפקודה הבאה, אשר מפיקה קוב+ לקריאה וכתיבה מ-"5.%16.6". 5 666 -6 0 4 2 66168 שפח 5 31 הפקודה גם מפיקה, כמוצר לוואי, את הקוב% "%186.0.ק", אשר מציין "מי עושה מה" לקובף "5.%16.60". תוכל עכשיו להשתמש בתכנית עריכה של אזא1[ז (כמו 1ט) כדי לשנות את הקוב>. 6נס 901 כדי לשלב את השנויים כדלתה חדשה לתוך הקוב "6.0ם8.61" (ליצור למשל, גרסה חדשה של "18₪6.0+") השתמש בפקודה הבאה: 6 906168 ?002 12 6 3 46 0 | 6פנְטטט 31 נתוני המעקב שבדוגמה לעיל מראים את השינו*ים שנעשו. המשתמש חייב למלא את שדה ההערות, כדי לציין אילו שינויים נעשו. ניתן לבצע סיעוף משנה ברמה מסוימת של הגרסה. לדוגמה, סיעוף בגרסה 1.2 יכול להיות 1.2.1.1, אשר ניתן לפרש אותו כך: גרסה 1, רמה 2, סעיף 1 ומספר 1. כדי ליצור סעיף, השתמש תחילה בפקודה הבאה כדי לאחזר את הגרסה האחרונה של "1₪6.60)": 6 6- מ- 5066 1.12 3 66168 שסת 34 5 שים לב שניתן להשתמש באופציה 5- בפקודת ₪66 רק אם הפקודה חנחז0א, אשר העבירה את "%186.6+" לשליטת 5605, הכילה את 15 האופציה 12- (כלומר: "5.)1₪6.6 0 פ)- תומת80"). בצע את השינויים הדרושים בתכנית והשתמש בפקודה הבאה כדי ליצור סעיף חדש: 06 11.2.1.1ע- 506168 כאשר יש צורך בשינויים מהותיים ויש ליצור גרסה חדשה, ניתן להעלות את מספר הגרסה ב-1 בעזרת הפקודה הבאה: 5466 -6 -2 0 13 1 06168 אסח 35 5 לאחר ביצוע השנויים הדרושים ב-"1₪6.0)" באמצעות תכנית עריכה, תיצור הפקודה הבאה את הגרסה החדשה 2.1: 9061608 6 0? (7ח0) 010אץ%6 10 סא 2.1 18 6 0 6 6 וט 35 8 ססמלים מיוחדים ב-5666 "(0₪7) 0:0שע86 16 סא" היא הודעת אזהרה. ניתן לקבל מידע מפורט על הודעות האזהרה והשגיאה בעזרת הפקודה ק[86. לדוגמה, כדי לקבל מידע הנוגע לאזהרה "7וזס6", השתמש בפקודה הבאה: [שס ק61םת% קוד ההודעה "67" מזהיר את המשתמש ש-5005 אינו יכול לסמן גרסה מסוימת. כדי למנוע את הודעת האזהרה ניתן להכניס לקוב המבוקר על ידי 5005 מספר סמלים מיוחדים: % מספר הגרסה. %ל שם המודול. % המחרוזת (8)8. 5% תאריך השנוי. % תאריך האחזור. % שווה-ערך ל-81%, 1% ו-%2%. 1156 בחירה בסמלים אלה נעשית בדרך כלל בתחילת תכנית המקור של המשתמש בשפת ‏ 6, באמצעות ההכרזה הבאה: ; "3065 .4 - 40% - 40%" = []500916 עפת0 858010 לאחר שנשתמש בפקודה +₪6 לקוב 5005, אפשר להחליף את ההכרזה הבאה על ידי המחרוזת הבאה: ; "008 .4 88/11/23 - 1.1 61₪6.6 (6)4" = [ ]500918 עפת0 5068010 במחרוזת זו "61806.6" הינו שם התכנית, "1.1" הינו מספר הגרסה של התכנית ו-"88/11/21" מציין את תאריך השנוי. הכרזה כזו לא רק תבטל את הודעת השגיאה "7ות6", אלא תספק גם מידע חשוב לפקודה +8ש. פקודה זו סורקת את הקוב כדי למצוא את המחרוזת "(8)8". אם תופעל הפקודה )8תש על התכנית "186.6)", *וצג המידע הבא: 6 50286 8 .4 88/11/23 - 1.1 61₪6.6 :01₪6.0 9 50005 !-886ו כפי שהוזכר בתחילת הפרק, הפקודה ₪8%6 תחפש גם את הקבצים "8%611[6ת." או "5./18861116". קבצים אלה הם קובצי תיאור של 959 ש-₪886 *כולה לזהות אותם ולטפל בהם לפי כללים מסוימים. הדוגמה הפשוטה שלהלן מבהירה כיצד ניתן לגרום לכך ש-5005 ו-8%6 יפעלו *חדיו. בתחילה נעביר את התכנית לשליטת 5005. בהנחה שהתכנית נקראת "80.0שפ5", נשתמש בפקודה ת!זגת86 הבאה כדי להעביר אותה לשליטת 5005: 6. 8.587 15080.6- ת%580₪1 06 מע9 עכשיו נכתוב קובף 8%6 כמו זה שלהלן: "1.0065 - %5% - 500510="%8% 0 ?1 570 0 5880 0- 06 נעביר את קובצ ה-₪886 לשליטת 5005: 686 "פ 1₪8461116- ת580₪1 17 הפקודה 6אגות תיצור עכשיו קובצ לביצוע הנקרא "ס8שפ" ותפיק את נתוני המעקב הבאים: 6 6 695 + 141 5 3 0 < 5.85080.0 כ- 666 1 5 1299 06 0- 0- 66 6 =- תע 0 סקס 58 0- 06 שים לב, שפקודת ₪8%6 מזהה, באמצעות כללים מסוימים, שקוב% "580.0" הוא בשליטת 5005. בשלב הבא היא משתמשת בפקודה 86% עם האופציה ס-, כדי להפיק את "0.ק8שפ5" מתוך "6.ק5.88". לאחר מכן היא *וצרת קוב לביצוע הנקרא "ק8שפ5" (הפקודה ₪66 עם האופציה ם- מאחזרת טקסט מתוך קובצ 5005 ומעבירה אותו לפלט הסטנדרטי). 0 פקודות 50065 נוספות לפקודה 80018 יש אופציות שימושיות רבות, אשר כדאי לבחון אותן מקרוב. לדוגמה, הפקודה שלהלן תוסיף את המשתמש "[צ8כ" לרשימת המשתמשים | שרשאים | לבצע | שכנויים | (פקודות | דלתה) בקוב "5.5106.0" ותוציא את המשתמש "ע666ק" מרשימה זו: 6 קת 6060ק6- 8₪1ק8- ת580₪1 הפקודה הבאה תאפשר לבצע מספר שינויים בו-זמנית לקובא: 5.06 [?- ת580₪1 הפקודה הבאה תנעל את גרסה 3 בצורה כזו, שלא ניתן יהיה לבצע בה פקודות דלתה נוספות, או אחזור לצורך עדכון. 5.6 2?13- ת580₪81 ניסיון לאחזר גרסה נעולה יגרום להודעת השגיאה הבאה: 5.6 6- 5066 ₪0 22 (0022) 601100 56ה41שָ3 100%60 '3' 2616856 [5.61₪6.0] תסתתם 18 כדי לקבל את רשימת הגרסאות הנעולות של התכנית "%1₪6.6", אפשר להשתמש בפקודה הבאה:? 6 :א:8- פעס% הפלט: 3 הפקודה פזק לעיל מציינת שרק גרסה 3 ננעלה. כדי לשחרר את גרסה 3 נשתמש בפקודה הבאה: 6 613- ת580₪1 לבסוף, יש פקודות שימושיות נוספות בעת עבודה ב-5605. להלן רשימת הפקודות: פז מדפיסה מידע הקשור לקובצ 5005 כמו פקודות הדלתה של הקובצ: 0 פפס% 6% מדפיסה את הפעילות הנוכחית הקשורה לקוב 5005: 0 958600 6 :: ת0? 861688 א8ַת61ת6568טס סת 0 משווה ומדפיס ‏ את ההבדלים ב שת* גרסאות בקובף* 5005: 06 1.2ת- 1.1ע2- +%8008611 000 משנה את תיאורי הדלתות הקשורות לקובצ 50065 (בקשות לשינוי והערות): 5066 5.6 1 ד מבטלת דלתה בקוב%ף 5005. הדלתה שעומדת להיות מבוטלת חייבת להיות האחרונה בענף שלה. 06 1.1.1.1ת2- ₪661ע%5 %ט מבטלת את האחזור הקודם של קובצ 5005: 6 6- 9866 13 8 66168 שטסת 6 1.231ע- 66שתט% 19 פרק 12 תקשורת מקומת - שירות' דואר אלקטרוני מערכת א11%1 כוללת אמצעים סטנדרטיים אחדים המאפשרים למשתמשל המערכת להתקשר ביניהם ובינם לבין מנהלן המערכת בדרך של שירותי דואר אלקטרוני. בפרק זה נתאר אמצעים אלה ונעסוק בפקודות המאפשרות תקשורת מקומית בלבד, באותה מערכת מחשב. בפרק 13 תמצא מאפיינים של תקשורת בין מערכות א1א11 שונות. 1 העברת הודעות למשתמשים מערכת א11%1% כוללת מרכיבים בסיסיים של מערכת דואר אלקטרול. בעזרת פקודת ₪811 ניתן לשלוח הודעות למשתמשי א[א11. הפקודה כוללת את שם, או שמות הנמנעים, כפי שהם מוכרים במערכת. (6)5הת-ת0פט 9₪811 לדוגמה,| כדי לשלוח הודעות למשתמשים "6תת8" ו-"פה68זחתב" צריך להקיש את הפקודה הבאה: 985 סתתה 9₪811 בשורה שלאחרי פקודה זו הקש את תוכן ההודעה. גוף ההודעה צריך להיות שורה אחת לפחות. סיים את הודעתך בתו 1116-]0-0ת6 (כלומר הקשת כ-01א60%7). גם אם נשלחת הודעה למשתמש שאינו מוכר ל-א1א11 (לדוגמה, כאשר אינך מקיש נכון את שם המשתמש), אין היא הולכת לאיבוד אלא נשמרת בקובף הנקרא "8680.166%67". ניתן לאחזר את ההודעה ולשדר אותה מחדש בדרך זו? 66806.106508% > 6מהת-60פט 5₪811 2 קריאת הודעות הודעות הנשלחות למשתמש אחר מאוחסנות בדרך כלל במדריך ההודעות של המשתמש. מדריך ההודעות נקבע לפי משתנה הסביבה "ןז[ג/א". משתנה זה נמצא בדרך כלל בקוב "1116סקק./ 6101" ומוגדר כך: 100 סמהת-ת0902-1081/ 2811/ עפגו/ = ודה כאשר המשתמש נכנס למערכת הפקודה 10811 מודיעה לו אם ממתינות עבורו הודעות. במקרה שיש עבורו הודעות, הוא מקבל את ההודעה הבאה: 1 סטאת טסץ כדי לקרוא את ההודעות נשתמש בפקודה ₪81 במבנה הבא; [118+ +-] [(5)8ח10ססס-] 9₪811 אופציות: ס- להדפיס את תכולת תיבת הדואר, מבלי לבקש מהמשתמש להתייחט להודעה זו או אחרת. ז- לשנות את | הסדר | שבו ההודעות | מודפסות, מאחרון-נכנס-ראשון-יוצא (0ק11) לראשון-נכנס-ראשון-יוצא (0ק1ע). 6 )- להשתמש בשם קוב מסוים להודעות ולא בברירת המחדל, שנקבעת על ידי המשתנה ,1811 לאחר שהוצגה הודעה על המסך מקובצ הדואר של הנמען המשתמש מתבקש להתייחס אליה על ידי הצגת הסימן "?". להלן כמה מבין התשובות הנפוצות על ידי המשתמש: <ת> הדפס את ההודעה הבאה. (ל05> הנעו קיצור של 60 871806 0). <6607 בטל את ההודעה הנוכחית והצג את ההודעה הבאה. ף החזר את ההודעה לקוב+ הדואר וסיים: 3 תקשורת בהידברות בין משתמשים בנוסף למשלוח דואר אלקטרוני ולקבלתו באמצעות הפקודה ₪81, יכולים המשתמשים להשתמש בפקודה 1)6חש, כדי לקיים תקשורת בנוסח של דו-שיח, או הדברות (ת168+10תגומזוז60 6ש6618001ת1): [6ש8ת-ע%6] 6שהת-עספט 92106 לאחר הפקודה 6*!זש ושם הנמען יש להקיש את תוכן ההודעה ששולחים ולסיים בהקשת כ-13002א00. האופציה 6וַח-1+ מציינת את שם המסוף ויש להשתמש בה כאשר שני אנשים או *ותר נכנטים למערכת בשם זהה ממסופים שונים. 11 4 קבלת הודעות במסוף שלך במקרים מסוימים (כמו למשל בזמן עבודה או הדגמה) אינך רוצה שיפריעו לך. לשם כך עליך לחסום את המסוף ולמנוע ממשתמשים אחרים לשלוח אליך הודעות. גם תוכל לשחרר את המסוף ולהתיר קבלת הודעות. ניתן לעשות זאת בפקודה 658 בעלת המבנה הבא: [ץ עס ם] %₪658 לדוגמה, כדי למנוע ממשתמשים אחרים לשלוח הודעות למסוף שלך הקש ם 9₪658₪ כדי לחדש את קבלת ההודעות הקש ץצ 9₪65₪ 5 משלוח הודעה לכל המשתמשים ניתן להשתמש בפקודה [81ש כדי לשלוח הודעה לכל המשתמשים הפעילים כרגע במערכת. מסיבה זו, במערכות א1א11 רבות רק מנהלן המערכת *כול לבצע את הפקודה. לעתים קרובות המנהלן משתמש בפקודה (ראה גם את הדוגמה להלן) כדי לשלוח הודעת אזהרה לכל המשתמשים לפני שהוא מכבה את המערכת, או מפסיק את פעולתה: האס סַת01ף ה506ץ5 .6ט100 216856" 0מ%60 1 | "65שטה1ח 3 מ1 אפשרות אחרת היא להכניס תחילה את ההודעה לקובף (לדוגמה קת6) ואז להשתמש בפקודה 811ש כדי לשלוח אותה. %/600/0811 > 600 6 שירות תזכורות פרטי ניתן להפעיל שירות תזכורות *ומי באמצעות הפקודה 08%ה0816. תחילה עליך ליצור קובף "ז681608" ולמקם אותו במדריך הבית. קובצ זה מכיל שורות הדומות לאלו הנראות בדוגמה שלהלן: .0 סב ת5628:10ה0ת06 28582856 - | 15 60 טםך .עסעאק ע2115208 102 6ת656ת0 665 - 6 60ץ .660618608 ת56266 0% 6ת6תק610ש26 - 13 12 לאחר מכן הצב את הפקודה 0681ה6810 בקוב) "01116זק./90". בכל פעם שתכנס למערכת, תתבצע הפקודה ז08ח6816 באופן אוטומטי ותציג שורות מתוך קוב% ":ז08ת0816" המכילות את התאריך של אותו יום, או של היום שלאחריו. במערכות א1א11 ישנן צורות שונות לפקודה "68ח6816. חלקן מדפיסות הודעות בפלט הסטנדרטי (הצג של המשתמש). אחרות מנתבות את ההודעה לתיבת הדואר של המשתמש שאת תכולתה ניתן לקרוא בעזרת הפקודה 811. כאשר משתמשים בפקודה "6816008 יחד עם האופציה מינוס (- ז006ח%6816), *יבדקו קובצי :681608 של כל משתמשי המערכת ויישלחו ההודעות המתאימות לתאי הדואר האלקטרוניים שלהם. פקודה זו מופעלת בדרך כלל על :די 670 (ראה סעיף 12.9). 7 מידע על אירועים ניתן לדווח למשתמשים על חדשות הנוגעות למערכת המחשב או לארגון באמצעות הפקודה פש6ת. את ההודעות שעומדות להשלח למשתמשים יש לאחסן במדריך "פש6ת/זפט/". כל קוב במדריך זה הינו פריט חדשות נפרד, אשר תוכנו קשור לאותו פריט. הפקודה 859 (ראה גם את הדוגמה להלן) נמצאת בדרך כלל בקוב% "6%0/201116/" כדי שפריטי החדשות *יבדקו מייד לאחר שהמשתמש עבר את תהליך הכניסה למערכת. [ 06%5/ת01/ז5ט/ ‏ ם- ] +11 חסתם ה- 685 5 הפקודה פש6ח היא בעלת המבנה הבא: [ (5-160)8שפת] [58ת610קס] 5ש6ת% אופציות: ת- הדפס רק את שמות פריטי החדשות הנוכחיים. המערכת יודעת אילו פריטים הינם "טריים" (לא הוצגו עדיין), מכיון שזמן הצגת החדשות נמצא בקוב) "6ם6₪5%1ם." שבמדריך הבית ("1105"). 8 הצג את כל פריטי החדשות (כולל אלה שהוצגו כבר). 8 הדפס את מספר פריטי החדשות הנוכחיים שקיימים במדריך. 138 8 ביצוע פקודות בזמנים מוגדרים הפקודה +8 משמשת לביצוע פקודות בזמן מוגדר: [8₪6מ116?] [68%66] [61₪6] %8%6 האופציה 1₪6+ יכולה להכיל מאחת עד ארבע ספרות. עם נכתוב עד שתי ספרות - הן ת'יצגנה שעות בלבד. אם נכתוב שלוש או ארבע ספרות הן תייצגנה שעות ודקות. ישנה גם אופציה להוסיף לאחר הספרות את התו ‏ ₪ כדי לצ"ן חצות, םת - ערב, 8 - .8.8 ו-ק - .ם.ס. האופציה 686 יכולה לצייזן את היום בשבוע, או את שם החודש שלאחריו מספר היום. בדוגמאות שלהלן, הסימן % מציין, כרגלל, את מנחה ה-א11%1 (6קתסזק). דוגמאות להוראות ביצוע בזמנים מוגדרים: * ב-4 אהה"צ (.םת.ק 4) ב-27 ליולי, בצע את קוב% הפקודות (0ק1ז50 5%611) "ת45%61.5": ת₪88602.8 27 1ט3 1600 586 אפשר גם לכתוב: ת8.ע₪8506 27 1ט1 כ14 %86 ב-10 אהה"צ (.ם.ק 10) ביום שלישי בצע את קובצ הפקודות "ת5.קטאס8פ": ת5. קטא080% צ568עגת1 100 586 ב-0924 בצע את הפקודה סש ושלח את הפלט שלה לתא הדואר של המשתמש "685זח8": 18 586 85 ₪811 | סמש פ-180א00 בכל הדוגמאות הללו, :וצרת הפקודה 86 עותק של הקוב% ושל משתני הסביבה הרלוונטיים ‏ " 8%[005/ת0ז50001/0/זפט/". | לגבי הדוגמה השלישית למעלה, הקוב שיווצר במדריך "005[+8" יהיה הקובץ הבא: 86 5 '052/8005/3001685/ '=₪0 ;₪085 6עסקאס :300685 '=ם11א00/ ;106/85 ס6תסקאס '02685ה5:/0811/3ט/ '=11תא ;12 6תסקאס 14 המשך '66₪/ :פסט/עפט/ :תגם/-5ט/ :תגפ/ :תגפ/ : '=מדתת ;אזגת 6מסקאס ' < 6א6ח'=251 ;051 6ת0סאס 'ת5/ת51/ '=58522 ;58502 6תסקאס '850ץ'=אתמך ;א8ם1 סעסקאס 141 ףססק (8)1 ג 060 0 סשן0ג1ט 0 א5החט 35 811 | סת> 9 ביצוע פקודות על פי לוח זמנים כאשר המערכת עוברת להיות מערכת רבת-משתמשים, נוהגים להפעיל את "שד השעון" ת6"0. השד ם6*0 מתעורר בצורה מחזורית (כל דקה) וקורא פקודות מתוך קוב% "%80ת115/60/זפט/". בקובצ זה מציינים את הזמנים בהם *ש לבצע פקודות מסוימות. להלן, כדוגמה, מספר שורות מתוך הקובף "%80ת0ע62" שנמצא במערכת: - 08160081/ת01/ץ5ט/ * * * 1 0 6 /ת051/80/ 60211116/ת30/ע5ט/ 00/ת1/ ;660/625000/ 1 * * 0 35 6 30/ץפט/ 11טה/ש60/ 60/ת1ס/ 1 11טח/ש66/ < קטת600/0168/ 1 * * 1 35 1 < הסעסס0ה/ת01/ץ5ט/ * * * * 09,19,29,39,49,59 30 18 * * 1,2,3,4,5 0 *א0/16סטט/052/50001/ 5- תת * * * 08 00 1 /ל06/ <תה. ח0ת06טט/60טט/51/110ט/ * * * * 0,5,10,20,25,30,35,40,45,50,55 1 /06/ < צְ03.ת0ה06טט/קסטט/52/110ט/ * * * 4 0 1 /06/ < אא. ח0ת06טט/קסטט/5:/115ט/ 1 * * 5 30 כל שורה בקובף "85+תסע6" מורכבת מששה שדות. בטבלה 12.1 ניתן לראות את מבנה השורה ואת הערכים המותרים בכל שדה. 15 טבלה 12.1 שדות בשורה של קוב "6700080" 6 5 4 5 2 1 67 וחטות 1614 1 "0 287 הסוא ]0 ץ28 | זשס11 | >ס:טתווא 65 60 א66 | 01768 הותסות מייצג 86צ 4 6 1-12 1-11 3[ 9 סא א[אז ש08תט5 6 4 0 0= פקודת ערכים אזאתז מותרים חוקית ניתן להפריד | את שדות הזמן בעזרת רווחים, | או בעזרת טאבולטורים. המספרים המייצגים את הזמן יכולים להיות: בתחום המצוין בטבלה 12.1. כוכבית המציינת את כל הערכים החוקיים. רשימת מספרים המופרדים זה מזה בפסיק. תחום, המתבסס על שני מספרים המופרדים במקף. %* 0% א * לדוגמה, כדי לבצע את קובף פקודות המעטפת "ת0.5תש566", כל עשרים דקות בין *ום שני לשישי, יש לכתוב את השורה הבאה בקובף "ס8+תסעס": ת0.8ת8600 1-5 * * * * 806 ,20 ,0 בדרך זו יכולה תכנית השירות ת0ז6 לבצע גיבויים *ומיים, להריצ* תכניות מסוימות בשעות שאין עומס, להגביל הרצת משחקי מחשב בשעות העומס וכן הלאה. 16 פרק 13 תקטורת בין מערכות אזאנז החלפת מידע בין מערכות א18א1[) יכולה להתבצע באמצעות הרשת להעתקת א1א[ז ל-א1א1 (להלן קסטט - עסס6 אזאנז-60-א1אנז). איןו צורך להיות מומחה בתקשורת כדי לחבר מערכות 1%אז בעזרת ססטט, אולם, סביר להניחה שרשת כזו תותקן בדרך כלל על ידי מנהלן המערכת המקומי. לשם העתקת (תונים ממערכת אחת לחברתה, יש צורך לשנות את קובצי קסטט וקובצי מערכת מסוימים (כמו "85506ק"). בידי מנהלן המערכת הרשות לעשות זאת. בעת התקנת רשת ססטט, יכול מנהלן המערכת להשתמש בכלים שברשותו כדי למנוע פגיעות אפשריות באבטחה צַשימוש ללא הרשאה ברשת. בפרק זה נעסוק בשיקולים שיש לקחת בחשבון לצורך יצירת קשר בין מערכות א1א[1 בעזרת קסטט. גם נראה, בעזרת דוגמה מעשית, כיצד לקשר בין שתי מערכות. 1 התקנת קסטט לפני שמשתמשים ב-קסטט במערכת א1א11 חדשה יש לבדוק אם רשת קסטט הותקנה כבר במערכת. נבדוק אם המדריך "קסטט/115/ זפגו/" קיים ואם הוא קיים - האם נמצאים בו הקבצים "1065ט66-ע", "5ע1..5", | "1.08005", | "1.6:8100665", | "מש]עת5", | "ססנסטט", ו-"מ168סטט". חייבים להיות בו גם המדריכים "קסטט/50001/ זפט/" ו-"ס1[סטוקקסטט/50001/ זפט/". תהליך ההתקנה של קסטט משתנה בין מערכות א1א[1 שונות. במספר מערכות (יתן להתקין את קסטט באמצעות קוב% "אח.קסטט" שנמצא ב-"קסטט/110/זפט/". עושים זאת בעזרת הפקודה הבאה: 1 אח.קסטט /1- 5₪8%6 במערכות אחרות ניתן להתקין את קסטט באמצעות תפריט של מנהלן המערכת. 17 2 אפשרויות קישור יש + שלוש אפשרויות לקשר בין מערכות באמצעות קסטט: חיבור באמצעות רשת חיוג (להלן רשת ככ - 606עכ שתז![18 06ת1215%8). במקרה זה המעבד משתמש במודם וביחידת חיוג אוטומטית (84011). במרחקים קצרים ניתן לחבר שתי מערכות א141%] בצורה ישירה ללא מודמים. מרחקים מקובלים לחיבור כזה הם כ-270 מ', אך תקן 85232 מציין מרחק של 15 מ' בלבד. בעזרת מודם ניתן לחבר שתי מערכות המשתמשות בקו פרטי (נל"נ). 3 פקודות פסטט מספר פקודות קסטט מאפשרות למשתמש להחליף מידע בין מערכות אזאנז. להלן הפקודות: קסטט מסדרת בתור את הקבצים המיועדים להעברה ומעוררת את "השד" "סס1סצט" במחשב המארח, כדי לבצע את העברת הקבצים למחשב המרוחק. "השד" "0160" במערכת המרוחקת מופעל כדי לקבל את הקבצים. 6מהתטט מפיקה רשימה של כל שמות המערכות הידועות ל-קסט. אטט מבצעת פקודות במערכות מרוחקות. שסטט שולפת מתוך "1/0011.8/ קסטט/50001/פט" את הסיכום של תנועות קסטט ו- אשטש, כדי לקבוע אם הן בוצעו בהצלחה (לדוגמה, 5- שס1שט). % שולפת את מצב סיום ההעברה האחרונה (לדוגמה, 1 8₪5086). ח6]68טט מפסיקה את המשימות שעברו על מספר השעות שנקבע להן (לדוגמה "72ם- ‏ 51ק- ם6168טט/110/ זפט/"). סט העתקת קבצים ציבוריים מ-א1אנז ל-אזאנז. המבנה המדויק של הפקודות והאופציות הקיימות בכל אחת מהן נמצאות בתיעוד של המערכת שלך. 1.08 4 קובצי קס6טט כאשר משתמשים ב-קסטט יש ליצור, או לשנות מספר קבצים. להלן הסבר על קבצים אלה. קוב+ "1..595/ קסטט/ 115/ זפט/" בקובצ זה ישנה רשימה של המערכות שקבצי קסטט *כולים לקרוא להן. המבנה שלו הוא כדלקמן: ץ1קסע-6ת8-066%א6 סתסתק 62806 1ס 660106 6186 6811 סומהתמסס 85 6וז תות 5906 6 6 6 6מסחק 6 עק6ת- שם המערכת המרוחקת, בקוד 45011. המועד שבו יש לקרוא למערכת. המחרוזת "עתה" משמעותה שאפשר לקרוא בכל :ום, "א" משמעותה שאפשר לקרוא לה *ום אחד כלשהו בשבוע, המחרוזת ‏ "1001000-0800" | מצינת | שאפשר לקרוא בכל *ום בין יום שני לשישי ובכל שעה, פרט לשעות שבין שמונה לעשר בבוקר. שם ההתקן (ב-660/) שמשתמשים בו כדי לקרוא לאותה מערכת, צורת הביטוי היא "תחעשם", או הערך "[461" (יחידת החיוג האוטומטית). קצב שידור הנתונים בסיביות לשניה שהמערכת יכולה לטפל בו (לדוגמה, 9600 או 1200 סיביות לשניה). מספר הטלפון של מערכות א1%א[] שיש להן מתאם לחיוג אוטומטי. מספר זה (לדוגמה, 037321956) צריך להופיע בקוב% "1-618160665". | במערכות שאין בהן מתאם לחיוג אוטומטי, או במערכות שעובר בניהן נל"נ, שדה זה צריך להיות זהה לשדה "660166". "%+060א6" הינה המחרוזת שיש לקרוא מהמערכת המרוחקת ו-"ע1ק6ץ" הינה המחרוזת שיש לשדר בחזרה. לדוגמה: ססטטת ת1שס-₪01-ת1שס שורה זו מודיעה ל-קסטט לאתר את המחרוזת "תוקַס" ואם היא מצאה אותה, עליה לשדר חזרה את המחרוזת "קסטטת". אם המחרוזת "הגאס" לא נמצאה, יישלת הסימן ‏ ₪071 והתהליך *חזור על עצמו. שלוש השורות שלהלן ההינן דוגמאות של שורות שיכולות להופיע בקוב% "5ע1.5". 199 קסטטה :ת801-001-ה041 206538275 300 300 30,עה2 55615טצס קסטטם :0618 05%55ם "" 66116 9600 65116 עתה 5 12 9600 6ש518 6חסא פטס קובץ "1-0601605" קובצ זה מכיל רשימה של כל ההתקנים, אשר מאפשרים חיבור למערכות אחרות. מבנה השורה בקובצ הינו כדלקמן: 6 ס26200שת1ע8% 106ט46 018שת1ע5% אזסקת!ז) | המחרוזת אזכ. 1-06 שמו של ההתקן ב-"ש66/". השמות *כולים להיות למשל "מתע66" ו-"[ ."40%‏ הם צריכים להתאים לערכים הנמצאים בקוב "5ע1.5". 0 המספר 0. 1-6 קצב שידור הנתונים בקו מסוים (סיביות לשניה, למשל 9600). לדוגמה: 0 0 05ע06 הדע שורה זו מודיעה ל-קסטט ש-"05ע660/06/" הו קו נל"ן וקצב שידור הנתונים בו 9600 סיביות לשניה. קוב+ "415 אא ד5צפ" קוב+ זה (ניתן למצוא אותו רק במספר מערכות א1%1)) מכיל את שם המערכת המארחת (לדוגמה 58500). קוב+ "65ותס.]" קובצ זה מכיל פקודות א1א11, אשר תוכנת "+6אטט" תרשה לבצע אותן במערכת המרוחקת. בכל שורה יש פקודה אחת כפי שנראה להלן: סס סנ 5 18 ססטט 170 קוב "1618160065" קוב+ זה משמש מערכות א1א1ז, שבהן יש חייגן אוטומטי. באמצעותו ניתן למפות את קודי החיוג ומספרי הטלפון ולשייכם זה לזה. קוב+ "61" קוב זה מכיל מידע, שאליו *כולים לגשת הן המשתמש והן המכונה. מבנה הרשומה בקוב הוא כדלקמן: [מסהק] ת86ס [6] [6שפת5%ע5], | 6שהת1ש0ס1] 6תאתקס השם שבו המשתמש נכנס למערכת, או המחשב המרוחק. 6 שם המערכת של המחשב המרוחק. 0 דגל | (188) לציון | הג חוזר (086%כ-0811); כאשר הוא ישנו, יתקשר המחשב המארחתח למחשב המרוחק כדי לאשר את זהותו. הזה שם מסלול מקובל. כדוגמה, התבונן בשורות הבאות מתוך הקובא 17₪ע0ת150ז עפגו/ 56500, עשתה א%פסש/₪80/ , אעסט/ , השורה הראשונה מצביעה על כך שהמערכת "58500" *כולה להכנס (ח1קס1) תחת השם "עאַת8" ולהעביר קבצים אל המדריך "זפט/", או ממנו. השורה השניה מציינת שכל משתמש *וכל להעביר קבצים דרך המדריך "אתסש/זפט/". ולבסוף, השורה השלישית מצביעה על כך שכל משתמש יכול להעביר כל קוב+ הפתוח לכולם. 5 הקבצי'ם "6ז0ש855ק" [-"1))85ח1" שני קובצי מערכת צריכים לעבור שינוי בזמן שמתקינים את ססטט: "660/08550/" ו-"1%080ת6%0/1/". קוב+ "6ש650/0885/" הינו קוב+ הסיסמאות של א1א1ז, אשר מתאר כל משתמש במערכת. יש ליצור רשומות בקובצ הסיסמאות לכל אחד ממנויי קסטש, כדי לאפשר למערכות רחוקות להתקשר למערכת המארחת. להלן רשומה טיפוסית שיש ליצור: 171 0 :1 טסקסטט/851/50001/: (0000) ססטט-6:1:0000: :פסטטת יש לשים לב לכך שברשומה זו המדריך "60:!סטקקסטט" משמש כמדריך הפעיל של קסטט והשד "ססנסטט" משמש לצרכי המעטפת. המנהלן צריך גם ליצור רשומה בקובצ הסיסמאות שתאפשר לו להתערב בפעולת קסטט. הנה רשומה טיפוסית: ת5/ח51/:ק0טט/55/112ט/: (0000) ק6טט-5:1:0000: ע6עח3: קסטט יש ליצור את הרשומות שתוארו לעיל הן במערכת המארחת והן במערכת המרוחקת. יש לשנות גם את הקובף "16680םת6%6/1/". קוב זה משמש את "זות656/1/", כדי לקבוע אילו תהליכים *ווצרו ואילו תהליכים יסתיימו בכל מצב של 15ת1. הרשומה בקובצ "080)!ם1" היא בעלת המבנה הבא: 26:0200655800108ץ61:6ש1516ה16:1 הבה נתבונן במקרה שבו רוצים ליצור חיבור קסטט <שיר בין "6505" במערכת המארחת לבין-"06ע6+" במערכת הרחוקה (ראה גם תרשים 13.1). במקרה זה יש לשנות את השדה "6ַקְע" במערכת המארחת | ל-"+01%" ובמערכת הרחוקה ‏ יש לשנות | שדה זה ל-"תש6508ת". לאחר ביצוע שינויים אלה יש לבצע את הפקודה: 4 1%6ם660/1/% פקודה זו תאל% את "ת656/1/" לקרוא מחדש את הקוב "10080ת6%0/1/" מבלי לשנות את מצבי ‏ ם1. דבר זה מונע את הצורך לאתחל (60006ת) את המערכת. 6 הרשאות הכניסה לקבצים מיוחדים כדי שהעברת הקבצים תצליח, יש צורך לשנות את הרשאות הכניסה ל-"666" בקבצים הנמצאים במדריך "צש66/" ומעורבים בתהליך קסטט. אם, לדוגמה, משתמשים ב-05ע%5"" הן במערכת המארחת והן במערכת המרוחקת, יש לשנות את הרשאות הכניסה לקבצים המיוחדים בעזרת הפקודה הבאה: 5 666 ₪06ת50 172 7 דוגמה מעשית תרשים 13.1 מציג חיבור ישיר על ידי הצלבה (את011קט67055-60) של שתי מערכות א1א11. מערכות אלו הן "5574" ו-"578צ5". לצורך הדוגמה, תפיק הפקודה "1- 6ומתאתטט" את הפלט של 5718צ5 במערכת המארחת ואת הפלט 51₪8צ5 במערכת המרוחקת. בדוגמה זו תשמש הכניסה (6זסק) בשם 05ע%9 לחיבור בין שתי המערכות. תהיה המערכת הראשית (ת66פאות) והמערכת 5918 תהיה כפופה לה (6ט518). בהמשך נתאר את הרשומות שיש ליצור בקובצי ה-קסטו בשתי המערכות. תרשים 13.1 חיבור על ידי הצלבה (בלי מודם) קובצי המערכת המארחת (518צ5) הסימן 8 בקובצ שלהלן משמש לציון שורת הערה. 85 1116 5צָ2.5 6ת%7 פסטטת:ה8-041"- :10ש0-א*- :תפס אי "" 65105 9600 60105 עתג 5578 60008185 116+ 1065ע2-06 6ת%7 0 0 05ע660 אד 8 116) 2.0005 176 1חץ קסטט 15 סמ 15 3 3726 05002128 11166 8 1 קסטט/05:/50001/ 116פטסקסטט/052/50001/ ,ססטטם / , 5 116? 60/1018685/ 6ם₪ ם1 שְצסהס ₪505 6מך% 0 05ע50 /15:1:01%:/660/6655 86 ססטטה 880 קסטט 102 165עה6 1118 6א660/2855/ 6ת%7 :ססטט/52/11ט/ : (0000) ססטט-5:1:0000 : עספחת : ססטט סט טט/קסטט/פ05:/11/ :110פטפקסטט/ 052/5001/ : (0000) פ6טט-6:1:0000 : :פסטטת 6 158 05צ660/65/ 0+ ₪006 6מ%7 5 ד 777-ה הרה = האע-אע-אם- קובצי המערכת המרוחקת (573צ5) 85 1116 2.515 6םך% 5 0 51346 עָחג 54518 .5518 00 85 5806 6ת6 15 116) 2.0005 6תדג .5518 חס 85 5806 6תם 15 116) מעדעתם05 6ת%7 5 1116 666/1010080/ 6ת: ה1 ץנסת6 ₪505 6תד+ 0 6005 ע6%0/9606/:ח8%ק15:1:265 6 ססטטח 300 קסטט 102 165ת6ה6 116] 6%6/0855%0/ 376 :קטט/51/11ט/: (0000) פסטנט-27436:5:1:0000:קסטט סט :110סטקק0טנ/50001 /052/: (0000) קסטט-6:1:0000: :פסטטה 8 העברת קבצים ניתן להשתמש בפקודה קסטט להעברת קבצים בין שתי מערכות אזאנז או יותר. מבנה הפקודה: מ8%10ת665%01 66ע500 [5ם610קס] ססטטף השדות "500706" ו-"תס861ת865%1" יכולים להיות שם מסלול, או 14 שהם *כולים להיות במבנה הבא: 86 ! סוה תו 0 59 "סִַתַאַתות566ע5" הינו שם מערכת שהפקודה קסטט מכירה. לדוגמה, כדי להעביר קבצים בין 5514 לבין 518צ5 לפי הדוגמה בסעיף הקודם, צריך להכנס תחילה ל-518צ5. לאחר מכן נשתמש בפקודה הבאה כדי להעביר את הקוב "1116עת" מהמדריך תת0ך למדריך 116פטקקסטט שב-518+צ5: 6שטטסססטט/ 50001 /052/ !51518 116+עה/תת052/8605/(0/ [- קסטט5 באופן דומה, ניתן להעביר קוב+ מ-5+515 ל-514ע5 כאשר נמצאים ופועלים ב-514צ5. נשתמש בפקודה הבאה: 6 שטסקסטט/ צ5ט/ !ג51571 %116ע₪/116פטסק6טט/5:/50001ט/!51518 [- קסטט5 לכל בקשת קסטט קשור מספר עבודה (ז6פמתטם סס[). ניתן להציג מספר זה בעזרת האופציה [- (ראה הדוגמה לעיל). אפשרות אחרת היא לכלול את השורה הבאה בקובף "1116סעק./ ₪]סצפ". 0 ש6>םעסקא6 ; א0=0א308 אם המשתנה "103%0" שווה ל-"עע0", או שהוא אינו מוגדר, לא יוצג מספר העבודה. 9 בעיות וניפוי שגיאות מספר בעיות יכולות להיות בזמן שמשתמשים ב-קסטש: * :חידות החיוג האוטומטיות מחייגות בלי הפסק בניסיון ליצור קשר עם מערכות מרוחקות, שמספרי הטלפון או הסיסמאות שלהן השתנו. לא נותר מקום אחסון במערכות המקושרות. תקלות במודם, או בקווי התקשורת. שיבושים בקבצי קסטט, או מבנה לא נכון של קובאצ קסטט. קובצי קסטט והתוכנות אינם מכילים את מספר הזיהוי (כ1) הפרט או הקבוצתי הנכונים, סיבית זיהוי או הרשאות כניסה (לדוגמה, בתכנית "סס1סטט" יש לקבוע את סיבית הזיהוי של המשתמש - כ5111): % % א * 175 אם יש חשד לקו לא תקין, ניתן להשתמש בפקודת ש6 (ראה להלן) כדי לזהות את הבעייה. הבה נתבונן בחיבור מהסוג המתואר בדוגמה המעשית שהוצגה בסעיפים קודמים. ניתן להשתמש בפקודת ₪ כדי לבדוק אם יתן לקרוא ל-5+5718 מתוך 9'74צ9. אפשרות אחרת היא להשתמש בשתי הפקודות הבאות: 11/6 פטסקסטט/ 1ססס5/ש5ט/ !51578 168 ;- ססטטפ 8 אא- 1ע- 6160טט/₪52/112/% 86 הלובא המיועד להעברה מהמדריך הנוכחי, (אל 513צפ, בדוגמה שלנו). ת- מציין שיש להכניס לתור את העבודה (טס[) של קסטט מבלי להפעיל את השד "סס1סטט". 4- מציין שהשד "6160טש" צריך להתחיל ב-006מ1 00פאות. 4א- מציין את רמת ניפוי השגיאות. בעזרת הפקודות הנ"ל ובעזרת הפקודות הבאות ניתן לזהות בדרך כלל את הבעיות הקשורות ל-ק6טש: 1- 6085פט5₪ <סותהת-58>%57550₪- 8ס1טט5 0 אחזור קבצים שהתקבלו קבצים הנשלחים למשתמש מסוים באמצעות הפקודות קסטט ו-0+טט מאוחסנים בדרך כלל במדריך 6 /16066106/ 10[סטקקסטט/ 80001/ צפט/ ניתן להעביר קבצים אלה למדריך של המשתמש בעזרת הפקודה טת, או בעזרת הפקודה אסנקטט שהתחביר שלה הוא: [8₪6ת5500צ5 8-] 160%קטט%9 עבור כל קובצ שהתקבל ונרשם במדריך המיועד לאותו משתמש, תדפיס א16%קטט את ההודעה הבאה בפלט הסטנדרטי: ?7 הת012 ע61] [8₪6ת110+ 2/116] : סַתַהַת5%0ע5 ₪שספ? הערה: המלים המסומנות בקו הינן מלים קבועות. 1%6 המשתמש יכול לענות לאחר מכן באחת מהתשובות הבאות: ]61 ]תת העבר את הקוב למדריך המצוין בפקודה (המדריך הנוכחי הינו ברירת המחדל). 6 הבא את הקובצ הבא. 4 בטל את הקוב. ף עצור. + הדפס את כל הפקודות האפשריות. 1 קריאה למערכת אחרת בעזרת טס ניתן להשתמש בפקודה 64 לקריאה למסוף אחר, *לקריאה למערכת אזצתז אחרת ובמספר מקרים - למערכת שאינה א1א1ז. ניתן לבצע פקודות במערכת מקומית ובמערכת מרוחקת המחוברות באמצעות 6₪ וניתן להעביר קבצים בין שתי המערכות. ג ככלי דניפוי שגיאות ניתן להשתמש ב-04 כדי לבדוק אם יש בעיות בהתקנה של "ססטט". אם לא ניתן לקרוא למערכת המרוחקת, יכולה הסיבה להיות כבל לא נכון, או חיבור גרוע. אי לכך, אם נשתמש ב-6₪ לאחר התקנת "קסטט" נמנע בעיות אלו. כדוגמה, הבה נתבונן בחיבור בי 5%514 לבין 5718צ5 שהודגם בסעיפים קודמים. אם נקיש את הפקודה הבאה 56-66 5 תהיה לנו אפשרות להכנס מ-514צ5 אל 578צ8. מסך הכניסה של 5518 צריך להופיע במסוף של 551. אם אין זה קורה, סימן שהחיבור פגום, או שהכבל לא תקין. הדגל "6-" מדפיס נתוני מעקב לצורכי דיאגנוסטיקה כדי לעזור בתהליך ניפוי השגיאות. הדגל "[-" מציץן את ההתקן שיש להשתמש בו כערוצ תקשורת. פקודות גוס לאחר שהוקם הקשר בין המערכות בעזרת פקודת 06, כפי שראינו קודם, עומדות לרשותנו במספר פקודות כדי להעביר ביניהן קבצים. בעזרת הפקודה הבאה ניתן להעביר את הקובף "ז566ות" 17 מ-57'84צ5 ל-5/5718: 285662/ ע0ת8/ עפג/ ₪88662/ ע0ת8 / אעסט/6טס- באופן דומה תעביר הפקודה הבאה את הקוב "656+" מ-518צ5 ל-514צפ: ץע ג / 5% / ע88 / אמסש/ 72/6880 אם נכתוב כך, 0₪ס9- הפקודה 6088 תתבצע במערכת שבה ניתנה ותשלח את הפלט שלה למערכת המרוחקת. ולבסוף, כדי להפסיק את התקשורת באמצעות 61, השתמש בפקודה הבאה: (שים לב: התו 7 ונקודה מימינו) |08 פרק 14 פנקציות מנהלה כלליות בפרק זה נתרכז בהיבטים הקשורים למערכת ההפעלה א1א1ז, אשר נמצאים באחריותו של מנהלן המערכת. נמצא בו גם מידע שימושי למשתמש א1%א11 רגיל, מכיון שגם הוא עוסק בנושאים אלה: תיחול (8ח20061) המערכת. רצף הפקודות 51611-ת1081-ע++₪6-)1ת1. גיבוי מלא וגיבוי חלקי (ארכיב). הוספה וביטול של משתמשים. ניצול קיבולת הדיסק (ש6],4). מבנה מערכת הקבצים. יצירת מערכת קבצים. תחזוקת מערכת הקבצים (60%ת6ח, א150). ניקוי חירום של מערכת הקבצים. הוספת התקנים חדשים למערכת אזאזז. *(א( א( א (א | א א א א * 1 תהליך התיחול הנוהל הדרוש להפעלת מערכת א1א11 שונה אצל יצרני חומרה שונים. אולס התהליך הכללי והקבצים שמעורבים בהפעלת המערכת כמערכת רבת משתמשים, או כמערכת של משתמש *חיד, הינם דומים. תהליך הת*יחול מתחיל לאחר הדלקת המערכת. בתהליך זה *וזמת החומרה את הטעינה לזיכרון של תכנית טעינה קטנה (ק000508סס מאזקסזק ז10806). תכנית זו נמצאת בבלוק הראשון של הדיסק, או בשטח המיועד למטען המערכת (ראה פרק 2). תכנית הטעינה טוענת לזיכרון את הקובף "אנתט/", אשר מכיל את גרעין מערכת א[א[ז. תהליך התיחול ממשיך להפעיל את ממשקי החומרה, מכין לעבודה את מאגרי הבלוקים, את המאגרים של 6, את המשתנים של הזיכרון המרכזי ואת השעון שמספק פסקים בתדירות קבועה ומבצע גם הוא אתחולים אחרים. לאחר פעולות אלו, הגרעין יוצר ומאתחל מבנה נתונים הידוע כתהליך ‏ 0 (אפס). תהליך זה אינו כולל איזור פקודות ותפקידו לתמוך בגרעין לניהול תהליכים ולתזמון פעולות. תהליך 0 ימשיך |09 להתקיים כל עוד המערכת פועלת. תהליך 1 הגנו צאצא של תהליך 0. מוקצה לו זיכרון ונטענת בו תכנית לתוך אזור הפקודות. קריאת 66א6 בתכנית מבצעת את התכנית ‏ "16ת656/1/",| אשר תופסת את מקומן של הפקודות המקוריות שבתהליך 1. תהליך 1 הופך מנקודה זו ואילך לתהליך התיחול (06655ץק 16ת1). 1 רצף הפקודות 61ג5-ת1081-ע6%0ם-)1ת1 לאחר תהליך התיחול שתואר לעיל, אחראית 16ת1 לקביעת שתי סביבות עיבוד שונות; סביבת משתמש *חיד וסביבת עבודה רבת- משתמשים. הפקודה %ז תיצור מעטפת עם הרשאות של משתמש-על ותקצה אותה לקונסול של המערכת. באופן הפעלה זה (משתמש *חיד), *כול מנהלן המערכת לבצעי תחזוקה, פעולות שנוי וגיבוי של קבצים. בנקודה זו מקובל גם להשתמש בפקודת 660/156%/ כדי לבדוק מערכות קבצים פגומות ולתקן אותן בצורה הדברותית (ראה 180%). כדי לגרום לכך שהמערכת תהיה רבת-משתמשים, יש להשתמש בפקודה 2 6וחז, או להכנס למערכת תחת שם מיוחד (כדאי שתבדוק את אפשרויות המערכת שלך בענין זה). בזמן שעוברים ממצב של משתמש יחיד למצב של משתמשים רבים, יוצרת 16ח1 מעטפת למשתמש-על, אשר מבצעת את הפקודות הנמצאות בקוב "0ע/660/". הביצוע של "6%0/70/" מבוקר על ידי שורה בקוב+ "16080ת6%6/1/" שכלול בה מידע לניתוב העיבוד עבור הפקודה )1ַח1. הפקודות הנמצאות ב-"660/16/" משתנות ממערכת א1[א[ז אחת לרעותה. הן משמשות לניקוי קבצים כמו "0מ0ט/666/", להתקנת מערכות קבצים, לביטול קבצים במדריך "קת6/", לניקוי הקבצים הנעולים ב-:500016, להצבת תאריך במערכת, לאפשר חיוב עבור עבודות (8ח61תט8000) ועוד. תפקיד נוסף וחשוב של 116 הוא ליצור תהליכים, אשר יהוו חלק מרצף | הפקודות 50611-ת1021-ע)60-)1ת1 | שמאפשר | למשתמשים להכנס למערכת (ראה תרשים 14.1). לרוב, 16ח1 מבצעת את ץ5601 מתוך שורה בקובא "סה?)1ם656/1/". הפלט של התכנית ‏ "ע₪6%6" מכיל את מספר הזיהוי של המערכת, תכולת הקוב "6%6/15506/" והודעת הכניסה במסוף. כאשר מישהו מנסה להכנס למערכת, קוראת "+" את השם שהוקש ומפעילה את פקודת ה1081 עם שם המשתמש כארגומנט. באותו זמן קובעת 866% את מאפבייני המסוף ואת קצב שידור הנתונים על פי המידע שנמצא בקוב "0618ע6%0/86%5/". 100 קובצ פקודות 6 /900/ קובצ 0/0 קובאצ 89" קובצ 6 קובצ פקודות 86" קובצ פקודות 6 /510₪ תרשים 14.1 תיחול המערכת הפקודה 16ַח1 משעה את פעולתה כאשר המערכמ תומכת במשתמשים רבים ומחדשת אותה כתוצאה מתיחול, אות של המשתמש, תקלה באספקת המתח למערכת, או כתוצאה מ"מותו" של אחד מבניה. בכל המקרים האלה, היא תסרוק את הקובף "10080ת6%6/1/" ותנקוט בפעולה המתאימה. אם לדוגמה "מת" תהליך המפקח על מסוף, 16ת1 תיצור )₪61 חדש בעזרת 66א6/א07%), כדי לשלוט בקו ותמתין עד אשר המשתמש הבא ייכנס למערכת. 3 כיבוי מערכת אואחז מדי פעם צריך ל"סגור" את מערכת א1141. ניתן לעשות זאת על ידי כך שנכנסים אליה כמשתמש-על ושולחים ל-0ם1 את אות הסיום ק[501 בעזרת הפקודה הבאה: 9111 -1 1 11 המשתמש צריך לבדוק אם במערכת שלו צריך לשלוח את "אות 1" (סנז51011) אל "תהליך 1" ("6גת1") כדי לסגור את המערכת. פקודה 1 כזאת תפסיק את פעולתם של התהליכים שמתבצעים באותו רגע ותחזיר את המערכת למצב של משתמש *חיד עם מעטפת שפועלת על מסוף הקונסול של המערכת בלבד. כדי לצמצם למינימום את התנועה לדיסק וממנו, שומרת א1א1ז מידע רב ככל האפשר במאגרים של הזיכרון המרכזי. לפני שמבצעים פונקציות מנהלה כלשהן במצב של משתמש *חיד, חשוב ילהקיש את הפקודה הבאה: סתצ58 הפקודה 6מע5 מנקה את המאגרים של הזיכרון המרכזי ומשאירה את מערכת הקבצים ללא שעוי. במספר מערכות א14]1[ז ישנו קובצ פקודות מעטפת הנקרא "תש660טת5" שמיועד לכבות את המערכת בצורה מדורגת. לדוגמה, הפקודה הבאה תעביר את המערכת למצב של משתמש יחיד תוך 180 שניות, לאחר שתשלח הודעות אזהרה לכל המשתמשים הפעילים. מנהלן המערכת *וכל אז לבצע את הדברים הבאים: גיבויים *ומיים. כיבוי המחשב. תחזוקת המערכת (ראה א80%)). החזרה של המערכת למצב של תמיכה במשתמשים רבים. * א א * 4 גיבוי מלא לעומת גיבוי חלקי גיבוי מלא וגיבוי חלקי הן שתי דרכי פעולה שנועדו להגן על המשתמש בפנ* פגיעה או תקלה במערכת הקבצים. בגיבוי מלא נעשה עותק מושלם של המערכת לאמצעי הגיבוי, כמו סרט מגנטי. זוהי שיטה פשוטה *חסית ואמינה. בגיבוי ‏ חלקי יש *ותר עבודה מכיון שקבצים (בחרים בלבד מועתקים לסרט או לתקליטון. כדאי לגבות קבצים גדולים שאינם נמצאים בשימוש תדיר ולבטל אותם מן הדיסק. בכל פעם שיש צורך בהם, (יתן לשחזר אותם מחדש על ידי טעינה חוזרת לדיסק. יש לבצע גיבוי מלא על בסיס :ומי או בטווחי זמן אחרים, בהתאם לרמת הפעילות והשינוי בקבצים ובתכניות. כך ניתן להתגבר על תקלות כתוצאה מנפילות של המערכת וטעויות של המשתמש. בסעיף זה נתאר שלוש פקודות שמשמשות לביצוע גיבויים במערכת א1אז: 0, ח8+ ו-006. 12 הפקודה סנכס המלה 0010 הינה קיצור של 0₪68 0ם8 ת1 6טותסז8 1116 עקסס', כלומר, גיבוי ‏ של קוב ושחזורו. לפקודה 6210 יש מספר אופציות (ראה בדוגמאות): 0- קרא רשימה של שמות מסלולים מהקלט הסטנדרטי והעתק את הקבצים האלה לפלט הסטנדרטי (כלומר, גיבוי קוב - עקסס .)% קרא שמות קבצים מהקלט הסטנדרטי (כלומר, ם! ע600). צור מדריכים לפי הצורך. פרט את שמות הקבצים שעומדים להיות מודפסים (כלומר, מצב מרובה מידע). החלף קוב ללא תנאי. 6 כתוב כותרת המכילה מידע בשיטת 85011, כדי שאפשר יהיה לנייד את הקובא. 8 בצע קלט/פלט ביחידות בנות 5120 בתים לרשומה. + הדפס טבלה המפרטת את תכולת הקלט. ב > = שלושת קובצי פקודות המעטפת שלהלן מראים כיצד ניתן להשתמש ב-10ק0 לביצוע גיבוי של קבצים במדריך משתמש מסוים (םת10), כיצד להציג את הקבצים שגיבנו וכיצד לשחזר קוב כלשהו רצוי. ג הת5:/30ט/ [:01260:0 6ם6 קט280% 60 8502106-1 ג "הת0מ5:/10ט/ :0126060 6ת5 סט שַת880%1" 0מ60 "המ52/10ט/ 00" 600 המ0ך/+5ט/ 06 060/260/ < 08ט0- ‏ 6010 | סה1עק- . 6ה1/ "ת 11015066 קטא886ת" 6000 ג 6 3 ח0 סט-60א280 985 6גםט חַה1אסת5 102 6-2ק%5021 ג "ם קט-60א586 985 86ם> אסם5" 0ת60 00ע/צ08/ > 18006- 0010 "ה! אסה תט? 086 .האסםת5 ה66כ 186 ₪826 605126 0% 65ת66ת60" 0ת60 [6ט600ץ 1116 101016081 05? 106-3ת%50 ג "תת100/ת5ט/ 66" 0מ60 תם0(/עפט/ 006 06/550/ > 51 סמטט10- 0010 "ה15260ה1] 31 01 צתע6600%6ַ" 6020 13 אם ‏ "3-%ק50"1" היה נקרא "[8ט6נט60ת1" והמשתמש היה רוצה לשחזר קוב הנקרא ‏ "6.ק5₪8" ממדריך "0[60%8עש/תתסן/זפט/", הוא היה צריך להשתמש בפקודה הבאה: 6. ק998/ 016608 %5160101181 הפקודה 191 הפקודה "8+ ("106ת870 6ק8+) מקובלת לביצוע פעולות ארכיון. היא מעתיקה קבצים ממדריך מסוים אל אמצעי גיבוי כמו סרטים מגנטיים | או תקליטונים. המידע המשמש לצורכי בקרה נכתב ב-85011, דבר העוזר לנלדות של אמצעי הגיבוי. להלן מספר אופציות של פקודת "8): 6 הכן סרט "8+ חדש לגי:בוי. התחל לכתוב מתחילת הסרט. 1 רשום את שמות הקבצים בסוף הסרט. ניתן להשתמש באופציה זו לגיבוי חלקי, שבו כותבים רק את הקבצים שהשתנו מאז הגיבוי האחרון. צ הצג מידע על הקבצים שגובו. פ השתמש בארגומנט הבא לצורך קביעת מספר הרשומה בבלוק (ע180%0 אַת100%1ם). 11 השתמש בארגומנט הבא כשם הארכיב. אם שם הקוב הוא -, תקרא "8+ מהקלט הסטנדרטי, או תכתוב לפלט הסטנדרט', מותנה באופציות האחרות. א שלוף קבצים מסוימים מתוך אמצעי הגיבול. לדוגמה, כדי לגבות את הקבצים הנמצאים במדריך "תתס[/:פט/", ובהנחה ששם ההתקן הינו "ק+860/1/", יש להשתמש בפקודה הבאה: תתס1[/ע6ט/ 0סע/660/ 10 +סטס 5088 ניתן לגבות קבצים של מספר חשבונות משתמשים (68תט8000). נשתמש בתכנית העריכה כדי ליצור, לדוגמה, במדריך ‏ "זַפם/" את הקובף "811866", שמכיל את מספר* החשבונות שיש לגבות, כמו למשל, צתה/ יפט/ תתס1/שפט/ 6062 יפט/ לאחר מכן ניתן לגבות את החשבונות שב-"811806" בעזרת הפקודה הבאה: '₪52/811800/ 086' 860/202/ 10 +סט0 ע%68 כדי לשחזר את המדריך "תהס[/5ט/", בהנחה שפקודה :8+ הנ"ל 14 שימשה לגיבוי, יש להשתמש בפקודה הבאה: מת10[/עפ/ 00ע/660/ 10 /]סטא ע%968 הפקודה 64 ניתן להשתמש גם בפקודה 66 לביצוע גיבויים. היא מבצעת העתקה ישירה מהתקן להתקן ומכיון שהיא מאפשרת לכתוב ולקרוא בגודל בלוק שרירותי כלשהו, היא משמשת בעיקר לקלט/פלט של התקנים פיסיים שלמים. הפקודה 606 תשמש בדרך כלל להעתקת דיסק שלם, מסילה אחר מסילה, לסרט מגנטי. מבנה הפקודה: [5ת0%10ס] ₪%61ע/ע860/=+0 12=/660/618%2 986 מקרא: 2 שם של הדיסק הקשיח המשמש לקלט. 1 660/ שם הסרט שאליו *ועתק הדיסק. המלים "!1" ו-"]ס" הינם קיצורים של "1118 %טקתג" (קוב> קלט) ו-"1116 %שק%טס" (קובצ פלט) בהתאמה. להלן כמה מבין האופציות של הפקודה. ח=105 גודל בלוק הקלט הוא ם בתים. ה=005 גודל בלוק הפלט הוא ת בתים. ח=5ס גודל בלוק הקלט וגודל בלוק הפלט הוא ם בתים. ם=+ח00 העתק מהקלט ם בלוקים בלבד. 06 המר 25011 ל-80016ם. 1 המר 2390216 ל-45011. החלף כל זוג של בתים. שים לב! גודל בלוק הקלט וגודל בלוק הפלט תלויים בסוג האמצע: המשמש לגיבוי. הדוגמאות שלהלן מראות כיצד ניתן לשלב את הפקודות 66 ו-6010 לביצוע גיבוי בצורה יעילה *ותר. לגיבוי ניתן להשתמש בפקודה הבאה: 5% 00ך2/ע0%=/80 66 / טסס- 0010 - * 15 לאחר מכן, אפשר להשתמש בפקודה הבאה כדי לשחזר את הקבצים: 00₪ט10- 0010 | א5=100 60ע/12=/800 968 155 המשתמש ב-66 צריך להיות מודע לכך שבמקרה שיש בדיסק בלוקים פגומים, יכול הדבר לגרום להפסקת ביצוע הפקודה, או לגרום לתקלות בזמן שחזור הקבצים לדיסק אחר. מכאן שהפקודה 66 מתאימה לגיבוי ושיחזור באותו דיסק, כאשר תוך כדי פעולות אלו יש לנטרל (%6מטסותתט) יאת מערכת הקבצים כדי לשמור על עקביות במצב הדיסק. 5 הוספת משתמשים חדשים הנוהל להוספת משתמשים חדשים *כול להתבצע באופן אוטומטי באמצעות קוב פקודות מעטפת (6ק50"1 5%611). לקובף פקודות כזה אין שם סטנדרטי. במסגרת התהליך הבסיסי דרושות מספר פעולות. * יש להחליט על מספר מזהה **חודי למשתמש (כ11)). ניתן לבחון את הייחודיות בעזרת הפקודה הבאה: 6 "סססמטת-012:*. :*.:" 98062 לא יודפס דבר אם ה-112] שבחרנו הינו *יחודי במערכת. * המספר המזהה של הקבוצה (012) שאליה שייך המשתמש. 10 הענו מספר קיים וההחלטה תהיה קלה *ותר לאחר בדיקה של הקוב "סט0*₪/6%6/". אם המשתמש יורשה לשנות את קבוצת השייכות שלו באמצעות הפקודה "קטסזש-6-01ואת כזששפח", יש לכלול את שם המשתמש בכל אחת מהקבוצות שאליהן הוא יהיה רשאי להסתפח. * סיסמה ‏ :חודית לצורך כניסה למערכת; הייחודיות *כולה להבדק באמצעות הפקודה הבאה: 6 """:סמת-70560" 00ע68 * המעטפת שהמשתמש יבחר להשתמש בה (מעטפת בורן, מעטפת 60, או מעטפת מוגבלת). * יצירת מדריך הבית למשתמש חדש. להלן קובצ פקודות מעטפת להוספת משתמשים חדשים למערכת: 1 0 מ מ ח57506 6( 60 340060 26 60 562ט שתם 01 שתהה 6(6 15 %1 : 5ת0ע8 סטסתך ב- 8% שת 6ת6 01 שתהה ₪6 18 50 | 6486 מ6מת6ח6ץ 7 16 השס ;[ 1 =! "8%" ] 11 1 616 ;"תסתַהה-562ט-א6ה 50 :6ח058" סת60 1 66 ת%15 6%15%65 562ט ע6ת06ה8 11 566 0ס שת60%1ת50:6" 0ת60 "ה10-ת1001 5806 1 תסת= ; 11טה/ע06/ < 600/2855%0/ ":56210ט5"" ק6צף 11 ץ312680 "56210ט5" שתבת ת16א 562ט ע6תשסתת :50" 0ת60 "ת15%5א6 1 16 4 "ה10ט 6ו16חט 3 8ת50:026861" 0ת60 '(- 6811|ה- 600/085590|5026/ :6- 3]- מט0ס'=16ש '1 + 5016 :קא16='6ט 0 8 0 60081 16ט %6ב 100 0ם 60081 עס חהת% 1655 15 16ט 111 0 6658 100 16- 16ש5 ₪656 "ה116] 855%020ק 6ת6 60 עְת6ת6 ע56ט ַת161עא:50" סת60 < "6%6/085546/". לבטל כל התייחסות למשתמש בקוב> "קטסז₪/666/". להשתמש בפקודה ]:- מע מתוך מדריך הבית של המשתמש, כדי לבטל את כל הקבצים וכל תת-המדריכים הנמצאים באותו מדריך. 17 להלן קובצ פקודות מעטפת טיפוסי לביטול משתמשים במערכת א1אנז. % 1 4 ח 6 סל 60 ₪565 606 506011165 51 : 828066655ק מטסהך % 6 0 ₪0 61160502 ₪0562'5 526011165 32 0 ב ד 1=תפטסת> 0-5 "ה616%560 26 60 18 ץ01260801 562'5ט 1% 566 ₪0 6ת1א80%מ%0:6" 0מ60 [ "92" ם- ] 11 תסתם 10616 2 60|> 0 4 "ה6616:00 26 ת08 ש56ט 11 566 60 ש8ם60%1ת50:0" 0ת66 ת: עפט6ת%6 0856 פסטט,200% 081656 806 088 50:108" 0ת60 ( סהע5 | קסטט | 2006 "ת5628ט 6חצ5 05 ם1א6 6 "ת1565א6 מ₪56 12 566 60 שת50:6260%1" 0ת60 1טת/060/ < 660/285586/ ":55ט5620"" 60לף ת1 ?ל 0856 2 0 "ה1008560 56 080806 ע5ט6ת50:56" 0ת60 ( * ףם1א6 6 ץ:005 עספט ₪06 661656 60 צם6111ט "566" 6ת6 56ט% "ה116? 08558020 66 ת0ע? ע56ט 66 86ת50:261661" 0ת60 מטס5 < 660/0855%6/ "6/:ע5ט6ת55"/" 6- 560 6 סנס פס ףס תע 108 "ה116] קטסעף ת0ת+ ע56ט 6ת50:061661" 0ת60 %> 0ט660/420/ - 00 /ט :4 5 / ד טש ₪ 2% ת6ת6 ; [ 5612061 ] 15 "הץ01760502 565'5ט שַת001ת50:86" 0ת60 תג%0 5ם- חע 84 "הה5:6ץ5 606 08ע+ ב6טסת6ע ש%60605 30:0565" 600 0 16א6 7 ניצול קיבולת הדיסק מעקב אחר קיבולת הדיסק התפושה והפנויה, הענו תפקידו של מנהלן המערכת. במערכות א1%א[1 קטנות עושים זאת משתמשים רגילים. אם נגמר המקום למערכת קבצים כלשהי, יתחילו מספר תכניות שירות (לדוגמה קסטט) וחבילות *ישומים המשתמשות בה לתת הודעות שגיאה לא נכונות. אם מספר צמתי 1 (0665ם1) הינו קטן, יבוזבז הרבה מזמנו של ה-[62% לבני*ת מערך חופשי של %8, נלתן לגלות ולמנוע בעיות אלו אם משתמשים באופן סדיר במספר פקודות, אשר מספקות מידע מועיל על ניצול הדיסק. שתיים מפקודות אלו הן ‏ ]6 (השטח הפנוי בדיסק) ו-ש6 (השימוש בדיסק). הפקודה ]0 הפקודה ]1 מציגה את מספר הבלוקים הפנויים בכל מערכות הקבצים או במערכת קבצים מסוימת. המבנה הבסיסי של הפקודה: [מערכת קבצים] [אופציות-] +58 19 אופציות: 1 להציג את מספר הבלוקים הפנן*ים. + להציג את כל הבלוקים שהוקצו, ואת מספר הבלוקים שהוקצו לכל מערכת קבצים. פלט טיפוסי של הפקודה 61 ושל הפקודה 6- ]6: 14+ 8% 7095 5א2100% 39216 :(65%/151/ש08/) 05:/800%/ 65 5017 0100%5 11984 : (66/65%/051/) / "- +96 65 70959 100%8 39216 :(05%/151/ש66/) ₪52/8006/ 5 8512 0100858 68186 :60681 5- 5017 5א100%ם 11984 :(66//65%/051/) / 85 8512 5א100% 68186 :60681 הפקודה ש6 הפקודה מציגה את נלצול הדיסק, במונחים של בלוקים, לפי מדריך מסוים, או לפי המדריך הנוכחי, אם לא צויין שם מדריך בפקודה. [שס מדריך] [אופציות-] ט%6 אופציות: 8 להציג את הסיכום הכללי (0+81+ 6מ8זק). 8 להציג סיכום לכל קובף. פלט טיפוסי של הפקודה ש6: ם- 502% ] :8ט/ ט96 300058/ ץ300/צ5ט/ 434 58 445 צַסחה3/+פט/ 883 8 מבנה מערכת הקבצים ב-אואנז בתרשים 14.2 מוצג מבנה של מערכת קבצים ב-א]א1[] (ראה גם את הפקודה %15). 1000 הבלוקים יכולים להיות בגודל של 512 בתים (גרסאות אזצתז מוקדמות), או 1024 בתים. פקודות כמו 61, ש6 ו-₪%18 יציגו את גודל מערכת הקבצים ביחידות של בלוקים בני 512 בתים, כדי ליצור תאימות עם גרסאות מוקדמות של א1אזז. שטח שטח |רשימת בלוקים |רשימת |סופר תחזוקה |151 | בלוקים בלוק | התיחול פגומים תרשים 14.2 מבנה טיפוסי של מערכת קבצים בלוק התיחול (106% +500) בכל מערכת קבצים בלוק אפס הענו בלוק התיחול. אין משתמשים בבלוק התיחול, אלא אם מערכת הקבצים היא מערכת הקבצים הראשית (00%). בלוק התיחול מכיל פריטי מידע חשובים: * מצביע לשטח התיחול (ראה שטח 150). * מצביע לשטח המשמש לתחזוקה. * מידע התלוי בהתקן, כמו מידע על תהליך התיחול ומידע על צורת הארגון של הדיסק. סופרבלוק בכל מערכות קבצים "סופרבלוק" הינו תמיד בלוק מספר 1. ההכרזה על המבנה שלו נמצאת בקובצ הכותרת ת.11155/ 5ע5/ 61000ת1/ זפ / עותק של בלוק זה נמצא באופן קבוע בזיכרון ו-6ת1 משתמשת בו בכל 20 שניות כדי לעדכן את נתוני התפושה של הדיסק. הוא מכיל מידע גלובלי על מבנה מערכת הקבצים: גודל בבלוקים של רשימת 1. גודל בבלוקים של כל הכרך (6מט[סט). רשימת צמתי 1 (066ת1) פנולים. רשימת בלוקים פנויים. שם מערכת הקבצים. * א א א * 11 * דגל לציון מצב קריאה/כתיבה. * ערך המציין את גודל הבלוק (512 או 1024 בתים). * שם התקן לוגי. רשימת ] רשימת 1 מכילה את מספר צמתי 1 (006659ם1) בדיסק. כל קובף במערכת מזוהה על *די מבנה *'חודי הנקרא צומת 1 (להלן 6) כל צומת כזה הוא בן 64 בתים. אם גודל הבלוק במערכת בה הוא 1024 בתים, הוא יכול להכיל 16 צמתים. ההכרזה על מבנה 6 נעשית בקובף כותרת בשפת 6 הנקרא "ת.0ת5/1ע5/ 61006ת1/ זפט/", כפי שנראה להלן: 68 ססגץ56 | /*- 5116 0% 6 תג ₪006 */;₪006 61 ממסם5 6סתף1פתט /* 1116 0ם פאת11 05 משפתטםה */ ;אחגןה 61 6תסת5 /* 4 6פט 5'ע6תאס */ ;016 01 6עסת5 60ה10פתט /* 6 קט0: 5'ע6האס */ ;616 61 6עסמ5 66תף1פתט /* 116] ת1 665על 0% מססחטח */ 61 1008 /* 5 2106 018% */ [306:]40 61 :608 /* 606 1855 6106 */ וי 108 /* 606 "1855 6106 */ ;6הוסת 61 שח10 /* 06 פתג */ 7 01 שָח10 7 399 21665 3001655 40 ₪16 0% */ :1 /* ת680 0665 3 0% 800565565 13 שלוש עשרה הכתובות מצביעות על הבלוקים של הנתונים בקוב>, אשר משתמשים בהן כפי שנפרט להלן. עשר הכתובות הראשונות, שנכנה | אותן| "בלוקים *שירים", | מת'יחסות| לעשרת הבלוקים הראשונים של (תונים' בקובא. אם הקובף גדול *ותר מעשרה בלוקים, תתייחס הכתובת האחת-עשרה לבלוק, שנכנה אותו "בלוק עקיף", שבו 256 כתובות לבלוקים נוספים של נתונים. הכתובת השתים-עשרה מצביעה על "בלוק עקיף כפול", אשר מכיל כתובות של 6 בלוקים עקיפים. הכתובת השלוש-עשרה מצביעה על "בלוק עקיף משולש", אשר מכיל כתובות של 256 בלוקים עקיפים כפולים. אם גודל הבלוק במערכת הוא 1024 בתים, אז בלוק עקיף מכיל 256 מצביעים. במערכת שגודל הבלוק בה הוא 512 בתים, מכיל הבלוק הלא ישיר 128 מצביעים. מכאן שגודל הקוב המקסימלי שניתן לנהל במערכות 1%א1ז שגודל הבלוק בהן הוא 1024, או 512 בתים, הוא: 12 1024*)10+256+256*256+256*256*256(=17,247,250,432 5 או: 85 082,201,088, 512*)10+128+128*128+128*128*128(1 בלוקים של נתונים בלוקים אלה מכילים את הנתונים של הקוב אשר מסודרים במערך בתים חד-מימדי. כמה מבין בלוקים אלה משמשים את צמתי 1 כדי לאחסן מצביע *חיד, מצביע כפול או משולש. הבלוקים שאעם מוקצים לנתונים, | לסופרבלוק | ול-00665ת1 הינם הבלוקים החופשיים. מרכיבים נוספים של מערכת הקבצים מערכת קבצים *כולה להכיל שטח העברה (8:68 ק8ש5), רשימת בלוקים פגומים, שטח 151 ושטח תחזוקה. שטח העברה, הקיים בהתקן הראשי (1006) בלבד, משמש כשטח עבודה להעברת תכניות לתוך הזיכרון וממנו (ראה גם הסבר על הסיבית הצמודה). רשימת הבלוקים הפגומים מתייחסת לבלוקים הפגומים בדיסק הקשיח. אם יתגלו בלוקים פגומים" נוספים, ניתן להשתמש בפקודה +10 עם האופציה לתחזוקה, כדי להוסיף אותם לרשימה זו. שטח 15 מיועד למטען המערכת (ת10806 560ש5), אשר המצביע שלו נמצא בבלוק המשמש לתיחול. ניתן למצוא את שטח 150 רק בהתקן הראשי והוא מכיל את המטען של "אנחט/" לתוך הזיכרון. מהנדטסי תוכנה מריצים לעתים תכניות בדיקה מסוימות כדי לבחון את המערכת. השטח המיועד לתחזוקה בדיסק הקשיח משמש לתכניות אלה כשטח עבודה. 9 יצירת מערכת קבצים חדשה ניתן ליצור מערכת קבצים חדשה בעזרת הפקודה ₪818, אשר נמצאת בדרך כלל במדריך "6%6/". כאשר יוצרים מערכות קבצים חדשות, הן תופענה כרשומות מדריך במדריך הראשי (1005). לדוגמה, כדי ליצור מערכת| קבצים בת 1500 בלוקים בתקליטון ששמו "660/1050/", נכתוב את הפקודה: %/666/₪6+8 /66/2650 0 13 0 תחזוקה של מערכת הקבצים בשלב עבודה כלשהו יכולה מערכת הקבצים להפגם מסיבות של תקלות חומרה, כיבוי המערכת ללא ביצוע 6חע5, או טעויות של משתמש- על. מערכת קבצים נחשבת כפגומה, כאשר לדוגמה, מתרחשים אחד או יותר מן הדברים הבאים: * שני צמתי 1 (0065ם1) מתייחסים לאותו בלוק נתונים. * *שנו, בלוק פגום, מכיון שצומת 1 מתייחס למספר בלוק הנמצא מחוצי לתחום שבין בלוק הנתונים הראשון לבין הבלוק האחרון בהתקן הלוגל. * בלוק מסוים מוגדר כשייך לקוב, וגם נמצא ברשימת הבלוקים הפנויים. סיימות מספר תכניות לתיקון מערכת קבצים פגומה. תכניות אלה הן 606%ת6, %, 66%ת06, 66%ת10, 60%ה0], 1805 ו-186%. תיקון אינטראקטיבי של מערכת הקבצים הפקודה 186% (60%ת6 (5%6ע5 1116) מאפשרת תיקון אינטראקטיבי של מערכת הקבצים. מערכת הקבצים הראשית הינה ברירת מחדל בפקודה זו, אך ניתן לבדוק מערכות קבצים אחרות, אם נרשום אותן בקובא "660/660%1156/". הפקודה 186% תעבור על כל מערכת קבצים בתורה, תדווח על חריגות ותבקש מהמשתמש להגיב בהתאם: 'ע' ("כן") כדי לתקן את הבעיה ו-'ת' ("לא") כדי לא לנקוט בכל פעולה שהיא. הרצת 6% עם האופציה ת- תגרום לתשובה שלילית אוטומטית ותפיק רשימה של כל החריגות. ניתן להשתמש ברשימה זו לאחר מכן עם תכניות שירות שונות, כמו 66%ת0ח ו-1805 כדי לתקן את מערכת הקבצים באופן *דני. באופן דומה, הרצת 186% עם האופציה ע- תגרום לתשובה חיובית אוטומטית שלא תדרוש כל התערבות נוספת מצד המשתמש. לפני שמריצים את 1868 חשוב לבדוק אם המדריך "60תטס1+)105/" קיים במערכת. המדריך "0םט1056+10/" חייב להיות גדול דיו כדי לאחסן קבצים ‏ "יתומים" שהפקודה 1806 תעתיק לתוכו. ניתן להבטיח זאת על ידי העתקת מספר קבצים גדולים ל-"06תט1050+10/" וביטולם לאחר מכן. לאחר שמערכת קבצים תוקנה בעזרת "א150", יש לאתחל (6000%6:) את המערכת מבלי לבצע את פעולת 6חע8. דבר זה יבטיח שכל תיקון שנעשה ‏ על ידי 15868 בדיסק לא *בוטל על :די העתקה של 14 נתונים לא נכונים ממערכת הקבצים המקורית (הפגומה) שהוטענה קודם לכן לזיכרון המרכזי. להלן תהליך טיפוסי של א56%): " 55% 1 5 6חג 8106%5 60%ת0 - 1 ספהַתק ** 5 > 1 תסתתם 5125 מעךק 0551808ק 1 (,85-0א1פה 5התתסת 66%ת0 - 2 56הַק7 ** צ16ט600הה60 066% - 3 56התק ** 5 ₪6%66006 660% - 4 56התק ** 1 = 4005 2005 = הםאא0 3405 = 1 שעת סשתאט צ; א1ם סספהת015 -- 1988 16:50 11 טסא=אזזא 5125=0 5% 026₪ 060% - 5 56א8םק ** 6 (5) אעם 5 1 מסמחתץ סגה ץ? 5165 ** 7856 6 - 58108066 766 5% 3426 ])1185 54050 0100%5 13068 6 *** א710תתםק0 6אצ5 ג אה0קתשק 07א 00 - אםך5צ5 785 0001 *** בנוסף לאופציות ע, ח, ם- ו-ע- ישנה גם האופציה 5-, אשר ניתן להשתמש בה כדי לבנות מחדש את רשימה הבלוקים הפנויים (ראה שלב 5 ושלב 6 בדוגמה לעיל). לדוגמה, הפקודה הבאה תבנה מחדש את רשימת הבלוקים הפנויים של "051/ ש66/": 57808 -= 1 ניתן להשתמש באופציה 8- במצב שבו בלוקים, אשר רשומים כשייכים לקבצים קיימים נמצאים גם ברשימת הבלוקים הפנויים, או במצב שבו בלוקים פנו*ים, אינם נמצאים ברשימת הפנולים. תיקון ידני של מערכת הקבצים תיקון ידני של מערכת הקבצים יכול להעשות בעזרת הפקודות 180% ו-060%ת. להלן תהליך טיפוסי כזה. הפעל את "ם- 150%" על מערכת הקבצים (בדוגמה זו "051/ש66/"), כדי לקבוע אילו בלוקים פגומים ואילו מהם כפולים: 1 תח,- 5156% 8 = 1 פג8 36 % = 1 פטס 102 2 = 1 פטס 102 155 8 בדרך זו הפקודה 186% מוצאת שיש בלוק אחד פגום ושנל בלוקים כפולים. כעת יש למצוא את שם הקוב הקשור לבלוק הפגום: 1 98 1- 60%ת6ח% 6. 8 9/ סמתה / עפנו/ 98 קושרים את הקוב למדריך חדש: 8 טפט 54012 8 >28601008/ עפט/ 5₪82.0/סתת8/ע8ג/ ת%1 לאחר ביטול הקוב המקורי עם הבלוק הפגום, מעתיקים את הקובף בשמו המקורל: 6. ק58/ סתת8/ עפ/ ₪ע% 6. ק88/ סמח8/ עפט/. 598098/ 2860100%9/ עפט/ קס% כפי שניתן לראות מביצוע הפקודה "ת- 56%]" ישנן גם שגיאות של כפילות בין בלוקים, כאשר שני 10665 שונים (1056 ו-1072) טוענים לבעלות על אותו מספר בלוק. הנוהל שאומףצ במקרה זה (כפי שנראה להלן) מורה שיש לשמור את שני הקבצים הטוענים לבעלות על אותו בלוק ולאחר מכן לשנות את שמותיהם: 1 1077 1056 1- א0060%ת5 צַסך/עפט/ 1056 6. טתסוז/ 626858ת8/צ5ט/ 1072 5001 8 6 60 .05:/10//08566/ 507 6 טח5100%5/06קט5:/0ט/ 6.טה02685/06ה5:/3ט/ 300 6 טח057/800:685/06/ 0.ע88566/ץ5:/10ט/ הצ5 00100%5/085662.60ט052/6/ עח5 6 טח/52/300:685ט/ 06.טח106%5/06סקט0/ת5ט/ טחפ עכשיו הרצ שוב את הפקודה "ת- 568]" כדי לוודא שאין חריגות נוספות, או חוסר עקביות, במערכת הקבצים. ניקוי חירום של מערכת הקבצים במקרים נדירים מאד *תגלה בלוק פגום ברשימת צמתי 1 (06סם1). בעיה זו תגרום לכך שיוקצו מספרי בלוקים לא חוקיים לצומת 1 נתון. במקרה זה יש לבטל את הצמתים ולכלול את הבלוק ברשימת הבלוקים הפגומים על :די שימוש באופצית התחזוקה של פקודת + 1. ניתן לבטל צומת 1 על ידי שימוש בפקודה עססמטם1 %1108566₪ 1ע666/61/% 106 "ות506ע11165" הוא שם של קובא מסוים, או של מערכת הקבצים, שיש לתקן אותם ו-"זססנממטת1" הינו מספר צומת 1 שיש לבטל. כהערה מסכמת, יש לזכור לעשות את הדברים הבאים: * לאתחל (260006) את המערכת לאחר תיקון מערכת הקבצים הראשית. * לטעון את מערכת הקבצים לאחר שבוצעו התיקונים הדרושים בקבצים הניתנים להסרה. 1 הוספת התקנים חדשים למערכת אואט כדי להוסיף התקן (66%106) חדש למערכת, יש להשתמש תחילה בפקודה 06תא כדי לרשום את שסם ההתקן במדריך "ש66/". לדוגמה, כדי להוסיף שם התקן חדש עבור מסוף "08ע5+" יש להשתמש בפקודה הבאה: [ָם ת₪1 6 08ע860/5%5/ 086םת%₪/666/% הארגומנט השני של הפקודה, מציין אם ההתקן הוא התקן תוו*ם (6) או התקן בלוקים (פ). בדוגמה זו מגדירים התקן תווים. הארגומנטים השלישי והרביעי, תות ו-[₪8, מצינים את מספרי ההתקן המשני והעיקרי בהתאמה (ראה פרק 2). יש לקבל מספרים אלה מיצרן המערכת. לאחר יצירת הקוב המיוחד עבור המסוף, יש לנקוט בפעולות הבאות: * הכן רשומה בקובף "0618ע650/86%0/", כדי לתאר את מאפייני הקו שאליו יחובר המסוף. להלן רשומה טיפוסית: שע0א1 א0א1 א0א104 תבקא10 צאדאתם ₪080 058 39600 68 07 1516 7483 01008 * הכן את הרשומות הדרושות בקובף "ק68ןתז6+/6%6/", אשר מתארות את מאפייני המסוף. * הכן רשומה בקובף "1)80ם6%56/1/", אשר תתחיל את "ע20+6" כאשר התהליך סיים את פעולתו, או כאשר המשתמש יצא מהמערכת. רשומה טיפוסית: 5 6 08ע56 ע606/8660/ :מ08086ע608:1:2 * השתמש בפקודה הבאה: 4 16ם866/3/% היא תגרום לכך שתהליך 16ת1 יקרא מחדש את קוב "10680ת6%6/1/" הכולל עתה את השינויים שנעשו בו. 17 פרק 15 גשה למידץ אודות המערכת הפקודה 75 מספקת מידע על מצב התהליכים הפעילים במערכת. המידע המדווח לאחר ביצוע פקודה זו מספיק ברוב המקרים, אך במקרים מסוימים נדרש מידע נוסף. בפרק זה נראה, באמצעות תכנית בשפת 6 (תכנית "5+8%.6ק"), כיצד ניתן להשיג מידע נוסף על מצב התהליכים הפעילים במערכת. כאשר קוב ביצוע נטען לזיכרון, נקבעים בו שלושה סגמנטים לוגיים: סגמנט הטקסט (הפקודות), סגמנט הנתונים וסגמנט המחסנית. הסבר מפורט על סגמנטים אלה ועל מבנה קוב :עד משותף ניתן בפרק 8. התכנית "5%8%.6ק" נותנת, בנוסף למידע אחר, את גודל הזיכרון בבתים, שהוקצה לסגמנטים של הטקסט (הפקודות), הנתונים והמחסנית השייכים לכל תהליך פעיל במערכת. מידע זה מועיל מאד בזמן פיתוח תוכנה ובזמן הסבת תוכנה ממערכות הפעלה אחרות ל-א1צנ). 1 הקבצים שהתכנית משתמשת בהם התכנית המודגמת "686.0פ5ק" משתמשת בשני קבצים: קוב%ף הת6ת, הנמצא במדריך ש66/ וקובצ א1חטש, הנמצא במדריך הראשי. קוב+ ₪ ₪806/ש66/ שייך לקטגוריית קבצים/התקנים מיוחדים ב-א1צחז. זהו התקן תווים טוריי המתייחס לזיכרון שבשליטת התכניות הנוכחיות. מסיבות ביטחון יש לשנות את שמות הבעלים והקבוצה של כל תכנית הפונה לקובצ זה ולהדליק בה את סיבית הזיהוי של המשתמש (כ5111). קוב א!]חש/ נוצר על *די הידור וקישור של קבצי המקור של אזאנז ומצורפות לו טבלאות ניוד עבור הגרעין. פקודות כמו 5 והתכנית "8%פק" *סרקו את הטבלאות האלו כדי למצוא, לדוגמה, את המיקום של טבלאות העיבוד ועל ידי כך להשיג מידע על מצב התהליכים הפעילים במערכת. הקובף א[חט/ נטען לזיכרון במהלך התיחול. 18 2 המבנים שהתכנית משתמשת בהם התכנית "+5%8ק" משתמשת במבנים מס , דאםצ54 ו-6סק, אשר נמצאים בקבצים "ת.ת10+0", "ת,פמתעפ" ו-"ת.6סעק" בהתאמה. המבנה "1127115" משמש לאחסון מידע על סוג הקובצ שבשימוש, על כותרת הקוב הפתוח ועל הכתובת היחסית המוחלטת של תחילת הקוב (ראה שגרת ת16006 בסעיף הבא). המבנה "53/18" משמש לאחסון ערך של סמל, מספר הסעיף וכתובת יחסית בטבלת המחרוזות של קוב היעד. לכל תהליך פעיל במערכת מוקצה מבנה "06" אחד. מבנה זה משמש לאחסון מידע כמו עדיפות, מספר הז'יהוי האמיתי של המשתמש, מספר הזיהוי של תהליך האב, גודל הסגמנטים המשמשים את הטקסט והמחטנית וגודל הסגמנטים של הנתונים. 3 השגרות שהתכנית משתמשת בהם התכנית +8)+5] משתמשת בשגרות המערכת הבאות: 106 משמשת לפת*חת קובף יעד לקריאה ו-10661056 משמשת לסגירת קובצ כזה. ת06ק180 מתוכננת לאפשר גישה לקבצי היעד המוגדרים כארכיב. היא מקצה ומאתחלת את המבנה "15עכ" ומחזירה לתכנית שקראה לה את המצביע למבנה זה. 0566%)[ מחפשת מקום מסוים בטבלת הסימנים של קוב היעד. היא מחזירה 5060855 או 8אז11ע. א66ת+0! מחזירה את האינדקס של רשומה הנמצאת בטבלת הסימנים | בקוב יעד משותף. לאחר מכן ניתן להשתמש באינדקס זה בקריאות לשגרה "16%0:680". פסקודת השגרה: (510001ע5, א6ת16,51ק )1001686 השגרה קוראת מטבלת הסימנים רשומה, שצויינה על ידי "א6ם61", ומעבירה אותה לשטה הזזכרון המתחיל ב-"[ססנתע5" | של קוב% היעד הקשור ל-"16כ". היא מחזירה 511606555 או מאנז1ע. 816ת)06! משמשת לאחזור השם הקשור לרשומה מסוימת בטבלת הסימנים שהתמלאה כתוצאה מקריאה מוצלחת לשגרה "10+0-680". 1|9 4 תהליך ההכנה טעיף זה מתאר כיצד יש להדר ולקשר את התכנית "5+8%6ק" וכיצד לעשותה זמינה לכל המשתמשים במערכת. תחילה צריך לבצע הידור של התכנית עם האופציה 116-, מכיון שיש לטעון את התכנית עם קוב היעד של ספריית שגרות הכניסה "1016.8": 68 50805.0 5986ק 0ס- %06 בהנחה שאין שגיאות תחביריות, *ופק הקוב ביצוע ‏ "%8%פ5ס". חשוב עתה לקבוע את הערכים המתאימים של הבעלים, את הקבוצה ואת ה-066 של "86לפק", כדי לאפשר ‏ לה גישה לקוב "ת6גז/66/". הפקודה "[- 15" הפועלת על הקבצים "5086" ו-"ת06ת/66/" תפיק לדוגמה, את הפלט הבא: 060/060/ 05686 1- 518 3% 11:30 10 ת18 38025 655ת06 ץג 1 א-עא-עאאץ- ה6ה/צ06/ 12:30 15 מטט 0 ,1 5 858 1 ההההרם-%ע0 כדי לגשת לקובף "669/08/" צריך להכנס למערכת (תגקסן) כשורש. במצב זה ניתן לשנות את זיהוי הבעלים וזיהוי הקבוצה של "080פק" <-"פַע5" ולהדליק את סיבית הזיהוי של המשתמש (כ501): , 5 8ץצ5 תאסת%0 >5צע5 50455 50000 ₪+%5% ח6ה/060/ 5688ק 1- 518 11:33 10 08 38025 5 5 1 א-מא-תפטץ- ה6ת/ט06/ 12:30 15 תטט 0 ,1 5 5 1 02-57-7777 לבסוף, צריך להעביר את התכנית "%8%פ5ק" למדריך "תנס/ץפט/" כדי שכל המשתמשים במערכת *וכלו לפנות אליה. 200 5 התכנית %86פק בסעיף זה נציג את תכנית המקור "558%.0ס". <ת.56010> 110061806 <ת.61ה116+> 06ט61ה11 <ת.05ץ5> 1161006 <ת.ת1010> 61006ה1! <ה.065ץ5/5/0> 06ט61ה11 <ה.5/5/0106> 06ש61ה11 <ה.5/03280ץ5> 06ט61ה11 <ה.5086205ץ575/5> 61806ה11 () חח | ,520100 חת10 7 סתה1 /* 106856 006 58016 880 66 165 5126 806 3001055 */ ; (8800200 ,8520106) 180=51000200+ /* ה8010ה101ה1 שתגתק 0ה8 0500665565 101 68016 6סמק 6ת6 ת56816*/ ( 100 )10 ; (400100 ,520106) 100%0100=ף18+ ( 190?! )18 /* 61101 סה 016866ת1 ₪0 */ ;(16)0א6 (1) 616 ו 6 105 66 800 68016 06תק 100856 20 1 6וסטס*/ 800 8002655 */ (520006,800200) 00100ת1? שת: 568%16 520* 104 ןָ 100 0%; ; () 100010068 פֶח10 ת:6:א6 ; (| 10555680 , () 10:2566% סת1 ה:66א6 ; () 886ת:1006* זַ8ה6 ה:66א6 51 1% סת: ; () ח10006* ,010* 06זתת1 ;"יה*גיגי*תיה*ג*גית*ג*ת*ג*תיג*ת*ה"=:026[* ז8ה6 201 ( טא == ( (10ק,"א1תט/") מ210=10006 ) )11 | ; ("ח1116 א1חט/ ת6ק0 6סהת08ת",:56661)+6ת1צס] ; (1)תתט166 ] ( 11088? == (010) 1060566% )11 ( ; ("חא1חט/ 01 8016: 01לתץ5 60 566% 6סתת68ת",6])5%0621ה1זק] ; (1) חתע166 1 ]1 1 ( 13 66 12=35000855] ) 116% [ ; (010) א0%=10601006ת11 ; (001ץ65 ,א0ח010,11) 1680 112=10% /* "00" שחת 606 1008%6 */ ; (0001ץ85 -,010) 6ח16-66=1006608 /* 1068666 ת266 35( "ססעס" 15 660% */ 10166( ;‏ ,"06עס") 11350200 ] (3ם! )11 /* 1063066 ה066 85 "6סעק" */ ;6ט31ט ת.201חץ00=5:ק80* 10|= / | ; (ח1008600 06 0%הח68 6חההח 00עקה",5ת5006) 62ת1עס! ; (1) 766078 1 ; (001חץ55 , (16ק) 105018068 ,016) 16601680 - 4106 ה.001חץ5י= 520100* ; (10ק) 1061056 ; (0) ת6001ץ 1 202 6 010065565 05! 80[6) 2106 6ת: ה56816 0ך : 6 *]/ /* ת08:10ת0)ה1 5 05 שַת1זת1עק 111866 (300100 ,100%0100)520100 שת1 504616 ,520200 מַח10 | >ת1 ; ()ח6ססק* ,10ס* פמדץ ,1106 , () שתגעק ה 016 [56106112, [6106]12, [10]12פפ, [112 16 [12] מס6, [12] עס6, [16]12גו 67 ;[01106)80 6081 ל 0206 562166 ( 1- == ( (0,"ת660/06/") ה6קס-6? | )11 | ; ("ח 116] ת6ח/664/ 6ת6 חס 06הה63ת",550620) ]6ה1ז) (1) 166058 1 /* ת6801ת ףהגצק */ ;() סת1זק ג /* 6ה11 566006 606 מסץ) וס 065 60 0000306 560 שת6 מ916 0106 3 56 */ /* 03105 0ת3ת0 "פס" סתס 0% */ ; ( *ז" ,"'2,50' ה- 504 | 6%- 05" | ח006ק=16ק ( 300106 < 520106 ) 116חא ו | (300106,0 ,0/) 1566% ; ( (9טס) 512601 ,56,601 )1680 (0=! 5586 0.]טס)]1 ו ,506 ,10,600 ,210 ,010 ,"5 5 8 %5 %5 55 0,"%5]ק) 150301 ; (61₪6, ע6> /י 6 66 00ע] 0ה3תח60 6ת% 7680 */ (6,080ה011) 116 2 /* אסה 06655תק 66 300 ת1008:10ה1 311 סטקסטס */ 6 ,16,016 61106, 0 ,010) 106 ] ; (05פ) 512602 =+ 300200 1 208 ; (תן הההההההההההההההההההההההההההההההההההההההההההההההההההההה------|") 01055 /* 0106 61056 */ ; (010) 61056 /* ה6ה/060/ 61056 */ | ;(01056)16 ; (0) םת1660 ] /* ;טק)טס 05 ףת6861( 66 שת1תק 0ך + ונטס */ () :ה1תק ה( 0016 558616 [ |ג086 | 6א6ם | 6ת6ע8ק | 06עק | 0תהתת00 | 660106 | ת61ַ10 |")1םתגעס ; ("ם| 580% | (א) | (פ) | | | | | |") 62ת1סס ; (*מ| (פא) ; (תן ההההההההההההההההההההההההההההההההההההההההההההההההההה-----ה|") ]6ת1עק ] /* ה08:10ת0+ה1 558605 200655 6טק6טס 0סך 1 6 */ (]טס ,10קק ,210 ,6ה011 ,607 ,10ט)6ת11 ק 016ע 558610 + ,010* ,6ה611* ,ץ%6* ,10ט* פגת0 ;טל 0100 551006 [ 6 05 2106%5 60 6082860675 01 ע6סתטה 65ת6טה00 "6600" */ /* 06108 0066 6( ת1 האסת5 35 , ה680 65סעט 1024 ,*ה| %46| %46 | 556 | %6.65 | %7.75 | %15.155 | %7.75 | %7.75 |")1שתגזק יט 4 (5126 2<-1טפ) 6605 ,1024/ (65126 5<-1טם) 0605 ; (1024/ (585126 0<-5טס)0505 1 /* 0106 5ש5580 500655 626 ת0ע] 6ה11 8 5680 10 1 8 */ (6,010ה6)011ה11 ם 0016 568610 08 *+ 2 1+ עדת | ;( 'ם' =! ( (0606)010 = ++6ה011* ) ) 116ת9 ; '0 '=6ת011--* 24 6 הפלט של התכנית להלן פלט אפשרי מהתכנית "5%8%כ". | 5680% | (9ו | 8 | אש | (₪א) | (פא) | 4 |0 1 4 |3 | 4 01 | 4 |3 | 4 |32 | |2 | 8 |32 | 8 |36 | 2 |44 | 2 |44 | ₪ | | 0 |20 | 2 | | 4 |48 | 4 |20 | 0 [|0 | | | ]תגאס | 2506 | 00 חס 660/0600/ 6 ש00₪ף/52ט/ 6 66/00 ]/ ה5/110/1056ט/ ח5- ת5- ₪ ץ606/060/ 6 6060 01 6 35 -0 0 8% | [ 68 ָ ח1061 | 6 2 86 ָ כ 0 1 9 1 0 1 1 1 205 נספח א' התווים השמורים של המעטפת רשימת התווים השמורים (8180%618ת116%80) של המעטפת: > ניתוב פלט. << הוספת פלט. % ניתוב קלט. % קלט ממסמך 6"6ת. | סימן הצינור. 8% סימן "11 6ת8" (למשל 8680: הר את 8 ובמקרה של הצלחה, הר% את מ). || הסימן ")1 עס" (למשל, פ||8: הרצ את 8 ובמקרה של כישלון הרצ את מ). 3 מגביל גודל אות. מפריד בין פקודות. לש החלפת פקודות. 0 קיבוצ פקודות והרצה שלהן בתת-מעטפת. . תואם לכל צירוף של תווים. תואם לכל תו *חיד. [] תואם לכל התווים שבסוגריים. התייחס לתו הבא כלשונו (ולא כסימן או הוראה). ₪ הצג את התווים שבין המרכאות הכפולות, פרט לתוויס 8,",',/. ו הצג את התווים שבין סימני הטעם פרט לסימן '-'. 0 שס קוב פקודות המעטפת הפעיל (הקורא). 5.099 ארגומנטים לקוב פקודות המעטפת. 6זה8ת% ערך של שם משתנה. [6תזאת)% החלפה של שם משתנה. 206 נספח בי תבניות תכנות במעטפת בורן ובמעטפת 6 טבלת השוואה בין תבניות התכנות "בשתי המעטפות. 01 הת (ת01610תסס) ]1 (5) :ח50866₪6 ה06ל (ת01610ת11.)00 6156 5 56 8 6 בשו [9016-1156] חתפה ה01680] (5) 50806607 6 (₪080) ת59160 5 :006100 0856 68%5%עס 5 :31 סז יו [ (סָא6)] 16א6 5 1 משפסת1חס 16 500206 006 (ח60001:10) 116הא 5 6 [2768%] א68%ז 1 ש6תטסם 000110 ]1 הסט 5 000 115 הסט 5 106 5 8 5 [9026-115% כ ת1] שחת ע0ס] 0 (5) ח6706 568 06 הג 9010 0856 ( סקס . [ 1 0 [ צסא6] 16א6 0 5 "*0045' הלס 16 . 006 000 116 תא 00 5 106 460 0 [ח] א68זס 207 נספח גי טבלאות 5011 הטבלאות מציגות את הערכים של כל תו 85011 לפי בסיס 16 ולפי בסיס 8. טבלה ג-1 הערכים של תווי 45011 לפי בסיס 8 (אוקטלי) 1 007 80% 006 שת6 005 606 004 608 003 א56 002 ת50 001 1טח 080 1 7 50 016 65 015 | סה 014 סט 013 1ה 012 סת 011 05 010 605 027 חץ5 026 אגח 025 664 024 663 023 662 022 401 021 416 020 88 55 036 65 035 | 15 034 656 033 5% 032 | ח6 031 63 030 07 6 046 % 045 5 044 % 043 " 042 ! 041 50 040 / 057 . 056 - 055 , 054 + 053 * 052 (051 ) 050 7 0 6 066 5 065 4 064 3 063 2 062 1 061 0 060 ? 077 < 976 = 075 > 074 ; 073 : 072 9 8 070 6 107 פ 106 5 105 10402 6 103 8 102 ג 101 8 100 10 א 116 8 15 2 1% א 113 11274 1 .114 8 110 א 127 126 125% 1 4% 5 123 8 122 10 קל 120 = 137 " 136 [ 135 134 ] 133 2 132 ץצ 131 א 130 4 147 + 146 6 145 4 144 6 143 מ 142 8 141 י 140 170 ה 156 ה 155 11 % 153 [ 152 1 181 ת 150 167% צ 166 165 6 164 5 163 , 162 4 161 5 160 1 177 - 176 [ 175 174 )173 2 172 צורג א 170 טבלה ג-2 הערכים של תווי 45011 לפי בסיס 16 (הקסדצימלי) 1 07 30% 06 606 05 606 04 א66 03 א56 02 50 01 גטח 00 1 05 0 06 תס 06 סח 06 סט 00 1 08 שח 09 8 08 מס 17 חץ5 16 אבה 15 604 14 - 003 13 462 12 661 11 416 10 15985 55 16 5 16 85 16 | 656 מ1 | סש5 18 6 19 | 08 18 2 6 26 25% 5 24 23% " 22 211 50 20 27/1 6 - 26 7 + 20 * 28 (29 )2% דורב 6 36 5 35 4 34 3 33 2 32 21 200 = < 36 = 36 > 36 : פ3 : 38 209 18 476 ץ 46 5 45 פ 44 2436 428 ג 41 6 40 20 א 46 א 40 5 46 א 4 481 2491 48 א 57 ? 56 550 51 5 53 ₪ 52 510 ץ 50 1 * 56 [ 56 56 ] ספ 2 53 צ59 א 58 4 67 1 66 6 65 4 6 63 5 62 3 61 י 60 610 ח 66 ח 66 1 60 * 60 [ 68 1 ת 68 9% 77 צ 76 75 74 8 98 : 72 4 71 םס 70 1 75 - 78 [ 76 |76 ) פד 2 78 ץצ 79 א 78 208 ביבליוגרפיה מאמרים שונים פורסמו בתקופונים, בעיתונות המקצועית ובעיתונות הכללית. - אנשים ומחשבים. - מחשבים / מירב תעשיות הפקה. - | מידעון / איגוד מנתחי מערכות לענ"א. - מעשה חושב / איל"א. -‏ רשת מחשבים / מירב תעשיות הפקה. פרסומים בעברית - קטלוג מוצרים למערכת הפעלה אזצנז/ אזאמא 500. המדריך ליישומים, תוכנה בסיסית וחומרה. יוניפאור, יוני 1989. ספרים ופרסומים באנגלית 60אזפנ1ז סאג סאזפאג דפתמכאנ/.ת 85ז8+ת01 ,5ע010) ,5500186085 8 ע6111ת'0 א[אנז םג ₪860 +8מתסע 116ע 020[606) תסת60 16 פתו18קאת 5תזקסזק 01 זסנטה8ת6ק 618660" 6+ תתנש אַתס81 ,0 ([566ע5 6 ס8556(0160 א[א[1 6ת1 85 ת0ש5 ,107086 פות% 6פט 6ַת% .זסאתזן ₪ /אזאש 6אדספאב דפתמכאט/.ק קזססתוט 6 .1 011ז2) .4 ,פשתות5ו!סטק 08ת 05 ב :אזאנז ידט 5806/1195 ,65516( 806 תסכ ,11065 .49 ,106-1181+ת276/ מאסצחאעשת טוש ,אזאז תזוש שתואזסש 60 ₪₪166 8001081" 8 %5ת650זע 85 ,56701008 ,60₪07%8ת א1%1 תס 5ם0ס)56011 0 5קן6 6ת8 ,5ת%8010ה6ת6[קת1| 0₪8"6זהת ,5016876 ה 86 ,5ז6תתות8זקסזק ,5618 .9 ,6תה1שתם םה111ות0ב1/ / קסתפתסקט א1צ1./1. ,15!אהטפווק 209 .3 ,208005 / פתטאא9501 ספ אזאנז 5 6ת) 10 5566 אנם(1 8[טקסק 126 65071265 6 ,0060₪7089זק ת100 6+ ₪ם61500591 (שסנט 01 6תנסק .0-5 86 ,%5ק06ת00 8 ,106-1181+ת6זק / פטא[כבטת מתהשדע 50 ]מ ד5צס אנא 801116 אנת( 78/7 01 85מו06600זק 6+ 65ת650ץק 6 10 זבת11ת56 ע0108תת1160 5016816 ב566ע5 אז[צתז 1%6.'5 0 6868 1986 ע[ט7 ת1 616 תס1ק6ז 2518/280111:6 6 000066050 0006158 687670156 6פסתש 5:ז68%0ק5 א51 %תסתקס[0606 566ש5 0ת8 ,16600076ת870 (5%68ע5 ,1656870 יט 5068ע5 אזאנז 01 /(6 6ם2) 105 צ6תוצק א[צתז /858זק 8 תנו)זה]/ ,08166 .00 8 585 .ל הש 806ז%0ת1 (9ז60160 6808 טס ,606 85568 %0 שסצן [1את 060ת8008 5'א[צנ1 קט 566 ו618ת5 אזצתז 06 106/ סתטסקא80ס 6 ת001760010 ו 5'אזאס ‏ ונש ז66טקת00 תשסעץ 005608126 :5ת84)10ז6קס 6% שת601 806080060 55 בנ סש אזצתז ש6וטסת א1צתז 20 א'נדקס האינדקס בגוי לפי סדר המיון של המונחים באנגלית. במידת האפשר (יתן תרגום או הסבר של המונח ומציאת מקום המונח בספר. ציינו בסוגרים כאשר המונח מתייחס לגרעין א]א[ז או לשפת 6. התקן מיוחד ב-אאש 0 80/9₪0/ התקן דמי ב-א1אש 13 1ות/ע86/ קובצ המכיל רשימת קבצים לבדיקה 8 >6%81186ת856/6/ פקודה לניקוי מערכת קבצים 6 1ת606/01/ קובצ המכיל את מאפייני רכיבי המערכת | 180,197 66%5ע600/8650/ קוב המכיל את קבוצות המשתמשים ב-א1אע 6 תטס8606/89/ תכנית התיהחול של אזאט 1 טגם806/1/ קובצ המכיל את ניתוב העיבוד עבור 1%ת180,197,1711 15%680ת600/1/ פקודה להוספת התקנים חדשים 7 6סת8א₪/660/ קובצ הסיסמאות של המשתמשים 6 6:ש606/088585/ קובצ המכיל פקודות לביצוע עבור 116 0 600/26/ קובצ במערכת ההפעלה א1אט 0 ם600/00/ מדריך לאיחסון קבצים יתומים 14 88תט0ס?+1080/ גרעין מערכת ההפעלה א1אט 8 אנחט/ הוספת משתמשים 6 >5ס6פט 8ת8681 פקודה המעבירה קבצים לפיקוח 5005 (אזאט) 1 תנת6ה בקודה המאפשרת פסקי זמן לתכניות (א1אע) 7 םםפ8[18 פקודה לתחזוקת קבצים בספריית א1אטס 9 סף גיבוי לפי תנועות 2 שת1ט1ת6ע8 פקודה לביצוע פקודות בזמן מוגדר 8 85 פקודה להמרת מחרוזת לספרות ולהיפך (6) 9 800% פקודה להמרת מחרוזת לספרות ולהיפך (6) 8 86001 פקודה להמרת מחרוזת לספרות ולהיפך (6) 8 8601 תכנית שירות להתאמת תבניות 7 אשם פקודות רקע 1 685ת₪8ח60 6תגוססשאס8ס גיבו: 2 קט שם1אס8ט בלוק התיחול 1 א0106 006ס שפת 0 3 180818866 0 פקודה המאפשרת שירות תזכורות 2 >88ת0816 תבנית תכנות במעטפת (א1אעש) 8 08856 פקודה לשרשור קבצים (א1אע) 2 085 פקודה להידור תכניות 6 2 050 פקודה לשינוי מדריך (אזאע) 0 06 פקודה לשינוי תיאורי הדלתות בקובא 5005 9 066 1ב2 פקודה לשינוי הרשאות הכניסה לקוב פקודה לסגירת צינורות (0) פקודה המאפשרת השוואת קבצים (אצאט) פקודות קיבוצ פקודות הצבת פקודות הידור מותנה פקודה להעתקת קבצים (אנאט) פקודה לגיבוי קבצים "שד השעון" פקודה לתקשורת בין מערכות אזאט פקודה לבחירת שדות מקובף (אזאט) פקודת התאריך של אצאט פקודה להעתקה ישירה מהתקן להתקן ביטול משתמשים פקודה להצגת כמות המקום הפנוי בדיסק ניצול קיבולת הדיסק פקודה המסכמת את המקום המנוצל בדיסק פקודה המציגה את הארוגמנטים שלה תכנית העריכה 66 תכנית עריכה תבנית תכנות במעטפת (א1אט) בקודה המציגה את משתני הסביבה (א1אע) משתנה סביבה חיצוני (0) סביבה פונקצית מערכת לביצוע תכניות אחרות (0) פונקצית מערכת לביצוע תכניות אחרות (0) פונקצית מערכת לביצוע תכניות אחרות (6) פונקצית מערכת לביצוע תכניות אחרות (6) פונקצית מערכת להפסקת ביצוע תכניות פקודה להצבת משתני סביבה חדשים פקודה המעריכה ומציגה את הארגומנטים שלה קבצים אופני הביצוע של קבצים מערכת קבצים תיקון מערכת קבצים 18 מסננים איתור קבצים ארגומנט ה'דגל' (אות סימון) תבנית תכנות במעטפת (א1אטש) פונקציה ליצירת תהליך חדש מתוך תכנית (0) פקודה הבודקת את מערכת הקבצים (אזאע) קריאות לפונקציות מערכת 212 6 6סמתס 2 010856 6 קפס 1 685תה8משסס 1 שתנקגוססם 8 תסבסטס1פסט5 5 6000118010 81ת61610ת00 3 פס 3 0010 5 תסעסס 7 סש 7 טנטס 6866 1 66 5 7 >שספט שת6616%1 6% 9 9 ת0ס11128010שט 615% 60 0 6000 9 6 0ם081 06 12 6616005 8 611 2 טת6 8% תסענטתס 6 סתסנסע1טתס 2 (60א6 8% 680016 1 ס6801א6 2 ש60א6 0 816א6 2 סססקאס 9 פאס 1165 8 ₪0665 8 0 מְ900ץצ5 7116 ע1קסת 500₪צ8 7116 15 9 6ם1? 22 פ65תסמנופעה 1188 6 שס? 3 100% 8 806? 1 68115 מ0ס661תט+ שגרת ספריה לבדיקת משתנה סביבה (0) פקודה לאיתור תבניות תווים במספר קבצים מסמך 6ע6ת תבנית תכנות במעטפת (אדאע) רשימת 1 (צמת* 1) 3 שת8₪000 5 ₪960 2 >6ת6שט000 ש6עסת 18 88 7 1 1-1186% 2 תכניותעם סגמנט טקסט לא טהור 98 5ש8עשסעק 68ת50800 0685 6עטקשב תכנית התיחול של א1אט צומת 1 פקודת לביטול אמצע* 100 מסוים (0) פקודה לדיווח על מצב אמצעי ה-120 (60) פונקצית ספריה לבדיקת תווים (0) פונקצית ספריה לבדיקת תווים (0) פונקצית ספריה לבדיקת תווים (0) פונקצית ספריה לבדיקת תווים (0) פונקצית ספריה לבדיקת תווים (0) פונקצית ספריה לבדיקת תווים (0) שטח ה-150 פונקצית ספריה לבדיקת תווים (60) פונקצית ספריה לבדיקת תווים (0) פונקצית ספריה לבדיקת תווים (0) פונקצית ספריה לבדיקת תווים (0) פונקצית ספריה לבדיקת תווים (0) פונקצית ספריה לבדיקת תווים (6) גרעין המערכת פקודה להפסקת פעילותו של תהליך (א1אע) שגרה לאיחזור רשומה מטבלת הסימנים (0) שגרה לפתיחת קובף יעד לקריאה (0) שגרה להחזרת אינדקס של רשומה בטבלת הסימנים (0) שגרה הקוראת רשומה מטבלת הסימנים (0) שגרה לחיפוש מקום מסוים בטבלת הסימנים של קוב> יעד (60) ספריות חיבור קבצים כניסה למערכת יציאה מהמערכת שגרה לשחזור סביבת המחסנית של תכנית בביצוע (0) פקודה להדפסת קובף במרפסת (א1אע) פקודה להצגת מצב המדפסות (א1אע) פקודה המפרטת את תוכן המדריך (א1אע) 7 ססבתב 2 866סת1 7 מסססב1 6 1065 3 שמטת1581 3 8ת0ק1581 3 1885011 3 [1ססת150 3 19618616 3 198280 3 8208 190 3 >ספשס1891 3 סתבס"ס15 3 סטסתטק9ב 3 1550806 3 006ט159 3 ס61816א15 8 61תע6 %111 9 9 6מ8ת1686% 9 ת160060 9 א66ת14601 9 16000086 9 א16%00586 9 11080168 8 ת1 6 ת:1 שת0881ס1 7 סגסשס1 9 סמן[אתס1 1 3 105085 3 18% 5 23 פקודה למשלוח דואר אלקטרונ* (אזאע) פקודה המשמשת לתחזוקת מספר גרסאות של תכנית בקובף אחד (א1אש) פקודת העזרה של אזאט התקן מיוחד ניהול זיכרון בניית תפריט פקודה להפסקת קבלת ההודעות במסוף (א1אע) תורי הודעות תווים שמורים 5 פקודה ליצירת מדריך (א1אע/) פקודה ליצירת מערכת קבצים (א1אע) חבילת תכניות מקרו של 2+סעת פקודה להתקנת מערכת קבצים (א1אט) פונקצית מערכת המבטלת תור הודעות (0) פוקצית מערכת היוצרת תור הודעות (0) פונקצית מערכת הקוראת הודעה מהתור (0) פונקצית מערכת השולחת הודעה לתור (6) פקודה להעברת קבצים (א1א0) צינורות בעלי שם פקודה להעברת חדשות לכל המשתמשים (א1אע) עורך תמלילים קוב יעד פקודה המשמשת להיטל אוקטלי של קובף אופטימיזציה דפדוף סיסמה פקודה לשילוב שורות מקבצים שונים (א1אש) פונקצית מערכת להשעיית ביצוע של תהליך (6) פונקצית מערכת לסגירת צינור (0) פקודה להצגת קוב (אאע) פונקצית מערכת ליצירת צינור (0) צינורות לתקשורת בין תהליכים צינורות פונקצית מערכת לפתיחת צינור (0) פקודה העורכת קוב להדפטה (א1אע) תהליך פרופיל הביצוע של תכנית פקודה להדפסת מידע הקשור לקוב 5005 פקודה לקבלת מידע על התהליכים הפעילים (א1אט) תכניות עם 'סגמנט טקסט טהובר' פקודה המציגה את המדריך הנוכח:י (אזא0) פקודה הקוראת קלט סטנדרטי (אזא0) 214 811 0 65 ₪866 7 תהם 8 מסם 5 ס6תס6שסשהתהע צַעסשסם 9 סת6שק61ט69 גותסם 2 658% 5 66₪5ש6558ם 5-מ 1 ת01אם 3 %85אם 8 חם 9 סתטסם 9 ₪5860 9 65ששפ5ת 129 ט0ע580ם 9 6ת5ש5ם 3 טם 5 פסקצק 60שת 3 פשסת 9 %%סעת 3 %116? 001806 9 08 9 ב%1₪158610קס 8 שתנשהם 6 8559026 8 66פ8ס 8056 7 610856 1 2 8ס 2 פסנס 5 68%5ת611ק1ק 0 1655 1 תסססק 3 סס 18% 6688%סעק 1 אשת111+?סעס 7 מהעשסעק 6ת56806 6א68 6עטק 9 פעם 8 85 0 6שס 6 2686 ניתוב פקודה בפקודה פקודה ק/פ לביטול קבצים (אאט) לביטול דלתות בקובף 5005 (אזאט) לביטול מדריכים פקודה להדפסת הפעילות הנוכחית בקוב% 5 (א1אט) מערכת לבקרת קוד מקור פקודה המשווה ומדפיסה את ההבדלים בין שתי גרסאות בקובא 5005 (אצאט) אתתים פונקצית מערכת לפיקוח על האתתים (60) פונקצית מערכת היוצרת אתתים (6) פונקצית מערכת המטפלת באתתים (6) פקודה המשמשת לקשירת הזוג משתנה-ערך לסביבה (א1אט) פונקצית מערכת לשמירת סביבת המחסנית של תכנית בביצוע (6) סיבית הזיהוי של הקבוצה זיכרון משותף מעטפת פקודות המעטפת קובצ פקודות של המעטפת משתני המעטפת פונקציה ליצירת סגמנט משותף בזיכרון (6) פונקצית מערכת לבקרת הפעילות בסגמנט המשותף (0) פונקצית מערכת לשחרור סגמנט הזיכרון המשותף מהתהליך שקרא לה (0) פונקצית מערכת היוצרת סגמנט משותף בזיכרון (0) אותות פקודה להשעיית הביצוע של תהליך (א1אע) כקודה המשמשת למיון קבצים תווים מיוחדים 17 קבצים מיוחדים פקודה לחלוקת קובא (אצאט) פונקציה הכותבת ערכים שונים למחרוזת (6) פונקציה הקוראת ערכים ממחרוזת (6) סיבית צמודה פונקציה המשרשרת מחרוזות (6) פונקציה המשווה מחרוזות (6) פונקציה המעתיקה מחרוזות (6) מחרוזות הפשטת תכנית פקודה להפשטת תכנית (א1אע0) פונקציה המחזירה את אורך המחרוזת (6) 3 ת60010ע6012ע2 1 מס 9 [86שע 1 ת61מע 5805 9 80085 3 5005610% 9 8008002085 5 8006061 7 5026 6 8000 6 865 3 9 קם56001 85616 7 2 עעסמסם 88066 3 8611 9 5פ6תהממסס 5( 50010 6 180165עפש 8 86שת5 3 661שת5 5 ס6שת5 8 65שמתפ 6 5180815 900 8160 9 5005 8060181 89 5060181 0/1168 9 6( 50116 7 >6ס6ת1ע0פ 7 =ת8808 6 016 ,5010% 606 5506085 8 סתססספ 5 ץ0ס600ע50 8 פפשת1ת6פ 9( ס1ת86 9 שתנסק1עספ 6 ת160ע50 205 פונקציה המשרשרת מחרוזות (6) פונקציה המשווה מחרוזות (0) פונקציה המעתיקה מחרוזות (0) סיבית הזיהוי של המשתמש סופרבלוק שטח העברה מרחב הכתובות להעברות י העברת קבצים פקודה לניקוי הזיכרון המרכזי (א1אע) פונקצית מערכת לביצוע תכנית א מתוך תכנית צ (0) פקודה לביצוע פעולות ארכיון (א1אע) פקודה המשמשת להערכת ביטו: (א1אע) פונקצית ספריה לבדיקת תווים פונקצית ספריה לבדיקת תווים פקודה להמרת תווים קטנים לגדולים (אז1אע) פונקצית מערכת ללכידת אותות (א1אע) פקודה לשינוי ברירת המחדל של הרשאות לקובצץ (א1אט) פקודה לביטול מערכת קבצים (אזאע) פקודה לביטול האיחזור הקודם של קובף 5 (א1אט) צינורות ללא שם פקודה לביטול הזוג משתנה-ערך (א1אעש) תבנית תכנות במעטפת משתמשים תכנית לתקשורת בין מערכות א1אט פקודה ב-קסטט פקודה ב-קסטט פקודה ב-קסטט תכנית העריכה נש פקודת המתנה לסיום תהליך אחר פקודה לשליחת הודעה לכל המשתמשים פקודה לספירת מרכיבי הקובצ פקודה להצגת פרטים של קובף מסוים תבנית תכגנות במעטפת פקודה להצגת המשתמשים במערכת פקודה להעברת הודעות בין משתמשים 26 6 685תע5% 6 ממסתע56 5 עססתע86 5016 7 1 010608 עשקטפ 3 0088ת8 80שפ 8 50806 8080 8 שתנסקה8שם ססתצפ 0 מפספצ5 8 תס 843 65>6ס 84 >פשס501 8 אסססטסס 8 תס 7 ססתפסס 8 >פהשט 0 סתטסשט 9 סס6שתט 0 10685 66ש8תתט 3 טס6פתט 5 11טתט 5. ₪565 7 ססטט 6 אס1טט 6 א16קטט 76 =6פספטט 2 66100 1עש 3 =1גש 2 811ש 5 סש 7 טאתש 5 16נתשט 1 סתש 1 6ס1עט ו 2 ה שש שריי 0 ללמוד אואט פונה אל המשתמשים כ-אואש כתחום גי ימ יי סכיכת עבודה זו. עבור המתחילים, המצטרפים לעולם אואש. המחכר מציג את עקרונות המכנה של מערכת ההפעלה, הפקודות הכסיסיות הנחוצות להם בתחילת עכודתם. מערכת ניהול הקכצים. המעטפת. (91ח8) והעורך וצ. למתקדמים ולמי שככר עוסק כפיתוח יישומים, המחכר מסכיר מרכיכי שירות נוספים: הקמת פרויקטים, שגרות שירות של 866 ושל 8005, עכודה כשפת 6. מעכד הטכסט אסח וקשר כין תהליכים פנימיים כאמצעות אתתים ושיתוף זיכרון. | לאנשי התחזוקה של מערכות אואט המחכר מציע כלים לשליטה ו ל גיכויים. חיכור התקני קלט/פלט חדשים. הוספת משתמשים ותיקון תקלות כמערכת הקכצים. בכל נושא שהמחכר דן כו. הוא מרכז את המידע הרלוונטי ומציג אותו בכהירות וכפשטות כרמה הדרושה והעיקר - מלווה את ההסכרים כדוגמאות רבות המפרטות את הפקודות ואת הפלט. כ ו (90וא) במדעי המחשכ ופיתוח מערכות מידע עסקיות. כין עיסוקיו המגוונים: מנהל פרויקטים. יועץ. מדריך ומנתח מערכות כסכיכת עכודה של אואט כארגונים עסקיים שונים וכחכרות. שיווק של מוצרי אואע. ו מסת"כ 965-361-011-2 אםפו