mirror of
https://gitlab.com/sortix/sortix.git
synced 2023-02-13 20:55:38 -05:00
Updated the README.
This commit is contained in:
parent
e0eabd0e5f
commit
a353706011
1 changed files with 20 additions and 14 deletions
34
README
34
README
|
@ -12,7 +12,9 @@ The system aims to be an Unix-clone and is heavily based on POSIX. However, I've
|
||||||
drawn much inspiration from systems such as Plan 9, GNU/Hurd and MINIX. Indeed,
|
drawn much inspiration from systems such as Plan 9, GNU/Hurd and MINIX. Indeed,
|
||||||
I plan to construct a micro-kernel with user-space filesystems, per-process
|
I plan to construct a micro-kernel with user-space filesystems, per-process
|
||||||
namespaces, replacing many system calls with filesystem nodes, and other
|
namespaces, replacing many system calls with filesystem nodes, and other
|
||||||
exciting features.
|
exciting features. This design will make it safe to let normal users perform
|
||||||
|
operations such as mounting and create their own "sub-operating-system"
|
||||||
|
environment where they are the root.
|
||||||
|
|
||||||
System Requirements
|
System Requirements
|
||||||
-------------------
|
-------------------
|
||||||
|
@ -20,7 +22,7 @@ Sortix has very low system requirements. It also works well under virtual
|
||||||
machines such as VirtualBox and Qemu.
|
machines such as VirtualBox and Qemu.
|
||||||
|
|
||||||
* A 32-bit x86 or 64-bit x86_64 CPU.
|
* A 32-bit x86 or 64-bit x86_64 CPU.
|
||||||
* A dozen megabyte RAM.
|
* A dozen megabytes of RAM.
|
||||||
* A harddisk or cdrom drive or support for booting from USB.
|
* A harddisk or cdrom drive or support for booting from USB.
|
||||||
* A multiboot compliant bootloader if booting from harddisk.
|
* A multiboot compliant bootloader if booting from harddisk.
|
||||||
* A Parallel ATA harddisk, if you wish to access it from Sortix. SATA is not
|
* A Parallel ATA harddisk, if you wish to access it from Sortix. SATA is not
|
||||||
|
@ -39,8 +41,8 @@ A number of standard utilities are present such as cat, head, tail, clear, cp,
|
||||||
column, kill, ls, rm, pwd, uname, echo, and uptime. There is even a number of
|
column, kill, ls, rm, pwd, uname, echo, and uptime. There is even a number of
|
||||||
non-standard utilities such as calc, help, init, kernelinfo, memstat, and pager.
|
non-standard utilities such as calc, help, init, kernelinfo, memstat, and pager.
|
||||||
This collection of utilities will continue to grow as it matures and third party
|
This collection of utilities will continue to grow as it matures and third party
|
||||||
software is ported. I've currently had some luck porting gzip and parts of
|
software is ported. I've currently had some luck partially porting binutils,
|
||||||
binutils.
|
ocaml, and gzip, but the system isn't fully ready for such software yet.
|
||||||
|
|
||||||
A number of small games is present and uses the VGA textmode to render ASCII
|
A number of small games is present and uses the VGA textmode to render ASCII
|
||||||
graphics. Notably you can play two-player Pong, or single-player Snake, or the
|
graphics. Notably you can play two-player Pong, or single-player Snake, or the
|
||||||
|
@ -49,20 +51,19 @@ attraction of the system for non-technical people.
|
||||||
|
|
||||||
The Sortix kernel has very basic filesystem support. The root filesystem / is
|
The Sortix kernel has very basic filesystem support. The root filesystem / is
|
||||||
simply a single-directory RAM filesystem. The init ramdisk is mounted read-only
|
simply a single-directory RAM filesystem. The init ramdisk is mounted read-only
|
||||||
on /bin and various devices are accessable through the /dev filesystem. A lot of
|
on /bin and various devices are accessable through the /dev filesystem. Work is
|
||||||
work is currently going into implementing a fully-working kernel virtual file
|
underway to create an ext2 filesystem server, but it won't be of much use until
|
||||||
system able to outsource filesystem requests to user-space servers. Once this is
|
the kernel virtual filesystem is completed in the 0.7dev development cycle.
|
||||||
completed we will be able to shape Sortix into a real microkernel based system.
|
|
||||||
|
|
||||||
Job control and Unix signals is not fully or correctly implemented. This means
|
Job control and Unix signals is not fully or correctly implemented. This means
|
||||||
that sequences such as Ctrl-C (SIGINT) not always works correctly. This will
|
that sequences such as Ctrl-C (SIGINT) not always works correctly. This will
|
||||||
be implemented soon enough (depends partially on VFS; see above).
|
be implemented soon enough (depends partially on VFS; see above).
|
||||||
|
|
||||||
There currently is no concept of users in the system (only the root user
|
There currently is no concept of users in the system (only the root user exists
|
||||||
exists). I decided to delay making a multi-user system until the base system is
|
I decided to delay making a multi-user system until the base system is in place.
|
||||||
in place. Note that there is only a single terminal - even though the system is
|
Note that there is only a single terminal - even though the system is a
|
||||||
a multi-process system, there is only a single /dev/vga and there is no
|
multi-process system, there is only a single /dev/vga and there is no framework
|
||||||
framework in place for sharing it.
|
in place for sharing it.
|
||||||
|
|
||||||
Technical details
|
Technical details
|
||||||
----------------
|
----------------
|
||||||
|
@ -77,7 +78,7 @@ Building
|
||||||
To build the Sortix source code you need to install a few dependencies. First of
|
To build the Sortix source code you need to install a few dependencies. First of
|
||||||
all you need the GNU Compiler Collection (C and C++), GNU Make, and GNU
|
all you need the GNU Compiler Collection (C and C++), GNU Make, and GNU
|
||||||
Binutils. You then need to build and install the included macro preprocessor
|
Binutils. You then need to build and install the included macro preprocessor
|
||||||
mxmpp somewhere in your PATH such as /usr/bin. If you wish to build the 32-bit
|
(mxmpp) somewhere in your PATH such as /usr/bin. If you wish to build the 32-bit
|
||||||
version of Sortix, you need the Netwide Assembler (nasm) as parts of it hasn't
|
version of Sortix, you need the Netwide Assembler (nasm) as parts of it hasn't
|
||||||
been ported to the GNU assembler yet. You need a GNU/Linux build system to build
|
been ported to the GNU assembler yet. You need a GNU/Linux build system to build
|
||||||
Sortix, although, it wouldn't be difficult to port the build system to other
|
Sortix, although, it wouldn't be difficult to port the build system to other
|
||||||
|
@ -116,6 +117,11 @@ License, either version 3 or (at your option) any later version.
|
||||||
The libmaxsi standard library is licensed under the GNU Lesser General Public
|
The libmaxsi standard library is licensed under the GNU Lesser General Public
|
||||||
License, either version 3 or (at your option) any later version.
|
License, either version 3 or (at your option) any later version.
|
||||||
|
|
||||||
|
Any experimental repositories and branches on Gitorious related to Sortix but
|
||||||
|
which contains no copyright statements are also released under the GNU General
|
||||||
|
Public License, either version 3 or (at your option) any later version. These
|
||||||
|
things are so experimental that I didn't add copyright statements yet.
|
||||||
|
|
||||||
Sortix is distributed in the hope that it will be useful, but WITHOUT ANY
|
Sortix is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
PARTICULAR PURPOSE. See the gpl.html and lgpl.html files for more information.
|
PARTICULAR PURPOSE. See the gpl.html and lgpl.html files for more information.
|
||||||
|
|
Loading…
Reference in a new issue