How To Build An Operating System: Page Frame Allocation- Part 08

Managing available memory

    extern kernel_virtual_start
extern kernel_virtual_end
extern kernel_physical_start
extern kernel_physical_end

; ...

push kernel_physical_end
push kernel_physical_start
push kernel_virtual_end
push kernel_virtual_start

call kmain
    void kernel_virtual_start(void);

/* ... */

unsigned int vaddr = (unsigned int) &kernel_virtual_start;

Accessing a Page Frame

(768 << 22) | (1023 << 12) | 0x000 = 0xC03FF000

--

--

--

Software Engineering Undergraduate at University of Kelaniya

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

AWS Deployment publish logs to central Log account with EFK.

Apache Kafka Optimization

Prometheus Exporter for Particle

Lenovo T420s

Weekly Update #7

Ansible as Infrastructure as Code tool for deployment of Azure resources

Static & Dynamic Libraries (in C)

Abby’s 2021 Year in Review

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Pubudu Wickramathunge

Pubudu Wickramathunge

Software Engineering Undergraduate at University of Kelaniya

More from Medium

Practical tracing: a final recap

Interacting with OCI Object Storage using Go SDK (first steps)

Securing a Container: How to Clean Up Docker Images and Why Limit Runtimes

Theoretical of Docker