文件名称:Kernel:我现在完全疯了,我正在编写自己的内核来学习低级硬件编程的工作原理
文件大小:113KB
文件格式:ZIP
更新时间:2024-06-05 21:01:42
C
Bnyeh内核 我现在疯了,我正在编写自己的内核,以学习低级硬件编程的工作原理。 目标 目前,内核的目标是通过小型N64模拟器获得用户空间设置,并具有足够的API来运行和玩游戏。 这既教我如何编写内核用法,又编写模拟器。 为什么? 我需要/想要学习底层硬件开发,因此我可以为linux内核做出贡献。 我还想尝试在内核空间中使用C /汇编,并完全控制硬件及其运行方式。 并且因为我是课程的疯子! 当前状态 这只是所有有效和无效工作的一小部分。 请参阅TODO.txt文件以了解需要完成的操作(可能无法正常工作)。 工作或完成 基本VGA显示器-已完成 全VGA彩色端子,具有类似于printf的功能 彩色徽标打印到屏幕上 打印不同颜色的字符串/字符 内存-已完成 分页工作 基本堆分配 kalloc和kfree可用 一切准备就绪,可以进行用户空间进程的多任务处理和调度。 需要获取内存的长度,不确
【文件预览】:
Kernel-master
----kern()
--------version.h(1KB)
--------mm()
--------tty()
--------i386()
--------input()
--------cmos()
--------task()
--------lib()
--------disk()
----CMakeLists.txt(9KB)
----.gitignore(139B)
----README.md(3KB)
----libc()
--------stdlib.h(989B)
--------sprintf_internal.c(7KB)
--------strftime.c(10KB)
--------string.h(2KB)
--------math.c(3KB)
--------private()
--------stdarg.h(2KB)
--------stdio.c(6KB)
--------ctype.h(1KB)
--------string.c(6KB)
--------atoi.c(1KB)
--------math.h(3KB)
--------stddef.h(1KB)
--------itoa.c(1KB)
--------stdbool.h(1KB)
--------malloc.c(2KB)
--------time.c(1007B)
--------limits.h(1KB)
--------time.h(737B)
--------stdint.h(2KB)
--------strftime.h(386B)
--------malloc.h(1KB)
--------stdio.h(2KB)
----run-cc.pl(7KB)
----CodingStyle.txt(14KB)
----cmake()
--------make_iso.cmake(608B)
--------make_floppy.cmake(2KB)
--------profile_detection.cmake(813B)
----.idea()
--------vcs.xml(180B)
--------misc.xml(665B)
--------Kernel.iml(281B)
--------modules.xml(264B)
----tools()
--------mkcrosscompiler_clang.sh(19KB)
--------mkcrosscompiler_gcc.sh(2KB)
----TODO.txt(441B)