Presentation is loading. Please wait.

Presentation is loading. Please wait.

מערכות הפעלה ( אביב 2009) חגית עטיה © 1 מערכת הקבצים  מבוא : מטרות מערכת קבצים  מנשק המשתמש : פעולות על קבצים, ארגון קבצים, הגנה  תכונות של דיסקים.

Similar presentations


Presentation on theme: "מערכות הפעלה ( אביב 2009) חגית עטיה © 1 מערכת הקבצים  מבוא : מטרות מערכת קבצים  מנשק המשתמש : פעולות על קבצים, ארגון קבצים, הגנה  תכונות של דיסקים."— Presentation transcript:

1 מערכות הפעלה ( אביב 2009) חגית עטיה © 1 מערכת הקבצים  מבוא : מטרות מערכת קבצים  מנשק המשתמש : פעולות על קבצים, ארגון קבצים, הגנה  תכונות של דיסקים.  מימושים : בסיסיים וקצת על מימושים מתקדמים.  אמינות מערכת הקבצים.

2 מערכות הפעלה ( אביב 2009) חגית עטיה ©2 מערכת קבצים  קבצים מאפשרים שמירת מידע לטווח בינוני וארוך.  למרות הפעלות חוזרות של תוכנית, איתחולים, ונפילות.  מטרות : הפשטה מתכונות ספציפיות של ההתקן הפיזי  גישה דומה לדיסק, CD-ROM, DVD, טייפ,... זמן ביצוע סביר. ארגון נוח של הנתונים. הפרדה בין משתמשים שונים ( protection ). הגנה ( security ).

3 מערכות הפעלה ( אביב 2009) חגית עטיה ©3 מבנה לוגי של מערכת קבצים  אוסף של קבצים.  קובץ הוא מידע עם תכונות שמנוהלות על - ידי המערכת. מכיל מספר בתים / שורות / רשומות בגודל קבוע / משתנה. קובץ יכול להיות מסוג מסוים  חלק מהסוגים מזוהים על - ידי המערכת : מדריך, link, mount ... או על - ידי אפליקציות :.jpg,.html,.doc,.exe  במקביל, ניתן להתייחס לתכולת הקובץ : בינארי או טקסט

4 מערכות הפעלה ( אביב 2009) חגית עטיה ©4 תכונות של קובץ (Attributes)  תכונות מערכת שם  תווים מוּתרים ? upper / lower case. גודל, בדרך - כלל בבתים מיקוּם. מידע על בעלות והגנה. תוויות זמן : יצירה, גישה אחרונה, שינוי אחרון.  תכונות משתמש ב -HPFS ( מערכת הקבצים של OS/2) ניתן להצמיד לקובץ זוגות 〈 attribute_name,string 〉 ( מחרוזת באורך עד GB2).

5 מערכות הפעלה ( אביב 2009) חגית עטיה ©5 פעולות בסיסיות על קבצים  יצירה / השמדה של קובץ : create: מקצה מקום לקובץ, ושומר את התכונות שלו. delete: משחרר את המקום שהוקצה לקובץ, וכן את התכונות שלו.  קריאה / כתיבה : read: נותן שם קובץ, כמות מידע לקריאה וחוצץ זיכרון שבו יאוחסן המידע הנקרא ; מתחזק מצביע מיקום לקובץ. write: נותן שם קובץ ומידע לכתיבה ; מתחזק מצביע מיקום לקובץ. seek: הזזת מצביע המיקום.

6 מערכות הפעלה ( אביב 2009) חגית עטיה ©6 פעולות נוספות על קבצים  open, close מאחזרות מידע על הקובץ, מאתחלות את מצביע המיקום לקובץ. משפרות את ביצועי המערכת.  append, rename, copy, … ניתן לממשן בעזרת פקודות אחרות...  נעילה.  עדכון תכונות הקובץ

7 מערכות הפעלה ( אביב 2009) חגית עטיה ©7 אופני גישה לקובץ  גישה סדרתית : ניגשים למידע בקובץ לפי סדר. בד " כ מהירה יותר. לא צריך לציין מהיכן לקרוא ( ניתן להתבסס על מצביע המיקום ). מאפשר למערכת להביא נתונים מראש.  גישה ישירה / אקראית. לפי מיקום או לפי מפתח. לפעמים ניתן לזהות תבניות גישה. כמובן, ניתן לממש פה גם גישה סדרתית.

8 מערכות הפעלה ( אביב 2009) חגית עטיה ©8 ארגון מערכת קבצים  מספר הקבצים מגיע לאלפים ישנן מערכות שמכילות מיליארדי קבצים !  מחיצות (partitions), בד " כ לפי התקנים (devices).  מדריכים (directories), טבלאות הקבצים בתוך המחיצה.

