
FreeNOS微内核系统研究
文章平均质量分 61
FreeNOS是一个使用C++编写的一个具有完整多任务调度,进程间通信以及中断处理等功能作系统,还包括文件系统挂载,文件节点创建,基本上涵盖了一个操作系统启动初期的实地址模式到保护模式的跳转,初始化硬件资源以及实现内核态与用户态的陷阱门接口,加载设备驱动,最后进入shell终端,是学习操作系统很好的
荆楚闲人
老骥伏枥,志在千里;烈士中年,壮心不已。
展开
-
FreeNOS的启动
关于FreeNOS的编译,请参见《FreeNOS源码编译》为了在你本机运行FreeNOS的自动测试程序,在FreeNOS的代码根目录运行如下命令:scons test为了在Qemu下运行FreeNOS的自动测试程序,在FreeNOS的代码根目录运行如下命令scons qemu_test为了在Qemu的虚拟机中运行FreeNOS操作系统,执行如下命令:scons qemu执行后出现如下登录界面,表示系统成功启动:用户名输入root,直接回车(密码默认没...原创 2022-02-02 12:01:55 · 834 阅读 · 0 评论 -
FreeNOS源码编译
FreeNOS是一个使用C++编写的一个具有完整多任务调度,进程间通信以及中断处理等功能作系统,还包括文件系统挂载,文件节点创建,基本上涵盖了一个操作系统启动初期的实地址模式到保护模式的跳转,初始化硬件资源以及实现内核态与用户态的陷阱门接口,加载设备驱动,最后进入shell终端,是学习操作系统很好的一个开源项目。 项目主页 www.freenos.org,也即是FreeNOS的官网,如下:该项目源码使用C++编写,使用了许多经典的设计模式,模块类,虚函数也运用的十分巧妙,...原创 2022-02-02 10:04:45 · 2413 阅读 · 0 评论 -
编译FreeNOS遇到的坑汇总
听说FreeNOS是个微内核操作系统,且用C++编写,很适合学习操作系统和C++,于是准备研究下,但第一步编译就遇到好多坑,现在汇总如下:坑1:从GitHub的https://github.com/nieklinnenbank/FreeNOS 下载FreeNOS源码,发现不同版本的源码目录有的有site_scons目录,有的没有,如下为:master版本的目录结构如下:master版本的没有site_scons目录,编译时报如下错误:scons: Building targets ..原创 2022-02-01 19:39:45 · 1856 阅读 · 0 评论 -
编译FreeNOS报/usr/lib/grub/i386-pc/modinfo.sh doesn‘t exist错误
解决方法:解决方法参照:https://superuser.com/questions/1293793/grub-install-error-usr-lib-grub-i386-pc-modinfo-sh-doesnt-exist即重新下载,解压放进该/usr/lib/grub/下面。按下述步骤进行:即执行如下命令:cd /tmp然后执行如下命令:sudo apt-get download grub-pc-bin此时/tmp目录下会看到下载下来的grub-pc-bin_2原创 2022-02-01 18:57:21 · 1952 阅读 · 0 评论