FileBackedLoader is used for memory mappings backed by files, such as
when mmap is called with a regular file. This loader reads data from
the underlying file starting at a specific offset and returns it in a
newly allocated Page.
The offset within the file is determined based on the virtual address
passed to load, relative to the mapping’s start address and offset.
This loader handles partial page reads and fills any unread bytes with
zeroes.
Loads a page from the file based on the given virtual address.
This implementation calculates the offset within the file and reads
up to one page of data into memory. If the read returns fewer than
PAGE_SIZE bytes, the remainder of the page is zero-filled.