Commit Graph

276 Commits

Author SHA1 Message Date
hwzzy666 cdc7440221 删除重复的宏定义 2022-07-09 17:03:47 +08:00
fslongjin be155d670b :doc: 完善FAT32文档 2022-07-08 21:42:34 +08:00
fslongjin d32aa2d99c 增加touch到绝对路径的功能 2022-07-07 10:27:40 +08:00
fslongjin 8c8352e748 🆕 fat32_create 2022-07-07 00:55:33 +08:00
fslongjin fc3fbf7acc 🔧 将填充长短目录项的代码单独提取出来 2022-07-06 19:53:50 +08:00
fslongjin 440b3c917f 🆕 新增fat文件名合法性检查 2022-07-06 18:20:38 +08:00
fslongjin b79ba099df bugfix: 修复了fat32_mkdir的bug(在非根目录下创建文件夹会出错)(在/dev中创建子文件夹,opendir时属性设置错误的bug) 2022-07-06 17:10:54 +08:00
fslongjin c4f90f4883 将分配簇的功能单独独立成一个函数 2022-07-05 23:07:25 +08:00
fslongjin 9eb9d759e6 bugfix: 修复未将子目录项的dentry加入父目录项的dentry的subdirs_list的bug 2022-06-25 21:06:25 +08:00
fslongjin d775af70c7 🆕 fat32文件系统的mkdir 2022-06-25 20:55:59 +08:00
fslongjin 325bc981fe 🐛 修复traceback终点判断的bug 2022-06-23 11:44:42 +08:00
fslongjin 1ab51cb334 🆕 内核栈反向追踪 2022-06-22 23:31:47 +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 9322d8ab20 bugfix: 修复多核启动时,自旋锁持有计数错误的问题 2022-06-09 16:27:55 +08:00
fslongjin 8f180254bc 🆕 输入about即可展示系统的“关于”信息 2022-06-08 00:19:08 +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 b97aaee746 🐛 修复了进程由于异常被捕获后,其他进程无法被正常调度的问题 2022-06-01 17:13:12 +08:00
fslongjin e2a59dbd43 🆕 exec (存在bug 2022-05-31 21:55:06 +08:00
fslongjin 844e66f6bb 🐛 修复了键盘控制器被初始化之前,按键被按下,从而导致的收不到键盘中断的问题。 2022-05-31 11:50:55 +08:00
fslongjin b828622ea6 将wait_queue中的结点改为kmalloc创建 2022-05-30 18:25:50 +08:00
fslongjin 85707bd8cc 🆕 cat命令 2022-05-30 17:39:45 +08:00
fslongjin 9ee6d33318 🆕 完成了ls的功能 2022-05-29 14:36:46 +08:00
fslongjin a4157bb4a7 部分完成了readdir 2022-05-27 13:41:10 +08:00
fslongjin 37669ebf87 🆕 cd命令 2022-05-25 22:50:32 +08:00
fslongjin 8bd7b64a0b 🆕 增加重启命令reboot 2022-05-25 14:38:15 +08:00
fslongjin b02f5ea47c bug fix: 修复了加载进程时未对内存空间清零的问题 2022-05-25 14:37:06 +08:00
fslongjin 8246c1c9e2 🆕 pwd命令 2022-05-24 16:37:28 +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 e6108602df 🆕 用户态解析键盘扫描码 2022-05-21 21:49:56 +08:00
fslongjin b9c4efcb0f bugfix: 存储文件路径的内存对象中已经含有脏数据时,文件搜索会出错 2022-05-21 19:31:24 +08:00
fslongjin 46ee327742 🐛 修复malloc扩容时int32溢出的bug,以及扩容堆内存后,由于未执行合并从而导致产生大量碎片的bug 2022-05-21 00:47:30 +08:00
fslongjin 832c0c7e5c 🔧 更新了键盘驱动程序,使其适配vfs 2022-05-20 22:53:47 +08:00
fslongjin 464837eb1a 🆕 double buffer 2022-05-20 19:37:26 +08:00
fslongjin 59e847294a 修复makefile的bug 2022-05-18 21:13:23 +08:00
fslongjin 8d8fd391fb 🐛 修复了需要映射的物理地址跨越页表时,产生内存越界的问题 2022-05-18 21:03:47 +08:00
fslongjin 5df5d79900 🆕 加载elf文件 2022-05-18 18:27:00 +08:00
fslongjin b0a7ec633d 🆕 检测是否为elf文件 2022-05-17 22:52:13 +08:00
fslongjin d6ea8893e7 增加elf的数据结构 2022-05-17 17:58:51 +08:00
fslongjin 9ea61b2124 🆕 elf_ehdr 2022-05-13 14:56:48 +08:00
fslongjin 46b08c7738 add some datastructure 2022-05-12 23:45:39 +08:00
fslongjin 1cc3db5e88 🆕 回收堆内存给操作系统 2022-05-11 20:42:53 +08:00
fslongjin edb21695ae minilibc 2022-05-11 20:42:30 +08:00
fslongjin 77d4854db7 🆕 具有中断管理功能的自旋锁 2022-05-11 20:41:47 +08:00
fslongjin c120a0e992 完成了malloc和free 2022-05-11 11:33:29 +08:00
fslongjin 37da6ef19e 🐛 修复printf的bug 2022-05-07 13:54:28 +08:00
fslongjin fd0147e04c 🆕 malloc 、printf 2022-05-07 13:46:23 +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 3e101d71ff sys_write 2022-04-28 23:24:53 +08:00
fslongjin d9399944e8 🔧 校验文件描述符是否存在 2022-04-27 21:00:05 +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 c14bd25059 Merge commit '4473ff5' 2022-04-26 00:26:03 +08:00
fslongjin 4473ff594c 解决了debian上编译后,kernel_thread_func被优化掉的问题 2022-04-26 00:25:15 +08:00
fslongjin 81a508e4c7 Merge commit '4a41e734' 2022-04-25 19:28:25 +08:00
fslongjin 4a41e734a5 有bug,在debian,gcc=10.2.1上编译后运行会在进程切换时page fault 2022-04-25 19:24:22 +08:00
fslongjin c7b2d52c62 bug fix 2022-04-25 17:44:38 +08:00
fslongjin e03cdea153 🐛 修复空指针错误的问题 2022-04-25 16:13:52 +08:00
fslongjin dee231d9b8 修复内存空间未初始化的问题 2022-04-23 12:55:13 +08:00
fslongjin 59cbd6c4fc 🆕 用户/内核内存拷贝函数 2022-04-22 23:40:27 +08:00
fslongjin 5f24cd56fe 🆕 errno.h and unistd.h 2022-04-22 23:15:47 +08:00
fslongjin 2fcf91733f 修正系统入口为系统调用门 2022-04-22 23:15:34 +08:00
fslongjin 677c505cb1 🆕 将fat32文件系统适配VFS框架 2022-04-22 21:30:48 +08:00
fslongjin 7d3c1b098e 🆕 vfs虚拟文件系统 2022-04-21 23:48:47 +08:00
fslongjin 2467367e05 🆕 增加strcmp 2022-04-21 23:32:40 +08:00
fslongjin 9b382dab60 🆕 在fat32文件系统中按照路径寻找文件 2022-04-20 19:55:36 +08:00
fslongjin 979bb35599 🆕 读取fat32文件系统的基础信息 2022-04-19 20:56:01 +08:00
fslongjin 39dd802ff1 磁盘请求在处理时,切换进程 2022-04-19 15:13:59 +08:00
fslongjin 0e8bf69d65 增加了uart输出的条件编译 2022-04-15 15:28:00 +08:00
fslongjin 22359344e4 🆕 uart驱动 2022-04-15 15:23:17 +08:00
fslongjin be8ac71aa9 bug fix 2022-04-15 14:15:32 +08:00
fslongjin c2d8e88617 🐛 创建页表时未清零内存空间 2022-04-14 19:26:46 +08:00
fslongjin 53c553c730 🎨 更改代码结构 2022-04-14 16:53:11 +08:00
fslongjin 777932704d 完善ipi通信机制 2022-04-14 16:53:01 +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 3fc2ec6d7e 🎨 更改全局变量定义的位置 2022-04-13 11:15:16 +08:00
fslongjin 7295565e5e 增加锁的持有计数 2022-04-13 11:14:49 +08:00
fslongjin ac28a3c806 🆕 原子变量和信号量 2022-04-12 21:30:07 +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 d78db8225c 解决了#DE会触发#UD的问题 2022-04-10 23:03:16 +08:00
fslongjin f5f36aafd8 将内核定位到高地址(存在bug,中断时会访问低地址) 2022-04-10 21:30:16 +08:00
fslongjin 3063a340e2 修复ahci缓冲区地址错误的问题 2022-04-09 21:15:51 +08:00
fslongjin 05dc7ac73b 将内核层空间移动到0xffff800000000000 2022-04-09 21:11:07 +08:00