From: Alan Cox Date: Sun, 8 Nov 2015 17:20:28 +0000 (+0000) Subject: Levels: first proposal of how we define a "level 1" Fuzix system X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=28f7fa839624cb23e8dbe5cdf63209811239c251;p=FUZIX.git Levels: first proposal of how we define a "level 1" Fuzix system We need some kind of line for the smaller 8bit boxes and having everyone with different random varieties of features will be a support nightmare --- diff --git a/Kernel/doc/Levels b/Kernel/doc/Levels new file mode 100644 index 00000000..e235e149 --- /dev/null +++ b/Kernel/doc/Levels @@ -0,0 +1,154 @@ +Proposed Features For Each Level + + +Level 1 +--------- + +System Calls: + access + alarm + brk + chdir + chmod + chown + chroot + close + dup + dup2 + execve + _exit + fchdir + fchmod + fchown + fcntl + flock + fork + fstat + getegid + geteuid + _getfsys + getgid + getpgrp + getpid + getppid + getuid + ioctl + kill + link + lseek + mkdir + mknod + mount + nice + open + pause + pipe + read + rename + rmdir + sbrk + sched_yield + setgid + setpgrp + setuid + sigdisp + signal + stat + stime + sync + _time + times + uadmin + umask + umount + _uname + unlink + utime + waitpid + write + +Signals (kernel properties) + SIGHUP + SIGINT + SIGQUIT + SIGILL + SIGABRT + SIGBUS + SIGFPE + SIGKILL + SIGPIPE + SIGALRM + SIGTERM + SIGSTKFLT + SIGCONT } Need completing + SIGSTOP } + +Terminal + VMIN + VEOF + VTIME + VERASE + VINTR + VKILL + VQUIT + VSTART + VSTOP + At least 132 bytes buffer + +Filesystem + PATH_MAX 512+ + +Level 2 +--------- + +Features: + Core dumps + Job control + +Potential System Calls: + acct + get/setgroups + memalloc + memfree + profil + select + ulimit/rlimit + rusage + sigaction() and further POSIX features (but which need to be in L1) + (sighold/sigignore/sigpause etc) + +Signals + SIGCHLD (???) + SIGTSTP + SIGTTIN + SIGTTOU + SIGXCPU + SIGXFSZ + SIGVTALRM + SIGPROF + SIGWINCH (???) + SIGIO + SIGPOLL + +Terminal + VSUSP + VDSUSP + VLNEXT (???) + Pty pairs + 256 byte input buffer (POSIX compliant) + +Filesystem + Look at fs switch options for bigger boxes + Asynchronous I/O (? - probably not worth it) + POSIX shared memory on flat memory/bigger boxes + Symbolic links ? + True pathconf/fpathconf if fs switch + True directory scanning funcs + Proper full PATH_MAX + + +Independent Add On Chunks +------------------------- + +TCP/IP (but really also needs to include select/poll) +