⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dosboot.c

📁 著名操作系统Plan 9的第三版的部分核心源代码。现在很难找到了。Plan 9是bell实验室开发的Unix后继者。
💻 C
字号:
#include <u.h>#include <libc.h>#include "../boot/boot.h"int	printcol;static void	dossrv(void);static void	swapproc(void);voiddosboot(void){	int fd;	open("#c/cons", OREAD);	open("#c/cons", OWRITE);	open("#c/cons", OWRITE);	/*	 *  start to dos file system server	 */	dossrv();	sleep(1000);	fd = open("#s/boot", ORDWR);	if(fd < 0)		fatal("open #s/boot");	/*	 *  pick a floppy and mount it as root	 */	if(bind("/", "/", MREPL) < 0)		fatal("bind /");	if(mount(fd, "/", MAFTER|MCREATE, "#f/fd0disk") < 0)		if(mount(fd, "/", MAFTER|MCREATE, "#f/fd1disk") < 0)			if(mount(fd, "/", MAFTER|MCREATE, "#S/sdC0/dos") < 0)				fatal("mount /");	close(fd);	settime(1);	swapproc();	execl("/386/init", "init", "-mt", 0);	fatal("/386/init");}static voiddossrv(void){	print("dossrv...");	if(bind("#c", "/dev", MREPL) < 0)		fatal("bind #c");	if(bind("#p", "/proc", MREPL) < 0)		fatal("bind #p");	switch(fork()){	case -1:		fatal("fork");	case 0:		execl("/cfs", "cfs", "boot", 0);		fatal("can't exec cfs");	default:		break;	}}static voidswapproc(void){	int fd;	fd = open("#c/swap", OWRITE);	if(fd < 0){		warning("opening #c/swap");		return;	}	if(write(fd, "start", 5) <= 0)		warning("starting swap kproc");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -