מבנה כללי של היררכיית הקבצים עבור המסלול /A/B.txt

Slides:



Advertisements
מצגות קשורות
מבוא לביואינפורמטיקה יואלה יריב רוברט בצאם 17.june.2002.
Advertisements

הכרת תוכנת בקרים. כניסה לתוכנה תתבצע בשלבים הבאים: 1
Practical Session 11 File Systems, part 2
תכנות בשפת C תרגול 11 - קבצים.
© Keren Kalif JPA קרן כליף.
נושא השקופית מס' השקופית
השתלמות מורים לפיזיקה בראשית דרכם יום רביעי 03 דצמבר 2008
מבנה מחשבים ספרתיים זיכרון מטמון - המשך
מבוא לתכנות ב-JAVA מעבדה 1
סוגים של מזגנים.
HTML שפת Hyper Text Markup Language
תרגול 11: רקורסיה ופיתוח טלסקופי
נערך ע"י אריק הוד, הגימנסיה העברית הרצליה
ייצוג קבוצות מתוחכם עצי חיפוש בינאריים BINARY SEARCH TREES
OOO Execution of Memory Operations
יצוג קבוצות מתוחכם עצי חיפוש בינאריים BINARY SEARCH TREES
תירגול 10: מבנים (structs) וקבצים
Marina Kogan Sadetsky –
Jump tables, review questions
מבוא למדעי המחשב הרצאה מספר 12: רקורסיה
תכנות בשפת C תרגול 11 רשימות מקושרות מבנים
פוטנציאל חשמלי קובץ זה נועד אך ורק לשימושם האישי של מורי הפיזיקה ולהוראה בכיתותיהם. אין לעשות שימוש כלשהו בקובץ זה לכל מטרה אחרת ובכלל זה שימוש מסחרי;
תירגול 11: מיונים וחיפוש בינארי
תלמידים יקרים, נגמרה החופשה והגיע הזמן עורר את תאי המוח שלנו
חשבון זה הוא חלק ממוצרי 365 ומקושר לתיבת המייל
תהליך ההרשמה לבעלי אימייל של המכללה, ניתן להכנס לכתובת הבאה וליצור חשבון:
S. Even, "Graph Algorithms", Computer Science Press, 1979
Carry Save Adder (CSA).
סוכרים דו-סוכרים פרוקטוז קשר גליקוזידי חד-סוכרים קטוניים זיהוי סוכרים
שימור תנע בהתנגשויות קובץ זה נועד אך ורק לשימושם האישי של מורי הפיזיקה ולהוראה בכיתותיהם. אין לעשות שימוש כלשהו בקובץ זה לכל מטרה אחרת ובכלל זה שימוש מסחרי;
© האוניברסיטה העברית בירושלים, 2008
מקורות שדה מגנטי קובץ זה נועד אך ורק לשימושם האישי של מורי הפיזיקה ולהוראה בכיתותיהם. אין לעשות שימוש כלשהו בקובץ זה לכל מטרה אחרת ובכלל זה שימוש מסחרי;
© המרכז להוראת המדעים האוניברסיטה העברית בירושלים
אימון הרשת ע"י שימוש באלגוריתם Back Propagation
Internet Resources Discovery (IRD)
זיכרון מטמון 1 מבנה מחשבים ספרתיים
זיכרון מטמון 2 מבנה מחשבים ספרתיים
Harel Mazor Open Source GIS Meetup / 11-jun-2018 / Tel-Aviv
הכנה למבחן.
יישומון הר לעמק 2019 הוראות הפעלה.
מבוא לתכנות למערכות מידע
מבנה מחשבים ספרתיים זכרון וירטואלי מבוסס על תרגול של מורן גביש
Computer Architecture and System Programming Laboratory
כל הזכויות שמורות לגבריאל אנקרי © 2017
Branch Prediction בעריכת אורן קצנגולד Updated by Franck Sala.
תרגול 13 : חזרה נכתב על-ידי לימור ליבוביץ נערך ע"י ישראל גוטר
Openstreetmap העולם שייך לכולם.
Marina Kogan Sadetsky –
CLI vs GUI.
מת"מ מעבדה 7-8 רשימות.
ברוך הבא למערכת גמל אינפו
העליות לארץ ישראל.
© המרכז להוראת המדעים האוניברסיטה העברית בירושלים
Proquest Central
תרגול 12: backtracking.
מצביעים Pointers – המשך...
הקלד את פרטי האירוע כאן.
הזרם במסגרת מוליכה הנעה באזור בו שורר שדה מגנטי
אמנות שהיא לרגע ואמנות שמנציחה רגע מוגש על ידי: עמית לונדנר
Data Structures, CS, TAU, Perfect Hashing
מעבדה 2- עיצוב (עבור חלק ג)
תרגול מס' 2: Data and Control Hazards
מבנה מחשבים ספרתיים תרגול מס' 4: זכרון מטמון 2.
מערכת הערעורים מסכי סטודנטים.
תכניות סטנדרטיות ב- UNIX שאלות ממבחנים
רקורסיה ופתרונות רקורסיביים
Java Programming רשימות מקושרות - המשך
Engineering Programming A
רשימות מקושרות עבודה עם קבצים דוגמה
הדרכה לשימוש במאגרי.
תמליל מצגת:

