#
f5b20388 |
| 30-Oct-2024 |
codeironman <1553389239@qq.com> |
ospp project (feature) add namespace overlayfs cgroup (#949)
## 开发进展:
## namespace
- pid_namespace 基本实现,基于pid_struct等数据结构实现隔离
- mnt_namespace 基本实现,挂载点的隔离通过不同的挂载树来实现
- usernamespace 作为支持性的namesp
ospp project (feature) add namespace overlayfs cgroup (#949)
## 开发进展:
## namespace
- pid_namespace 基本实现,基于pid_struct等数据结构实现隔离
- mnt_namespace 基本实现,挂载点的隔离通过不同的挂载树来实现
- usernamespace 作为支持性的namespace,目前受限实现全局静态
## overlayfs
- 实现若干个文件系统的叠加,在mount中传入多个路径作为多个fs的mount路径以及最后merge层的fs路径
- copy-up机制的,除最上层外其他层为只读层,满足写时拷贝,需要修改的时候copy到上层修改
- whiteout特殊文件,用于标记在下层需要被删除的文件用来掩盖需要删除的文件
## cgroups
- 目前cgroups还处于框架阶段,之后具体实现具体的内存、CPU等子系统
show more ...
|
#
55e6f0b6 |
| 26-Oct-2024 |
火花 <sparkhhhhhhhhhh@outlook.com> |
feat:添加chown系统调用 (#962)
* 添加chown系统调用
---------
Co-authored-by: sparkzky <sparkhhhhhhhhh@outlook.com>
Co-authored-by: longjin <longjin@DragonOS.org>
|
#
fae6e9ad |
| 25-Oct-2024 |
linfeng <chenlinfeng25@outlook.com> |
feat(ebpf):[WIP] add eBPF support (#948)
* feat(kprobe): Add basic kprobe support for x86_64
* feat: add ebpf support (#912)
- 实现bpf()一部分命令,包括几种基本map,相关的helper函数
- 实现部分perf相关的数据结构
- 暂时为文件实现简
feat(ebpf):[WIP] add eBPF support (#948)
* feat(kprobe): Add basic kprobe support for x86_64
* feat: add ebpf support (#912)
- 实现bpf()一部分命令,包括几种基本map,相关的helper函数
- 实现部分perf相关的数据结构
- 暂时为文件实现简单mmap
- 实现一个使用kprobe统计syscall 调用次数的ebpf程序
对eBPF支持程度(基本):
- 简单的eBPF程序(没有指定特殊的Map)
- 使用内核已经实现的Map的eBPF程序
- 可以和kprobe配合使用
- 内核Map相关的接口定义已经实现,添加新的Map较为简单
不支持的功能:
- 区分不同的eBPF程序类型(Network/Cgroup)并限定可调用的helper函数集
- 与内核其它跟踪机制配合(tracepoint)
- 其它helper和Map
todo
- [ ] 修改mmap,需要讨论,因为这个和块缓存层相关
- [x] 添加文档
- [x] 修复可能的错误
- [x] 增加rbpf版本信息
* feat: add /sys/devices/system/cpu/possible file
* feat: add /sys/devices/system/cpu/online
show more ...
|
#
01c18c64 |
| 20-Oct-2024 |
sparkzky <146502758+sparkzky@users.noreply.github.com> |
feat:添加symlink系统调用 (#984)
* 添加symlink系统调用
* 修改FATInode的dname的获取逻辑
* 修改fat对Dname的处理,分离dname和inode缓存的key
---------
Co-authored-by: sparkzky <sparkhhhhhhhhh@outlook.com>
Co-authored-by: lo
feat:添加symlink系统调用 (#984)
* 添加symlink系统调用
* 修改FATInode的dname的获取逻辑
* 修改fat对Dname的处理,分离dname和inode缓存的key
---------
Co-authored-by: sparkzky <sparkhhhhhhhhh@outlook.com>
Co-authored-by: longjin <longjin@DragonOS.org>
show more ...
|
#
dcd345f6 |
| 17-Oct-2024 |
LoGin <longjin@DragonOS.org> |
feat: 添加SYS_MKDIRAT系统调用 (#986)
将内核原本实现的do_mkdir_at暴露出来,实现SYS_MKDIRAT
Signed-off-by: longjin <longjin@DragonOS.org>
|
#
cf7f801e |
| 04-Sep-2024 |
MemoryShore <1353318529@qq.com> |
feat(mm): 简单实现fat文件系统的文件映射 (#840)
- 添加文件映射相关接口,目前已简单实现fat文件系统的私有映射和共享映射
- 添加msync系统调用(由于当前未实现脏页自动回写,需要手动调用msync进行同步)
- 简单实现PageCache(暂时使用HashMap进行文件页号与页的映射)
- 添加新的PageFlags标志结构,原PageFlags改名为Entry
feat(mm): 简单实现fat文件系统的文件映射 (#840)
- 添加文件映射相关接口,目前已简单实现fat文件系统的私有映射和共享映射
- 添加msync系统调用(由于当前未实现脏页自动回写,需要手动调用msync进行同步)
- 简单实现PageCache(暂时使用HashMap进行文件页号与页的映射)
- 添加新的PageFlags标志结构,原PageFlags改名为EntryFlags
- 参考linux使用protection_map映射表进行页面标志的获取
- 添加页面回收机制
- 添加页面回收内核线程
- 缺页中断使用的锁修改为irq_save; 添加脏页回写机制
- 修复do_cow_page死锁问题
- 访问非法地址时发送信号终止进程
- 修复重复插入反向vma表的错误
- 添加test_filemap文件映射测试程序
show more ...
|
#
0648a547 |
| 02-Aug-2024 |
Jomo <xuzihao@dragonos.org> |
feat(cred): 初步实现Cred (#846)
* 初步实现Cred
* 添加seteuid和setegid
* 添加cred测试程序
* 修改Cred::fscmp返回结果为CredFsCmp枚举
* 完善root用户相关信息
|
#
703ce5a7 |
| 27-Jul-2024 |
LoGin <longjin@DragonOS.org> |
fix: 修复由于升级到2024-07-23工具链之后,某些机器上面内核运行一直fault的问题。 (#870)
* fix: 修复由于升级到2024-07-23工具链之后,某些机器上面内核运行一直fault的问题。
|
#
86ee1395 |
| 25-Jul-2024 |
linfeng <1925466036@qq.com> |
feat(fs): add eventfd syscall support (#858)
* feat(fs): add eventfd syscall support
|
#
6f189d27 |
| 27-Jun-2024 |
linfeng <chenlinfeng25@outlook.com> |
feat(time): Add syscall support for utime* (#838)
* feat(vfs): Add syscall support for utime*
impl sys_utimensat
impl sys_utimes
add utimensat test
fix some warning
* fix(vfs): Verify point
feat(time): Add syscall support for utime* (#838)
* feat(vfs): Add syscall support for utime*
impl sys_utimensat
impl sys_utimes
add utimensat test
fix some warning
* fix(vfs): Verify pointer validity
* fix: remove bad cfg
show more ...
|
#
2eab6dd7 |
| 16-May-2024 |
曾俊 <110876916+ZZJJWarth@users.noreply.github.com> |
feat(log): 将内核日志统一为新的logger (#814)
|
Revision tags: V0.1.10 |
|
#
173c4567 |
| 26-Apr-2024 |
zwb0x00 <163394849+zwb0x00@users.noreply.github.com> |
feat(sched): add sched_yield (#766)
* 实现sched_yield系统调用
|
#
40348dd8 |
| 23-Apr-2024 |
zwb0x00 <163394849+zwb0x00@users.noreply.github.com> |
feat(fs): add sys_dup3 (#755)
* feat(fs): add sys_dup3
|
#
731bc2b3 |
| 23-Apr-2024 |
LoGin <longjin@DragonOS.org> |
feat(virtio): riscv: 添加virtio-blk driver,并在riscv下能够正确挂载FAT32 (#761)
|
#
a17651b1 |
| 22-Apr-2024 |
MemoryShore <105195940+MemoryShore@users.noreply.github.com> |
feat(mm): 实现缺页中断处理,支持页面延迟分配和写时拷贝,以及用户栈自动拓展 (#715)
* 实现缺页中断处理
* 完善页表拷贝逻辑
* 优化代码结构
* 完善缺页异常信息
* 修改大页映射逻辑
* 修正大页映射错误
* 添加缺页中断支持标志
* 实现用户栈自动拓展功能
|
#
370472f7 |
| 21-Apr-2024 |
LoGin <longjin@DragonOS.org> |
pci: 添加pci root manager来管理pci root,并使得riscv能够正常扫描pci设备. (#745)
* pci: 添加pci root manager来管理pci root.
pci: 使得riscv能够正常扫描pci设备.
* doc: 添加注释
|
#
fbd63a30 |
| 16-Apr-2024 |
SMALLC <121806694+SMALLC04@users.noreply.github.com> |
feat: alarm系统调用实现 (#710)
* alarm系统调用实现
|
#
1074eb34 |
| 15-Apr-2024 |
Samuel Dai <samuka007@qq.com> |
feat(filesystem): 引入Umount系统调用 (#719)
* feat(filesystem): 引入Umount系统调用
* 将所有ENOSYS误用更正
* 修复了一个使同一个挂载点可以挂载2个文件系统的bug
* 统一注释,增强程序稳定性,统一接口。注意:Umount时在fatfs的路径要使用大写,此受限于当前文件系统设计。
|
#
c719ddc6 |
| 14-Apr-2024 |
Saga1718 <161323888+Saga1718@users.noreply.github.com> |
feat(net): 实现tcp backlog功能 (#714)
* feat:实现tcp的backlog功能
|
#
6fc066ac |
| 07-Apr-2024 |
Jomo <2512364506@qq.com> |
实现SystemV共享内存 (#690)
* 实现SystemV共享内存
* 测试shm
* 添加测试程序
* 完善细节
* 修正shm的时间数据错误的问题
* fix: devfs的metadata权限为0x777的错误
---------
Co-authored-by: longjin <longjin@DragonOS.org>
|
#
06560afa |
| 06-Apr-2024 |
hmt <114841534+1037827920@users.noreply.github.com> |
Patch feat robust futex (#682)
* feat: 实现robust lock机制
* 前面更改vscode,修改回来
* 修改dadk的路径
* 提交.gitnore和.cargo,删除LICENSE,修改README
* 修改一个warn
* 删除.rustc_info.json
* 删除target文件夹
* 恢复Dra
Patch feat robust futex (#682)
* feat: 实现robust lock机制
* 前面更改vscode,修改回来
* 修改dadk的路径
* 提交.gitnore和.cargo,删除LICENSE,修改README
* 修改一个warn
* 删除.rustc_info.json
* 删除target文件夹
* 恢复DragonOS的LICENSE,删除Cargo.lock
* 将校验用户空间地址的代码写入函数内;将部分match分支用ok_or代替
* 修改wakeup函数获取running queue时unwrap一个None值发生panic
* 测试程序使用syscalls库进行系统调用
show more ...
|
#
f0c87a89 |
| 05-Apr-2024 |
GnoCiYeH <heyicong@dragonos.org> |
重写调度模块 (#679)
## PR:重写调度模块
---
### 完成的部分
- 实现cfs调度策略
- 搭建框架,后续功能可以迭代开发
- 目前能跑,未测试性能
### 需要后续接力的部分
- 实现组内调度(task_group)
- 实现跨核负载均衡(pelt算法)
- 接入sysfs,实现参数动态调节(sched_stat等)
- nice值以及priori
重写调度模块 (#679)
## PR:重写调度模块
---
### 完成的部分
- 实现cfs调度策略
- 搭建框架,后续功能可以迭代开发
- 目前能跑,未测试性能
### 需要后续接力的部分
- 实现组内调度(task_group)
- 实现跨核负载均衡(pelt算法)
- 接入sysfs,实现参数动态调节(sched_stat等)
- nice值以及priority等参数的设置及调优
show more ...
|
#
dfe53cf0 |
| 04-Apr-2024 |
GnoCiYeH <heyicong@dragonos.org> |
实现pty,附带测试程序 (#685)
* 实现pty,附带测试程序
* fmt ** clippy
* 将file层的锁粒度缩小,从而不使用no_preempt。更改pipe在sleep部分的bug
* 修复拼写错误
|
#
9430523b |
| 04-Apr-2024 |
yuyi2439 <68320855+yuyi2439@users.noreply.github.com> |
使nproc可以正确获取到cpu核心数 (#689)
|
#
9b96c5b5 |
| 31-Mar-2024 |
LoGin <longjin@DragonOS.org> |
riscv64: switch process (#678)
* riscv64: switch process
* fixname
|