使用C语言从头开始设计xv6操作系统内核 | xv6 operating system kernel design from scratch in C program

使用C语言从头开始设计xv6操作系统内核 | xv6 operating system kernel design from scratch in C program-幻仿编程
使用C语言从头开始设计xv6操作系统内核 | xv6 operating system kernel design from scratch in C program
此内容为付费资源,请付费后查看
50积分
付费资源
资源分类: 嵌入式开发查看预览
最近更新: 2025-01-14文件内容: 视频+中英文字幕+配套课件
视频分辨率: 720P 准高清文件大小: 3.5GB
视频语言: 英语视频字幕: 中英字幕

幻仿编程 Udemy 付费课程,独家中英字幕 + 配套资料!
限时1折特惠!课程永久访问权,随时随地学习!

使用 C 程序从头开始设计 xv6 操作系统内核

xv6 操作系统内核的实用动手设计

讲师:Ezeuko Emmanuel


您将学到什么

  • 如何使用虚拟内存寻址设置 xv6 内核页表
  • 如何使用自旋锁和睡眠锁管理共享数据内存
  • 如何使用定时器中断在操作系统中启用定时操作
  • 如何使用 virtio 内存映射 io 虚拟化实现并发磁盘访问
  • 如何生成操作系统、系统调用
  • 如何使用循环技术调度操作系统进程
  • 如何使用 16550a UART 连接显示器和键盘硬件

探索相关主题

  • 操作系统
  • 硬件
  • 信息技术与软件

要求

  • 具有基本的 C 或 C++ 经验

描述

xv6 是一个专为教育目的而设计的多核处理器内核。该操作系统内核在 qemu 虚拟机上成功运行,并具有扩展功能的选项。在这个 8 小时的课程中,您将学习如何从头开始编写 C 程序代码,并了解所使用的几个操作系统概念,包括:

1. 如何初始化内核子系统 – 例如进程、内存、磁盘、中断、陷阱、模式。

2. 您将了解不同的内核操作模式 – 机器模式、管理模式、用户模式以及如何在模式之间切换。

3. 如何在多核处理器上使用自旋锁和睡眠锁保护共享内存数据。

4. 硬件虚拟化 – 如何使用 16550a UART 芯片连接外部硬件,例如键盘和显示器。

5.虚拟内存寻址以及虚拟内存如何映射到物理内存。

6. 如何从用户模式生成系统调用,包括其如何在管理员模式下转换和执行

7. 操作系统如何使用定时器中断来管理诸如 sleep()、调度之类的定时操作。

8. 磁盘管理技术,包括缓冲、位映射、日志记录等。

9. 如何使用硬件虚拟化通过 VIRTIO 内存映射寄存器实现从虚拟机到主机系统的磁盘访问。

10. 文件管理技术——如何将文件和目录作为 inode、管道和设备文件存储在磁盘和内存中。

11.进程管理和调度技术-进程创建、进程分配和进程操纵技术

本课程适合哪些人:

  • 初学者至专家级 C、C++ 和内核开发人员
共 21 节课程 • 总时长 8 小时 56 分钟
第一章 机器模式简介
1. 1. 内核开发入门5分26秒
2. 2. 使用内核 .ld 进行系统内存设置以及如何设置系统栈11分41秒
3. 如何读取机器模式状态寄存器并在timervec中设置定时器中断26分54秒
第二章 虚拟内存寻址和页表分配的 Supervisor 模式设置
1. 4. 如何使用自旋锁和睡眠锁保护共享内存数据32分5秒
2. 5. 如何将16550a uart连接为键盘和显示的控制台设备52分3秒
3. 6. 如何设置内核页表(虚拟内存寻址)41分14秒
4. 7. 如何使用KALLOC将页面表虚拟地址映射到物理内存27分15秒
5. 8. 虚拟内存寻址 213分33秒
第三章 陷阱和中断处理
1. 9. 如何设置平台级中断控制器PLIC15分22秒
2. 10. 如何使用sstaus寄存器设置和处理陷阱和中断20分26秒
3. 11. 如何使用uservec和usertrap在用户模式下处理陷阱和中断20分24秒
第四章 磁盘管理
1. 12. 使用virtio内存映射IO库进行硬件虚拟化44分30秒
2. 13. 如何在内核和主机系统之间读写5分19秒
3. 14. 缓冲区管理 – 使用缓冲区进行并发内存访问22分20秒
4. 15. 日志记录 – 磁盘访问抽象层27分40秒
5. 16. 如何使用数据块的位映射来映射内存块30分13秒
第五章 文件处理和管理
1. 17. 文件和目录结构,以及如何使用inode访问它们36分29秒
2. 18. 文件处理技术 – 文件分配、读取、写入、打开、关闭、状态信息13分29秒
3. 19. 管道处理技术 – 管道读取、写入、打开、关闭、分配10分51秒
第六章 进程管理
1. 20. 如何使用procinit、allocproc、fork、reparent、userini管理进程45分33秒
2. 21. 如何设置系统调用33分39秒
1. 关于课程更新与获取

