1 / 1

Anatomy of an Executable (‘write-boundary’)

Anatomy of an Executable (‘write-boundary’). 12577. On Disk:. 12847. 0. 4096. 8192. 12288. 41721. …. In Virtual Memory:. what load_segment says you should zero. what load_segment says you should read. 8048000. 8049000. 804A000. 804B000. 804C000. 804D000. 804E000. read only.

lavonn
Download Presentation

Anatomy of an Executable (‘write-boundary’)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Anatomy of an Executable (‘write-boundary’) 12577 On Disk: 12847 0 4096 8192 12288 41721 ….. In Virtual Memory: what load_segment says you should zero what load_segment says you should read 8048000 8049000 804A000 804B000 804C000 804D000 804E000 read only read/write Code and Read-Only Data Other sections: Debugging Info, etc. Initialized Global Data Uninitialized Global Data (Must Zero) “impurities” – the content of these areas is undefined as far as the program is concerned. For simplicity, they can be filled with data from the executable – this allows all page-in operation to read 4096 (PGSIZE) bytes from a file offset that is a multiple of PGSIZE. This is useful for filesystems that use a 4096 byte blocksize – you only need to store the block number and have all information for a page-in. Pintos’s load_segment code computes offsets that are multiples of 4096; it also computes for you how many bytes should be read from that offset, as shown above. Not drawn to scale Note: the specific numbers came from an older version of our toolchain; they should be ignored. The principle hasn’t changed.

More Related