Let's take an example and hope you will be able to explain me it

# Scenario 1
Our kernel is 590 bytes long. Kernel is loaded into 0xA000.
Page directory and page table with 3 records is being created (3*4KB=12KB).
CR3 is being loaded with proper value of page directory linear address.
Paging is active.
What now ?
I may put some data to these 12KB ? How to access it ? Or shall i copy my program (cs) or data segment (ds) there ? How and what for is it right there ?
# Scenario 2
Let's say I have 3 tasks: task0, task1, task2
Task0 is being loaded (by LTR instruction).
All 3 tasks have their own page tables created with such memory:
task0 -> 1 page = 4KB
task1 -> 3 pages = 3*4=12KB
task2 -> 2 pages = 2*4=8KB
Each TSS has defined CR3 with correct page directory entery.
All seems to be working fine (no exception

TSSs has defined their own CS/DS segment and also EIP.
How paging is working here ? Is paging some free space memory to use (stack?) or what else may it be ?
Please describe me how "paging" is working, becouse atm i know how to implement it but i don't know how is it working at all... thank you very much!