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

Python 3.9 — Best Practices and Documentation

Binary Tree

Perfect Off-road Communication System intercom, gopro and Ipad charging

The Basic SQL Commands(Part 1)

Encrypt that SNI: Firefox edition

Automation Testing

What is Grove System Arduino Seeed Studio

what is seed studio grove system for arduino - grove banner

Setting Up Oracle GoldenGate 12

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

Running Redis with resilience in Linux containers on Windows — Part 2

docker network informational commands

Elixir logging to (multiple) file(s) using metadata_filter

How to run Podman with Hashicorp Nomad on Ubuntu 20.04 LTS

Creating JKS or PFX files from cert and private key.