OSDev.org

The Place to Start for Operating System Developers
It is currently Mon Mar 18, 2024 11:29 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 33 posts ]  Go to page Previous  1, 2, 3  Next
Author Message
 Post subject: Re: Writing your OS so it is used by others
PostPosted: Sat May 28, 2016 5:04 pm 
Offline
Member
Member

Joined: Sun Feb 01, 2009 6:11 am
Posts: 1070
Location: Germany
gerryg400 wrote:
I don't see any reason why an OS written by a single person won't be used by others. Plenty of us are full time software engineers and our software is regularly used by actual people for important purposes. I don't see osdev any differently.

I don't think it's so much that we aren't good enough developers, but that we work on ours OSes merely as a hobby, and most of us alone on their own OS. If you took the ten best developers in this forum and had them agree to work on a new OS full time (and had them agree on a design, too :)), you would get something impressive pretty quickly. But we don't have these conditions in reality, so it's not going to happen.

_________________
Developer of tyndur - community OS of Lowlevel (German)


Top
 Profile  
 
 Post subject: Re: Writing your OS so it is used by others
PostPosted: Mon Jun 06, 2016 6:50 pm 
Offline
Member
Member

Joined: Wed Nov 18, 2015 3:04 pm
Posts: 396
Location: San Jose San Francisco Bay Area
Kevin wrote:
gerryg400 wrote:
I don't see any reason why an OS written by a single person won't be used by others. Plenty of us are full time software engineers and our software is regularly used by actual people for important purposes. I don't see osdev any differently.

I don't think it's so much that we aren't good enough developers, but that we work on ours OSes merely as a hobby, and most of us alone on their own OS. If you took the ten best developers in this forum and had them agree to work on a new OS full time (and had them agree on a design, too :)), you would get something impressive pretty quickly. But we don't have these conditions in reality, so it's not going to happen.

with the right amount of money, anything is possible. [-X

_________________
key takeaway after spending yrs on sw industry: big issue small because everyone jumps on it and fixes it. small issue is big since everyone ignores and it causes catastrophy later. #devilisinthedetails


Top
 Profile  
 
 Post subject: Re: Writing your OS so it is used by others
PostPosted: Tue Jun 07, 2016 1:57 am 
Offline
Member
Member

Joined: Sun Feb 01, 2009 6:11 am
Posts: 1070
Location: Germany
I wasn't aware that you had some spare millions to spend on this. ;)

_________________
Developer of tyndur - community OS of Lowlevel (German)


Top
 Profile  
 
 Post subject: Re: Writing your OS so it is used by others
PostPosted: Wed Jun 15, 2016 9:44 am 
Offline
Member
Member

Joined: Wed Feb 10, 2016 3:29 am
Posts: 31
Location: London, UK
I don't think that even someone with huge amount of money will risk and try to develop his own OS for commercial use. Nowadays it's hard even with mobile OS (Bada, Symbian, Blackberry, Windows phone, etc).

_________________
Software development blog
Mobile Development Team
Web Development Team
UX/UI


Top
 Profile  
 
 Post subject: Re: Writing your OS so it is used by others
PostPosted: Wed Jun 15, 2016 11:37 am 
Offline
Member
Member

Joined: Wed Jun 03, 2015 5:03 am
Posts: 397
SWGDev wrote:
I don't think that even someone with huge amount of money will risk and try to develop his own OS for commercial use. Nowadays it's hard even with mobile OS (Bada, Symbian, Blackberry, Windows phone, etc).

In fact with huge amount of money it is marketing that is really important. An OS is almost irrelevant. If it has something suitable for the potential clients then it's enough. All those Symbians and Badas are primitive and architecturally somewhere in the stone age, but they manage somehow to get some market share. Android is overarchitected, but it's appeal of "close to iPhone" was enough to advertise it aggressively (a lot of money) and convince hardware manufacturers to try it (another lot of money). And finally, executives usually prefer to invest in an existing OS and doing so without any clue about it's quality. That's why stone age designs are supported by big money (including Android with it's Linux core) and it can look like there's no way for new OS. But the cost of the OS is small in comparison to the marketing efforts and the only problem on the way is the choice of a team, which is capable of implementing an interesting design. Top managers can't make such choice with open eyes.

_________________
My previous account (embryo) was accidentally deleted, so I have no chance but to use something new. But may be it was a good lesson about software reliability :)


Top
 Profile  
 
 Post subject: Re: Writing your OS so it is used by others
PostPosted: Wed Jun 15, 2016 12:06 pm 
Offline
Member
Member

Joined: Sat Mar 01, 2014 2:59 pm
Posts: 1146
embryo2 wrote:
That's why stone age designs are supported by big money (including Android with it's Linux core) and it can look like there's no way for new OS.
I hardly think Android is "stone age". Symbian and Blackberry are, but not Android. I mean, nothing beats the security model or intents API in Android.

