Welcome, Guest. Please login or register.

Author Topic: Wither Natami?  (Read 39402 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Hans_

Re: Wither Natami?
« Reply #119 on: August 06, 2008, 12:46:24 AM »
Quote

amigadave wrote:
I guess it is a good thing that "the_leander" was not a room-mate of Linus Torvalds a few years back!  :lol:  :lol:  :lol:


No kidding. But then, everyone that embarks on such a project is told that it's "unfeasible" and that they are "crazy." In many cases they are. It's the ones that do their homework, spot an opportunity/technique that others have missed, and ignore the nay-sayers that succeed.

Hans
Join the Kea Campus - upgrade your skills; support my work; enjoy the Amiga corner.
https://keasigmadelta.com/ - see more of my work
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Wither Natami?
« Reply #120 on: August 06, 2008, 12:52:01 AM »
Being one of those developers, and having spent over 7 years on an OS project, I can state with confidence that the_leander got it exactly right. It'd be humongous task.
 

Offline amigadave

  • Lifetime Member
  • Hero Member
  • *****
  • Join Date: Jul 2004
  • Posts: 3836
    • Show only replies by amigadave
    • http://www.EfficientByDesign.org
Re: Wither Natami?
« Reply #121 on: August 06, 2008, 01:25:49 AM »
Quote

Piru wrote:
Being one of those developers, and having spent over 7 years on an OS project, I can state with confidence that the_leander got it exactly right. It'd be humongous task.


I don't think anyone has said it would be anything different.  The difference is that "the_leander" is saying, or implying that it can't be done, won't ever be done, and Hans does not know what he is talking about.

I tend to disagree with him and look at all the interest in different Amiga projects right now as a positive sign that something might happen in the future.  I also agree with Hans that something NEW could be created built on top of all that has been learned on multiple systems in the past, without having to start completely from scratch.  Use what we already know and have, use industry standards where they will not hold back the advanced design of the new OS.

How are you helping the Amiga community? :)
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Wither Natami?
« Reply #122 on: August 06, 2008, 02:13:08 AM »
@Hans_
Quote
An updated Amiga OS that breaks compatibility with the old system (but still runs old software in a sand-box) would still have the same design philosophy as the old system. Moreover, you already have a group of like-minded people (which obviously does not include you) ready to make it happen. Start a new OS project, and you end up with "yet another OS project" that is struggling to gain developer interest. Sure it would be a long-term effort, but the starting point is much better than having zero source-code and a blank slate with regard to design.

The problem with this is that if you introduce those new concepts such as MP, SMP, 64bit support and so forth, pretty much all of that old designs and code is useless. Sure you could use those for stuff that runs inside the sandbox, but not for the new stuff.

So basically you are starting with nearly zero source-code and blank slate regarding design. The cynic would ask what exactly would make this new system any better than say Mac OS X or GNU/Linux...
 

Offline Hans_

Re: Wither Natami?
« Reply #123 on: August 06, 2008, 02:49:35 AM »
Quote

Piru wrote:
@Hans_
Quote
An updated Amiga OS that breaks compatibility with the old system (but still runs old software in a sand-box) would still have the same design philosophy as the old system. Moreover, you already have a group of like-minded people (which obviously does not include you) ready to make it happen. Start a new OS project, and you end up with "yet another OS project" that is struggling to gain developer interest. Sure it would be a long-term effort, but the starting point is much better than having zero source-code and a blank slate with regard to design.

The problem with this is that if you introduce those new concepts such as MP, SMP, 64bit support and so forth, pretty much all of that old designs and code is useless. Sure you could use those for stuff that runs inside the sandbox, but not for the new stuff.


Why?

