OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 8:05 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 43 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: NexNix and NexOS
PostPosted: Tue Jun 09, 2020 8:56 am 
Offline
Member
Member

Joined: Tue Feb 18, 2020 3:29 pm
Posts: 1071
I would like to officially announce two OS projects I am working on in parallel. First is NexNix. This is a Unix like operating system. It will be POSIX compliant, and quite far into development. Second, there is NexDOS, which is going to be MS-DOS compatible. It is written in C with Smaller C. Also, as a side project, there is an MFC Windows app named NexSuite, which I am slowly developing. The aim of these projects is to show just how far and successful a hobby project can get.

UPDATE: NexDOS's kernel will be implemented in Assembly instead of C.

_________________
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg


Last edited by nexos on Mon Jun 22, 2020 5:07 am, edited 2 times in total.

Top
 Profile  
 
 Post subject: Re: NexNix and NexDOS
PostPosted: Tue Jun 09, 2020 9:31 am 
Offline
Member
Member
User avatar

Joined: Thu Oct 13, 2016 4:55 pm
Posts: 1584
Looks good, well done!

I'm just curious, why do you implement two OSes? Why don't you provide a compatibility layer in NexNix and run NexDOS processes in VM86? That's how OS/2 did run MS-DOS applications, btw. With this scheme you would only have to write device drivers for NexNix, and NexDOS could utilize them right away (through emulated BIOS or DOS interrupts for example).

Cheers,
bzt


Top
 Profile  
 
 Post subject: Re: NexNix and NexDOS
PostPosted: Tue Jun 09, 2020 9:36 am 
Offline
Member
Member

Joined: Tue Feb 18, 2020 3:29 pm
Posts: 1071
I work on NexNix for two days, and then NexDOS for two. I can't use VM86 because NexNix is going to become 64 bit very soon, and I plan on eventually making a Windows 95 emulator to run on top of NexDOS, like how Microsoft did it.

_________________
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg


Last edited by nexos on Tue Jun 09, 2020 2:41 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: NexNix and NexDOS
PostPosted: Tue Jun 09, 2020 2:22 pm 
Offline
Member
Member

Joined: Fri Nov 22, 2019 5:46 am
Posts: 590
nexos wrote:
...and I plan on eventually making a Windows 95 emulator to run on top of NexDOS.

Woah, Win95 emu is a tough task. Reactos does something similar and it has millions lines of code!
And Win95 on DOS-like OS is like an elephant sitting on a pea. I don't recommend that. But hope is the last thing to die; so go for it if you really want.


Top
 Profile  
 
 Post subject: Re: NexNix and NexDOS
PostPosted: Tue Jun 09, 2020 5:50 pm 
Offline
Member
Member

Joined: Fri Nov 22, 2019 5:46 am
Posts: 590
nexos wrote:
like how Microsoft did it.

I don't understand what you mean. You mean Windows 3.1?


Top
 Profile  
 
 Post subject: Re: NexNix and NexDOS
PostPosted: Wed Jun 10, 2020 5:36 am 
Offline
Member
Member

Joined: Tue Apr 03, 2018 2:44 am
Posts: 401
PeterX wrote:
nexos wrote:
like how Microsoft did it.

I don't understand what you mean. You mean Windows 3.1?


Windows 95 was run atop DOS much in the same way Windows 3.11 was.

Novell even showed a Windows 95 running on top of DR-DOS as part of their suit against Microsoft.

if I understand it correctly, later Windows 3.1 and Win95 hooked in protected mode drivers beneath DOS, so it was a bit like a vm86 mode DOS sandwhich made with protected mode bread. Hideous, and not something to emulate lightly!


Top
 Profile  
 
 Post subject: Re: NexNix and NexDOS
PostPosted: Wed Jun 10, 2020 6:03 am 
Offline
Member
Member

Joined: Fri Nov 22, 2019 5:46 am
Posts: 590
thewrongchristian wrote:
Windows 95 was run atop DOS much in the same way Windows 3.11 was.