_________________
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


Top
 Profile  
 
 Post subject: Re: Writing your OS so it is used by others
PostPosted: Wed Jun 15, 2016 12:20 pm 
Offline
Member
Member
User avatar

Joined: Sat Jan 15, 2005 12:00 am
Posts: 8561
Location: At his keyboard!
Hi,

gerryg400 wrote:
I don't see any reason why an OS written by a single person won't be used by others. Plenty of us are full time software engineers and our software is regularly used by actual people for important purposes. I don't see osdev any differently.


When people assume "I don't think anyone will ever use this OS", it becomes a self-fulfilling prophecy. They take short-cuts (e.g. hardware auto-detection, thorough testing, etc), skip things they personally don't need (e.g. security) and don't bother with any fancy features that make development more difficult. They make decisions that ensure nobody will ever use it.

When people start with "I'm going to try to make an OS that other people could use one day" (e.g. starting with thinking about "what reason/s can I give to convince people to switch from existing OSs they already use to my OS") it's a completely different project. It doesn't guarantee success, but it is a requirement to enable "potential success". Even then, a single person can't write an OS that other people will use - when it comes to device drivers and applications it's simply too much work for one person (and "lack of applications and drivers" will prevent people from using the OS).

What a single person can do is create an OS without many drivers and without many applications, but is enough to attract other developers; and then (with the help of others and no longer as a single person) create an OS that other people can use.


Cheers,

Brendan

_________________
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.


Top
 Profile  
 
 Post subject: Re: Writing your OS so it is used by others
PostPosted: Wed Jun 15, 2016 2:01 pm 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
Brendan wrote:
Hi,

gerryg400 wrote:
I don't see any reason why an OS written by a single person won't be used by others. Plenty of us are full time software engineers and our software is regularly used by actual people for important purposes. I don't see osdev any differently.


When people assume "I don't think anyone will ever use this OS", it becomes a self-fulfilling prophecy. They take short-cuts (e.g. hardware auto-detection, thorough testing, etc), skip things they personally don't need (e.g. security) and don't bother with any fancy features that make development more difficult. They make decisions that ensure nobody will ever use it.

When people start with "I'm going to try to make an OS that other people could use one day" (e.g. starting with thinking about "what reason/s can I give to convince people to switch from existing OSs they already use to my OS") it's a completely different project. It doesn't guarantee success, but it is a requirement to enable "potential success". Even then, a single person can't write an OS that other people will use - when it comes to device drivers and applications it's simply too much work for one person (and "lack of applications and drivers" will prevent people from using the OS).

What a single person can do is create an OS without many drivers and without many applications, but is enough to attract other developers; and then (with the help of others and no longer as a single person) create an OS that other people can use.


Cheers,

Brendan
Maybe use a tiny Linux or ReactOS system that serves solely as an emulation layer to mask hardware differences and then that is capable of booting directly into games or other OSes, which will find a much friendlier hardware execution environment. Then you could turn any PC into a standard game or multimedia console (without leaving out development tools).

It could be optimized to run the game in real time and maybe implement 3D effects that aren't really implemented, to try to offer a more efficient PC gaming platform.

When the machine is turned off, it can strictly store all the data on disk instead of just turning off and vanishing, so when it's used again it's immediately ready for use, unless there's a major hardware change detected (try to isolate and reconfigure only that, with a modular and inter-independent system resume).

You can make your OS portable.

You can contain it into a subdirectory in one of your existing partitions without formatting or altering it.
That will require understanding ext2, ext3, NTFS, ISO, and FAT systems mainly, but it will make the system much more usable and much less "intrusive" in practice.

You can make a boot DVD or an USB stick that offers replacing your current boot record and boot manager.

You can also make your system core capable of restoring the previous system boot sector, for example the one of Windows.

You can also offer booting your OS or the original one when you learn to do that.

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Top
 Profile  
 
 Post subject: Re: Writing your OS so it is used by others
PostPosted: Thu Jun 16, 2016 12:57 am 
Offline
Member
Member

Joined: Wed Jun 17, 2015 9:40 am
Posts: 501
Location: Athens, Greece
Hi,