9 מערכות הפעלה ( אביב 2009) חגית עטיה ©9 מדריכים  המדריך הוא מבנה נתונים מופשט, אשר שומר את התכונות של כל קובץ הנמצא בו.  תומך בפעולות הבאות : מציאת קובץ ( לפי שם ) יצירת כניסה מחיקת כניסה קבלת רשימת הקבצים בתוך המדריך החלפת שם של קובץ...

10 מערכות הפעלה ( אביב 2009) חגית עטיה ©10 מבנה מדריכים : עץ מכוון  עץ בעל מספר רמות שרירותי (MS-DOS) מושג המדריך נוכחי (current directory). קובץ מזוהה ע " י מסלול מהשורש ( מוחלט ) או מהמדריך הנוכחי ( יחסי ). d1d1 d2d2 d3d3 d4d4 d5d5 d 1-1 d 1-2 f1f1 f2f2 f3f3 d 2-1 d 2-2 f1f1 d 1-1 d 1-2 f1f1 f2f2

11 מערכות הפעלה ( אביב 2009) חגית עטיה ©11 מבנה מדריכים : גרף אציקלי  בגרף אציקלי, מאפשרים למספר כניסות במדריכים ( אולי שונים ) להצביע לאותם העצמים (Unix)  למה לא לאפשר מעגלים בגרף ?

12 מערכות הפעלה ( אביב 2009) חגית עטיה ©12 סוגי קישורים  קישור רך / סימבולי (soft / symbolic link): כניסה שמכילה את המסלול לקובץ.  קישור חזק (hard link): לא ניתן להבדיל מהכניסה המקורית  מחיקת קובץ : קישור סימבולי אינו מונע מחיקת הקובץ  משאיר מצביע תלוי באוויר קישור חזק מחייב מחיקת כל הכניסות.

13 מערכות הפעלה ( אביב 2009) חגית עטיה ©13 מבנה מדריכים ב -Unix  שם ( מסלול מלא ) אינו תכונה של קובץ... לאותו קובץ ניתן להגיע דרך מסלולים שונים  מחזיקים use-counter שמאפשר לדעת מתי למחוק קובץ. תהליך יכול ליצור קובץ, לפתוח אותו, למחוק את הכניסה ( היחידה ) שלו מהמדריך ולהמשיך לעבוד עליו  לתהליך מבנה נתונים של קבצים פתוחים. בד " כ כולל מידע על מיקום נוכחי בקובץ שאינו משותף עם פתיחות אחרות של אותו קובץ, כולל של אותו תהליך.

14 מערכות הפעלה ( אביב 2009) חגית עטיה ©14 הגנה  רוצים למנוע ממשתמשים לבצע פעולות ספציפיות על הקובץ ( בשוגג או במזיד )  למשל קריאה, כתיבה, ביצוע, שינוי שם,...  רשימות גישה (access list). לכל קובץ, נרשום למי מותר לבצע איזה פעולה. הרשימות עלולות להפוך לארוכות מדי וקשות לתחזוקה. פיתרון :  נקבץ משתמשים למחלקות שונות : owner, group, universe …  מספר מוגבל של פעולות : read, write, execute

15 מערכות הפעלה ( אביב 2009) חגית עטיה ©15 נעילת קבצים  advisory locking תהליך צריך לנעול קובץ בצורה מפורשת ( כמו קטע קריטי ) אפשר לנעול קובץ שלם או חלקים מהקובץ  mandatory locking אם הקובץ נעול – כל תהליך שמבצע read, write, open יינעל, גם אם לא ביצע נעילה מפורשת אפשר להפריד לפי קריאות וכתיבות (reader/writer lock) ב Linux יש גם advisory locking וגם mandatory locking  leases אם תהליך שנעל את הקובץ לא משחרר אותו ולא מאריך את ה lease תוך פרק זמן נתון, המנעול משתחרר שימושי אם התהליך שנעל את הקובץ נפל

16 מערכות הפעלה ( אביב 2009) חגית עטיה ©16 היררכית האחסון אמצעי גיבוי, DVD, CD DISK זיכרון ראשי / פיזי DRAM מטמון רגיסטרים גדול יותר ( וזול יותר ) מהיר יותר נדיף לא - נדיף Persistent Volatile

