五个题目都需要会的知识:
- 安装或使用虚拟机:Vmware、Vmware palyer (free)(推荐)、Virtualbox(推荐)、VMLite、Xen、Virtuozzo、KVM或Windows自带虚拟机;
- 安装和使用Linux(推荐OpenEuler)(安装时注意包含内核源码和内核开发工具等)
- Linux内核重编和配置
一、基于Fuse的用户态文件系统
- 参考Fuse的安装说明,有可能需要重新编译Linux内核
- 利用Fuse的实现一个自己的文件系统
- 可以实现文件内容的保密保存(可以使用一种加密算法)
至少实现文件内容的保密读写,可考虑如何对不同文件保存不同的key。
二、实现基于模块的文件系统
- 需要重新编译Linux内核
- 复制ext3或ext4的源代码,修改Makefile文件,使用模块编译方式
- 修改ext3或ext4的源代码,实现新的文件系统
- 动态加载和卸载新的文件系统
- 资料:【Linux】实现基于Ext4的模块化文件系统-CSDN博客
至少需要修改文件系统的名称,最好能对文件写操作向系统后台打印出信息。
三、基于块的Linux驱动程序
- 需要重新编译Linux内核
- 增加一个驱动程序(使用内存模拟设备),使用模块编译方式
- 动态加载和卸载新的驱动
- 通过程序或命令行使用该驱动。
至少能通过该驱动保存1MB的数据,还能将这些数据读取出来。
可以模仿ramdisk的实现方式。
资料:【操作系统】课程设计:新增linux驱动程序_linux课设 csdn-CSDN博客
四、文件系统中VFS分析与读写监测
- 重新编译Linux内核。
- 分析VFS和EXT2或EXT4之间的关系,结合VFS理论掌握Linux中VFS的实现方法。
- 找到EXT2或EXT4中读写文件所对应的函数,使用Prink输出Linux中文件的读写操作。
五、Linux系统调用
- 重新编译Linux内核。
- 增加一个Linux的系统调用。
- 写一个程序进行调用。
- 资料:新增Linux系统调用——计算一个数的三次方_vim编写立方函数-CSDN博客