{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}


hw10_xv6_disk - writei(data block bwrite sector 3...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
Homework: Files and Disk I/O Read : bio.c, fd.c, fs.c, and ide.c This homework should be turned in at the beginning of lecture. File and Disk I/O Insert a print statement in bwrite so that you get a print every time a block is written to disk: cprintf("bwrite sector %d\n", sector); Build and boot a new kernel and run these three commands at the shell: echo >a echo >a rm a mkdir d (You can try rm d if you are curious, but it should look almost identical to rm a .) You should see a sequence of bwrite prints after running each command. Record the list and annotate it with the calling function and what block is being written. For example, this is the second echo >a : $ echo >a bwrite sector 121
Background image of page 1
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: # writei (data block) bwrite sector 3 # iupdate (inode block) $ Hint: the easiest way to get the name of the calling function is to add a string argument to bwrite, edit all the calls to bwrite to pass the name of the calling function, and just print it. You should be able to reason about what kind of block is being written just from the calling function. You need not write the following up, but try to understand why each write is happening. This will help your understanding of the file system layout and the code. This completes the homework. This assignment requires the files xv6.pdf and xv6_rev0.zip. You may download them from the Assignments page....
View Full Document

{[ snackBarMessage ]}

Ask a homework question - tutors are online