17 מערכות הפעלה ( אביב 2009) חגית עטיה ©17 זיכרון משני  בניגוד לזיכרון הראשי, אינו מאפשר ביצוע ישיר של פקודות או גישה לבתים.  שומר על מידע לטווח ארוך ( לא - נדיף, non-volatile ).  גדול, זול, ואיטי יותר מזיכרון ראשי.  נתרכז בדיסקים שהגישה אליהם באמצעות כתיבה או קריאה של רצפי מידע גדולים. גישה סידרתית מהירה. קיבולת גבוהה.

18 מערכות הפעלה ( אביב 2009) חגית עטיה ©18 מבנה הדיסק head sector track cylinder מבנה כתובת (CHS) Cylinder, Head, Sector או (LBA) Logical Block Array plate

19 מערכות הפעלה ( אביב 2009) חגית עטיה ©19 שימו לב ש זמן ממוצע לגישה לסקטור אקראי זמן העברה פנימי של סקטור 4KB דוגמא : דיסק של שרת (seagate) עלות - 1000$ r סיבובים לדקה l זמן ממוצע מהגעה ל - track עד לסקטור tr קצב העברת נתונים s זמן ממוצע להזזת זרוע מ -track ל -track

20 מערכות הפעלה ( אביב 2009) חגית עטיה ©20 דוגמא : דיסק של desktop (IBM) עלות - 100$

21 מערכות הפעלה ( אביב 2009) חגית עטיה ©21 מבנה מערכת קבצים טיפוסית Application File System API System-call Interface Logical File System  logical file system קוד כללי, בלתי תלוי במערכת קבצים ספציפית  קוד שמקבל מסלול, ומחזיר את קובץ היעד  ניהול מידע כללי עבור קבצים פתוחים, כמו מיקום בקובץ... פעולות על מדריכים. הגנה ובטיחות.

22 מערכות הפעלה ( אביב 2009) חגית עטיה ©22 מבנה מערכת קבצים טיפוסית Application File System API System-call Interface Logical File System Virtual File System Interface  logical file system  virtual file system interface מנשק אחיד לכל מערכות הקבצים הספציפיות. למשל vfs_read, vfs_write, vfs_seek.

23 מערכות הפעלה ( אביב 2009) חגית עטיה ©23 מבנה מערכת קבצים טיפוסית Application File System API System-call Interface Logical File System Virtual File System Interface Physical File System 1 Physical File System 4 llogical file system vvirtual file system interface pphysical file system מימוש מנשק ה -VFS עבור מערכת קבצים ספציפית ללמשל, מעל דיסק, דיסקט, RAM, CD, רשת וכו ‘ מתכנן איך לפזר את הבלוקים. בהמשך, נתרכז בו.

24 מערכות הפעלה ( אביב 2009) חגית עטיה ©24 מבנה מערכת קבצים טיפוסית Application File System API System-call Interface Logical File System Virtual File System Interface Physical File System 1 Physical File System 4 Device Driver IBM Device Driver Seagate  logical file system  virtual file system interface  physical file system  device drivers קוד שיודע איך לפנות להתקן ספציפי דיסקים ( לפי מודל ), DVD, וכדומה. מתחיל את הפעולה הפיזית, ומטפל בסיומה. מתזמן את הגישות, על מנת לשפר ביצועים.

25 מערכות הפעלה ( אביב 2009) חגית עטיה ©25 הערכת מימוש מערכת קבצים : מדדים  מהירות גישה סדרתית  מהירות גישה אקראית ( ישירה )  שיברור פנימי וחיצוני  יכולת להגדיל קובץ  התאוששות משיבושי מידע

26 מערכות הפעלה ( אביב 2009) חגית עטיה ©26 מיפוי קבצים : הקצאה רציפה  בבלוקים באורך קבוע כפולה של גודל סקטור ( נע בין 512B – 4KB)  המשתמש מצהיר על גודל הקובץ עם יצירתו.  מחפשים בלוקים רצופים שיכולים להכיל את הקובץ.  הכניסה במדריך מצביעה לבלוק הראשון בקובץ. file1 file2 file35 6 6

27 מערכות הפעלה ( אביב 2009) חגית עטיה ©27 מיפוי קבצים : הקצאה רציפה גישה מהירה ( סדרתית וישירה )  שיברור פנימי וחיצוני  קשה להגדיל קובץ file1 file2 file35 6 6

28 מערכות הפעלה ( אביב 2009) חגית עטיה ©28 מיפוי קבצים : הקצאה משורשרת  כל בלוק מצביע לבלוק הבא.  הכניסה במדריך מצביעה לבלוק הראשון בקובץ file1

29 מערכות הפעלה ( אביב 2009) חגית עטיה ©29 מיפוי קבצים : הקצאה משורשרת קל להגדיל קובץ. מעט שיברור חיצוני.  גישה איטית, בעיקר לגישה ישירה. שימוש בבלוקים גדולים מקטין את הבעיה, אך מגדיל שיברור פנימי.  שיבוש מצביע בבלוק גורם לאיבוד חלקים של קובץ. file1

