Tags
Language
Tags
April 2024
Su Mo Tu We Th Fr Sa
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 1 2 3 4

xv6 operating system kernel design from scratch

Posted By: lucky_aut
xv6 operating system kernel design from scratch

xv6 operating system kernel design from scratch
Published 3/2024
Duration: 8h56m | .MP4 1280x720, 30 fps(r) | AAC, 44100 Hz, 2ch | 3.49 GB
Genre: eLearning | Language: English

practical hands-on design of the xv6 operating system kernel


What you'll learn
How to setup xv6 kernel pagetable using virtual memory adressing
How manage shared data memory using spin locks and sleep lock
How to enable timed operations in operating system using timer interrupt
How to enable concurrent disk access using virtio memory mapped io virtualization
How to generate operating systems, system calls
How to schedule operating systems process using round robin technique
How to link display and keyboard hardware using the 16550a UART

Requirements
basic C or C++ experience

Description
The xv6 is a multi-core processor kernel designed for educational purposes. This operating system kernel runs successfully on qemu virtual machine and has options for extending the features. In this 8hrs long course, you will learn how to write the C program code from scratch and understand several operating systems concepts used including:
1. How to initialize kernel subsystems - e.g process, memory, disk, interrupts, trap, mode.
2. You learn the different kernel operating modes - machine mode, supervisor mode, user mode and how to switch between the modes.
3. How to protect shared memory data using spin locks and sleep locks on a multi-core processor.
4. How to link external hardware e.g keyboard and display using 16550a UART chip.
5. Virtual memory addressing and how virtual memory is mapped to physical memory.
6. How to generate system calls from user mode including how its transition ad execution in supervisor mode
7. How timed operations like sleep(), scheduling is managed in an operating system using timer interrupts.
8. Disk management techniques including buffering, bit-mapping, logging etc.
9. How hardware virtualization is used enable disk access from virtual machine to host system using VIRTIO memory mapped registers.
10. File management technique - how to store files and directories as inodes, pipes and device files on disk and in memory.
11. Process management and scheduling techniques - process creation, process allocation and process manipulation techniques
Who this course is for:
beginner to expert C , C++ and kernel developers

More Info