April 4, 2021 | os, osdev, programming, synchronization

tags Operating Systems Programming Computer Science Notes from the Little book of Semaphores (Downey 2008). Shared variables # Many applications enforce the constraint that the reader should not read until after the writer writes, this is because the reader may read an old value if the writer hasn’t written to the variable yet A thread may also interact as concurrent writes (two or more writers) and concurrent updates (two or more threads performing a read followed by a write) Think about what paths (execution paths) are possible and what are the possible effects. ...

Awesome Operating Systems

February 9, 2021 | os

tags Operating Systems Another awesome list of available Operating System. This is an ongoing list and gets updated from time to time. Unix-like # Microkernel # Minix 3: MINIX 3 is a free, open-source, operating system designed to be highly reliable, flexible, and secure. It is based on a tiny microkernel running in kernel mode with the rest of the operating system running as a number of isolated, protected, processes in user mode. ...

Notes on OS memory management

November 27, 2020 | os, mmu

tags Operating Systems Memory management requirements # Some the requirements that memory management is intended to satisfy are: Relocation Protection Sharing Logical organization Physical organization

Translating Virtual addresses

November 21, 2020 | os, architecture

tags Computer Architecture Operating Systems Translating virtual address space in RISCV in Sv39 Virtual address: 0x7d_beef_cafe Virtual address in binary: 0b0111_1101_1011_1110_1110_1111_1100_1010_1111_1110 VPN[2] VPN[1] VPN[0] 12-bit offset 1_1111_0110 1_1111_0111 0_1111_1100 1010_1111_1110 502 503 252