Novell even showed a Windows 95 running on top of DR-DOS as part of their suit against Microsoft.

if I understand it correctly, later Windows 3.1 and Win95 hooked in protected mode drivers beneath DOS, so it was a bit like a vm86 mode DOS sandwhich made with protected mode bread. Hideous, and not something to emulate lightly!


Yes, you are right, Win95 was ontop of DOS. But, as you said, it is not to be rewritten or emulated lightly. The Win95's complexity is far higher than DOS's one.

(I don't think if you described Win95's internals right. But that's not important for the original poster. Important is, if he is willing to aim at such a high target. It took lots of programmers to write Win95, ReactOS and Wine. So you better get help if you really want to do emulate that.)

Greetings
Peter


Top
 Profile  
 
 Post subject: Re: NexNix and NexDOS
PostPosted: Wed Jun 10, 2020 7:23 am 
Offline
Member
Member

Joined: Tue Feb 18, 2020 3:29 pm
Posts: 1071
It will be difficult, but I have dreamed of doing that for quite some years. It will probably take a quite a few years, but it will be worth it. If anyone wants to help contribute to NexDOS and soon NexWin (my Win95 emulator), just reply and say you do.

_________________
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg


Top
 Profile  
 
 Post subject: Re: NexNix and NexDOS
PostPosted: Wed Jun 10, 2020 2:36 pm 
Offline
Member
Member

Joined: Tue Feb 18, 2020 3:29 pm
Posts: 1071
UPDATE: Because NexWin is a BIG project, I am going to use FreeDOS as the base layer. I will not make NexDOS, as there is no point in reinventing the wheel.

_________________
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg


Top
 Profile  
 
 Post subject: Re: NexNix and NexDOS
PostPosted: Wed Jun 10, 2020 4:31 pm 
Offline
Member
Member

Joined: Mon Feb 02, 2015 7:11 pm
Posts: 898
thewrongchristian wrote:
Windows 95 was run atop DOS much in the same way Windows 3.11 was.


That is false. Windows 95 didn't run on top of DOS.

I should know, I worked on graphics drivers for both Windows 3.11 and Windows 95 in the 90s.

From https://en.wikipedia.org/wiki/Windows_95:

Quote:
When the graphical user interface is started, the virtual machine manager takes over the filesystem-related and disk-related functionality. MS-DOS itself is demoted to a compatibility layer for 16-bit device drivers.[16] This contrasts with earlier versions of Windows which rely on MS-DOS to perform file and disk access (Windows for Workgroups 3.11 could also largely bypass MS-DOS when 32-bit file access and 32-bit disk access were enabled). Keeping MS-DOS in memory allows Windows 95 to use DOS device drivers when suitable Windows drivers are unavailable. Windows 95 is capable of using all 16-bit Windows 3.x drivers.

_________________
https://github.com/kiznit/rainbow-os


Top
 Profile  
 
 Post subject: Re: NexNix and NexDOS
PostPosted: Wed Jun 10, 2020 5:24 pm 
Offline
Member
Member

Joined: Fri Nov 22, 2019 5:46 am
Posts: 590
kzinti wrote:
thewrongchristian wrote:
Windows 95 was run atop DOS much in the same way Windows 3.11 was.


That is false. Windows 95 didn't run on top of DOS.

I should know, I worked on graphics drivers for both Windows 3.11 and Windows 95 in the 90s.


Thanks for the correction, I didn't remember that anymore. I used Win95 back then and it had DOS available. So it led me to the wrong conclusion it was ontop of DOS.

nexos wrote:
UPDATE: Because NexWin is a BIG project, I am going to use FreeDOS as the base layer. I will not make NexDOS, as there is no point in reinventing the wheel.

Good to hear, because there are so many DOS clones out there (See the OS project thread in "Announcements").

Perhaps you could cut the NexWin project into smaller chunks or milestones. Don't know. It doesn't need to have 100% compatibility, does it?

There is a public domain project aiming at producing a PD Windows "clone" or so. But the maintainer isn't the most pragmatical guy IMHO. He's actually here at the forum. At least he was here to announce some milestone about self hosting his DOS/Unix-style OS. I'm not sure if he still tries to produce a Windows replacement.
viewtopic.php?f=2&t=36735

EDIT: I quote from his project webpage:

Quote:
The 32-bit version is now known as PD-Windows, as it supports some of the Win32 API, allowing a subset of Windows executables to be run. It sits on top of 32-bit PDOS/386.

Greetings
Peter


Top
 Profile  
 
 Post subject: Re: NexNix and NexDOS
PostPosted: Wed Jun 10, 2020 6:54 pm 
Offline
Member
Member

Joined: Tue Feb 18, 2020 3:29 pm
Posts: 1071
No not fully compatible with Windows 95. For example, I don't have very many plans of supporting DirectX functions. Also, there will be no Win16 subsystem, and a few other features will be cut. It is mainly a learning project for me and anyone who wants to know how Windows 9x worked.

_________________
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg


Top
 Profile  
 
 Post subject: Re: NexNix and NexDOS
PostPosted: Tue Jun 16, 2020 9:01 am 
Offline
Member
Member

Joined: Tue Feb 18, 2020 3:29 pm
Posts: 1071
NexWin update: A Windows 9x clone is going to be impossible to build under the Linux. I have decided to clone NT 3.1 instead, as I feel that this is a more stable OS, and easier to do under Linux. Plus, it will reduce dependence on FreeDOS, Please share your thoughts on this major change.

_________________
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg


Top
 Profile  
 
 Post subject: Re: NexNix and NexDOS
PostPosted: Tue Jun 16, 2020 9:33 am 
Offline
Member
Member

Joined: Fri Nov 22, 2019 5:46 am
Posts: 590
nexos wrote:
NexWin update: A Windows 9x clone is going to be impossible to build under the Linux. I have decided to clone NT 3.1 instead, as I feel that this is a more stable OS, and easier to do under Linux. Plus, it will reduce dependence on FreeDOS, Please share your thoughts on this major change.


1.) I don't understand exactly why Win9x isn't possible on Linux. But maybe you mean 16bit code? Yes, that's difficult on Linux, but you could build Win9x without DOS support. But I've heard NT is better designed than 95/98. I don't know if that's true. But that would be a good point for choosing NT.