MP would require a change to message passing (i.e., it would become more restrictive), but the basic scheme could stay intact. SMP would bring about the end of forbid()/permit(), but those calls could be replaced with spinlocks/mutexes. Again, not something that would require all existing code to be discarded. 64-bit support would enlarge pretty much everything that's declared as an int now to 32-bit. That could be a real pain with the sand-box (32-bit to 64-bit conversion of tag-lists), but the C code shouldn't have too many conversion issues (except for tricks that don't work anymore like 32-bit int to double conversion and back). Intuition would be an issue due to it being based on message-passing. Intuition would need to be modified to have per-application threads (note: would require the concept of threads within a process), but that's worth doing for system reliability anyway. Drivers also use message passing so new ones would have to be written (or old ones extensively rewritten).

With a sandbox in place, things could be migrated/rewritten/replaced gradually over time.

I don't see why we'd have to start from scratch. Yes, it would be a big task. However, it doesn't all need to be done in one go.

Hans
Join the Kea Campus - upgrade your skills; support my work; enjoy the Amiga corner.
https://keasigmadelta.com/ - see more of my work
 

Offline SamuraiCrow

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 2281
  • Country: us
  • Gender: Male
    • Show only replies by SamuraiCrow
Re: Wither Natami?
« Reply #124 on: August 06, 2008, 03:49:29 AM »
Quote

Piru wrote:
@Hans_
Quote
An updated Amiga OS that breaks compatibility with the old system (but still runs old software in a sand-box) would still have the same design philosophy as the old system. Moreover, you already have a group of like-minded people (which obviously does not include you) ready to make it happen. Start a new OS project, and you end up with "yet another OS project" that is struggling to gain developer interest. Sure it would be a long-term effort, but the starting point is much better than having zero source-code and a blank slate with regard to design.

The problem with this is that if you introduce those new concepts such as MP, SMP, 64bit support and so forth, pretty much all of that old designs and code is useless. Sure you could use those for stuff that runs inside the sandbox, but not for the new stuff.

So basically you are starting with nearly zero source-code and blank slate regarding design. The cynic would ask what exactly would make this new system any better than say Mac OS X or GNU/Linux...


MP is out of the question for AmigaOS but managed code based on a subset of LLVM is possible for AROS and any source code that ditches 68k compatibility.  See this slideshow for an example of how to do it.

64-bit addressing is also out of the question for AmigaOS but what is easily possible, is a hardware-based RAM-disk that can address more memory than 32-bits allows.  All that's needed for this is a custom API that allows for memory swapping either with or without an MMU.

As for SMP, a gang scheduler could allow the forbid() and permit() functions to continue working as long as they disabled all but the first thread, and reenabled all of the other threads respectively, when they were called.  The reason for this is all of the threads use the same task scheduler at once so their time-slices are synchronized.
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Wither Natami?
« Reply #125 on: August 06, 2008, 04:14:31 AM »
@Hans_
Quote
Why?

Say for example everything in AmigaOS and amiga apps depend on the shared memory model.

To mention few inside the OS itself:
- Libraries in general
- Devices (timer, audio, trackdisk, scsi.device etc)
- Resources
- Exec Message passing
- Exec IO interface (devices)
- dos.library <-> filesystem interface
- filesystems (they depend extensively on the message passing)
- Exec interrupt interface
- Hook interfaces all over the place
- ARexx

All of these would need to be rewritten, and since the dependacy on the old legacy APIs would be all over the place, and support for things such as MP, SMP and 64bit sizes would be missing, it would almost be better to write them from scratch anyway.

I also disagree that sandboxing would somehow help migrate the system gradually. You still need something to run the sandbox on. For the sandboxed environment to actually work you'd still need pretty much the whole host opearating system done already. Even with optimistic guestimates that'd take over half a decade (here assuming everything else such as the highly skilled and well motivated  developing team, being paid and doing fulltime work would be provided).
 

Offline SamuraiCrow

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 2281
  • Country: us
  • Gender: Male
    • Show only replies by SamuraiCrow
Re: Wither Natami?
« Reply #126 on: August 06, 2008, 04:17:43 AM »
For something to run the sandbox on, see the linked PDF slideshow in my previous post.
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Wither Natami?
« Reply #127 on: August 06, 2008, 04:23:29 AM »
@SamuraiCrow

But such virtual environment needs something to run on top of, too. This is a chicken & egg problem.
 

Offline persia

  • Hero Member
  • *****
  • Join Date: Sep 2006
  • Posts: 3753
    • Show only replies by persia
Re: Wither Natami?
« Reply #128 on: August 06, 2008, 05:09:01 AM »
So let me get this straight, a group of people that can't even break simple boot code to get AmigaDos 4 up and running on a Mac-Mini are now going to redesign AROS around a complex memory management model?

Part of the problem is Tripos itself, even freed of BCPL code it's still a bit of a mess.

The only possible solution is to take Zune and the WOrkbench clone that has been built in AROS and get it to work on top of a QNX microkernel and run classic apps in the QNX version of UAE.  Even then it's probably too late, but it might be worth a shot.  A small Posix compliant OS with an interesting and small GUI might just turn a few heads.

[SIGPIC][/SIGPIC]

What we\'re witnessing is the sad, lonely crowing of that last, doomed cock.
 

Offline persia

  • Hero Member
  • *****
  • Join Date: Sep 2006
  • Posts: 3753
    • Show only replies by persia
Re: Wither Natami?
« Reply #129 on: August 06, 2008, 05:40:09 AM »
But you have to look at the competition Linux faced when Linus started the project.  Linux has 17 years of continuous development by thousands of programmers.  OS X has about a decade in development, also with thousands of developers.  MS Windows over two decades and again thousands of programmers.  

What you are talking about is starting with a model T make a new model T with fuel cell technology, a GPS guidance system and crash proof and do it with a dozen people, oh and the model T still has to use the same gearbox...

Quote

Hans_ wrote:
Quote

amigadave wrote:
I guess it is a good thing that "the_leander" was not a room-mate of Linus Torvalds a few years back!  :lol:  :lol:  :lol:


No kidding. But then, everyone that embarks on such a project is told that it's "unfeasible" and that they are "crazy." In many cases they are. It's the ones that do their homework, spot an opportunity/technique that others have missed, and ignore the nay-sayers that succeed.

Hans
[SIGPIC][/SIGPIC]

What we\'re witnessing is the sad, lonely crowing of that last, doomed cock.
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Wither Natami?
« Reply #130 on: August 06, 2008, 10:54:07 AM »
Quote

persia wrote:
So let me get this straight, a group of people that can't even break simple boot code to get AmigaDos 4 up and running on a Mac-Mini are now going to redesign AROS around a complex memory management model?


This is the reason why I get annoyed :-)

