Page directory given to process by the OS:
entry index   entry address      page table address  present
-----------   ----------------   ------------------  --------
0             CR3 + 0      * 4   0x10000             1
1             CR3 + 1      * 4                       0
2             CR3 + 2      * 4   0x80000             1
3             CR3 + 3      * 4                       0
...
2^10-1        CR3 + 2^10-1 * 4                       0
Page tables given to process by the OS at PT1 = 0x10000000 (0x10000 * 4K):
entry index   entry address      page address  present
-----------   ----------------   ------------  -------
0             PT1 + 0      * 4   0x00001       1
1             PT1 + 1      * 4                 0
2             PT1 + 2      * 4   0x0000D       1
...                                  ...
2^10-1        PT1 + 2^10-1 * 4   0x00005       1
Page tables given to process by the OS at PT2 = 0x80000000 (0x80000 * 4K):
entry index   entry address     page address  present
-----------   ---------------   ------------  ------------
0             PT2 + 0     * 4   0x0000A       1
1             PT2 + 1     * 4   0x0000C       1
2             PT2 + 2     * 4                 0
...
2^10-1        PT2 + 0x3FF * 4   0x00003       1
where PT1 and PT2: initial position of page table 1 and page table 2 for process 1 on RAM.
With that setup, the following translations would happen:
linear    10 10 12 split  physical
--------  --------------  ----------
00000001  000 000 001     00001001
00001001  000 001 001     page fault
003FF001  000 3FF 001     00005001
00400000  001 000 000     page fault
00800001  002 000 001     0000A001
00801004  002 001 004     0000C004
00802004  002 002 004     page fault
00B00001  003 000 000     page fault
Let's translate the linear address 0x00801004 step by step:
  • In binary the linear address is:
    0    0    8    0    1    0    0    4
    0000 0000 1000 0000 0001 0000 0000 0100
  • Grouping as 10 | 10 | 12 gives:
    0000000010 0000000001 000000000100
    0x2        0x1        0x4
    which gives:
    page directory entry = 0x2
    page table     entry = 0x1
    offset               = 0x4
    So the hardware looks for entry 2 of the page directory.
  • The page directory table says that the page table is located at 0x80000 * 4K = 0x80000000. This is the first RAM access of the process.
    Since the page table entry is 0x1, the hardware looks at entry 1 of the page table at 0x80000000, which tells it that the physical page is located at address 0x0000C * 4K = 0x0000C000. This is the second RAM access of the process.
  • Finally, the paging hardware adds the offset, and the final address is 0x0000C004.
Page faults occur if either a page directory entry or a page table entry is not present.
The Intel manual gives a picture of this translation process in the image "Linear-Address Translation to a 4-KByte Page using 32-Bit Paging": Figure 1. "x86 page translation process"
Figure 1.
x86 page translation process
.
Tangible asset by Ciro Santilli 37 Updated +Created
Stars nearest to the Sun by Ciro Santilli 37 Updated +Created
Figure 2.
Distance of stars nearest to the Sun as function of time
. Source.
Some notable ones:
SQL transaction isolation level by Ciro Santilli 37 Updated +Created
Each transaction isolation level specifies what can or cannot happen when two queries are being run in parallel, i.e.: the memory semantics of the system.
Remember that queries can affects thousands of rows, and database systems like PostgreSQL can run multiple such queries at the same time.
JOIN (SQL) by Ciro Santilli 37 Updated +Created
PostgreSQL by Ciro Santilli 37 Updated +Created
Had a look at the source tree, and also felt good.
If Oracle is the Microsoft of database, Postgres is the Linux, and MySQL (or more precisely MariaDB) is the FreeBSD (i.e. the one that got delayed by legal issues). Except that their software licenses were accidentally swapped.
The only problem with Postgres is its name. PostgreSQL is so unpronounceable and so untypeable that you should just call it "Postgres" like everyone else.
Tunnel magnetoresistance by Ciro Santilli 37 Updated +Created
Video 1.
What is spintronics and how is it useful? by SciToons (2019)
Source. Gives a good 1 minute explanation of tunnel magnetoresistance.
Emission theory (vision) by Ciro Santilli 37 Updated +Created
It is so mind blowing that people believed in this theory. How can you think that, when you turn on a lamp and then you see? Obviously, the lamp must be emitting something!!!
Then comes along this epic 2002 paper: pubmed.ncbi.nlm.nih.gov/12094435/ "Fundamentally misunderstanding visual perception. Adults' belief in visual emissions". TODO review methods...
Metastable electron by Ciro Santilli 37 Updated +Created
SARS-CoV-2 structural protein by Ciro Santilli 37 Updated +Created
Jack Hidary by Ciro Santilli 37 Updated +Created
Deltaflow.OS by Ciro Santilli 37 Updated +Created
React JSX by Ciro Santilli 37 Updated +Created
Azimuthal quantum number by Ciro Santilli 37 Updated +Created
The direction however is not specified by this number.
To determine the quantum angular momentum, we need the magnetic quantum number, which then selects which orbital exactly we are talking about.
Advanced quantum field theory lecture by Tobias Osborne (2017) by Ciro Santilli 37 Updated +Created
When the word "advanced" precedes QFT, you know that the brainrape is imminent!!!
Big goal: explain the Standard Model.
Homodimer by Ciro Santilli 37 Updated +Created
Venus by Ciro Santilli 37 Updated +Created
Uranus by Ciro Santilli 37 Updated +Created
The first planet not known since antiquity.
Photon polarization by Ciro Santilli 37 Updated +Created
The knowledge that light is polarized precedes the knowledge of the existence of the photon, see polarization of light for the classical point of view.
The polarization state and how it can be decomposed into different modes can be well visualized with the Poincaré sphere.
One key idea about photon polarization is that it carries angular momentum. Therefore, when an electron changes orbitals in the Schrödinger equation solution for the hydrogen atom, the angular momentum (as well as energy) change is carried out by the polarization of the photon!
Video 1.
Quantum Mechanics 9b - Photon Spin and Schrodinger's Cat II by ViaScience (2013)
Source.

Unlisted articles are being shown, click here to show only listed articles.