30 מערכות הפעלה ( אביב 2009) חגית עטיה ©30 הקצאה משורשרת : מצב הדיסק מדריך קובץהתחלהסוף foo 814

31 מערכות הפעלה ( אביב 2009) חגית עטיה ©31 File Allocation Table (FAT)  החזקת שרשרת המצביעים בנפרד. file1

32 מערכות הפעלה ( אביב 2009) חגית עטיה ©32 File Allocation Table (FAT)  החזקת שרשרת המצביעים בנפרד.  בעצם, טבלה שמתארת את התוכן של הדיסק כולו.  מצביע הקובץ ( במדריך ) מראה על הכניסה הראשונה.  MS-DOS. file1

33 מערכות הפעלה ( אביב 2009) חגית עטיה ©33 מגבלות של FAT  הטבלה נמצאת במקום נוח בדיסק / זיכרון ראשי, ומכילה 2 16 כניסות ( אינדקס של 16 ביטים ) 2 32 בגרסת FAT-32  כאשר הדיסקים גדלים, גודל החתיכות גדל. דיסק של 6.4GB היה מחולק לחתיכות של 100KB ( אך במציאות משתמשים ב -FAT-32 מעל 2GB) ïמגדיל את השיברור הפנימי ( בזבוז של 10-20% הוא שכיח ).  כל קובץ דורש לפחות חתיכה אחת. ïלכל היותר 64K קבצים ב -FAT, 4G ב -FAT-32.  טבלת ה FAT מהווה משאב קריטי. צוואר בקבוק בגישה. ïלאובדן הטבלה או לפגיעה בה יש משמעות קטסטרופאלית... ולכן היא מוחזקת בשני עותקים

34 מערכות הפעלה ( אביב 2009) חגית עטיה ©34 מיפוי קבצים : אינדקס  המשתמש מצהיר על גודל קובץ מקסימלי.  המצביעים לבלוקים מרוכזים בשטח רצוף משפר במקצת את זמן הגישה הישירה לעומת הקצאה משורשרת.  צריך להצהיר מראש על גודל קובץ file1

35 מערכות הפעלה ( אביב 2009) חגית עטיה ©35 אינדקס : מצב הדיסק מדריך קובץ בלוק אינדקס foo 15

36 מערכות הפעלה ( אביב 2009) חגית עטיה ©36 מיפוי קבצים : אינדקס מרובה רמות mode owners timestamps #blocks … inodedirectory file1 file2 file3 file4 direct blocks single indirection double indirection triple indirection data

37 מערכות הפעלה ( אביב 2009) חגית עטיה ©37 מבנה מערכת הקבצים ב Unix 4.1  inodes (index nodes) אינם מדריכים.  מדריכים הינם קבצים רגילים אשר ממפים שמות קבצים ל inodes. לאחר שימוש ממושך במערכת הקבצים :  בלוקים שונים של אותו קובץ נמצאים רחוק זה מזה.  inodes ובלוקי אינדקס נמצאים רחוק מבלוקים של מידע.

38 מערכות הפעלה ( אביב 2009) חגית עטיה ©38 Unix 4.2 Fast File System (FFS)  קבוצות של צילינדרים קרובים ( על הדיסק ).  בתוך אותה קבוצת צילינדרים משתדלים לשים : בלוקים של אותו קובץ בלוקים של אותו מדריך ( כולל inodes).  בתוך קבוצות שונות שמים : בלוקים של קבצים ממדריכים שונים.  שומרים על ~10% מקום פנוי בכל קבוצת צילינדרים.

39 מערכות הפעלה ( אביב 2009) חגית עטיה ©39 ניהול בלוקים פנויים : bitmap  מערך ובו סיבית לכל בלוק. 0 – הבלוק תפוס ; 1 הבלוק פנוי.  מאוחסן במקום קבוע בדיסק. עותק בזיכרון הראשי, ליעילות.  עם בלוקים של 4KB, נזדקק לבלוק של ביטים עבור 8*4096 בלוקים.  קל לזהות רצף של בלוקים פנויים. 0 1 0 1 1 0 1 1 1 0 1 1

40 מערכות הפעלה ( אביב 2009) חגית עטיה ©40 ניהול בלוקים פנויים : רשימה מקושרת  מציאת בלוק פנוי בודד מהירה.  הקצאה של מספר בלוקים לאותו קובץ : במקומות המרוחקים זה מזה. מציאת הבלוקים מחייבת תזוזות של הדיסק.  מבנה הנתונים נהרס אם בלוק באמצע הרשימה השתבש.  ב FAT, הבלוקים הפנויים מנוהלים כקובץ אחד.

