1. In which cases the kernel uses 4 MB pages? or 4 KB pages?
O aplicativo pode se aplicar a uma página grande, o kernel não determinará o tamanho da página, a menos que compile o PAGE_SIZE no código-fonte do kernel. Usar sinalizadores mmap pode determinar o tamanho da página no código-fonte do aplicativo.
2. Which page frame size will be used for kmalloc operations? for vmalloc?
O kmalloc usa o tamanho de página padrão no kernel do Linux, que é PAGE_SIZE no kernel, que é compilado ou determinado em tempo de execução. O mesmo para vmalloc.
3. If we assume that the initial code & data (kernel's segments, provisional Page Tables, and 128 KB for dynamic data) fit in the first 8 MB of RAM (as the example given by the book), what if the real amount of code & data is 5MB only: will the kernel waste 8 - 5 = 3 MB?
O tamanho da memória residual é determinado por PAGE_SIZE e os dados, se o tamanho da página for 4MB, os dados forem 5MB, o tamanho da memória desperdiçada será (PAGE_SIZE * N) - 5MB = 3MB.