מבנה כללי של היררכיית הקבצים עבור המסלול /A/B.txt Process descriptor root dentry Inode object Inode object Inode object dir dir file d_inode fs.root data data data data data data “Hello” A B.txt

נניח שיצרנו קובץ /A/B.txt ואז יצרנו עוד Hardlink אליו בנתיב /C/BH.txt Process descriptor root dentry Inode object Inode object Inode object dir dir file d_inode fs.root data data data data data data “Hello” A B.txt C Inode object dir data data BH.txt

נניח שיצרנו קובץ /A/B.txt ואז יצרנו עוד Softlink אליו בנתיב /C/BS.txt Process descriptor root dentry Inode object Inode object Inode object dir dir file d_inode fs.root data data data data data data “Hello” A B.txt C Inode object Inode object dir file data data data data “/A/B.txt” BS.txt

איך עוזרים לנו dentries ו-?dentry cache נניח את היררכיית הספריות הנתונה, רוצים לגשת ל/E/E5. עבור כל צומת בנתיב לחיפוש, עוברים על כל הבנים בדיסק עד שמוצאים את הצומת הרצוי בנתיב ומייצרים עבורו dentry (וגם inode object מתאים). מכניסים את כל הdentries לdentry cache שהוא hash table ולכן מציאת dentry בו היא בO(1). עבור מציאת המסלול הרצוי לנו עברנו על כל הצמתים חוץ מהroot כלומר על 10 צמתים. / A B C D E Dentry cache E1 E2 E3 E4 E5 E->/ E5->E

איך עוזרים לנו dentries ו-?dentry cache פעם הבאה שתהליך ירצה לפתוח את הקובץ הזה באותו מסלול, הוא ימצא את כל המסלול בdentry cache ולא יבצע אפילו גישה אחת לדיסק אלא סדר גודל של 3 גישות לזיכרון לdentry cache. כל אחת תמצא את הdentry המתאים בO(1). / A B C D E Dentry cache E1 E2 E3 E4 E5 E->/ E5->E

איך עוזרים לנו dentries ו-?dentry cache אבל זה עוד לא הכל! מה אם היינו רוצים לגשת עכשיו ל/E/E4? היינו מוצאים את ה dentry של E בdentries cache וחוסכים את החיפוש עבורו בגלל הגישה הקודמת לE5! / A B C D E Dentry cache E1 E2 E3 E4 E5 E->/ E5->E E4->E

NTFS Superblock object דוגמא ספציפית של ביצוע חיפוש במסלול נתון מצב מערכת הקבצים המתואר באיור: מערכת הקבצים הראשית היא ext3 בספריה /E/ הרכיבו מערכת קבצים NTFS הקובץ E1 הוא קישור סימבולי למסלול /E/E5 מצב dentry cache הוא כמתואר באיור (dentries קיימים מסומנים בריבוע אדום) כעת נראה את ביצוע החיפוש במסלול /E/E1. Ext3 Superblock object Ext3 mount point / A B C D E NTFS Superblock object NTFS mount point Softlink Dentry cache E1 E5 E->/ E5->E /E/E1

NTFS Superblock object במהלך האלגוריתם משתמשים בשני שדות עיקריים: dentry – כתובת אובייקט ה-dentry של המדריך הנוכחי mnt – מצביע ל-superblock של מערכת הקבצים של המדריך הנוכחי dentry Ext3 Superblock object Ext3 mount point / mnt A B C D E NTFS Superblock object NTFS mount point Softlink Dentry cache E1 E5 E->/ E5->E /E/E1

