מערכות הפעלה ( אביב 2007) חגית עטיה © 1 מימוש מערכת הקבצים...

29
בבבב( בבבבבב בבבבב2007 ) © בבבב בבבב1 בבבבב בבבבב בבבבבב .בבבבבבב בבבבבבב .בבב בב בבבבבבב בבבבבבב .בבבבבב בבבבב בבבבבב
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    246
  • download

    9

Transcript of מערכות הפעלה ( אביב 2007) חגית עטיה © 1 מימוש מערכת הקבצים...

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

(2007מערכות הפעלה )אביב © חגית עטיה 1

מימוש מערכת הקבציםמימושים בסיסיים.

קצת על מימושים מתקדמים. אמינות מערכת הקבצים.

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

(2007מערכות הפעלה )אביב © חגית עטיה 2

מבנה מערכת קבצים טיפוסיתApplicationApplication ApplicationApplication

File System APISystem-call Interface

Logical File System

logical file system קוד כללי, בלתי תלוי

במערכת קבצים ספציפית ,קוד שמקבל מסלול

ומחזיר את קובץ היעד ניהול מידע כללי עבור

קבצים פתוחים, כמו מיקום בקובץ...

.פעולות על מדריכים.הגנה ובטיחות

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

(2007מערכות הפעלה )אביב © חגית עטיה 3

מבנה מערכת קבצים טיפוסיתApplicationApplication ApplicationApplication

File System APISystem-call Interface

Logical File System

Virtual File System Interface

logical file systemvirtual file system

interface מנשק אחיד לכל מערכות

הקבצים הספציפיות. למשלvfs_read,

vfs_write, vfs_seek.

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

(2007מערכות הפעלה )אביב © חגית עטיה 4

מבנה מערכת קבצים טיפוסיתApplicationApplication ApplicationApplication

File System APISystem-call Interface

Logical File System

Virtual File System Interface

PhysicalFile

System 1

PhysicalFile

System 4

logical file systemvirtual file system

interfacephysical file system

-מימוש מנשק הVFS עבור מערכת קבצים ספציפית

,למשל, מעל דיסק רשת, RAM, CDדיסקט,

וכו‘ מתכנן איך לפזר את

הבלוקים..בהמשך, נתרכז בו

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

(2007מערכות הפעלה )אביב © חגית עטיה 5

מבנה מערכת קבצים טיפוסיתApplicationApplication ApplicationApplication

File System APISystem-call Interface

Logical File System

Virtual File System Interface

PhysicalFile

System 1

PhysicalFile

System 4

Device Driver Device Driver

IBM

Device DriverDevice Driver

Seagate

logical file systemvirtual file system

interfacephysical file systemdevice drivers

קוד שיודע איך לפנותלהתקן ספציפי

,)דיסקים )לפי מודלDVD ,וכדומה.

מתחיל את הפעולההפיזית, ומטפל בסיומה.

מתזמן את הגישות, עלמנת לשפר ביצועים.

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

(2007מערכות הפעלה )אביב © חגית עטיה 6

מימוש מערכת מדדים להערכתהקבצים

מהירות גישה סדרתית מהירות גישה אקראית

)ישירה(שיברור פנימי וחיצונייכולת להגדיל קובץהתאוששות משיבושי מידע

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

(2007מערכות הפעלה )אביב © חגית עטיה 7

מיפוי קבצים: הקצאה רציפהבבלוקים באורך קבוע

כפולה של גודל סקטור )נע בין512B – 4KB)

המשתמש מצהיר על גודלהקובץ עם יצירתו.

מחפשים בלוקים רצופיםשיכולים להכיל את הקובץ.

הכניסה במדריך מצביעהלבלוק הראשון בקובץ.

file1file2file3 5

66

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

(2007מערכות הפעלה )אביב © חגית עטיה 8

מיפוי קבצים: הקצאה רציפה גישה מהירה )סדרתית

