xv6 operating system kernel design from scratch in C program

所在平台: Udemy

课程主页: https://www.udemy.com/course/xv6-operating-system-kernel-design-from-scratch/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:从零开始的xv6操作系统内核设计(C语言程序) 课程概述: 该课程介绍了xv6操作系统内核,这是一种为教育目的设计的多核心处理器内核。该操作系统内核可以在qemu虚拟机上成功运行,并且具有扩展功能的选项。课程总时长为8小时,内容涵盖了从零开始编写C程序代码,并深入了解多个操作系统相关的概念。 在这个课程中,您将学习到: 1. 如何初始化内核子系统,例如进程、内存、磁盘、中断、陷阱模式等。 2. 理解不同的内核操作模式,包括机器模式、管理模式和用户模式,以及如何在这些模式之间切换。 3. 如何在多核处理器上使用自旋锁和睡眠锁来保护共享内存数据。 4. 硬件虚拟化,了解如何通过16550a UART芯片连接外部硬件,如键盘和显示器。 5. 虚拟内存寻址及虚拟内存如何映射到物理内存。 6. 从用户模式生成系统调用,包括在管理模式下的转换与执行过程。 7. 如何使用定时器中断管理操作系统中的定时操作,如sleep()和调度。 8. 磁盘管理技术,包括缓冲、位图、日志等。 9. 硬件虚拟化如何用于通过VIRTIO内存映射寄存器实现虚拟机与主机系统之间的磁盘访问。 10. 文件管理技术,了解如何在磁盘和内存中以索引节点、管道和设备文件的形式存储文件和目录。 11. 进程管理和调度技术,包括进程创建、进程分配和进程操作技巧。 通过本课程,您将具备设计和实现基本操作系统内核的能力,提升对操作系统核心概念的理解和实践经验。

课程评论(0条)

课程详情

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. Hardware virtualization - 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

课程标签

0人关注该课程

主题相关的课程