Advanced Operating Systems
COMP9242 2012/S2 |
UNSW
CRICOS Provider Number: 00098G |
Printer-Friendly
Version
|
M8: ELF LoadingThis requires that when creating a process, its code and data section are loaded from the file system into some free memory, and a page table is set up which will satisfy page faults to the text and data sections from the correct frames. The OS's loader must interpret the contents of the executable file (in ELF format). Sample code for reading ELF files is provided. By this final milestone you should ensure that all I/O is asynchronous. This means that your system must not block waiting on completion of file system or paging I/O, but should be able to run any process that is ready while other processes are blocked on I/O completion. CodeYou have been supplied with code to handle parsing ELF
files. You will need to modify You will need to remove your applications from the dite image such that it only includes the rootserver and other applicable binaries (not sosh or your test applications): - sos-package: ADDITIONAL_IMAGES=${STAGE_BASE}/bin/${SOS_STARTUP_APP} + sos-package: ADDITIONAL_IMAGES=
You will also need to modify the top level Makefile to
automatically copy your executable files into your NFS
directory ( Design issuesOne design decision is whether to load the whole executable image on process creation, or instead load page-wise on demand at page-fault time. AssessmentYou will demonstrate (by running a Last modified: 24 Jul 2012. |