Brendan wrote:
When people assume "I don't think anyone will ever use this OS", it becomes a self-fulfilling prophecy. They take short-cuts (e.g. hardware auto-detection, thorough testing, etc), skip things they personally don't need (e.g. security) and don't bother with any fancy features that make development more difficult. They make decisions that ensure nobody will ever use it.

When people start with "I'm going to try to make an OS that other people could use one day" (e.g. starting with thinking about "what reason/s can I give to convince people to switch from existing OSs they already use to my OS") it's a completely different project. It doesn't guarantee success, but it is a requirement to enable "potential success". Even then, a single person can't write an OS that other people will use - when it comes to device drivers and applications it's simply too much work for one person (and "lack of applications and drivers" will prevent people from using the OS).

What a single person can do is create an OS without many drivers and without many applications, but is enough to attract other developers; and then (with the help of others and no longer as a single person) create an OS that other people can use.
I definitely agree with your points. I can't add more.


Regards,
glauxosdever


Top
 Profile  
 
 Post subject: Re: Writing your OS so it is used by others
PostPosted: Thu Jun 16, 2016 12:24 pm 
Offline
Member
Member

Joined: Wed Jun 03, 2015 5:03 am
Posts: 397
onlyonemac wrote:
embryo2 wrote:
That's why stone age designs are supported by big money (including Android with it's Linux core) and it can look like there's no way for new OS.
I hardly think Android is "stone age". Symbian and Blackberry are, but not Android. I mean, nothing beats the security model or intents API in Android.

Android uses Linux. Linux design can be traced dow to 1970-s (or even 60-s).

Android's security model is too rigid. They give me the choice - use it or leave it. There's no options in between. And intent based communication is also too rigid. It can start an application, but if you want something more then it's just a pain in the a$$. All the GUI related framework is flawed in the same manner. There was the JSF thechnology in Java world many years ago, it was similar to the Android's approach. And it failed miserably despite of support from Sun, IBM, WebLogic and others. It was too rigid and too inconvenient for developers. However, in the mobile land we have just two serious players - Android and iOS, so Android's way will live a bit longer than JSF had.

_________________
My previous account (embryo) was accidentally deleted, so I have no chance but to use something new. But may be it was a good lesson about software reliability :)


Top
 Profile  
 
 Post subject: Re: Writing your OS so it is used by others
PostPosted: Thu Jun 16, 2016 12:25 pm 
Offline
Member
Member

Joined: Wed Jun 03, 2015 5:03 am
Posts: 397
Brendan wrote:
What a single person can do is create an OS without many drivers and without many applications, but is enough to attract other developers; and then (with the help of others and no longer as a single person) create an OS that other people can use.

It's possible, but quality is a very time consuming endeavor.

_________________
My previous account (embryo) was accidentally deleted, so I have no chance but to use something new. But may be it was a good lesson about software reliability :)


Top
 Profile  
 
 Post subject: Re: Writing your OS so it is used by others
PostPosted: Thu Jun 16, 2016 1:32 pm 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
embryo2 wrote:
Brendan wrote:
What a single person can do is create an OS without many drivers and without many applications, but is enough to attract other developers; and then (with the help of others and no longer as a single person) create an OS that other people can use.

It's possible, but quality is a very time consuming endeavor.
A single person could also adapt a Linux distribution that compiled only the drivers for the present devices and also a PC emulator. Then you can use any drivers from Linux to complete this big unified abstraction layer.

