Skip to content
/ AOSV Public

Lecture notes for Advanced Operating Systems and Virtualization course at Sapienza University of Rome

Notifications You must be signed in to change notification settings

Angelogeb/AOSV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AOSV

⚠️ This repository is (sadly) not active anymore.

Feel free to fork and extend it.

A useful resource (a bit outdated) over concepts in the linux kernel can be found in A Heavily-Commented Linux Kernel Source Code

The project developed for the course can be found here. It covers some nice topics about kernel programming and it is relatively succint in its implementation.


The repository holds the lecture notes of Spring 2018 of the Advanced Operating Systems and Virtualization course held by Alessandro Pellegrini. There are two branches, namely online and master. In the former there are the notes as taken in class while the latter are the notes rewritten with the support of integrating material, classmates and professor.

The repo is a bit dirty in its current state and the online version of lectures <= 5 does not really exist.

Some lectures have in the reference part stuff that is unrelated to the lecture just because new folders are created by copying and pasting older ones.

Browsing the Linux Kernel

Tagged Content

  • Lec1: course information, boot sequence introduction, master boot record BIOS
  • Lec2: A20 line, protected mode, LDT, GDT, protection, IDT, privilege level switch, Task State Segment (TSS)
  • Lec3: protected mode paging, i386 paging, PDE/PTE fields, PAE, addressing in long mode, Translation Lookaside Buffer (TLB), longmode enable, Linux Boot i386 (< v.2.6), UEFI, GUID Partitioning Scheme, Secure Boot, Bootkits, Platform Key (PK), Key Exchange Key (KEK), Signature Database, Multicore Booting (SMP), APIC, INIT-SIPI
  • Lec4: Linux Boot Protocol, Kernel Initialization, header.S, main, go_to_protected_mode, GDT/IDT dummy setup, protected_mode_jump, head_{32,64}.S, startup_{32,64}, start_kernel, Inline Assembly, volatile, asmlinkage, regparm, __visible, __init
  • Lec5: Early paging setup 32bit, bootmem allocator, paging in linux, kernel page table initialization, TLB APIs, NUMA
  • Lec6: Memory Management, Zones, mem_map, Buddy System, Buddy Allocation/Deallocation APIs, High Memory (HIGHMEM), vmap, kmap, kmap_atomic, NUMA Allocation Policies

About

Lecture notes for Advanced Operating Systems and Virtualization course at Sapienza University of Rome

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages