Creating new Quark boxes
  • Cocoon
    Cocoon
    ssolie
    Posts: 59 from 2007/10/11
    From: Calgary, Alberta
    I don't know a lot about Quark (the microkernel) except for a bit of stuff on the original (now defunct) MorphOS site but I was wondering if it would be possible to:
    a) write our own box for it?
    b) run AROS in a box?
    c) run a/box and other boxes simultaneously?

    It might be really cool to open up the microkernel so the general public could write a box if that hasn't been done already.
    AmigaOne X1000 + AmigaOne 500 (1.2 GHz) + AmigaOne XE (7455)
    Amiga Users of Calgary (AMUC)
  • »15.04.09 - 05:36
    Profile Visit Website
  • MorphOS Developer
    Piru
    Posts: 586 from 2003/2/24
    From: finland, the l...
    No
  • »15.04.09 - 05:44
    Profile
  • Paladin of the Pegasos
    Paladin of the Pegasos
    TheMagicM
    Posts: 1218 from 2003/6/17
    the new microkernel is actually Q-Bert. Do some more research soolie and get back with us. Please bring back a 3000 word essay on the pros/cons of running Q-Bert vs. AmigaOS 4.x kernel "Eggzec".
  • »15.04.09 - 05:50
    Profile Visit Website
  • Paladin of the Pegasos
    Paladin of the Pegasos
    jcmarcos
    Posts: 1178 from 2003/3/13
    From: Pinto, Madrid ...
    Alright, those harsh answers might be because the question came from ssolie, the "agitator"... But I'd like to know more, indeed.
    Is it really possible to use Quark kernel for anything else but ABox? Plans for doing so ever existed?
  • »15.04.09 - 08:46
    Profile
  • MorphOS Developer
    Piru
    Posts: 586 from 2003/2/24
    From: finland, the l...
    @jcmarcos
    Quote:

    Is it really possible to use Quark kernel for anything else but ABox?
    It is possible to have other threads running on the quark level. MorphOS itself always launches ABox thread which gets pretty much all memory and bootstraps the system. Most of the stuff known as MorphOS "lives" inside the ABox context, except some PCI interrupt handlers and couple of "service" threads. So even when using ABox Quark does have some other threads running alongside, so technically even now it isn't just ABox alone.

    But practically it is not possible to have anything fancy as a user Quark software, at least nothing like running another OS (there would need to be some fancy way to arbitrate input and output and so on.. For this to work all drivers would need to live inside Quark etc etc etc).

    Quote:

    Plans for doing so ever existed?

    Sure, such plans existed at one point, but as described in other MZ threads they never materialized as planned. The limited resources were directed elsewhere.

    [ Edited by Piru on 2009/4/15 15:02 ]
  • »15.04.09 - 09:04
    Profile
  • Paladin of the Pegasos
    Paladin of the Pegasos
    jcmarcos
    Posts: 1178 from 2003/3/13
    From: Pinto, Madrid ...
    Thanks for the info Piru!
  • »15.04.09 - 11:54
    Profile
  • Cocoon
    Cocoon
    ssolie
    Posts: 59 from 2007/10/11
    From: Calgary, Alberta
    @piru
    Quote:

    So even when using ABox Quark does have some other threads running alongside, so technically even now it isn't just ABox alone.

    From the way Quark was described, these threads have memory protection so that one could not clobber the other?

    And what kind of scheduler runs these Quark threads?

    Quote:

    But practically it is not possible to have anything fancy as a user Quark software, at least nothing like running another OS (there would need to be some fancy way to arbitrate input and output and so on.. For this to work all drivers would need to live inside Quark etc etc etc).

    Bummer. So is it possible to write Quark drivers which would be able to slip in under the abox?

    So none of the Quark API is public?
    AmigaOne X1000 + AmigaOne 500 (1.2 GHz) + AmigaOne XE (7455)
    Amiga Users of Calgary (AMUC)
  • »16.04.09 - 22:22
    Profile Visit Website
  • Acolyte of the Butterfly
    Acolyte of the Butterfly
    Georg
    Posts: 109 from 2004/4/7
    Quote:

    From the way Quark was described, these threads have memory protection so that one could not clobber the other?


    The easiest way would be to have a hosted version of the OS that runs on top of another one like Linux which already has all or most of the drivers and apps you would ever want. So instead of MorphOS running on top of Quark you would have it running it on top of Linux or some other OS. Similiar to how AROS can run hosted on top of Linux. This also gives you a certain kind of memory protection. For example you would have access to the host filesystem (same as UAE) and even if your OS crashes hard the host OS makes sure that there is no damage done to the disk's filesystem, as it is only the guest OS which crashes. Another thing is that you can easily run multiple instances of your OS at the same time. You could use that for developing. You have the dev environment running in one (of course you can do that also in the host OS (Linux) but in case you don't like that) and execute your prog in another one. If that one crashes it's no problem at all. It can be "rebooted" in no time (AROS: 1 second).
  • »17.04.09 - 14:53
    Profile
  • Cocoon
    Cocoon
    ssolie
    Posts: 59 from 2007/10/11
    From: Calgary, Alberta
    @Georg
    Quote:

    So instead of MorphOS running on top of Quark you would have it running it on top of Linux or some other OS.

    Quark *is* MorphOS so it wouldn't be MorphOS at all if you didn't have Quark. If the ABox ran on any old host OS then it wouldn't be any different from AROS in system architecture. Might as well call it the ABoxOS (ABOS) then... hmm.. maybe a little too close to AROS. ;-)

    Take a look at the Wikipedia entry for Quark and see what Quark could accomplish. If Quark could do this stuff it would be easy to run AROS and ABox and QBox and anything else on MorphOS which I think always made MorphOS exciting and different. This is the stuff John C. Dvorak and Genesi were promised in the beginning and I'm sure it excited more devs like myself at the time. I almost bought a CyberstormPPC system back then to run MorphOS but I wanted to see what qbox could do first so I waited and stuck with ye' ol' AmigaOS in the mean time.

    From MorphOS: The Lightning OS it states:
    Quote:


    Although a functional clone of the AmigaOS is a nice experiment, the real potential for MorphOS is found in its ability to provide for more advanced OS features not found in the AmigaOS. This is possible because MorphOS is built around a very flexible, powerful, and compact microkernel called Quark, whose structure is totally unrelated and independent from the Amiga and Linux kernels.



    It has been made clear to all of us that the MorphOS dev team isn't much interested in Quark and its possibilities any longer and prefer to focus resources on abox which is fine. But why not let others try and take Quark forward by providing an API or dev information or something concrete so that Quark can be explored?

    Perhaps Quark is planned to be phased out in the longer term?
    AmigaOne X1000 + AmigaOne 500 (1.2 GHz) + AmigaOne XE (7455)
    Amiga Users of Calgary (AMUC)
  • »20.04.09 - 17:36
    Profile Visit Website
  • MorphOS Developer
    Piru
    Posts: 586 from 2003/2/24
    From: finland, the l...
    Quote:

    Quark *is* MorphOS so it wouldn't be MorphOS at all if you didn't have Quark. If the ABox ran on any old host OS then it wouldn't be any different from AROS in system architecture.

    Not quite, ABOX is actually AmigaOS 3.x binary compatible, while AROS isn't. MorphOS provides 68k compatibility, while even if you compile AROS for 68k it won't be (fully) binary compatible. AROS is aiming to have some level of 68k compatibility through UAE, but this will never provide same level of integration as direct 68k compatibility provided by MorphOS. MorphOS maintains backward compatibility, while AROS doesn't (or at least hasn't so far in many cases). So it would still be quite different from AROS. AROS might be moving more towards MorphOS however (but if this ever happens to full extent remains to be seen).
    Quote:

    From MorphOS: The Lightning OS it states:
    Quote:

    Although a functional clone of the AmigaOS is a nice experiment, the real potential for MorphOS is found in its ability to provide for more advanced OS features not found in the AmigaOS. This is possible because MorphOS is built around a very flexible, powerful, and compact microkernel called Quark, whose structure is totally unrelated and independent from the Amiga and Linux kernels.


    This is some sort of conclusion by the writer of the article, not by the MorphOS Team. Most of the MorphOS features are possible regardless of Quark. Quark provides some very basic low level services for Abox, that's it pretty much it. You could well replace Quark with something else and MorphOS would still appear and function the same as before.

    Yes, I am aware that the article was checked by Frank Mariak, but still that section doesn't make much sense. IMHO it should have been corrected or at least formulated differently. As it is now, it gives the impression that these things are ONLY possible because of the Quark, and this is not the case.

    Quote:

    But why not let others try and take Quark forward by providing an API or dev information or something concrete so that Quark can be explored?

    I've already explained that you can't do anything really usable with the Quark as it is today. No documentation will change that.

    Quote:

    Perhaps Quark is planned to be phased out in the longer term?

    It isn't. It does its job very well.

    Initially Quark was supposed to get more important role than it ended up with. I think this topic can be laid to rest now.

    [ Edited by Piru on 2009/4/21 10:01 ]
  • »21.04.09 - 07:47
    Profile
  • Paladin of the Pegasos
    Paladin of the Pegasos
    jcmarcos
    Posts: 1178 from 2003/3/13
    From: Pinto, Madrid ...
    Quote:

    Initially Quark was supposed to get more important role than it ended up with. I think this topic can be laid to rest now.


    Sure, but this debate was about to be ended two times, and yet it keeps on being (more) interesting. I guess we all know we shouldn't care about the kernel under MorphOS but hey, as techies, we love this kind of stuff. Keep it coming!

    That very old article that Ssolie linked might make some people feel embarrased. Other people might laugh out loud. Reading again old "announcements" can be funny or deppresing, depending on fate. But it's our history.
  • »21.04.09 - 08:26
    Profile
  • MorphOS Developer
    Henes
    Posts: 507 from 2003/6/14
    Quote:


    That very old article that Ssolie linked might make some people feel embarrased. Other people might laugh out loud. Reading again old "announcements" can be funny or deppresing, depending on fate.


    This very article is so full of errors and disinformation...
    It was already funny/drepressing the day it was published.
  • »21.04.09 - 12:22
    Profile Visit Website
  • MorphOS Developer
    zukow
    Posts: 645 from 2005/2/9
    From: Poland
    one question: is it possible to create one box (quark process) with libc included (without file operations, only memory) + some communication functions to send and receive data from/to morphos (abox). Like put_user, get_user in linux world. It could be nice to have memory protected environment to run deamons in it or test code.
  • »21.04.09 - 14:29
    Profile Visit Website
  • Acolyte of the Butterfly
    Acolyte of the Butterfly
    Posts: 140 from 2003/9/16
    From: aGas founder M...
    @Zukow

    Thats indeed an interesting question.

    Very clever and bloody usefull.

    Lets see if any MorphOS dev answer us.
  • »21.04.09 - 17:56
    Profile
  • MorphOS Developer
    Henes
    Posts: 507 from 2003/6/14
    Get yourself the old MorphOS SDK (PowerUP time, around 2001) where the whole Quark API is documented (by mistake?)... then use your imagination. It is also a nice way to see what a memory protection aware (and working.... unlike some) AmigaOS API looks like.
  • »21.04.09 - 19:06
    Profile Visit Website
  • MorphOS Developer
    Piru
    Posts: 586 from 2003/2/24
    From: finland, the l...
    Just a silly question: What exactly would benefit from such protected environment?

    Remember that wouldn't have access to MorphOS (abox) at all.

    [ Edited by Piru on 2009/4/21 22:10 ]
  • »21.04.09 - 20:10
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    Crumb
    Posts: 732 from 2003/2/24
    From: aGaS & CUAZ Al...
    @Piru
    Quote:

    Just a silly question: What exactly would benefit from such protected environment?

    Remember that wouldn't have access to MorphOS (abox) at all.



    Zukow wrote: "+ some communication functions to send and receive data from/to morphos (abox)."

    Without communication functions it would be useless, but with communication functions it would be actually useful as you could leave the core of the program in the protected environment working as "server" and leave the GUI in the ABox acting as "client".
  • »22.04.09 - 12:17
    Profile Visit Website
  • MorphOS Developer
    Piru
    Posts: 586 from 2003/2/24
    From: finland, the l...
    Quote:

    it would be actually useful as you could leave the core of the program in the protected environment working as "server" and leave the GUI in the ABox acting as "client".

    The core of the program could not call *any* OS calls at all. That doesn't leave much now does it? Also, most of the "client" would be still vulnerable to memory trashing or other crashes. So this would not give memory protection, either.

    Communication between the threads would copy all data (since pointers can't be used). This gets slow with large amounts of data.

    I still don't see how it could give any benefits over what we have now inside ABox. What would benefit from such partial protection?

    [ Edited by Piru on 2009/4/22 15:00 ]
  • »22.04.09 - 12:58
    Profile
  • MorphOS Developer
    Henes
    Posts: 507 from 2003/6/14
    Sounds like some ppc.library (PowerUP) like stuff...
    The sensible part is still the UI part... and this one would stay in the Abox :)
  • »22.04.09 - 13:00
    Profile Visit Website
  • Order of the Butterfly
    Order of the Butterfly
    Neko
    Posts: 301 from 2003/2/24
    From: Genesi
    May as well go and buy a QNX license, it's less hassle :)
    Matt Sealey, Genesi USA, Inc.
    Developer Relations
    Product Development Analyst
  • »22.04.09 - 18:10
    Profile Visit Website
  • Cocoon
    Cocoon
    ssolie
    Posts: 59 from 2007/10/11
    From: Calgary, Alberta
    Quote:

    May as well go and buy a QNX license, it's less hassle :)

    That's a bit painful coming from a partner like Genesi. And some call me a troll... :-D

    But this does raise some interesting questions. With Quark frozen and little chance of anything other than the ABox, why exactly is Genesi still interested in MorphOS anyway (e.g. Gold Sponsor)?

    Maybe Genesi knows of some cool new features (e.g. multi-core support) coming down the pipe?
    AmigaOne X1000 + AmigaOne 500 (1.2 GHz) + AmigaOne XE (7455)
    Amiga Users of Calgary (AMUC)
  • »28.04.09 - 21:02
    Profile Visit Website
  • Yokemate of Keyboards
    Yokemate of Keyboards
    Andreas_Wolf
    Posts: 12126 from 2003/5/22
    From: Germany
    >> May as well go and buy a QNX license, it's less hassle :)

    > That's a bit painful coming from a partner like Genesi.

    You're right, Genesi and QNX are partners.

    http://www.qnx.com/partners/partner.html?partnerid=161488
    http://www.genesi-usa.com/partners
    http://www.genesi-usa.com/software
    http://www.genesi-usa.com/press/2006/11/24/
  • »28.04.09 - 22:09
    Profile
  • MorphOS Developer
    itix
    Posts: 1520 from 2003/2/24
    From: Finland
    @ssolie

    It is indeed painful to you knowing troubled history with Amiga and QNX. While I dont see QNX coming back to the Amiga world anytime soon it could be good replacement for Quark if it offered clear advantages. There is no need to develop everything in house but buy components from other vendors. For example the printing system in MorphOS is not our own development but licensed, so is NetStack and few more.

    I think you are just viewing the OS development in a too narrow scope. You have to open your mind.
    1 + 1 = 3 with very large values of 1
  • »29.04.09 - 00:37
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    Neko
    Posts: 301 from 2003/2/24
    From: Genesi
    I never said it would be a replacement for Quark.

    But if you want to develop for a microkernel operating system with message passing, high efficiency threading, and all the features you see in Quark, QNX is exactly what you all ask for.

    Developing new emulation models under QNX might not be as purposefully designed as Quark/ABox (i.e. QNX is not specifically designed to run as a part of MorphOS) but you're not considering making a MorphOS thing here, but a whole new task under Quark.

    You may as well start from Linux if you really feel that you do not think ABox is enough, and well.. why don't you go and help the Anubis guys out with that?
    Matt Sealey, Genesi USA, Inc.
    Developer Relations
    Product Development Analyst
  • »29.04.09 - 01:34
    Profile Visit Website
  • Yokemate of Keyboards
    Yokemate of Keyboards
    takemehomegrandma
    Posts: 2720 from 2003/2/24
    Quote:

    itix wrote:

    I think you are just viewing the OS development in a too narrow scope. You have to open your mind.


    Yeah, he is all mentally boxed in! :-) He needs to "think outside the box"! :lol:

    Oh wait, maybe it's the other way around, maybe he should realize that the Abox is the Amiga we all are interested in, and not what's outside. Ah, well... ;-)

    [ Edited by takemehomegrandma on 2009/4/29 7:16 ]
    MorphOS is Amiga done right! :-)
    MorphOS NG will be AROS done right! :-)
  • »29.04.09 - 06:09
    Profile