DragonOS/user/init.c

36 lines
901 B
C
Raw Normal View History

#include <libc/unistd.h>
#include <libc/stdio.h>
#include <libc/fcntl.h>
int main()
{
char string[] = "333.txt";
uint8_t buf[128] = {0};
char tips_str[] = "The first application 'init.bin' started successfully!\n";
put_string(tips_str, COLOR_GREEN, COLOR_BLACK);
int fd = open(string, 0);
read(fd, buf, 128);
put_string(buf, COLOR_ORANGE, COLOR_BLACK);
lseek(fd, 0, SEEK_SET);
write(fd, tips_str, sizeof(tips_str)-1);
lseek(fd, 0, SEEK_SET);
// 由于暂时没有实现用户态的memset因此先手动清零
for(int i=0;i<128;++i)
buf[i] = 0;
read(fd, buf, 128);
put_string(buf, COLOR_YELLOW, COLOR_BLACK);
close(fd);
2022-05-06 03:44:53 +00:00
pid_t p = fork();
if(p == 0)
put_string("subproc\n", COLOR_PURPLE, COLOR_BLACK);
else put_string("parent proc\n", COLOR_ORANGE, COLOR_BLACK);
while (1)
;
}