Published 3/2024
Created by Ezeuko Emmanuel
MP4 | Video: h264, 1280×720 | Audio: AAC, 44.1 KHz, 2 Ch
Genre: eLearning | Language: English | Duration: 21 Lectures ( 8h 56m ) | Size: 3.49 GB
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 mode7. 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
Homepage
https://anonymz.com/?https://www.udemy.com/course/xv6-operating-system-kernel-design-from-scratch/