Quote

The only possible solution is to take Zune and the WOrkbench clone that has been built in AROS and get it to work on top of a QNX microkernel and run classic apps in the QNX version of UAE.  


A rather resonable idea, and the only sensible idea I've heard in a long time. Zune even started life as a MUI clone on Linux, so there might not take very long to get it building in a POSIX OS.

Quote

Even then it's probably too late, but it might be worth a shot.  


It is too late. But still sounds like fun.

Quote

A small Posix compliant OS with an interesting and small GUI might just turn a few heads.


I'm sure some of them do... but one more in the long list isn't going to make a splash.

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Wither Natami?
« Reply #131 on: August 06, 2008, 11:03:54 AM »
Quote

persia wrote:

Quote

Hans_ wrote:
Quote

amigadave wrote:
I guess it is a good thing that "the_leander" was not a room-mate of Linus Torvalds a few years back!  :lol:  :lol:  :lol:


No kidding. But then, everyone that embarks on such a project is told that it's "unfeasible" and that they are "crazy." In many cases they are. It's the ones that do their homework, spot an opportunity/technique that others have missed, and ignore the nay-sayers that succeed.

Hans


What you are talking about is starting with a model T make a new model T with fuel cell technology, a GPS guidance system and crash proof and do it with a dozen people, oh and the model T still has to use the same gearbox...



Think it's more akin to taking that Model T, and trying to fit a modern electronic ignition, FADEC and fuel injection system onto the original engine... then painting the car Ferrari Red... Entering it into a Formula One Race... Then wondering in pure astonishment why it not only doesn't work, but everyone else is laughing at it!

Offline Hans_

Re: Wither Natami?
« Reply #132 on: August 06, 2008, 03:18:27 PM »
Quote

Piru wrote:
@Hans_
Quote
Why?

