Announcing BT/OS
Announcing BT/OS
I've been working on this for a few months now, but haven't announced it until there was something worth announcing. Since I tagged my first "release" (v0.0A) the other day, I guess that time has come...
BT/OS is (currently) a 32-bit, multi-tasking/multi-threading (threading API not yet available in userspace) OS compiled for Intel i686 platforms. (Test builds have also been made for i586.) One of the aims is to have it run on low-cost, embedded x86 CPUs, such as the Intel Quark and DM&P Vortex86 (hence being 32-bit for now), but not to exclude use on "normal" PCs.
The system is not designed to be particularly POSIX/UNIX-like (except where convenient) and draws influence from a wide variety of OSs, including UNIX, DOS, OS/2, Windows NT and AmigaOS. The kernel supports loadable modules (no unloading yet) and runs userspace programs in their own virtual memory spaces. I have support for PS/2 keyboards (a bit hacky, it assumes that the keyboard has already been initialised) and FAT16/32 filesystems on ATA hard drives. The toolchain is based on biinutils 2.23 and GCC 4.8.1. Newlib 2.1.0 has been ported (roughly) and libstdc++ works.
Some code from other sources is used (printf, liballoc, FAT implementation) to reduce development time and/or because I'm not particularly interested in the details of implementing such things. As such, the kernel is licenced under GPLv2 (without the "or later version" clause). The header files in "src/include" are public domain so as not to restrict the licencing of any future applications or modules (I have no desire to project any political views onto users of my OS, unlike certain other projects...).
Anyway, I've attached a screenshot. This is from the current version, a few revisions on from the 0.0A "release", with the main new feature being "globbing" in the shell (CMD.ELX). There is no proper "terminal driver" yet, so the shell (and all other applications) use the input/display devices directly for now. The next work to be done is some enhancements to the memory manager (to support things like file mapping, shared memory and "guard pages"), threading for userspace, a terminal driver to facilitate sane multitasking (still not sure whether I'll have VT100/ANSI emulation built-in or not) and then on to a GUI.
Comments/questions welcome. Project available on GitHub here.
BT/OS is (currently) a 32-bit, multi-tasking/multi-threading (threading API not yet available in userspace) OS compiled for Intel i686 platforms. (Test builds have also been made for i586.) One of the aims is to have it run on low-cost, embedded x86 CPUs, such as the Intel Quark and DM&P Vortex86 (hence being 32-bit for now), but not to exclude use on "normal" PCs.
The system is not designed to be particularly POSIX/UNIX-like (except where convenient) and draws influence from a wide variety of OSs, including UNIX, DOS, OS/2, Windows NT and AmigaOS. The kernel supports loadable modules (no unloading yet) and runs userspace programs in their own virtual memory spaces. I have support for PS/2 keyboards (a bit hacky, it assumes that the keyboard has already been initialised) and FAT16/32 filesystems on ATA hard drives. The toolchain is based on biinutils 2.23 and GCC 4.8.1. Newlib 2.1.0 has been ported (roughly) and libstdc++ works.
Some code from other sources is used (printf, liballoc, FAT implementation) to reduce development time and/or because I'm not particularly interested in the details of implementing such things. As such, the kernel is licenced under GPLv2 (without the "or later version" clause). The header files in "src/include" are public domain so as not to restrict the licencing of any future applications or modules (I have no desire to project any political views onto users of my OS, unlike certain other projects...).
Anyway, I've attached a screenshot. This is from the current version, a few revisions on from the 0.0A "release", with the main new feature being "globbing" in the shell (CMD.ELX). There is no proper "terminal driver" yet, so the shell (and all other applications) use the input/display devices directly for now. The next work to be done is some enhancements to the memory manager (to support things like file mapping, shared memory and "guard pages"), threading for userspace, a terminal driver to facilitate sane multitasking (still not sure whether I'll have VT100/ANSI emulation built-in or not) and then on to a GUI.
Comments/questions welcome. Project available on GitHub here.
Re: Announcing BT/OS
That's a lot of features in just a few months. Congratulations.
Let us know if there is anything we can do to help.
Keep up the good work!
Let us know if there is anything we can do to help.
Keep up the good work!
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
- DavidCooper
- Member
- Posts: 1150
- Joined: Wed Oct 27, 2010 4:53 pm
- Location: Scotland
Re: Announcing BT/OS
Are you responsible for this company: http://en.wikipedia.org/wiki/BT_Group? If you aren't, you should probably change the name of your OS before they complain.
Help the people of Laos by liking - https://www.facebook.com/TheSBInitiative/?ref=py_c
MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
Re: Announcing BT/OS
If they complain then I'll change it. Considering the amount of uses of the abbreviation "BT" that already exist I very much doubt that British Telecom's legal team is going to go after a hobby operating system with precisely zero market share and brand awareness.DavidCooper wrote:Are you responsible for this company: http://en.wikipedia.org/wiki/BT_Group? If you aren't, you should probably change the name of your OS before they complain.
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: Announcing BT/OS
But where did the name come from in the first place?
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Re: Announcing BT/OS
Well, the "B" comes from my surname (visible in the screenshot)... The "T" kinda stands for "Technology", but like "NT" (as in Windows) the actual name is "BT", it's not an abbreviation.onlyonemac wrote:But where did the name come from in the first place?
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: Announcing BT/OS
I've heard stories that apparantly "NT" means "New Technology" but I've often questioned that. I had a joke once because aspies call non-aspergic people "Neutrotypical" - usually abbreviated as "NT" - and I have often thought that Windows's interface is not geared towards aspies, i.e. that one has to be an "NT" to use it. It's just a joke of mine but it doesn't seem to far fetched to me!
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Re: Announcing BT/OS
There are a few different stories about the origins of "NT"; one is that the OS was originally developed for the Intel i860 family where the first CPU in the family was codenamed "N-10" or (N-Ten) which got shortened to "NT" within Microsoft. However, since the "N-10" (i860XR) processor was the "cut-down", cheaper model, despite being available first, this strikes me as a bit like naming your OS "Celeron OS".onlyonemac wrote:I've heard stories that apparantly "NT" means "New Technology" but I've often questioned that. I had a joke once because aspies call non-aspergic people "Neutrotypical" - usually abbreviated as "NT" - and I have often thought that Windows's interface is not geared towards aspies, i.e. that one has to be an "NT" to use it. It's just a joke of mine but it doesn't seem to far fetched to me!
Another is that it was a play on "VMS" (since many of the early Windows NT team came from DEC) by taking the next letter in the alphabet for each letter (i.e. "WNT"), although it wasn't known as "Windows" NT until later in development ("NT OS/2" and simply "NT" are earlier names).
"New Technology" is a name that may have been used by Microsoft's market department in press releases, etc. but it almost certainly not the original meaning of the term.
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: Announcing BT/OS
As for NTFS, of course, that's just an abbreviation of "NT File System".
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing