From 80ccf68f55dbb70d7e5ed52ee95b3c9d1b6ce264 Mon Sep 17 00:00:00 2001 From: Jasper Ras Date: Thu, 20 Mar 2025 11:07:49 +0100 Subject: vault backup: 2025-03-20 11:07:48 --- 1 Projects/OSTEP/Three main areas OSTEP.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 1 Projects/OSTEP/Three main areas OSTEP.md (limited to '1 Projects/OSTEP/Three main areas OSTEP.md') diff --git a/1 Projects/OSTEP/Three main areas OSTEP.md b/1 Projects/OSTEP/Three main areas OSTEP.md new file mode 100644 index 0000000..96e1046 --- /dev/null +++ b/1 Projects/OSTEP/Three main areas OSTEP.md @@ -0,0 +1,28 @@ +--- +tags: + - ostep +--- +OS -> manages resources : ram, cpu & disk. Exposes library to interact with said resources. + +**Virtualisation**: a process has the illusion of having seemingly infinite of a finite physical resource all to itself. + +CPU virtualisation: turn the CPU into seemingly infinite. +RAM virtualisation: divides physical ram into spaces and allocates a space to process. This space is called address space. + +==Why? Easier to use.== +==How? Good question. What mechanisms & policies? How to do it efficiently? What hardware support is needed?== +**^ Later notities linken die dit beantwoorden**. + +**Concurrency**: doing more than one thing at a time. Leads to deep problem. Atomicity; 1 thing at a time. +Incrementing is not atomic; 3 processor instructions. Process can be switched during any of these. + +==How to build a correct program? What primitives are needed from the OS? What hardware support is needed?== + +**Persistence**: store data that isn't gone after a power cycle. +I/O device: HDD/SSD +File system: part of OS that manages disks +Disk not virtualised: files want to be shared between processes. + +==How to do it correctly? What mechanisms or policies are required to do it with high performance? What methods are used to provide reliability in the face of hardware and software failure?== + +https://github.com/remzi-arpacidusseau/ostep-projects \ No newline at end of file -- cgit v1.2.3