OSDev.org

The Place to Start for Operating System Developers
It is currently Mon Apr 22, 2024 11:23 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: Intent86 -- a curious little OS I can't quite find time for
PostPosted: Tue Feb 27, 2024 6:01 am 
Offline
Member
Member
User avatar

Joined: Mon May 22, 2017 5:56 am
Posts: 815
Location: Hyperspace
Look at the design of the 8086 with its enforced segmentation, lacking a single address space. Was it designed for single-tasking one large program at a time, or multitasking many tiny programs? Obviously the latter! Yet, so many OS developers target the 8086 with single-tasking OSs. I'm slightly disappointed. ;)

I had ideas of developing such an OS with a microkernel, a userspace of small programs perhaps similar to Unix, perhaps not, and even a GUI with a modular design of small, communicating programs. QNX has such a GUI which it describes as similar to a microkernel, as seen in a screenshot. (QNX however is a 32-bit OS.)

What about graphics? I thought I'd first code for VGA monochrome mode, 1bpp, which is typical of mid-80s computers. VGA color is designed to work with code designed for 1bpp monochrome with little adaptation. And VGA has a barrel shifter to improve the performance of drawing characters and other bitmaps at non-byte-aligned positions.

So why aren't I developing this; why have I chosen to develop a 32-bit OS instead? Well, several reasons. I know some techniques for working with limited memory, but they're not always easy. They take time and energy away from other design considerations. I don't want to spend any more time and effort than I have to, especially as I have to develop my whole userspace too. I've lost literal decades to brain damage and a lack of recovery support; I want to get on! For the same reason, I found a language I can get on with much better than others, and I don't want to re-target the compiler before I can even start. Besides this, VGA color is curiously fascinating and challenging, but it's a technological dead end. I want more colors! And finally, I want my OS to be portable to architectures which don't have segmentation. (Retargetting the compiler is something I'm open to later.) For all these reasons, I've had to put Intent86 on the shelf.

_________________
Kaph — a modular OS intended to be easy and fun to administer and code for.
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie


Top
 Profile  
 
 Post subject: Re: Intent86 -- a curious little OS I can't quite find time
PostPosted: Tue Feb 27, 2024 8:46 am 
Offline
Member
Member

Joined: Wed Oct 01, 2008 1:55 pm
Posts: 3192
eekee wrote:
Look at the design of the 8086 with its enforced segmentation, lacking a single address space. Was it designed for single-tasking one large program at a time, or multitasking many tiny programs? Obviously the latter! Yet, so many OS developers target the 8086 with single-tasking OSs. I'm slightly disappointed. ;)

I had ideas of developing such an OS with a microkernel, a userspace of small programs perhaps similar to Unix, perhaps not, and even a GUI with a modular design of small, communicating programs. QNX has such a GUI which it describes as similar to a microkernel, as seen in a screenshot. (QNX however is a 32-bit OS.)

What about graphics? I thought I'd first code for VGA monochrome mode, 1bpp, which is typical of mid-80s computers. VGA color is designed to work with code designed for 1bpp monochrome with little adaptation. And VGA has a barrel shifter to improve the performance of drawing characters and other bitmaps at non-byte-aligned positions.

So why aren't I developing this; why have I chosen to develop a 32-bit OS instead? Well, several reasons. I know some techniques for working with limited memory, but they're not always easy. They take time and energy away from other design considerations. I don't want to spend any more time and effort than I have to, especially as I have to develop my whole userspace too. I've lost literal decades to brain damage and a lack of recovery support; I want to get on! For the same reason, I found a language I can get on with much better than others, and I don't want to re-target the compiler before I can even start. Besides this, VGA color is curiously fascinating and challenging, but it's a technological dead end. I want more colors! And finally, I want my OS to be portable to architectures which don't have segmentation. (Retargetting the compiler is something I'm open to later.) For all these reasons, I've had to put Intent86 on the shelf.


Our company used the V25 processor, which is a 8086 compatible clone. I wrote a multitasking "kernel" for it, and it is still running on many terminal installations. In fact, it was a back port from the multitasking implementation in my 386 OS (RDOS). We used a LCD screen, and I wrote a driver for it. It was not compatible with PC graphics.


Top
 Profile  
 
 Post subject: Re: Intent86 -- a curious little OS I can't quite find time
PostPosted: Wed Feb 28, 2024 1:00 pm 
Offline
Member
Member
User avatar

Joined: Mon May 22, 2017 5:56 am
Posts: 815
Location: Hyperspace
rdos wrote:
Our company used the V25 processor, which is a 8086 compatible clone. I wrote a multitasking "kernel" for it, and it is still running on many terminal installations. In fact, it was a back port from the multitasking implementation in my 386 OS (RDOS). We used a LCD screen, and I wrote a driver for it. It was not compatible with PC graphics.

Interesting! Did the use of segmentation in RDOS map to the 8086 at all?

_________________
Kaph — a modular OS intended to be easy and fun to administer and code for.
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie


Top
 Profile  
 
 Post subject: Re: Intent86 -- a curious little OS I can't quite find time
PostPosted: Fri Mar 01, 2024 1:48 am 
Offline
Member
Member

Joined: Wed Oct 01, 2008 1:55 pm
Posts: 3192
eekee wrote:
rdos wrote:
Our company used the V25 processor, which is a 8086 compatible clone. I wrote a multitasking "kernel" for it, and it is still running on many terminal installations. In fact, it was a back port from the multitasking implementation in my 386 OS (RDOS). We used a LCD screen, and I wrote a driver for it. It was not compatible with PC graphics.

Interesting! Did the use of segmentation in RDOS map to the 8086 at all?


Certainly, since 8086 is a segmented design too (real mode). The main difference was that 8086 only support 16-bit instructions, while RDOS is a 32-bit design, which meant the scheduler would save different registers, and the thread control block was different. I debugged the design in RDOS x86 emulator before trying it on real hardware.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group