Say for example everything in AmigaOS and amiga apps depend on the shared memory model.

To mention few inside the OS itself:
- Libraries in general

Libraries are generally written such that the application holds the data itself. Thus the code could be shared (and protected) whilst the library calls remain within the application's process. Per-application globals can already be handled too, so I don't see the big issue here.
Quote

- Devices (timer, audio, trackdisk, scsi.device etc)

Yes, the devices are going to be a pain. But how many of the device APIs actually pass pointers to the driver internals? The input device, timer device and others definitely don't. Their message internals could remain the same. For the trackdisk and scsi.device, the application wouldn't be able to put the read/write buffer just anywhere, but that's the application's problem, not the device driver's. When working on a project involving controlling CD/DVD-R drives, I was anticipating a move toward increased memory protection and ensured that the entire contents of the message were allocated in shared-memory. It's doable.

I'm not too familiar with the other device driver APIs, but I'd expect most of them to have similar issues. Most of the time, it would be the application that has to change.

Quote

- Exec Message passing

Well, obviously. But what kind of a change are you thinking of? I'd expect the message passing by reference to continue, but with a requirement that the entire contents of a message must be in shared mem (or temporarily shared mem, if possible), and the message receiver isn't allowed to cache pointers (i.e., after a reply message, it no longer has access).

Quote

- Exec IO interface (devices)

Already covered above.

Quote

- dos.library <-> filesystem interface
- filesystems (they reply extensively on the message passing)

I don't know enough about these to comment. You're probably right that these would require extensive rewrites. To be honest, I think that DOS is the messiest part of the Amiga API. If anything would need a rewrite from scratch, or simply be replaced with a more modern alternative, it would be DOS (at least get to get rid of all the BCPL stuff).

Quote

- Exec interrupt interface

Don't IRQ handlers operate in kernel space? If so, what's the issue?

Quote

- Hook interfaces all over the place

How many would involve data crossing over process boundaries? Yes, those would be a real pain.

Quote

- ARexx

The impression that I get is that people want ARexx to be retired, and replaced with something more modern anyway. One of the open-source scripting languages (Python?) would be a good candidate.

Quote

All of these would need to be rewritten, and since the dependacy on the old legacy APIs would be all over the place, and support for things such as MP, SMP and 64bit sizes would be missing, it would almost be better to write them from scratch anyway.

Exactly what is the difficulty with expanding ints to int64s? We're breaking compatibility anyway, so keeping structure alignment isn't necessary.

Quote

I also disagree that sandboxing would somehow help migrate the system gradually. You still need something to run the sandbox on. For the sandboxed environment to actually work you'd still need pretty much the whole host opearating system done already. Even with optimistic guestimates that'd take over half a decade (here assuming everything else such as the highly skilled and well motivated  developing team, being paid and doing fulltime work would be provided).


To get things started, you'd need the new exec kernel and a set of device drivers running before the sandbox could be put in place. However, after that, the process could be more gradual.

Hans

BTW, some people enjoy retrofitting and enhancing their old cars/motorcycles. Probably the most interesting of those would be Burt Munro taking a motorcycle designed in 1901 with a max speed of 60 mph, and setting a world speed record of 190.07 mph (unofficially 205.67 mph was reached) in 1967.
Join the Kea Campus - upgrade your skills; support my work; enjoy the Amiga corner.
https://keasigmadelta.com/ - see more of my work
 

Offline Hans_

Re: Wither Natami?
« Reply #133 on: August 06, 2008, 03:33:09 PM »
Quote

persia wrote:
But you have to look at the competition Linux faced when Linus started the project.  Linux has 17 years of continuous development by thousands of programmers.  OS X has about a decade in development, also with thousands of developers.  MS Windows over two decades and again thousands of programmers.  

Hind sight is always 20/20. Jump back to when Linus started and you'd probably find plenty of people that would have said the same thing about Linux. "You're going to go up against existing Unix systems that have had over a decade of development by huge teams? You're blinking mad." Sound familiar?

Hans
Join the Kea Campus - upgrade your skills; support my work; enjoy the Amiga corner.
https://keasigmadelta.com/ - see more of my work
 