2.) I still think you are overstrained by this task. But if you like the learning experience than it is ok (You don't have to clone Windows completely to learn a lot :) ).

3.) Ever thought joining Wine, ReactOS or PDWindows? Or taking source code from them?

EDIT: I noticed a bug in your makefile: If you write several commands after a target, they can possibly (and probably will) be executed parallel, not serial!
So this is wrong:

Code:
WIN.COM: ...
        nasm ... -o WIN.BIN
        mv WIN.BIN WIN.COM

Same with other targets.

Greetings
Peter


Top
 Profile  
 
 Post subject: Re: NexNix and NexDOS
PostPosted: Tue Jun 16, 2020 10:02 am 
Offline
Member
Member

Joined: Tue Feb 18, 2020 3:29 pm
Posts: 1071
One big reason I am switching is because after researching Windows 9x, I have noticed a lot of security and stability bugs. The amount of thunking, the concept of so many virtual machines, the close ties to IA32, the use of V8086 mode, the dependence on DOS, and many other things make it very poorly designed. I think NT is a lot better, and I am a lot more familiar with NT then 9x. So I will clone NT instead. Yes, it is a learning project. It may take me 5 years. Maybe 40. I just want to learn a lot about NT and OSDev in general. And I love huge challenges. It would be difficult to develop under Linux because of VxDs. They are closely tied to Visual Studio.

_________________
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 43 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 21 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