Commit Graph

78 Commits (c583719ad04e037339fa1085b5fc37a0ac3bdab9)
 

Author SHA1 Message Date
zhangxinyu c583719ad0 添加动态内存分配失败时的错误处理函数
zhangxinyu 0e1724297a 为内核添加动态内存分配器
zhangxinyu 8066fafe5d debug 也会进行对应的kill
zhangxinyu 636ffc62f3 修改Makefile 忽略pkill导致的错误
zhangxinyu efbb27348b 初始化"头甲龙"仓库
zhangxinyu cd839d484a 修改Makefile, 现在每次debug可以正确的关闭上次的qemu进程
zhangxinyu c06452ce93 "腔骨龙"现在可以统计用户时间, 和内核时间
zhangxinyu 85fa0baef3 "腔骨龙"现在在每个用户应用退出时, 会输出用户应用占用cpu的时间
zhangxinyu 6e7486415d "腔骨龙"完成
zhangxinyu 2c158830bf 添加sbi-rt库, 时钟中断设置这里,这个书里是错的也没写出来sbi_call已经不能用了, 需要用sbi-rt这个设置时钟中断
zhangxinyu 1f093dd193 添加时钟中断处理
zhangxinyu bfed67715d 添加用户系统调用sys get time
zhangxinyu 43cd467d9f 修改应用程序, 以满足测试
zhangxinyu 206edeb6e0 修改最大支持的应用数量
zhangxinyu b78f32e476 添加"腔骨龙" 用户应用程序
zhangxinyu 63e556a858 增加一个配置, 用来表示qemu的cpu频率
zhangxinyu 7b6d48f783 "始初龙"协作式操作系统完成
zhangxinyu 90cfed42ea 添加sys yield 系统调用
zhangxinyu aedba5ac5b 删除批处理调度系统的文件
zhangxinyu 8b3ae72470 添加了任务管理TaskManager的子功能, 修改了sys_exit为使用 switch进行切换
zhangxinyu feebb265d1 全局的任务管理器完成
zhangxinyu a667808a28 调整文件结构
zhangxinyu a1a34d0fac 增加TCB以及一个用来表示任务状态的结构体
zhangxinyu b0338d7648 添加switch 需要用的汇编以及函数
zhangxinyu 87b3f159ef 添加了一个TaskContext用来保存内核中任务切换cpu状态
zhangxinyu aeb5ccb164 初始化始初龙
zhangxinyu 40906323d2 添加两个mac上的开发工具
zhangxinyu 665d5d56d0 删掉动态生成的链接脚本
zhangxinyu abd6d04a0c 二叠纪"锯齿螈"原始操作系统完成
zhangxinyu 3d8c59d4ac 添加一个loader模块用来加载所有的app, 一起到内存中的指定位置
zhangxinyu 7a17f44b34 添加一个config文件
zhangxinyu 418fc95519 添加用户应用的编译脚本, 为每个应用设置不同的地址
zhangxinyu b03f0340b7 添加用户态系统调用sys_yield
zhangxinyu ee8f0b1945 添加3个用户程序
zhangxinyu 445a87d42b 初始化ch3-coop
zhangxinyu c96b6233bf 添加trap的处理
zhangxinyu fd355ae2b6 添加一些注释和日志
zhangxinyu 00e64296a8 添加系统调用分发以及功能
zhangxinyu 771e7b12ff 添加用户应用
zhangxinyu 7f64711219 trap.S 修改注释格式
zhangxinyu e3f52de1fd Merge remote-tracking branch 'origin/ch2' into ch2
zhangxinyu 41b6f80fdc run_next_app完成
zhangxinyu 90ccb10e88 增加了一个陷入上下文结构体, 用来保存陷入前寄存器的状态
zhangxinyu c4de99eea1 增加了一个陷入上下文结构体, 用来保存陷入前寄存器的状态
zhangxinyu c7a1cc1cb0 Makefile中kill不好使了, 先去掉
zhangxinyu 6f89f4f950 app应用信息已经正常加载进内核
zhangxinyu 3a09ea3e96 makefile 增加一个清理用户应用汇编的功能
zhangxinyu a93451b3df 自己封装一个refcell
zhangxinyu d11de6d699 添加用户应用
zhangxinyu 564506fe09 run_next_app完成