WangFuJie Blog

路在脚下,心向远方

自制操作系统 - 系统交互shell

系统交互shell

shell是用户与操作系统进行交互的媒介,目前为止我们已经实现了大部分的系统调用,因此可以来实现一个简单的shell来进行与操作系统的交互。初步的shell将完成一些简单的命令如 ls cd pwd rm cat 等。

自制操作系统 - 文件系统相关系统调用(二)

文件系统相关系统调用(二)

上文中做了文件的初始化,接下来就可以实现文件相关的系统调用了。本文中将实现文件的打开、关闭、文件读、文件写、创建普通文件、设置文件偏移。以及设置当前工作目录,修改当前工作目录等系统调用。

自制操作系统 - 文件系统相关系统调用(一)

文件系统相关系统调用(一)

用户态对文件的操作需要通过系统调用来实现,本文中我们将会实现目录相关的系统调用和文件的初始化,包括创建目录、删除目录,硬链接。在文件初始化中创建系统文件表和进程文件表。

自制操作系统 - 文件系统相关操作(二)

文件系统相关操作(二)

本节继续实现对文件系统的操作,包括对目录的操作如添加目录项,获取目录下的文件、获取文件的innode和文件父目录的inode。并且通过inode实现对文件的读写和清空操作。

自制操作系统 - 文件系统相关操作(一)

文件系统相关操作(一)

创建完文件系统后,应该实现对文件系统的操作。本节将实现文件系统的位图管理、inode管理以及文件状态的管理,并实现umask系统调用来设置进程的默认权限。