41 מערכות הפעלה ( אביב 2009) חגית עטיה ©41 ניהול בלוקים פנויים : קיבּוּץ  שימוש ברשימה מקושרת של אלמנטים : grouping - כל אלמנט מכיל טבלה של מצביעים לבלוקים פנויים רצופים ומצביע לאלמנט הבא counting – כל אלמנט מכיל מצביע לבלוק הפנוי הראשון מקבוצת בלוקים פנויים רצופים, מספר הבלוקים בקבוצה ומצביע לאלמנט הבא  ניתן למצוא בצורה יעילה מספר גדול של בלוקים פנויים ורציפים.

42 מערכות הפעלה ( אביב 2009) חגית עטיה ©42 אמינות  המידע בדיסק מתחלק ל - user data: נתוני המשתמש ( בתוך הקבצים ). metadata: מידע על ארגון הקבצים.  בלוקים של אינדקס, inodes...  איבוד / שיבוש metadata עלול לגרום לאיבוד user data רב. נפילת חשמל באמצע כתיבה עלולה לשבש את הסקטור שכעת נכתב.  מתי כתיבות עוברות מהזיכרון הראשי לדיסק ? write-through – כל כתיבה עוברת מיידית לדיסק. write-back – הדיסק מעודכן באופן אסינכרוני, אולי לא לפי סדר.

43 מערכות הפעלה ( אביב 2009) חגית עטיה ©43 אמינות נתוני המשתמש ב -Unix  במערכות Unix משתמשים במדיניות write-back נתוני המשתמש נכתבים באופן מחזורי לדיסק. תואם את סמנטיקת POSIX. פקודות fsync, sync מאלצות לכתוב את הבלוקים המלוכלכים לדיסק.

44 מערכות הפעלה ( אביב 2009) חגית עטיה ©44 אמינות ה -metadata  משתמשים במדיניות write-through עדכונים נכתבים מידית לדיסק  נתונים מסוימים נשמרים במספר עותקים למשל, שורש ה -file system  כאשר מערכת הקבצים עולה אחרי נפילה, מתקנים את מבני הנתונים. במערכות קבצים מסוימות, דורש מעבר על כל הדיסק  ScanDisk, fsck (file system check)

45 מערכות הפעלה ( אביב 2009) חגית עטיה ©45 רישום (logging)  שיטה יעילה לתחזוקת ה -metadata מוכרת גם כ -journaling  רושמים ב -log סדרתי את העדכונים לפני שהם נכתבים לדיסק ( write-ahead logging ).  הבלוקים שהשתנו נכתבים לדיסק לאחר - מכן. אולי לא לפי הסדר. אפשר לקבץ מספר שינויים ולכתוב אותם בכתיבה אחת.  ניתן למחוק מה -log עדכונים שכבר נכתבו לדיסק.

46 מערכות הפעלה ( אביב 2009) חגית עטיה ©46 התאוששות עם log  לאחר נפילה, עוברים על כל הכניסות ב -log בצע את הפעולה.  ביצוע נוסף של פקודה שהתבצעה במלואה או חלקית נותן תוצאה שקולה לביצוע הפעולה המקורית (idempotent). אם הכניסה האחרונה ב -log אינה שלמה, מתעלמים ממנה.

47 מערכות הפעלה ( אביב 2009) חגית עטיה ©47 יתרונות וחסרונות של logging כתיבה לדיסק באופן אסינכרוני התאוששות יעילה. תלויה במספר השינויים שלא נכתבו לדיסק, ולא בגודל מערכת הקבצים.  דורש כתיבות נוספות. בערך מכפיל את מספר הכתיבות.

48 מערכות הפעלה ( אביב 2009) חגית עטיה ©48 שיטות נוספות לשיפור ביצועים  ניתן לשפר ביצועים ע " י Caching שמירת חלק מהבלוקים הכי שימושיים בזכרון הראשי במטמון מיוחד המנוהל ע " י מ " ה - disk cache שמירת metadata בזכרון הראשי  (read-ahead) Prefetching  Reducing disk arm motion לשים בלוקים שניגשים אליהם ביחד אחד ליד השני בדיסק


Download ppt "מערכות הפעלה ( אביב 2009) חגית עטיה © 1 מערכת הקבצים  מבוא : מטרות מערכת קבצים  מנשק המשתמש : פעולות על קבצים, ארגון קבצים, הגנה  תכונות של דיסקים."

Similar presentations


Ads by Google