What Are We Going To Play With?
In this workshop we are going to dive deep into how system calls work and understand what is happening under the hood. We will play with a unix-like operating system named xv6 which is being used as an OS for teaching purposes.
What Will We Do?
- understand what are system calls and why we need them
- understand the facilities used to implement systems calls in x86 architecture
- what happens during that magical context switch
- implement our own system call to xv6 and hack the xv6 OS
Is There Something I Need To Know Before Attending?
Yes, you should:
- have a VERY BASIC understanding of the C programming language. feel free to read this short tutorial for a quick refresh.
- have a VERY VERY BASIC understanding of the At&t x86 assembly language. feel free to read this short tutorial for a quick refresh.
Also you should have a linux or mac available (a vm will do just fine, but windows is not enough).