From 4d1a149531bc5d672cdf4a5a3e010662f9611d61 Mon Sep 17 00:00:00 2001 From: Miguel Date: Wed, 17 Oct 2018 22:52:28 +0200 Subject: starting rewriting scheduling ... --- userspace/files/.vimrc | 3 ++ userspace/init.c | 112 ++++++++++++------------------------------------- 2 files changed, 29 insertions(+), 86 deletions(-) (limited to 'userspace') diff --git a/userspace/files/.vimrc b/userspace/files/.vimrc index a9d6328..80484ed 100644 --- a/userspace/files/.vimrc +++ b/userspace/files/.vimrc @@ -11,3 +11,6 @@ set ft=c set t_me= " todo t_ve " todo t_vi + + +set bs=eol diff --git a/userspace/init.c b/userspace/init.c index e1ab531..dc21678 100644 --- a/userspace/init.c +++ b/userspace/init.c @@ -1,98 +1,38 @@ -//char *argv1[]={"xterm","/bin/foolstart",0}; -char *argv1[]={"xterm","/bin/fsh",0}; -//char *argv1[]={"xterm","/bin/vim",0}; -//char *argv1[]={"xterm","/bin/nc",0}; +/** xinit + * + * TODO: console version + * + * */ + char *env1[]={"HOME=/home/miguel","PS1=\033[34m$\033[37m","PWD=/home/miguel","PATH=/bin","TERM=fool-term",0}; -int main(int argc, char **argv) -{ - execve("/bin/xterm",argv1,env1); - /* +#define LAUNCH_COUNT 3 - int pid=fork(); +char *argv1[][4]={ + {"/bin/xterm","xterm","/bin/fsh",0}, + {"/bin/xterm","xterm","/bin/fsh",0}, + {"/bin/xterm","xterm","/bin/fsh",0}, +}; - if(!pid) - { - execve("/bin/xterm",argv1,env1); - } - else - { - while(1) - { - _gui_win(); - vesa_init(0); - void *tty=terminal_init_vesa(); - getchar(); - terminal_put('X'); - } +void fork_and_exec(char **argv) +{ + int pid=fork(); - } - */ + if(!pid) //child + { + execve(argv[0],&argv[1],env1); + while(1);//hopefully never reached + } } - /* - int pid=_fork(); - - if(pid==0) - { - _execve("/bin/xterm",NULL,NULL); - int pid=_fork(); - - if(pid==0) - { - _execve("/bin/xterm",NULL,NULL); - } - else - { - _execve("/bin/xterm",NULL,NULL); - } - } - else - { - _execve("/bin/xterm",NULL,NULL); - while(1); // block - - int pid=_fork(); - if(pid==0) - { - _execve("/bin/pain2",NULL,NULL); - } - else - { - _execve("/bin/pain1",NULL,NULL); - //_execve("/bin/pain3",NULL,NULL); - } - } - - - return 0; - // - -// char *argv1[]={"/bin/fsh",0}; - // char *env1[]={"HOME=/home/miguel","PS1=\033[34m$\033[37m","PWD=/home/miguel","PATH=/bin","TERM=fool-term",0}; - +int main(int argc, char **argv) +{ - // loop forever and spawn shells if the top-shell exits - while(1) + for(int i=0;i