וישירה(שיברור פנימי וחיצוניקשה להגדיל קובץ

file1file2file3 5

66

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

(2007מערכות הפעלה )אביב © חגית עטיה 9

מיפוי קבצים: הקצאה משורשרת כל בלוק מצביע לבלוק

הבא. הכניסה במדריך מצביעה

file1לבלוק הראשון בקובץ

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

(2007מערכות הפעלה )אביב © חגית עטיה 10

מיפוי קבצים: הקצאה משורשרת.קל להגדיל קובץ.מעט שיברור חיצוני גישה איטית, בעיקר

לגישה ישירה. שימוש בבלוקים גדולים

מקטין את הבעיה, אך מגדיל שיברור פנימי.

שיבוש מצביע בבלוקגורם לאיבוד חלקים של

קובץ.

file1

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

(2007מערכות הפעלה )אביב © חגית עטיה 11

הקצאה משורשרת: מצב הדיסק

מדריך

סוףהתחלהקובץ

foo 814

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

(2007מערכות הפעלה )אביב © חגית עטיה 12

File Allocation Table (FAT) החזקת שרשרת המצביעים

בנפרד.

file1

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

(2007מערכות הפעלה )אביב © חגית עטיה 13

File Allocation Table (FAT) .החזקת שרשרת המצביעים בנפרד בעצם, טבלה שמתארת את התוכן של

הדיסק כולו. מצביע הקובץ )במדריך( מראה על

הכניסה הראשונה.

MS-DOS.

file1

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

(2007מערכות הפעלה )אביב © חגית עטיה 14

FATמגבלות של 216הטבלה נמצאת במקום נוח בדיסק / זיכרון ראשי, ומכילה

ביטים(16כניסות )אינדקס של 232 בגרסת FAT-32

.כאשר גדלים הדיסקים, גודל החתיכות גדל 6.4דיסק שלGB 100 היה מחולק לחתיכות שלKB אך במציאות(

(2GB מעל FAT-32משתמשים ב- הוא שכיח(.10-20%מגדיל את השיברור הפנימי )בזבוז של

.כל קובץ דורש לפחות חתיכה אחת 64לכל היותרK-קבצים ב FAT, 4G-ב FAT-32.

טבלת הFAT.מהווה משאב קריטי .צוואר בקבוק בגישהלאובדן הטבלה או לפגיעה בה יש משמעות קטסטרופאלית

...ולכן היא מוחזקת בשני עותקים

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

(2007מערכות הפעלה )אביב © חגית עטיה 15

מיפוי קבצים: אינדקס המשתמש מצהיר על

גודל קובץ מקסימלי. המצביעים לבלוקים

מרוכזים בשטח רצוף משפר במקצת את זמן

הגישה הישירה לעומת הקצאה משורשרת.

צריך להצהיר מראש עלגודל קובץ

file1

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

(2007מערכות הפעלה )אביב © חגית עטיה 16

אינדקס: מצב הדיסק

מדריך

בלוק אינדקסקובץ

foo 15

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

(2007מערכות הפעלה )אביב © חגית עטיה 17

מיפוי קבצים: אינדקס מרובה רמות

modeownerstimestamps#blocks…

inodedirectoryfile1file2file3file4

directblocks

single indirectiondouble indirectiontriple indirection

datadatadata

datadata

datadatadata

data

data

data

data

data

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

(2007מערכות הפעלה )אביב © חגית עטיה 18

Unix 4.1מבנה מערכת הקבצים ב inodes )index nodes(.אינם מדריכים מדריכים הינם קבצים רגילים אשר ממפים שמות

.inodesקבצים ל

לאחר שימוש ממושך במערכת הקבצים:.בלוקים שונים של אותו קובץ נמצאים רחוק זה מזהinodes ובלוקי אינדקס נמצאים רחוק מבלוקים של

מידע.

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

(2007מערכות הפעלה )אביב © חגית עטיה 19

Unix 4.2 Fast File System (FFS)

.)קבוצות של צילינדרים קרובים )על הדיסק:בתוך אותה קבוצת צילינדרים משתדלים לשים

בלוקים של אותו קובץ כולל( בלוקים של אותו מדריךinodes.)

:בתוך קבוצות שונות שמים.בלוקים של קבצים ממדריכים שונים

מקום פנוי בכל קבוצת צילינדרים.10%~שומרים על

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

(2007מערכות הפעלה )אביב © חגית עטיה 20

bitmapניהול בלוקים פנויים: .מערך ובו סיבית לכל בלוק

0 ;הבלוק פנוי.1 – הבלוק תפוס

.מאוחסן במקום קבוע בדיסק.עותק בזיכרון הראשי, ליעילות

4עם בלוקים שלKB נזדקק לבלוק של , בלוקים. 4096*8ביטים עבור

.קל לזהות רצף של בלוקים פנויים

0

1

0

1

1

0

1

1

1

0

1

1

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

(2007מערכות הפעלה )אביב © חגית עטיה 21

ניהול בלוקים פנויים:רשימה מקושרת

.מציאת בלוק פנוי בודד מהירה:הקצאה של מספר בלוקים לאותו קובץ

.במקומות המרוחקים זה מזה מציאת הבלוקים מחייבת תזוזות של

הדיסק.

מבנה הנתונים נהרס אם בלוק באמצעהרשימה השתבש.

בFAT הבלוקים הפנויים מנוהלים ,כקובץ אחד.

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

(2007מערכות הפעלה )אביב © חגית עטיה 22

ניהול בלוקים פנויים: קיּבּוץ שימוש ברשימה מקושרת של

אלמנטים: grouping כל אלמנט מכיל טבלה של -

מצביעים לבלוקים פנויים רצופים ומצביע לאלמנט הבא

counting כל אלמנט מכיל מצביע – לבלוק הפנוי הראשון מקבוצת בלוקים

פנויים רצופים, מספר הבלוקים בקבוצה ומצביע לאלמנט הבא

ניתן למצוא בצורה יעילה מספר גדולשל בלוקים פנויים ורציפים.

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

(2007מערכות הפעלה )אביב © חגית עטיה 23

אמינות-המידע בדיסק מתחלק ל

user data.)נתוני המשתמש )בתוך הקבצים :metadata.מידע על ארגון הקבצים :

