OSDev.org

The Place to Start for Operating System Developers
It is currently Tue Sep 29, 2020 7:17 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 37 posts ]  Go to page Previous  1, 2, 3  Next
Author Message
 Post subject: Re: What makes your OS special?
PostPosted: Tue Dec 31, 2019 1:18 pm 
Offline

Joined: Tue Feb 02, 2016 7:56 pm
Posts: 11
Location: Washington, USA
The answer I would like to give is...

This OS has everything exaclty the way I wish it could be, I wouldn't change a single thing. Put down the brush, the masterpiece is complete


Top
 Profile  
 
 Post subject: Re: What makes your OS special?
PostPosted: Sun Jan 05, 2020 12:20 am 
Offline
Member
Member

Joined: Fri Nov 17, 2006 5:26 am
Posts: 40
mycroft wrote:
So, OS Devs, what makes your OS special?

PD-Windows:
1. Is public domain.
2. Is capable of running certain 32-bit Windows applications.
3. Is written in C90 plus minimal (necessary) 80386 assembler.


Top
 Profile  
 
 Post subject: Re: What makes your OS special?
PostPosted: Sun Jan 05, 2020 1:33 am 
Offline
Member
Member

Joined: Sat Dec 28, 2019 5:19 am
Posts: 47
Location: Iran
kerravon wrote:
mycroft wrote:
So, OS Devs, what makes your OS special?

PD-Windows:
1. Is public domain.
2. Is capable of running certain 32-bit Windows applications.
3. Is written in C90 plus minimal (necessary) 80386 assembler.

It's not different as already Reactos and GreanTeaOS exists. but GreaaTeaOS is in C++ and I think they are not Public Domain.

_________________
https://mmdmine.github.io


Top
 Profile  
 
 Post subject: Re: What makes your OS special?
PostPosted: Sun Jan 05, 2020 5:03 am 
Offline
Member
Member

Joined: Fri Nov 17, 2006 5:26 am
Posts: 40
mmdmine wrote:
I think they are not Public Domain.

That's right. So if you personally would like to make a closed-source commercial competitor to the closed-source commercial Microsoft Windows, the only starting point you have is PD-Windows.


Top
 Profile  
 
 Post subject: Re: What makes your OS special?
PostPosted: Mon Jan 06, 2020 4:18 am 
Offline
Member
Member

Joined: Sat Dec 28, 2019 5:19 am
Posts: 47
Location: Iran
kerravon wrote:
mmdmine wrote:
I think they are not Public Domain.

That's right. So if you personally would like to make a closed-source commercial competitor to the closed-source commercial Microsoft Windows, the only starting point you have is PD-Windows.

GTOS and ROS are open source. ROS is GNU General Public license.

_________________
https://mmdmine.github.io


Top
 Profile  
 
 Post subject: Re: What makes your OS special?
PostPosted: Mon Jan 13, 2020 6:40 pm 
Offline

Joined: Fri Sep 26, 2014 12:19 pm
Posts: 14
Mine (JSD/OS) is designed around an interesting multitasking model, which I am experimenting with. I call it pseudo-singletasking or pre-emptive-singletasking. I attempt to explain it here https://jakedelmastro.com/portfolio/jsd-os-a-tiny-operating-system-for-x86/.

Other than that however it is really super small without any bloat and everything is designed mostly the way I like it.


Top
 Profile  
 
 Post subject: Re: What makes your OS special?
PostPosted: Tue Jan 14, 2020 12:47 am 
Offline
Member
Member
User avatar

Joined: Sat Mar 31, 2012 3:07 am
Posts: 3943
Location: Chichester, UK
Under your model a badly behaved program can prevent anything else from running.


Top
 Profile  
 
 Post subject: Re: What makes your OS special?
PostPosted: Tue Jan 14, 2020 12:53 am 
Offline

Joined: Fri Sep 26, 2014 12:19 pm
Posts: 14
@iansjack, yes this is by design. But only if it is the "active process" and even then the user can simply switch out of it if it locks up, by using a key combination which triggers an interrupt.


Top
 Profile  
 
 Post subject: Re: What makes your OS special?
PostPosted: Tue Jan 14, 2020 2:21 am 
Offline
Member
Member
User avatar

Joined: Sat Mar 31, 2012 3:07 am
Posts: 3943
Location: Chichester, UK
Your model is basically that used by Windows 3. It's not really desirable to rely on user intervention to prevent the machine locking up so most OSs nowadays use more flexible tasking models.


Top
 Profile  
 
 Post subject: Re: What makes your OS special?
PostPosted: Tue Jan 14, 2020 3:25 am 
Offline
Member
Member
User avatar

Joined: Thu Nov 16, 2006 12:01 pm
Posts: 7469
Location: Germany
Keep in mind that not every OS is designed with a general purpose desktop in mind. There's lots of embedded systems out there that work quite well without preemption and / or virtual memory.

