Learning operating system development using Linux kernel and Raspberry Pi

View on GitHub

5.3: Exercises

  1. When a task is executed in user mode, try to access some of the system registers. Make sure that a synchronous exception is generated in this case. Handle this exception, use esr_el1 register to distinguish it from a system call.
  2. Implement a new system call that can be used to set current task priority. Demonstrate how priority changes are dynamically applied while the task is running.
  3. Adapt lesson 05 to run on qemu. Check this issue for reference.
Previous Page

5.2 User processes and system calls: Linux

Next Page

6.1 Virtual memory management: RPi OS