,בלוקים של אינדקסinodes...

איבוד/שיבושmetadata עלול לגרום לאיבוד user data.רב .נפילת חשמל באמצע כתיבה עלולה לשבש את הסקטור שכעת נכתב

?מתי כתיבות עוברות מהזיכרון הראשי לדיסקwrite-through.כל כתיבה עוברת מיידית לדיסק – write-back.הדיסק מעודכן באופן אסינכרוני, אולי לא לפי סדר –

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

(2007מערכות הפעלה )אביב © חגית עטיה 24

Unixאמינות נתוני המשתמש ב- במערכותUnix משתמשים במדיניות write-back

.נתוני המשתמש נכתבים באופן מחזורי לדיסק תואם את סמנטיקתPOSIX. פקודותfsync, sync מאלצות לכתוב את הבלוקים

המלוכלכים לדיסק.

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

(2007מערכות הפעלה )אביב © חגית עטיה 25

metadataאמינות ה- משתמשים במדיניותwrite-through

עדכונים נכתבים מידית לדיסק

נתונים מסוימים נשמרים במספר עותקים-למשל, שורש הfile system

כאשר מערכת הקבצים עולה אחרי נפילה, מתקניםאת מבני הנתונים.

במערכות קבצים מסוימות, דורש מעבר על כל הדיסקScanDisk, fsck )file system check(

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

(2007מערכות הפעלה )אביב © חגית עטיה 26

(logging)רישום -שיטה יעילה לתחזוקת הmetadata

-מוכרת גם כjournaling-רושמים בlog סדרתי את העדכונים לפני שהם

(.write-ahead loggingנכתבים לדיסק ).הבלוקים שהשתנו נכתבים לדיסק לאחר-מכן

.אולי לא לפי הסדר.אפשר לקבץ מספר שינויים ולכתוב אותם בכתיבה אחת

-ניתן למחוק מהlog.עדכונים שכבר נכתבו לדיסק

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

(2007מערכות הפעלה )אביב © חגית עטיה 27

logהתאוששות עם -לאחר נפילה, עוברים על כל הכניסות בlog

.בצע את הפעולה ביצוע נוסף של פקודה שהתבצעה במלואה או חלקית נותן תוצאה

.(idempotent)שקולה לביצוע הפעולה המקורית

-אם הכניסה האחרונה בlog אינה שלמה, מתעלמים ממנה.

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

(2007מערכות הפעלה )אביב © חגית עטיה 28

loggingיתרונות וחסרונות של כתיבה לדיסק באופן אסינכרוני.התאוששות יעילה

תלויה במספר השינויים שלא נכתבו לדיסק, ולא בגודלמערכת הקבצים.

.דורש כתיבות נוספות.בערך מכפיל את מספר הכתיבות

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

(2007מערכות הפעלה )אביב © חגית עטיה 29

שיטות נוספות לשיפור ביצועים ניתן לשפר ביצועים ע"יCaching

שמירת חלק מהבלוקים הכי שימושיים בזכרון הראשיdisk cacheבמטמון מיוחד המנוהל ע"י מ"ה -

שמירתmetadataבזכרון הראשי

( read-ahead )PrefetchingReducing disk arm motion

לשים בלוקים שניגשים אליהם ביחד אחד ליד השני בדיסק