NuNET Updated 2025-07-16
Relativistic particle in a box thought experiment Updated 2025-07-16
Described for example in lecture 1.
SQL
genenerate_series
Updated 2025-07-16 SQL transaction isolation level Updated 2025-07-16
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.
Implementation specifics:
Type-II superconductor Updated 2025-07-16
Particle decay Updated 2025-07-16
Can produce two entangled particles.
x86 Paging Tutorial Application Updated 2025-07-16
Paging makes it easier to compile and run two programs or threads at the same time on a single computer.
For example, when you compile two programs, the compiler does not know if they are going to be running at the same time or not.
And thread stacks, that must be contiguous and keep growing down until they overwrite each other, are an even bigger issue!
But if two programs use the same address and run at the same time, this is obviously going to break them!
Paging solves this problem beautifully by adding one degree of indirection:
(logical) ------------> (physical)
paging
Where:
As far as programs are concerned, they think they can use any address between 0 and 4 GiB (2^32,
FFFFFFFF
) on 32-bit systems.The OS then sets up paging so that identical logical addresses will go into different physical addresses and not overwrite each other.
This makes it much simpler to compile programs and run them at the same time.
Paging achieves that goal, and in addition:
- the switch between programs is very fast, because it is implemented by hardware
- the memory of both programs can grow and shrink as needed without too much fragmentation
- one program can never access the memory of another program, even if it wanted to.This is good both for security, and to prevent bugs in one program from crashing other programs.
Or if you like non-funny jokes:
Comparison between the Linux kernel userland memory virtualization and The Matrix
. Source. Is this RAM real? x86 Paging Tutorial ARM Updated 2025-07-16
Information about ARM paging can be found at: cirosantilli.com/linux-kernel-module-cheat#arm-paging
x86 Paging Tutorial Basic TLB operation Updated 2025-07-16
After a translation between linear and physical address happens, it is stored on the TLB. For example, a 4 entry TLB starts in the following state:
valid linear physical
----- ------ --------
> 0 00000 00000
0 00000 00000
0 00000 00000
0 00000 00000
The
>
indicates the current entry to be replaced.And after a page linear address and after a second translation of
00003
is translated to a physical address 00005
, the TLB becomes: valid linear physical
----- ------ --------
1 00003 00005
> 0 00000 00000
0 00000 00000
0 00000 00000
00007
to 00009
it becomes: valid linear physical
----- ------ --------
1 00003 00005
1 00007 00009
> 0 00000 00000
0 00000 00000
Agilent Technologies oscilloscope Updated 2025-07-16
Closure table Updated 2025-07-16
Krusader Updated 2025-07-16
The most powerful GUI file manager ever?? Infinite configurability??
Ciro Santilli wasted some time on it before he gave up on file managers altogether and started using only the CLI with a few aliases.
Lagrange's four-square theorem Updated 2025-07-16
Nash equilibrium Updated 2025-07-16
The best example to look at first is the penalty kick left right Nash equilibrium.
Then, a much more interesting example is choosing a deck of a TCG competition: Magic: The Gathering meta-based deck choice is a bimatrix game, which is the exact same, but each player has N choices rather than 2.
The next case that should be analyzed is the prisoner's dilemma.
The key idea is that:
- imagine that the game will be played many times between two players
- if one player always chooses one deck, the other player will adapt by choosing the anti-deck
- therefore, the best strategy for both players, is to pick decks randomly, each with a certain probability. This type of probabilistic approach is called a mixed strategy
- if any player deviates from the equilibrium probability, then the other player can add more of the anti-deck to the deck that the other player deviated, and gain an edgeTherefore, using equilibrium probabilities is the optimal way to play
SQLite import CSV Updated 2025-07-16
Steven Pruitt Updated 2025-07-16
Wikipedia edit request Updated 2025-07-16
x86 Paging Tutorial CAM Updated 2025-07-16
Using the TLB makes translation faster, because the initial translation takes one access per TLB level, which means 2 on a simple 32 bit scheme, but 3 or 4 on 64 bit architectures.
The TLB is usually implemented as an expensive type of RAM called content-addressable memory (CAM). CAM implements an associative map on hardware, that is, a structure that given a key (linear address), retrieves a value.
Mappings could also be implemented on RAM addresses, but CAM mappings may required much less entries than a RAM mapping.
linear physical
------ --------
00000 00001
00001 00010
00010 00011
FFFFF 00000
x86 Paging Tutorial Copy-on-write Updated 2025-07-16
Those page faults only happen when a process tries to write to the page, and not read from it.
When Linux forks a process:
- instead of copying all the pages, which is unnecessarily costly, it makes the page tables of the two process point to the same physical address.
- it marks those linear addresses as read-only
- whenever one of the processes tries to write to a page, the makes a copy of the physical memory, and updates the pages of the two process to point to the two different physical addresses
Chemiosmosis Updated 2025-07-16
Unlisted articles are being shown, click here to show only listed articles.