Welcome, Guest. Please login or register.

Author Topic: What is memory protection and why is it so hard to implement for the AmigaOS?  (Read 20633 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline freeaks

  • Newbie
  • *
  • Join Date: Sep 2010
  • Posts: 30
    • Show all replies
i've just stumbled on this thread ..
it's alway good to see more discussion about MP.
one way or another something must be done for stability on amiga-like OSes.

if some them (amiga-like OSes) prefer to stay true to original os3.x api, good for them though i prefer emulators for that.
i hope in the lot (aros, os4, morphos) there will be at least one which will keep the look and feel and general user experience but whose base will improve and evolve a bit.
in 2010 basing an OS api on 80s and 90s standards, and planning to keep it that way for the foreseeable future sure looks a bit sad to me..

especialy sad since if i remember correctly, the original dev team of amigaos planned to introduce MP in some later system update which unfortunately never came. the commodore bankrupt and all. they hadn't time to introduce this update in amiga api and that's too bad.. we'd be a lot better today if they had time to deliver this update.

imho the goal of aros, os4 and mos should be that.. guesstimate what the original team envisionned for that MP update and do it.
for classic software needs there's emulators (uae).

memory gestion in os3.x api is just not good enough.
so far all 3 mentioned above OSes are still as weak as amiga OS 3.x was. meaning any bad behaving app or system component or anything can, and DO crash the whole system.
i can't believe it each time it happen and how many times .. it's ridiculous.

there must be some kind of general rule that make it possible to kill properly an app and free all its resources nicely. any bad behaving program should be killed by that rule before being able to do any harm on the system and other apps.

the crashs must stop..
be it by implementing MP, or any anything else, black magic, chicken sacrified in a red and white checkered pentagram i don't care but something must be done
 

Offline freeaks

  • Newbie
  • *
  • Join Date: Sep 2010
  • Posts: 30
    • Show all replies
crashing like that was tolerable when the other did as bad or worse..
at the time, macOS7,8,9 and windows 3.11,95, 98 and "me" were all as bad ..
but now, windows and macos changed some flaw of design, they got updated and they are a lot .. a hell of a lot more stable. there's nothing you can compare with amiga-like OSes anymore, be it aros, os4 or mos ..

it's seriously time someone make the necessary update to os3.x api too ..
having all our amiga "ng" focusing on backward compatibility at any cost is too bad .. specialy when the cost is so high it places you below average standard...

i'd say, keep the look and fell, OS filesystem layout/structure with libs: fonts: c: sys: and so on, keep the general idea, but , make a rock solid base and screw the backward compatibility ... at best include, integrate uae .. like macOS did when transitionning from macOS9 to maOS X, they create "classic" environment to execute from inside OSX

lacking proper tracking resources and means to kill apps in amigaOS is a proof of serious design flaw.
« Last Edit: October 09, 2010, 11:04:43 AM by freeaks »
 

Offline freeaks

  • Newbie
  • *
  • Join Date: Sep 2010
  • Posts: 30
    • Show all replies
@piru

Quote
The whole contribution of the original team is some forward looking text file which throws in the air some things you should keep in mind in order to stay future system compatible. The instructions are incomplete and contradicting (for instance use of MEMF_PUBLIC). You can't blame them really, there's no way they could foresee the future development of multicore, memory management units in all CPUs etc.

we can't blame them of course. but (!) what we can see is that they deemed adding MP important and *it was planned for a later update*.
it was meant to be, they just had not enough time to finish it and deliver..
so maybe yes the documents they left were incomplete and contradictory,
but what's important here is to notice they wanted this for amigaos.

iirc, when i read about this, there was even a mention about inevitably breaking compatibility a bit for that update. (that wouldn't have been the 1st time) but anyway that was at a time aos devel was looking forward..nowdays all we have is focusing on backward compatibility..
like if it was everything ..


Quote
Doing complete rework of the OS design to allow full memory protection and then running old apps inside UAE, what's bad in that you ask? If you're going to cook up your own design you'll in for 10+ year project reinventing the BSD/Linux wheel. Well, why bother with that, why not use use Linux and run UAE on top?

well, with the work that went thru the creation of all the 3 "ng" systems (aros, os4 and mos) such platform would exist already.

what i'm saying is that when each of those project got started, the vision was not good enough from the start. the goal was to have amigaos 3.x api compatible "ng" OSes.. so they got what they wished for.. aos with all its strong points and weaknesses too ..

the strong points are obvious:
small size, small footprint,
responsive
customizable
look and feel (user interface)
simple and logical system structure
(almost too good to be true list)

the minus:
(now here's the catch ;)
prone to crash, very much so

a better objective would have been to create a strongly amiga inspired OS
keeping *as much as you can* from amiga, but at least have the memory gestion area reworked.. and maybe some other amiga little weaknesses here nd there corrected too.
you have to take in account the original dev noticed the problem and wanted to correct it themselve too... current os3.x api wasn't meant to be final. obviously for an OS, being able to kill tasks, and free their alocated resources properly is a crucial point.


Quote
Something like running your own lightweight kernel and userland and on top of linux kernel might make more sense. You wouldn't need to bother with the low level things then. Sounds much like Amithlon, with the exception that you'd replace the userland with newer one and perhaps not bother that much with HW emulation.
as the solution mentionned above, both could be interesting, which one would fit best, i can't say this is something that need to be tested..
using a linux kernel with an amiga layer on top could be interesting, but only if the linux kernel is really in charge... not like amithlon or morphos.
 (in mos, the abox runs on top of qbox .. even if qbox remain stable and untouched, the abox can freeze thus needing a reboot anyway even if qbox is just fine, so the MP and stability problem isn't addressed .. same for amithlon using a linux kernel but it's not in charge of amiga layer .. which just use the usual exec)
using a linux kernel, along the line of what anubis wanted to do would solve a lot of problems, stability and driver wise.



Quote
For now I'll rather keep working on MorphOS as it is now.
i don't know how you can ..
it's looking good, it's fast, small, customisable ..great, but crashy.
i just can't be interupted in the middle of a lenghty post like this, to have the machine freeze because of other tasks running in background may or may not have caused havoc in memory .. having to retype all again ..
having to suspect or fear sudden freeze all the time, forcing me to save all the time, "just in case", in the middle of an irc chat, being rebooted all of sudden ... you left the machine on to finish some downloads and you come back in the morning and it's all frozen download only progressed by few percent before everything froze .. and such

so, sure the os looks nice, logical, simple, it's fast and customisable and all but, this stability problem it spoil everything . at least for me .
 

Offline freeaks

  • Newbie
  • *
  • Join Date: Sep 2010
  • Posts: 30
    • Show all replies
@piru

plus, and i'm not saying this is the way to go but,
no need to reinvent unix/bsd wheel, no need to reinvent everything..
it's possible to pick bits and bobs here and there and customize and mix it all together..
linux kernel can be modified to use a filesystem structure that look like the one on amiga. there are already such project .. gobolinux is one example, but surely not the only one... anubis wanted to do that too.
linux kernel can be cutomized a lot, there's even distribution that fit on one floppy.. so size too isn't a problem.
look at what osx did .. (in its own (kinda bloated) way) .. using linux kernel doesn't mean the result will look like "yet another linux distro.

of course there's also the possibility of creating a new original OS with its own kernel (with MP and resource tracking) but that would take longer to create i think .. so unless there's ppl motivated enough for that, why not simply reuse and customize the existing ..

what i don't understand is why aros, os4 and mos users can't properly kill tasks and free their resources.
 

Offline freeaks

  • Newbie
  • *
  • Join Date: Sep 2010
  • Posts: 30
    • Show all replies
@trekiej
syllable isn't very amiga-like ..
what i was refering too was more like having amiga filesystem structure supported in the modified linux kernel, modified to have structure like:
sys:, c:, libs:, fonts: and so on .. instead of /usr, /etc, /bin which is the traditional unix structure..
at least .. and of course a GUI layer .. be it using xorg or something else but that should look and behave like amigaos:  workbench or dopus magellan lookalike
that should be possible to have something snappy and that look and behave like workebench using only xorg libx11.. on linux there's even a project that does this: amiwm .. with draggin screens too .. it's usable and very small and fast.
there's no file manager though, and many features are yet unimplemented, but as a proof of concept it's there.

it's too bad half the remaining amigans don't understand the MP necessity or what is it exactly, and the other remaining half seem to prefer solution like aros, os4 or mos which all replicate os3.x with all its weaknesses

where what i want is different. it's a system that's small, whose structure is logical and simple like amiga, where the gui is looking nice and customizable, snappy..
well ..an amiga-like os, minus the crashs ..





and about xamiga.net, it's just another emulation running on top of linux.
emulation is not good enough, there's still no MP. everything inside the emulated environement is just like usual. no MP, no resource tracking .. plain old os3.x 68k emuated.

be it by redesigning current kernels or using unix ones i don't  care but .. the crashs and instability i can't accept

anyway .. i just have to wait .. either all thoses system will eventually evolve or die.

it's just i want MP and resource tracking for yesterday..
« Last Edit: October 10, 2010, 08:20:27 PM by freeaks »
 

Offline freeaks

  • Newbie
  • *
  • Join Date: Sep 2010
  • Posts: 30
    • Show all replies
Quote from: Piru;583928
Global shared address space. Everything depends on it, from the very basics of the messaging system. From time to time some people claim to have invented a way to introduce a reliable and bulletproof memory protection scheme to amigoid system. It always ends the same way, all the sudden these people fall ominously quiet and the idea is forgotten for the next couple of years.

If you change the very basic concept of the global shared address space you will completely break all the existing APIs and applications. You'd need to have completely new set of applications, which would most likely be ports of open source apps. If so, how will it be any better than YALD?

well why not ?
all linux kernel need is a good GUI .. see osx(i know mach kernel from bsd branch .. but it's unix familly still)
osx didn't reinvented the wheel, they just took kernel bits and bobs and made their sauce ..
and their product is kind of popular..

first thing first, such a modified kernel with amiga paths and filesystem structure would be a fresher from the traditional unix layout..
then a nice snappy customisable gui ... could be interesting ..

the problem most linux distro have is that their changes aren't very apparent, most run gnome or kde, and beside little changes here and there, for example what package manager do they use, or such small changes most distro are very similar to each other.
few like apple did real customisation on top of an unix kernel..

i'd bet something with the simple and logical amiga structure, and snappy customisable GUI ala workbench/magellan would interest many.
the merit are stability , and drivers ..
softwares like mui or reaction could be replicated to run on this new kernel, and become the basis for the whole interface, pretty much like cocoa does on macs, but done amiga style: small and efficent

well all that idea pretty much seems like what anubis would have  been.
but it'd not mandatory to use a linux kernel .. it's just convenient because it's there..
and "amigaoid" systems badly need a core update ..
backward compatibility it's good enough while transitionning .. see osx, at first they had classic environment running inside osx .. after a few year, classic env went away ..
problem with amiga, is that it frozen at that transition moment in time..
without completely achieving it
how long the wish for backward compatibility will hold us from progressing ?
68k software from 90s .. will it still be regarded as important in 2015 ?
i sure hope not ..
i hope dev from amigoid "ng" will make a clean table, and start making a solid base . where app and resources can at least be killed and freed.
i was reading about atari the other day, they have MiNt..
so even atari got MP .. unfortunately for them they got no new hardware. and probably an even smaller community. still they adressed this important problem quite a while ago. at first they were in the same boat as amigans..