OS67
1.0.0
OS67是一个类似于Unix的玩具内核,它带有一些用户例程。 (基于x86)

平台:Linux
git clone https://github.com/SilverRainZ/OS67.git
cd OS67
make init # only for first time
make fs # build root file system and user routines, root privilege required
make # build kernel
make run # run with bochs int _fork ();
int _exit ();
int _wait ();
int _pipe ( int * fd );
int _read ( int fd , char * addr , uint32_t n );
int _kill ( int pid );
int _exec ( char * path , char * * argv );
int _fstat ( int fd , struct stat * stat );
int _chdir ( char * path );
int _dup ( int fd );
int _getpid ();
int _sleep ( uint32_t sec );
int _uptime ();
int _open ( char * path , uint32_t mode );
int _write ( int fd , char * addr , uint32_t n );
int _mknod ( char * path , uint32_t di );
int _unlink ( char * path );
int _link ( char * old , char * new );
int _mkdir ( char * path );
int _close ( int fd );usr/ : touch usr/newroutine.c中添加一个新文件Makefile中向UPROGS变量添加新值,如下: - UPROGS = bin/cinit bin/sh bin/cat bin/ls bin/mkdir bin/rm
+ UPROGS = bin/cinit bin/sh bin/cat bin/ls bin/mkdir bin/rm bin/newroutinemake fs && make run然后您可以运行用户例程请参阅问题·Silverrainz/OS67
请在问题中粘贴内核日志。
未点击宏__LOG_ON如下以启用特定文件的记录:
- // #define __LOG_ON 1
+ #define __LOG_ON 1GNU通用公共许可证版本3