Kernel Programming Intro
Kernel Programming Intro
Programming
Luca Abeni
luca.abeni@santannapisa.it
About the Course
• Multiprogramming:
• Multiple tasks (processes or threads) on few
CPUs
• Memory protection: multiple address spaces
(paging, segmentation)
• CPU privilege levels: system and user
• Low level hardware details:
• Interrupt handling, boot, device drivers, system
calls, ...
• Important data structures (memory page tables,
...)
• Kernel address space: can see all the system
memory
Kernel Programming Introduction to Kernel Programming
Kernel Functionalities
• Divided in segments:
• Code Segment (task body)
• Data Segment
• Initialised Data, BSS, Heap
• Stack Segment
• Recently, some additional segments (RO data, etc...)