NTFS Superblock object מסתכלים על שם הקובץ הבא במסלול מחפשים את שם הקובץ במטמון dentry. אם לא מצאנו, נדרשת גישה לדיסק ויצירת dentry חדש. dentry Ext3 Superblock object Ext3 mount point / mnt A B C D E NTFS Superblock object NTFS mount point Softlink Dentry cache E1 E5 E5->E E->/ /E/E1 E

NTFS Superblock object בודקים אם ה-dentry החדש מהווה נקודת הרכבה למערכת קבצים כלשהי. במידה וכן, נעדכן את mnt להצביע למערכת קבצים זו, ואת dentry להצביע למדריך הראשי שלה. Ext3 Superblock object Ext3 mount point / mnt dentry A B C D E NTFS Superblock object NTFS mount point Softlink Dentry cache E1 E5 E5->E E->/ /E/E1

NTFS Superblock object מסתכלים על שם הקובץ הבא במסלול מחפשים את שם הקובץ במטמון dentry. אם לא מצאנו, נדרשת גישה לדיסק ויצירת dentry חדש. Ext3 Superblock object Ext3 mount point / dentry A B C D E NTFS Superblock object mnt NTFS mount point Softlink Dentry cache E1 E5 E5->E E->/ /E/E1 /E1 ?

NTFS Superblock object מסתכלים על שם הקובץ הבא במסלול מחפשים את שם הקובץ במטמון dentry. אם לא מצאנו, נדרשת גישה לדיסק ויצירת dentry חדש. Ext3 Superblock object Ext3 mount point / dentry A B C D E NTFS Superblock object mnt NTFS mount point Softlink Dentry cache ניגשים לדיסק ומייצרים dentry חדש ומוסיפים אותו למטמון E1 E5 E5->E E->/ /E/E1 E1->E

NTFS Superblock object מסתכלים על שם הקובץ הבא במסלול מחפשים את שם הקובץ במטמון dentry. אם לא מצאנו, נדרשת גישה לדיסק ויצירת dentry חדש. Ext3 Superblock object Ext3 mount point / A B C D E NTFS Superblock object mnt NTFS mount point Softlink Dentry cache E1 E5 E5->E dentry E->/ /E/E1 E1->E

NTFS Superblock object בודקים האם ה-inode של ה-dentry החדש מייצג קישור סימבולי משתמשים בפונקציית החיפוש במסלול כדי למצוא את ה-dentry אליו מצביע הקישור הסימבולי (קריאה רקורסיבית). Ext3 Superblock object Ext3 mount point / A B C D E NTFS Superblock object mnt NTFS mount point Softlink Dentry cache E1 E5 E5->E dentry E->/ /E/E1 /E/E5 E1->E

NTFS Superblock object בודקים האם ה-inode של ה-dentry החדש מייצג קישור סימבולי משתמשים בפונקציית החיפוש במסלול כדי למצוא את ה-dentry אליו מצביע הקישור הסימבולי (קריאה רקורסיבית). Ext3 Superblock object Ext3 mount point / A B C D E NTFS Superblock object mnt NTFS mount point Softlink Dentry cache E1 E5 E5->E dentry E->/ /E/E1 /E/E5 / E1->E

NTFS Superblock object בודקים האם ה-inode של ה-dentry החדש מייצג קישור סימבולי משתמשים בפונקציית החיפוש במסלול כדי למצוא את ה-dentry אליו מצביע הקישור הסימבולי (קריאה רקורסיבית). dentry Ext3 Superblock object Ext3 mount point / mnt A B C D E NTFS Superblock object NTFS mount point Softlink Dentry cache E1 E5 E5->E E->/ /E/E1 /E/E5 E1->E

NTFS Superblock object בודקים האם ה-inode של ה-dentry החדש מייצג קישור סימבולי משתמשים בפונקציית החיפוש במסלול כדי למצוא את ה-dentry אליו מצביע הקישור הסימבולי (קריאה רקורסיבית). Ext3 Superblock object Ext3 mount point / dentry A B C D E NTFS Superblock object mnt NTFS mount point Softlink Dentry cache E1 E5 E5->E E->/ /E/E1 /E/E5 E1->E

NTFS Superblock object נמשיך עד שנגיע לשם הקובץ האחרון במסלול, וה-inode של ה-dentry האחרון הוא זה שחיפשנו. Ext3 Superblock object Ext3 mount point / A B C D E NTFS Superblock object mnt NTFS mount point Softlink Dentry cache E1 E5 dentry E5->E E->/ /E/E1 /E/E5 E1->E