{"id":17219393,"url":"https://github.com/andreafioraldi/aosv-cheatshit","last_synced_at":"2025-04-11T18:53:15.840Z","repository":{"id":86885010,"uuid":"180628618","full_name":"andreafioraldi/aosv-cheatshit","owner":"andreafioraldi","description":"shitty partial notes of the Advanced Operating Systems and Virtualization course in shitty text files","archived":false,"fork":false,"pushed_at":"2019-06-24T17:18:53.000Z","size":127,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T14:45:05.009Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreafioraldi.png","metadata":{"files":{"readme":"README.txt","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-10T17:14:04.000Z","updated_at":"2021-10-11T14:05:45.000Z","dependencies_parsed_at":"2023-03-22T23:31:08.125Z","dependency_job_id":null,"html_url":"https://github.com/andreafioraldi/aosv-cheatshit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreafioraldi%2Faosv-cheatshit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreafioraldi%2Faosv-cheatshit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreafioraldi%2Faosv-cheatshit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreafioraldi%2Faosv-cheatshit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreafioraldi","download_url":"https://codeload.github.com/andreafioraldi/aosv-cheatshit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248464444,"owners_count":21108238,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T03:49:46.590Z","updated_at":"2025-04-11T18:53:15.818Z","avatar_url":"https://github.com/andreafioraldi.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"==============\nAOSV CheatShit\n==============\n\n ** Shitty notes of the Advanced Operating Systems and Virtualization course at\n    Sapienza University of Rome in shitty text files **\n\n    Written with \u003c3 by Andrea Fioraldi \u003candreafioraldi@gmail.com\u003e\n\nThe material is divided into chapters and each chapter, in general, covers\nmultiple related topics.\n\nSome topics that are for me obvious like the structure of GOT and PLT in the\nELF are omitted, these notes are not a replacement of the course material.\n\nTable of contents\n-----------------\n\n 1  - An introduction to x86\n      1.1  - Branch prediction\n      1.2  - Hyper-threading\n      1.3  - Multi-core\n     \n 2  - The x86 boot process\n      2.1  - Initial stage\n      2.2  - BIOS\n      2.3  - Stage 1\n      2.4  - Protected mode\n      2.5  - Paging\n      2.6  - x64 Longmode\n      2.7  - UEFI\n      2.8  - Cores wake up\n  \n 3  - The Linux specific boot process\n      3.1  - Kernel loading\n      3.2  - Early paging\n      3.3  - The flow\n      3.4  - Init\n  \n 4  - Memory management\n      4.1  - Numa nodes\n      4.2  - Zones initialization\n      4.3  - High memory\n      4.4  - Reclaiming boot memory\n      4.5  - Allocation context\n      4.6  - The SLAB allocator\n     \n 5  - System calls\n      5.1  - Trap initialization\n      5.2  - Syscalls dispatching\n      5.3  - Syscalls table\n      5.4  - Call from userspace\n      5.5  - Modern syscall activation\n      5.6  - Spectre patch\n      5.7  - sys_ni_syscall\n  \n 6  - Loadable modules\n      6.1  - Initialization\n      6.2  - Parameters\n      6.3  - Build and install\n      6.4  - Loading\n      6.5  - Kprobes\n      6.6  - Versions\n      6.7  - Locating syscalls table\n  \n 7  - Interrupts and time\n      7.1  - Realtime OS\n      7.2  - IDT and GDT\n      7.3  - IDT entry initialization\n      7.4  - Entries types\n      7.5  - Gate descriptor\n      7.6  - Interrupts vs Traps\n      7.7  - Global activation scheme\n      7.8  - Do page fault\n      7.9  - Multi-core\n      7.10 - Inter Processor Interrupts\n      7.11 - IPI API\n      7.12 - I/O interrupts management\n      7.13 - Deferred work\n      7.14 - SoftIRQs\n      7.15 - Timekeeping\n      7.16 - Watchdogs\n  \n 8  - Concurrency\n      8.1  - Properties\n      8.2  - Concurrent and preemtive kernels\n      8.3  - Race condition example\n      8.4  - Enable/disable\n      8.5  - Atomic operations\n      8.6  - Barriers\n      8.7  - Mutex and spinlocks\n      8.8  - Read-Copy-Update\n  \n 9  - Virtual File System and Devices\n      9.1  - Introduction\n      9.2  - EXT2\n      9.3  - VFS global organization\n      9.4  - VFS and PCBs\n      9.5  - Operations\n      9.6  - Pathname lookup\n      9.7  - Syscalls\n      9.8  - Proc \u0026 Sys\n      9.9  - Devices\n  \n 10 - Processes\n      10.1 - Process Control Block\n      10.2 - MM member\n      10.3 - PCB location\n      10.4 - Process and thread creation\n      10.5 - Program start\n \n 11 - Scheduling\n      11.1 - Strategies\n      11.2 - Classes\n      11.3 - Structures\n      11.4 - Entry point\n      11.5 - States\n      11.6 - Schedulers\n      11.7 - Context switch\n \n 12 - Virtualization and Containers\n      12.1 - Hypervisors\n      12.2 - Ring aliasing\n      12.3 - Paravirtualization\n      12.4 - Hardware assisted\n      12.5 - Kernel Samepage Merging\n      12.6 - Containers mechanisms\n      12.7 - Cgroups\n      12.8 - Namespaces\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreafioraldi%2Faosv-cheatshit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreafioraldi%2Faosv-cheatshit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreafioraldi%2Faosv-cheatshit/lists"}