(And while most ex-Amiga-users would agree that virtual memory would have been a nice to-have, we have fond memories of a general desktop OS that didn't have it.)

_________________
Every good solution is obvious once you've found it.


Top
 Profile  
 
 Post subject: Re: What makes your OS special?
PostPosted: Tue Jan 14, 2020 3:48 am 
Offline
Member
Member
User avatar

Joined: Sat Mar 31, 2012 3:07 am
Posts: 3943
Location: Chichester, UK
Not such a problem in embedded systems as they normally run programs supplied with the system rather than general purpose programs.

Although it didn't have virtual memory, the Amiga OS did provide pre-emptive multitasking (although tasks could impose non-preemptive task scheduling).

Even a relatively sophisticated OS like OS/400 could be (effectively) locked by a badly written program (as I found out to the ire of QSECOFR).


Top
 Profile  
 
 Post subject: Re: What makes your OS special?
PostPosted: Tue Jan 14, 2020 10:10 am 
Offline
Member
Member
User avatar

Joined: Thu Nov 16, 2006 12:01 pm
Posts: 7469
Location: Germany
For quite some time after I moved away from AmigaOS, my impression was that shareware, and even some commercial software, was extremely badly written, in that it crashed / hung far more often than I was used to.

Because the fundamental assumption on Windows / Linux was (and still is), "hey, if it crashes, at least it can't damage anything other than the document / file / project you're currently working on, the system will take care of it". To the point where people on stackoverflow argue the point that you don't have to free() your memory before the program ends, because "the OS will take care of that".

In contrast to that, Amiga developers knew very well that a faulty program could not only take its own data, but all data currently in memory, down with it, and that unreleased resources remained locked until reboot. Using tools like efence while developing / testing your software came quite natural to them (whereas I've met quite a few Linux developers in the years to come who weren't even aware such tools -- like valgrind -- even existed, much less how to use them).

And disabling an Amiga's multitasking was quite easy, there were calls for that -- Forbid() and Disable(). You actually had to do that, manually, for several critical activities that accessed global OS structures. Again, programmers were quite aware what that entailed, and made very sure their software would behave well.

Because software that didn't wasn't used by anybody, and quickly left by the roadside. While a crash now and then might be acceptable behavior on a protected system, if you know you've got no second line of defense, you tend to avoid flaky software like the plague.

_________________
Every good solution is obvious once you've found it.


Top
 Profile  
 
 Post subject: Re: What makes your OS special?
PostPosted: Thu Jan 16, 2020 5:48 pm 
Offline
Member
Member
User avatar

Joined: Mon May 22, 2017 5:56 am
Posts: 315
@PgrAm: Interesting! I like my systems to feel responsive too. Having said that, I had no problem with Linux in that department prior to preemptable kernel and high tick speed -- bad decisions intended to increase responsiveness but which actually reduced it. I don't think yours is a bad decision. Linux's high tick speed pessimized cache usage when low-cost processors had little cache. I don't know what was wrong with preemptable kernel, maybe some lock issue which I'm sure JSD/OS won't have.

Solar wrote:
Amiga developers knew very well that a faulty program could not only take its own data, but all data currently in memory, down with it, and that unreleased resources remained locked until reboot. Using tools like efence while developing / testing your software came quite natural to them...

programmers... made very sure their software would behave well.

Because software that didn't wasn't used by anybody, and quickly left by the roadside. While a crash now and then might be acceptable behavior on a protected system, if you know you've got no second line of defense, you tend to avoid flaky software like the plague.

It's looking more and more like my OS will be like this, to the point where I'm thinking of including a memory use checker in the base system. Having said that, and on the topic of special features, I'm hoping to implement relatively safe allocation strategies at the language level. It'll take some thinking about, but shouldn't be hard to implement in Forth.

On the other hand, I would argue that giant memory-hungry applications on systems with virtual memory should quit without freeing. Why? Because I'm sick of waiting for Firefox to swap all its pages back in just so it can free them! Seriously, how laughable is that? :lol: I guess the real problem might be scattering allocation metadata all over the place, but whatev's.


Top
 Profile  
 
 Post subject: Re: What makes your OS special?
PostPosted: Sun Jan 19, 2020 11:44 am 
Offline
Member
Member

Joined: Tue Jan 02, 2018 12:53 am
Posts: 46
Location: Australia
iansjack wrote:
Under your model a badly behaved program can prevent anything else from running.

This is becomming a non-issue in the new era of multi-core processors. The latest threadripper CPU for example has 32 cores, so we're basically now at the stage where each task can be run on its own core without competing with other tasks for CPU time. That fundamentally changes what scheduling algorithms can be considered acceptable for general purpose use.


Top
 Profile  
 
 Post subject: Re: What makes your OS special?
PostPosted: Sun Jan 19, 2020 2:31 pm 
Offline
Member
Member
User avatar

Joined: Wed Aug 17, 2016 4:55 am
Posts: 244
You still risk running out of cores (and multithreaded applications will want to take over multiple cores at once, since they expect the threads to be able to run in parallel). Just because you reduce the likelihood of a total lock-up doesn't mean you don't want to completely avoid it if it's possible.

Reminds me of somebody who told me that I should disable swap and let the whole computer crash if it runs out of memory… Um, yes running out of memory is bad, but I'd like having a back-up mechanism in case of emergencies (even if just to give me a chance to stop the problem without having to shut down everything and lose all unsaved/unsaveable state).


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

All times are UTC - 6 hours


Who is online

Users browsing this forum: Bing [Bot] and 2 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