Offline the_leander

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 3448
    • Show only replies by the_leander
    • http://www.extropia.co.uk/theleander/
Re: Wither Natami?
« Reply #134 from previous page: August 06, 2008, 03:46:24 PM »
Quote

Hans_ wrote:
Quote


Do you have any concept of how difficult it is to produce a modern operating system that meets todays standards?

Do you?


It's not my area of expertise, but I'm not exactly ignorant on the subject either. Judging by what you've said, you've never actually been involved as an OS developer either, you just spoke to the developers.


No, you're right, I'm not a coder, but I know enough coders and have known them long enough to have a firm grasp of just how big a job reimplimenting an OS is. Yes, what you're saying with regard likemindedness is not a bad thing, but as Piru pointed out, the amount of work required to bring up to scratch the OS and drag it into the modern age would be so great that the existing code would be all but useless for the task and probably be quicker and cleaner to simply move to a fresh sheet of paper.

Quote

Hans_ wrote:
Quote

AmigaOS reimplimented in a modern fashion would be and is a pipe dream, one lacking in both resource and a framework. To take the AmigaOS and make it a truly modern OS, with all the things that are expected from a modern OS (SMP, multi user, memory protection etc etc etc) would be a staggaringly complex proposition, far greater then "simply" reimplimenting what came before (such as AROS or Haiku), requiring far more developer numbers then even both communities combined could offer.


You keep on insisting that it has to be a "from-scratch" implementation. It does not. There is no need to dump all the source-code.


Piru answered this better then I could. Short answer, yes, it really would.

Quote

Hans_ wrote:
Quote

Quote

Hans_ wrote:

Why do it? To push the system forward. We all know that breaking compatibility is required so why not just go ahead and do it?


Yes, great, but at that point, why bother? Seriously, if you are going to drop support for old applications, why not simply move to a new OS and have done with it?

A sand-box for old apps would be part of such a system so the old apps would still run (and yes, I know that this will take more time than dumping the old application support).


And this would be better then say AROS or Haiku with an intergrated Jit-UAE system, how?

I really want to understand why you feel something like you're suggesting is a prefered option over an AROS or Haiku based Hybrid. Please, explain.

Quote

Hans_ wrote:
Quote

There is nothing unfeasible about NatAmi, it's an FPGA board thats been told it's an amiga-alike. Now the cool factor there is the same as the C=One, it also offers the potential for developers to cut their teeth on relatively simple and elegant solutions on which to build better things, the ultimate bedroom coders board. Truthfully I feel that something like this or Amithlon *should* have been chosen as the way forward for the Amiga.

That's easy to say now that the concept has been proven. Were you around when Dennis van Weeren announced the Minimig? People were yelling "Hoax! It's impossible! It can't be done!" till they were blue in the face.


In fairness to the people who have cried hoax, how many major vapourware projects have we all seen come and go?

I lost count at around the 20 mark back in 2003.

I must admit, I wasn't around (was a bit busy being homeless and all that), so no, I didn't see the initial reaction, but it doesn't invalidate the above point.

Personally I say good luck to Dennis, it's a damn fine bit of work, same goes for this NatAmi project.

Quote

Hans_ wrote:
Quote

I know it is, I have some idea of the monumental difficulties involved in doing what you're suggesting with regard to the AmigaOS.


Ah, and by implication then, I have "no idea." Whatever.


No idea? I never said that. Don't put words into my mouth sunshine.

Yes, I can be abrasive at times, but I've seen far too many "lets port the AmigaOS to and add SMP, MP, 64bit etc etc, lets release it tomorrow, and do it for a quid!!!!111oneoneone", you aren't one of those, not by a long shot, but at the same time there are issues that need explanation as to why it's unlikely to happen with what you're asking. Know nothing? I've seen far too many of your posts to consider that for a second.

As for the linus torvalds crack, I should point out I'm using an EeePC with Xandros running on it to post this...
Blessed Be,
Alan Fisher - the_leander

[SIGPIC]http://www.extropia.co.uk/theleander/[/SIGPIC]