Creating such abstraction layer and emulation/virtualization including ALL modern drivers and functions to then use the machine with simplicity should be done without a doubt first before anything else along with a boot sector and boot manager (using both Sound Blaster or AC'97 capabilities and known ports making them selectable as Sound Card Modes, ATA or SATA, perfect standard VGA implementation and a set of standardized ports and memory regions for hardware and 3D acceleration up to HD screen resolutions).

Is it based in Linux? It doesn't matter. It's a different project from our own OS. It's more an open-source firmware update that standardizes all machines but without having to alter or destroy the real present motherboard firmware. It has all the drivers that we want to use, but instead of using them we can use them to standardize the hardware environment through emulation and paravirtualization.

It could fit a floppy and the only thing it would do would be presenting a standardized PC hardware and software environment to run any other system on top of it. It would make possible to even run Windows 1.0, 3.0, Windows 9x, or very old 8088 software cleanly if configured, and regulate the execution speed without modifying the old binaries. It would run no matter if it's a modern machine.

It all should fit in a small and unimportant memory region like counting and allocating from the very end of non-reserved installed RAM (to be shown as a reserved region in the BIOS memory map, and of course protected to make it impossible to access it from the upper emulated machine system presented. Like a BIOS ROM from a card, it shouldn't need to reserve memory randomly or dynamically really since it would only need the support code to sustain the emulation).

It would look like a PC with a standard BIOS, would always include legacy devices and legacy peripherals like Sound Blaster sound. It would present a BIOS setup program to configure the transparent virtual machine. It should include functions which hardware doesn't have, purely in software. At least in this way a machine version will always have those extensions present in one way or another (the same as when emulating the FPU was necessary... probably modern hardware isn't mature enough to be both fully standard and complex).

That (implementing standard capabilities in software in case they are needed... we will need that in an OS anyway) as well as the development of our actual OS should be the starting point of the actual OS tasks we should perform and implement.

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Top
 Profile  
 
 Post subject: Re: Writing your OS so it is used by others
PostPosted: Thu Jun 16, 2016 5:37 pm 
Offline
Member
Member

Joined: Thu Mar 25, 2010 11:26 pm
Posts: 1801
Location: Melbourne, Australia
~ wrote:
embryo2 wrote:
Brendan wrote:
What a single person can do is create an OS without many drivers and without many applications, but is enough to attract other developers; and then (with the help of others and no longer as a single person) create an OS that other people can use.

It's possible, but quality is a very time consuming endeavor.
A single person could also adapt a Linux distribution that compiled only the drivers for the present devices and also a PC emulator. Then you can use any drivers from Linux to complete this big unified abstraction layer.

Creating such abstraction layer and emulation/virtualization including ALL modern drivers and functions to then use the machine with simplicity should be done without a doubt first before anything else along with a boot sector and boot manager (using both Sound Blaster or AC'97 capabilities and known ports making them selectable as Sound Card Modes, ATA or SATA, perfect standard VGA implementation and a set of standardized ports and memory regions for hardware and 3D acceleration up to HD screen resolutions).

Is it based in Linux? It doesn't matter. It's a different project from our own OS. It's more an open-source firmware update that standardizes all machines but without having to alter or destroy the real present motherboard firmware. It has all the drivers that we want to use, but instead of using them we can use them to standardize the hardware environment through emulation and paravirtualization.

It could fit a floppy and the only thing it would do would be presenting a standardized PC hardware and software environment to run any other system on top of it. It would make possible to even run Windows 1.0, 3.0, Windows 9x, or very old 8088 software cleanly if configured, and regulate the execution speed without modifying the old binaries. It would run no matter if it's a modern machine.

It all should fit in a small and unimportant memory region like counting and allocating from the very end of non-reserved installed RAM (to be shown as a reserved region in the BIOS memory map, and of course protected to make it impossible to access it from the upper emulated machine system presented. Like a BIOS ROM from a card, it shouldn't need to reserve memory randomly or dynamically really since it would only need the support code to sustain the emulation).

It would look like a PC with a standard BIOS, would always include legacy devices and legacy peripherals like Sound Blaster sound. It would present a BIOS setup program to configure the transparent virtual machine. It should include functions which hardware doesn't have, purely in software. At least in this way a machine version will always have those extensions present in one way or another (the same as when emulating the FPU was necessary... probably modern hardware isn't mature enough to be both fully standard and complex).

That (implementing standard capabilities in software in case they are needed... we will need that in an OS anyway) as well as the development of our actual OS should be the starting point of the actual OS tasks we should perform and implement.
Doesn't vmware already do this?

_________________
If a trainstation is where trains stop, what is a workstation ?


Top
 Profile  
 
 Post subject: Re: Writing your OS so it is used by others
PostPosted: Thu Jun 16, 2016 8:52 pm 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
gerryg400 wrote:
Doesn't vmware already do this?
It seems to be bootable from CD-ROM or DVD, but does it have as many drivers as Linux if we implemented that with it?

Also, it's surely the right thing to do to try to implement something like this to keep that knowledge more available as part of an OS distribution.

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Top
 Profile  
 
 Post subject: Re: Writing your OS so it is used by others
PostPosted: Fri Jun 17, 2016 12:27 am 
Offline
Member
Member

Joined: Mon Mar 25, 2013 7:01 pm
Posts: 5069
~ wrote:
gerryg400 wrote:
Doesn't vmware already do this?
It seems to be bootable from CD-ROM or DVD, but does it have as many drivers as Linux if we implemented that with it?

Also, it's surely the right thing to do to try to implement something like this to keep that knowledge more available as part of an OS distribution.

Xen is open-source and does pretty much everything you've asked for.


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

All times are UTC - 6 hours


Who is online

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