Computer Systems Lab
Matteo Corti
Informatikdienste, ETH Z¨ urich
2007-04-30
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 1 / 23
Computer Systems Lab Matteo Corti Informatikdienste, ETH Z urich - - PowerPoint PPT Presentation
Computer Systems Lab Matteo Corti Informatikdienste, ETH Z urich 2007-04-30 Matteo Corti (Informatikdienste, ETH Z urich) Computer Systems Lab 2007-04-30 1 / 23 A simple disk driver bios.c provides a simple disk-driver to access FAT
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 1 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 2 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 3 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 4 / 23
user program fd = open("file"); user space fs driver disk driver ... file pos buffer *internal_data fd
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 5 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 6 / 23
> hexdump -C partition.img ... 00008000 74 65 73 74 20 20 20 20 20 20 20 08 00 00 7d 72 |test ...}r| 00008010 b2 34 b2 34 00 00 7d 72 b2 34 00 00 00 00 00 00 |.4.4..}r.4......| 00008020 41 66 00 69 00 6c 00 65 00 00 00 0f 00 bc ff ff |Af.i.l.e........| 00008030 ff ff ff ff ff ff ff ff ff ff 00 00 ff ff ff ff |................| 00008040 46 49 4c 45 20 20 20 20 20 20 20 20 00 64 7d 72 |FILE .d}r| 00008050 b2 34 b2 34 00 00 7d 72 b2 34 03 00 0d 00 00 00 |.4.4..}r.4......| ... Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 7 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 8 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 9 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 10 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 11 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 12 / 23
nil nil nil nil 8 1 10 42 12 100 150 11
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 13 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 14 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 15 / 23
1This includes growing the heap if b is the last block Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 16 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 17 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 18 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 19 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 20 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 21 / 23
size linking information flags payload payload flags size linking information
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 22 / 23
Matteo Corti (Informatikdienste, ETH Z¨ urich) Computer Systems Lab 2007-04-30 23 / 23