#
bb5f098a |
| 22-Jul-2023 |
LoGin <longjin@DragonOS.org> |
Revert "新的内存管理模块 (#301)" (#302)
This reverts commit d8ad0a5e7724469abd5cc3cf271993538878033e.
|
#
d8ad0a5e |
| 22-Jul-2023 |
LoGin <longjin@DragonOS.org> |
新的内存管理模块 (#301)
  实现了具有优秀架构设计的新的内存管理模块,对内核空间和用户空间的内存映射、分配、释放、管理等操作进行了封装,使得内核开发者可以更加方便地进行内存管理。
  内存管理模块主要由以下类型的组件组成:
- **硬件抽象层(MemoryManagementArch)** - 提供对具体处理器架构的抽象,使得内存管理
新的内存管理模块 (#301)
  实现了具有优秀架构设计的新的内存管理模块,对内核空间和用户空间的内存映射、分配、释放、管理等操作进行了封装,使得内核开发者可以更加方便地进行内存管理。
  内存管理模块主要由以下类型的组件组成:
- **硬件抽象层(MemoryManagementArch)** - 提供对具体处理器架构的抽象,使得内存管理模块可以在不同的处理器架构上运行
- **页面映射器(PageMapper)**- 提供对虚拟地址和物理地址的映射,以及页表的创建、填写、销毁、权限管理等操作。分为两种类型:内核页表映射器(KernelMapper)和用户页表映射器(位于具体的用户地址空间结构中)
- **页面刷新器(PageFlusher)** - 提供对页表的刷新操作(整表刷新、单页刷新、跨核心刷新)
- **页帧分配器(FrameAllocator)** - 提供对页帧的分配、释放、管理等操作。具体来说,包括BumpAllocator、BuddyAllocator
- **小对象分配器** - 提供对小内存对象的分配、释放、管理等操作。指的是内核里面的SlabAllocator (SlabAllocator的实现目前还没有完成)
- **MMIO空间管理器** - 提供对MMIO地址空间的分配、管理操作。(目前这个模块待进一步重构)
- **用户地址空间管理机制** - 提供对用户地址空间的管理。
- VMA机制 - 提供对用户地址空间的管理,包括VMA的创建、销毁、权限管理等操作
- 用户映射管理 - 与VMA机制共同作用,管理用户地址空间的映射
- **系统调用层** - 提供对用户空间的内存管理系统调用,包括mmap、munmap、mprotect、mremap等
- **C接口兼容层** - 提供对原有的C代码的接口,是的C代码能够正常运行。
除上面的新增内容以外,其它的更改内容:
- 新增二进制加载器,以及elf的解析器
- 解决由于local_irq_save、local_irq_restore函数的汇编不规范导致影响栈行为的bug。
- 解决local_irq_save未关中断的错误。
- 修复sys_gettimeofday对timezone参数的处理的bug
show more ...
|
Revision tags: V0.1.7 |
|
#
cde5492f |
| 19-Apr-2023 |
login <longjin@DragonOS.org> |
新增网络socket的系统调用接口 (#247)
1.修复spinlock忘记恢复rflags的问题
2.WaitQueue增加wakeup_all的功能
3.完善tcp,udp,raw socket
4.把PollStatus结构体改为使用bitflags
5.新增iovec结构体
6.完成网络的系统调用
7.在bootstrap里面添加dnsmasq bridge-utils
新增网络socket的系统调用接口 (#247)
1.修复spinlock忘记恢复rflags的问题
2.WaitQueue增加wakeup_all的功能
3.完善tcp,udp,raw socket
4.把PollStatus结构体改为使用bitflags
5.新增iovec结构体
6.完成网络的系统调用
7.在bootstrap里面添加dnsmasq bridge-utils iptables
---------
Co-authored-by: guanjinquan <1666320330@qq.com>
show more ...
|
#
79a452ce |
| 11-Apr-2023 |
houmkh <1119644616@qq.com> |
修改errno,使其与relibc的保持一致 (#234)
修改errno,使其与relibc的保持一致
|
#
78bf93f0 |
| 09-Apr-2023 |
YJwu2023 <yujianwu2019@gmail.com> |
pci重构+pcie支持 (#235)
* pci重构+pcie支持
* pci重构测试完成
* 修正makefile的问题
* 小修改
* 修改函数名字
|
Revision tags: V0.1.6 |
|
#
676b8ef6 |
| 29-Mar-2023 |
Mork <91721145+MorkCarpenter@users.noreply.github.com> |
部分函数从返回值为Result<<>,i32>修改为Result<<>,SystemError> (#210)
* 将Result<<>,i32>替换为Result<<>,SystemError>
* bugfix: 显示双缓冲区初始化的时候,连续注册了两次Video Softirq的问题。
Co-authored-by: longjin <longjin@RinGoTek.cn>
|
#
0d48c3c9 |
| 16-Mar-2023 |
login <longjin@DragonOS.org> |
new: tty设备(尚未与stdio接上) (#202)
|
Revision tags: V0.1.5 |
|
#
004e86ff |
| 12-Mar-2023 |
login <longjin@DragonOS.org> |
新版文件系统重构完成 (#198)
1.重构:VFS
2. 重构:ProcFS
3. 重构:DevFS
4. 重构:FAT32
5. 重构:AHCI驱动
6. 新增:RamFS
7. 新增:MountFS
8. 新增:FAT12
9. 新增:FAT16
10. 重构:设备抽象
Co-authored-by: guanjinquan <1666320330@qq.com>
新版文件系统重构完成 (#198)
1.重构:VFS
2. 重构:ProcFS
3. 重构:DevFS
4. 重构:FAT32
5. 重构:AHCI驱动
6. 新增:RamFS
7. 新增:MountFS
8. 新增:FAT12
9. 新增:FAT16
10. 重构:设备抽象
Co-authored-by: guanjinquan <1666320330@qq.com>
Co-authored-by: DaJiYuQia <88259094+DaJiYuQia@users.noreply.github.com>
show more ...
|
Revision tags: V0.1.4 |
|
#
06b09f34 |
| 14-Jan-2023 |
kong <45937622+kkkkkong@users.noreply.github.com> |
Patch sched rust (#139)
* update
* 添加rt调度器的rust初步实现
* 完善rt调度逻辑
* 调试rt调度器
* 修改sched的返回值
* cargo fmt 格式化
* 删除无用代码,修补rt bug
* 删除无用的代码,和重复的逻辑
* 软中断bugfix
* 删除一些代码
* 添加kthre
Patch sched rust (#139)
* update
* 添加rt调度器的rust初步实现
* 完善rt调度逻辑
* 调试rt调度器
* 修改sched的返回值
* cargo fmt 格式化
* 删除无用代码,修补rt bug
* 删除无用的代码,和重复的逻辑
* 软中断bugfix
* 删除一些代码
* 添加kthread_run_rt文档
* 解决sphinix警告_static目录不存在的问题
Co-authored-by: longjin <longjin@RinGoTek.cn>
show more ...
|
Revision tags: V0.1.3 |
|
#
587086d3 |
| 01-Jan-2023 |
login <longjin@ringotek.cn> |
1、在文件系统目录下增加mod.rs 2、将VFS的路径改为vfs(#133)
2、将VFS的路径改为vfs
|