Commit Graph

  • a5590116d2 修改os的内存大小 ch5 zhangxinyu 2023-06-12 11:55:53 +0800
  • 7a2a0ff5bc 增加多进程测试用户程序, zhangxinyu 2023-06-12 11:55:22 +0800
  • bef8691ce0 现在统计内核态和用户态的时间 zhangxinyu 2023-06-09 13:53:18 +0800
  • a0a0167af0 现在用户态每个应用会统计其消耗时间 zhangxinyu 2023-06-09 10:45:29 +0800
  • 907d13e263 添加注释 zhangxinyu 2023-06-09 10:45:03 +0800
  • abe0c17661 增加logo zhangxinyu 2023-06-09 10:37:01 +0800
  • 81f38f58c5 增加exec, fork 等系统调用, 现在用户应用可以和os交互了 zhangxinyu 2023-06-09 00:04:28 +0800
  • d1dc7056a5 进程管理的核心结构以及0号进程的创建 zhangxinyu 2023-06-08 17:28:06 +0800
  • 2f40dbce77 添加用户引用 0号进程 zhangxinyu 2023-06-08 17:26:57 +0800
  • 713571b729 修改用户应用8字节对齐 zhangxinyu 2023-06-08 17:25:51 +0800
  • 082d65446f 增加remove_area_with_start_vpn 和 recycle_data_pages 用于释放地址空间中的映射 zhangxinyu 2023-06-08 15:45:00 +0800
  • ca37923488 link_app.S取消git管理 zhangxinyu 2023-06-08 13:48:21 +0800
  • b5bd4bfee7 增加了内核栈和pid结构体, 用于单独管理每个应用的内核栈, 和对应的PID zhangxinyu 2023-06-08 13:47:20 +0800
  • a8bf43b113 基于应用名的应用加载器完成 zhangxinyu 2023-06-08 10:58:47 +0800
  • dedb7e59a3 初始化伤齿龙 zhangxinyu 2023-06-08 09:51:34 +0800
  • 1719976696 伟大的进化! "伤齿龙"动态申请释放内存完成!!! main ch4 zhangxinyu 2023-06-01 18:17:33 +0800
  • 7fcb653679 "伤齿龙" 增加堆空间功能 zhangxinyu 2023-06-01 17:38:56 +0800
  • c273398dfa "伤齿龙"已经可以正常响应用户进行的write系统调用了, zhangxinyu 2023-06-01 16:01:13 +0800
  • 6d9e06efa6 添加地址空间, "伤齿龙"现在任务可以正常切换了, zhangxinyu 2023-06-01 15:39:19 +0800
  • d543a15f18 添加注释说明 zhangxinyu 2023-06-01 15:35:13 +0800
  • 62741d6012 修改用户应用编译方式 zhangxinyu 2023-06-01 15:34:27 +0800
  • c8c00b3c9e 修改用户应用 zhangxinyu 2023-06-01 15:33:30 +0800
  • 021722883d 修改了 陷入处理的 trap.S 汇编, 使其可以切换地址空间 zhangxinyu 2023-06-01 10:43:42 +0800
  • 8f8b06e3bf kernel space 目前完成 zhangxinyu 2023-06-01 10:43:07 +0800
  • bb03c2e3e2 添加地址空间以及创建内核地址空间的方法 zhangxinyu 2023-05-31 18:41:47 +0800
  • deec9b74af 增加 PageTable 结构体相关 zhangxinyu 2023-05-31 17:05:03 +0800
  • d4069b8cde 全局的内存管理器的分配和释放物理页帧完成 zhangxinyu 2023-05-31 14:43:13 +0800
  • c239525dc4 全局的内存管理器完成 zhangxinyu 2023-05-31 13:53:31 +0800
  • c583719ad0 添加动态内存分配失败时的错误处理函数 zhangxinyu 2023-05-31 11:02:06 +0800
  • 0e1724297a 为内核添加动态内存分配器 zhangxinyu 2023-05-31 10:45:55 +0800
  • 8066fafe5d debug 也会进行对应的kill zhangxinyu 2023-05-31 10:19:09 +0800
  • 636ffc62f3 修改Makefile 忽略pkill导致的错误 zhangxinyu 2023-05-31 10:14:25 +0800
  • efbb27348b 初始化"头甲龙"仓库 zhangxinyu 2023-05-29 17:41:08 +0800
  • cd839d484a 修改Makefile, 现在每次debug可以正确的关闭上次的qemu进程 zhangxinyu 2023-05-29 16:15:23 +0800
  • c06452ce93 "腔骨龙"现在可以统计用户时间, 和内核时间 ch3 zhangxinyu 2023-05-25 16:08:20 +0800
  • 85fa0baef3 "腔骨龙"现在在每个用户应用退出时, 会输出用户应用占用cpu的时间 zhangxinyu 2023-05-25 15:51:31 +0800
  • 6e7486415d "腔骨龙"完成 zhangxinyu 2023-05-24 18:43:30 +0800
  • 2c158830bf 添加sbi-rt库, 时钟中断设置这里,这个书里是错的也没写出来sbi_call已经不能用了, 需要用sbi-rt这个设置时钟中断 zhangxinyu 2023-05-24 18:35:47 +0800
  • 1f093dd193 添加时钟中断处理 zhangxinyu 2023-05-24 16:51:09 +0800
  • bfed67715d 添加用户系统调用sys get time zhangxinyu 2023-05-24 16:44:54 +0800
  • 43cd467d9f 修改应用程序, 以满足测试 zhangxinyu 2023-05-24 16:44:21 +0800
  • 206edeb6e0 修改最大支持的应用数量 zhangxinyu 2023-05-24 16:42:36 +0800
  • b78f32e476 添加"腔骨龙" 用户应用程序 zhangxinyu 2023-05-24 16:15:02 +0800
  • 63e556a858 增加一个配置, 用来表示qemu的cpu频率 zhangxinyu 2023-05-24 16:08:51 +0800
  • 7b6d48f783 "始初龙"协作式操作系统完成 zhangxinyu 2023-05-24 15:32:01 +0800
  • 90cfed42ea 添加sys yield 系统调用 zhangxinyu 2023-05-24 15:24:28 +0800
  • aedba5ac5b 删除批处理调度系统的文件 zhangxinyu 2023-05-24 15:20:33 +0800
  • 8b3ae72470 添加了任务管理TaskManager的子功能, 修改了sys_exit为使用 switch进行切换 zhangxinyu 2023-05-24 15:20:00 +0800
  • feebb265d1 全局的任务管理器完成 zhangxinyu 2023-05-24 14:05:42 +0800
  • a667808a28 调整文件结构 zhangxinyu 2023-05-24 10:42:09 +0800
  • a1a34d0fac 增加TCB以及一个用来表示任务状态的结构体 zhangxinyu 2023-05-24 10:31:37 +0800
  • b0338d7648 添加switch 需要用的汇编以及函数 zhangxinyu 2023-05-24 10:22:52 +0800
  • 87b3f159ef 添加了一个TaskContext用来保存内核中任务切换cpu状态 zhangxinyu 2023-05-24 10:12:40 +0800
  • aeb5ccb164 初始化始初龙 zhangxinyu 2023-05-24 09:57:55 +0800
  • c2cfebbf6c 锯齿螈完成 ch3-coop zhangxinyu 2023-05-24 09:45:19 +0800
  • 2113cb2ad9 Merge remote-tracking branch 'origin/ch3-coop' into ch3-coop zhangxinyu 2023-05-24 09:39:48 +0800
  • 345c343d2f Revert "添加两个mac上的开发工具" zhangxinyu 2023-05-24 09:39:35 +0800
  • 5529f545f2 Merge remote-tracking branch 'origin/ch3-coop' into ch3-coop zhangxinyu 2023-05-24 09:37:22 +0800
  • 43befe3b94 Revert "添加两个mac上的开发工具, 多道程序的放置与加载和运行完成" zhangxinyu 2023-05-24 09:34:02 +0800
  • e064fe1b07 Revert "添加两个mac上的开发工具, 多道程序的放置与加载和运行完成" zhangxinyu 2023-05-24 09:34:02 +0800
  • 2a38f96b98 Revert "开始实现task context 所以, 现在编译出可以主动让出cpu的用户应用" zhangxinyu 2023-05-24 09:33:53 +0800
  • 27973ef2ea Merge remote-tracking branch 'origin/ch3-coop' into ch3-coop zhangxinyu 2023-05-24 09:23:18 +0800
  • aa8e42c7c4 添加两个mac上的开发工具, 多道程序的放置与加载和运行完成 zhangxinyu 2023-05-23 15:53:32 +0800
  • 9b6bfc7c87 开始实现task context 所以, 现在编译出可以主动让出cpu的用户应用 zhangxinyu 2023-05-23 17:04:17 +0800
  • 40906323d2 添加两个mac上的开发工具 zhangxinyu 2023-05-23 15:53:32 +0800
  • 665d5d56d0 删掉动态生成的链接脚本 zhangxinyu 2023-05-23 15:15:48 +0800
  • abd6d04a0c 二叠纪"锯齿螈"原始操作系统完成 zhangxinyu 2023-05-23 15:13:22 +0800
  • 3d8c59d4ac 添加一个loader模块用来加载所有的app, 一起到内存中的指定位置 zhangxinyu 2023-05-23 14:41:16 +0800
  • 7a17f44b34 添加一个config文件 zhangxinyu 2023-05-23 14:40:13 +0800
  • 418fc95519 添加用户应用的编译脚本, 为每个应用设置不同的地址 zhangxinyu 2023-05-23 13:36:25 +0800
  • b03f0340b7 添加用户态系统调用sys_yield zhangxinyu 2023-05-23 11:25:39 +0800
  • ee8f0b1945 添加3个用户程序 zhangxinyu 2023-05-23 10:57:27 +0800
  • 445a87d42b 初始化ch3-coop zhangxinyu 2023-05-23 10:54:28 +0800
  • c96b6233bf 添加trap的处理 ch2 zhangxinyu 2023-05-19 14:10:09 +0800
  • fd355ae2b6 添加一些注释和日志 zhangxinyu 2023-05-19 14:09:10 +0800
  • 00e64296a8 添加系统调用分发以及功能 zhangxinyu 2023-05-19 14:08:01 +0800
  • 771e7b12ff 添加用户应用 zhangxinyu 2023-05-19 14:07:26 +0800
  • 7f64711219 trap.S 修改注释格式 zhangxinyu 2023-05-19 10:00:30 +0800
  • e3f52de1fd Merge remote-tracking branch 'origin/ch2' into ch2 zhangxinyu 2023-05-18 18:48:54 +0800
  • 41b6f80fdc run_next_app完成 zhangxinyu 2023-05-18 18:44:47 +0800
  • 90ccb10e88 增加了一个陷入上下文结构体, 用来保存陷入前寄存器的状态 zhangxinyu 2023-05-18 08:59:47 +0800
  • c4de99eea1 增加了一个陷入上下文结构体, 用来保存陷入前寄存器的状态 zhangxinyu 2023-05-18 08:57:19 +0800
  • c7a1cc1cb0 Makefile中kill不好使了, 先去掉 zhangxinyu 2023-05-17 18:53:01 +0800
  • 6f89f4f950 app应用信息已经正常加载进内核 zhangxinyu 2023-05-17 17:20:27 +0800
  • 3a09ea3e96 makefile 增加一个清理用户应用汇编的功能 zhangxinyu 2023-05-17 17:10:23 +0800
  • a93451b3df 自己封装一个refcell zhangxinyu 2023-05-17 17:09:46 +0800
  • d11de6d699 添加用户应用 zhangxinyu 2023-05-17 17:09:02 +0800
  • 564506fe09 run_next_app完成 zhangxinyu 2023-05-18 18:44:47 +0800
  • a866fea634 增加了一个陷入上下文结构体, 用来保存陷入前寄存器的状态 zhangxinyu 2023-05-18 08:59:47 +0800
  • fcf1af84ad 增加了一个陷入上下文结构体, 用来保存陷入前寄存器的状态 zhangxinyu 2023-05-18 08:57:19 +0800
  • 5e0f3985ca Makefile中kill不好使了, 先去掉 zhangxinyu 2023-05-17 18:53:01 +0800
  • 4916c8bde9 app应用信息已经正常加载进内核 zhangxinyu 2023-05-17 17:20:27 +0800
  • a0fba7a3bd makefile 增加一个清理用户应用汇编的功能 zhangxinyu 2023-05-17 17:10:23 +0800
  • 5628d6f253 自己封装一个refcell zhangxinyu 2023-05-17 17:09:46 +0800
  • f348dcbad4 现价用户应用 zhangxinyu 2023-05-17 17:09:02 +0800
  • 55242082c6 kernel添加build.rs, 用来生成用户应用的汇编 zhangxinyu 2023-05-17 17:08:43 +0800
  • 8394be5119 修改ch2的bootloader路径 zhangxinyu 2023-05-17 14:39:35 +0800
  • 4ebf1a742c 初始化内核(其实就是把ch1的src复制过来) zhangxinyu 2023-05-17 14:36:07 +0800
  • d8d5955b60 完善用户程序Makefile, 现在可以build出来二进制文件 zhangxinyu 2023-05-17 14:21:30 +0800
  • 4b017882af 添加用户程序执行前环境的初始化(初始化bss段以及退出逻辑) zhangxinyu 2023-05-17 14:08:01 +0800