59 Commits

Author SHA1 Message Date
fslongjin
2fd21e0395 new: 内核态fork 2022-08-01 14:20:16 +08:00
fslongjin
946bbef392 new: mutex 2022-07-31 17:09:12 +08:00
fslongjin
a02acbdbe6 将进程同步原语移动到common文件夹下 2022-07-31 14:17:26 +08:00
fslongjin
5963c45116 bugfix: 在内核线程中,rflags未按照预期值进行设置的问题 2022-07-30 13:12:29 +08:00
fslongjin
7c9366b297 new: 增加ktest_start函数以开启内核自测试 2022-07-29 17:40:55 +08:00
fslongjin
2a983a8534 new: kfifo 2022-07-28 19:48:20 +08:00
fslongjin
90203803d3 🆕 使用rdtsc进行精确定时 2022-07-27 21:19:59 +08:00
fslongjin
494bcc1811 bitree的单元测试以及bug修复 2022-07-26 15:44:01 +08:00
fslongjin
16d6b94c46 将usb的初始化交由init进程进行处理 2022-07-18 21:19:34 +08:00
fslongjin
aa3f433cd5 使mm支持4K虚拟地址映射 2022-07-18 16:07:34 +08:00
fslongjin
d0ddb73788 🔧 include上级文件夹时,统一采用<>来指定文件 2022-07-17 15:41:19 +08:00
fslongjin
676260c537 🆕 usleep()、nanosleep() 2022-07-12 12:01:51 +08:00
fslongjin
9ce123418f 删了几处无用信息 2022-06-10 00:22:14 +08:00
fslongjin
cdbc4a316c bugfix: 修复了无法在除pid=0的进程以外的进程刷新帧缓冲区的bug 2022-06-09 23:54:42 +08:00
fslongjin
2a47569473 bugfix: exec执行的文件不存在时,自动退出进程。 2022-06-09 21:56:32 +08:00
fslongjin
4e04ab9eee 🆕 在shell中启动另一个程序 2022-06-07 23:18:26 +08:00
fslongjin
129d24296b bug fix: page_num>=25时,填入页表的实际上是同一个物理页的bug 2022-06-02 19:22:03 +08:00
fslongjin
d64ddfa0b6 debuging... 2022-06-02 14:20:53 +08:00
fslongjin
e2a59dbd43 🆕 exec (存在bug 2022-05-31 21:55:06 +08:00
fslongjin
b02f5ea47c bug fix: 修复了加载进程时未对内存空间清零的问题 2022-05-25 14:37:06 +08:00
fslongjin
afeca18206 🎨 将shell独立成单独的app 2022-05-24 14:36:24 +08:00
fslongjin
1eb9a299b6 bug fix: Multiplication result converted to larger type 2022-05-21 21:57:00 +08:00
fslongjin
832c0c7e5c 🔧 更新了键盘驱动程序,使其适配vfs 2022-05-20 22:53:47 +08:00
fslongjin
8d8fd391fb 🐛 修复了需要映射的物理地址跨越页表时,产生内存越界的问题 2022-05-18 21:03:47 +08:00
fslongjin
5df5d79900 🆕 加载elf文件 2022-05-18 18:27:00 +08:00
fslongjin
78a219b715 🆕 内核堆内存调整函数 2022-05-06 15:29:42 +08:00
fslongjin
b7437b24d7 🐛 页表拷贝的bug 2022-05-06 11:44:53 +08:00
fslongjin
0aec6827ee 🆕 运行文件系统中的二进制程序 2022-05-06 00:25:32 +08:00
fslongjin
099b24539a 完善execve,使其能加载用户程序文件 2022-05-05 14:14:34 +08:00
fslongjin
1801ddffbd 🆕 fork 2022-05-04 23:20:39 +08:00
fslongjin
2ed8bdcfd2 🆕 lseek系统调用 2022-05-03 15:40:23 +08:00
fslongjin
f99179014a 🐛 修复了无法正确地往文件写入数据的bug 2022-05-03 15:12:02 +08:00
fslongjin
9db1c3f74e 🆕 fat32_write (存在写入bug) 2022-04-29 23:57:36 +08:00
fslongjin
b3ad8405a4 实现了打开、关闭、读取文件的功能 2022-04-27 20:49:10 +08:00
fslongjin
966d67fcde 🆕 sys_open系统调用 2022-04-27 00:39:02 +08:00
fslongjin
d94d92f5ee 激活FAT32 2022-04-26 13:12:59 +08:00
fslongjin
4473ff594c 解决了debian上编译后,kernel_thread_func被优化掉的问题 2022-04-26 00:25:15 +08:00
fslongjin
4a41e734a5 有bug,在debian,gcc=10.2.1上编译后运行会在进程切换时page fault 2022-04-25 19:24:22 +08:00
fslongjin
2fcf91733f 修正系统入口为系统调用门 2022-04-22 23:15:34 +08:00
fslongjin
979bb35599 🆕 读取fat32文件系统的基础信息 2022-04-19 20:56:01 +08:00
fslongjin
53c553c730 🎨 更改代码结构 2022-04-14 16:53:11 +08:00
fslongjin
ddbfb822c4 🆕 为AP处理器配置进程调度 2022-04-14 00:26:41 +08:00
fslongjin
82e34f271f 为每个核心分配单独的IST 2022-04-13 17:58:06 +08:00
fslongjin
7295565e5e 增加锁的持有计数 2022-04-13 11:14:49 +08:00
fslongjin
fb4ddc56ff 解决了在用户态下进行系统调用会禁用中断的问题 2022-04-12 15:25:21 +08:00
fslongjin
2d7b2b7048 改用int250作为系统调用 2022-04-12 11:54:44 +08:00
fslongjin
011246281a 🐛 解决了无法进入用户态的bug 2022-04-11 17:15:24 +08:00
fslongjin
dacc29310f 进入用户模式(系统调用存在page fault的bug) 2022-04-11 10:32:39 +08:00
fslongjin
c09c6d4e66 能进入用户态程序,但无法正确进行系统调用 2022-04-10 23:53:07 +08:00
fslongjin
f5f36aafd8 将内核定位到高地址(存在bug,中断时会访问低地址) 2022-04-10 21:30:16 +08:00