如何获取本站课程?

免费获取方式:在本站签到、评论、发布文章等可获取积分,通过积分购买课程。
付费获取方式:购买本站【月度会员】或【永久会员】。

课程购买后是否支持更新?
是的,所有课程均提供免费更新服务。 我们致力于为您提供持续的学习支持。

如何获取更新?
单独购买的课程: 您可在“个人中心”随时查看购买记录及最新下载链接,轻松获取免费更新。
永久会员: 您可在相关页面直接查看最新下载地址,随时免费获取更新。
非永久会员(重要提示):通过会员权限下载的课程,在“个人中心”可能不显示具体订单记录。

因此,会员到期后,您将无法通过“个人中心”查看最新下载链接。
解决方案建议:续费会员: 恢复会员权限后,即可再次查看所有最新下载链接。
妥善保存下载链接: 我们强烈建议您在会员有效期内,保存好本站分享的课程下载链接。通常,课程更新内容会直接补充到原有分享链接中。
2. 关于课程资料

课程下载后资料是否齐全?
绝大部分课程资料齐全。 我们尽力确保您获得完整的学习资源。
少数情况说明: 极少数课程可能存在资料缺失情况。针对 Udemy 课程,资料形式多样,请知悉:本地文件(随视频下载): 此类课件通常随视频一并提供,下载即得。

本地文件(含链接): 课件文件中会提供资料下载链接,您需自行访问链接下载。此类资料通常也可获取。
在线平台存储(如 GitHub): 讲师会在视频中说明资料获取方式(如访问特定平台),请您按指引自行下载。
③ Udemy 平台内资料: 部分资料需登录您在 Udemy 购买的账号才能查看。此类资料本站无法提供,除非您自行在 Udemy 平台购买该课程。
3. 关于课程字幕

是否提供中英文双字幕?原本无字幕的课程是否支持?
是的,本站下载的所有课程均提供中英文双字幕,包括 Udemy 原本无任何字幕的课程。 我们致力于提升您的学习体验。

Udemy 字幕现状与本站服务:
○ Udemy 绝大多数课程本身不提供任何字幕。在少数提供字幕的课程中,也几乎不提供中文字幕。

本站字幕服务流程:
Udemy 有字幕: 我们会将其翻译成中文字幕,与英文字幕一同提供。
Udemy 无字幕: 我们会通过技术手段识别生成英文字幕,再翻译成中文字幕,一同提供给您。

字幕服务重要说明(请您理解):
翻译精度: 字幕翻译采用谷歌翻译引擎完成,虽不及人工翻译精准,但足以保障您正常学习理解。
若您仍然觉得字幕精度较低: 可联系站长针对性润色字幕(该服务仅限本站会员)。
4. 关于视频存储与使用

视频存储位置与观看/下载方式?
本站所有课程视频均存储于网盘平台。
您支持在线观看: 可在网盘内直接播放学习。
您支持下载: 可将视频下载至本地,使用播放器播放,更灵活便捷。

主要存储网盘:百度网盘

视频格式与加密情况?
本站所有课程视频均以 MP4 或 MKV 通用格式提供。
视频文件不加密,您可自由分享(请遵守相关法律法规)。
播放建议: 使用本地播放器(如 PotPlayer)播放时,可同时加载中英文字幕文件,学习体验更佳。您可参考我们提供的《PotPlayer 挂载中英双字幕教程》。
5. 关于售后支持与退款政策

遇到问题如何联系?
无论您在购买前或购买后遇到任何疑问,都欢迎随时联系站长。 我们将竭诚为您服务。

退款政策说明:
原则: 由于虚拟商品(课程、资料等)具有可复制性,一旦购买成功并完成下载,原则上不支持退款。

请您在购买前仔细阅读课程介绍、资料说明及本条款,确认符合您的需求。 如有不确定之处,欢迎先行咨询站长。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容