Suppose you are designing an operating system on a machine with pages of size 232 bytes (4 GB)….
Suppose you are designing an operating system on a machine with pages of size 232 bytes (4 GB). Suppose that your operating system is going to have a function that allows a user to allocate memory for N by M matrices (2 dimensional arrays). Suppose that the underlying architecture features a 4 kB data cache memory consisting of 16 lines of 256 byte blocks. Recall that the C language has a method void* malloc(N) that searches for and allocates N contiguous bytes of memory in a process’ current page and returns a pointer to the starting memory address of those N bytes. Suppose that your matrix (2D array) allocation function returns a float** pointer and can be implemented in one of two ways:
Attachments:
244153_1_csci530-work.docx