Amiga.org
Amiga computer related discussion => Amiga Software Issues and Discussion => Topic started by: Aniway on February 16, 2003, 08:25:14 AM
-
Does anyone know if AOS4.0 would have a way to end processes? For example, if IBrowse freezes up, could I have an option other than suspend or reboot, where I could terminate the program like Windows offers so I can re-run the program without a reboot?
Aniway
-
Aniway asked:
Does anyone know if AOS4.0 would have a way to end processes? For example, if IBrowse freezes up, could I have an option other than suspend or reboot, where I could terminate the program like Windows offers so I can re-run the program without a reboot?
:-( I've just skimmed through the recent features.pdf regarding AmigaOS4, but have seen nothing similar to what you mention. I may have missed it,if it were there.
;-) On the other hand, it shouldn't be too difficult to add in for later versions, if it isn't implimented already.
-
Its a good point though... Surely a "must-have" feature.....
Then again, if os4 boots as fast as they say it will.. is it neccessary?
-
The_Editor thought excitedly:
...Then again, if os4 boots as fast as they say it will.. is it neccessary?
;-) Well, let's say that while you're typing in a word processor, you're also rendering something complex in the background, and each frame takes a couple of hours to finish. The current frame has been rendering for the last ninety minutes.
:-( Now your word processor freezes up. Rebooting would waste ninety minutes of rendering time, regardless of how quickly it reboots.
-
Another good point.. Well put.
-
I believe this function is called "resource tracking" and it's to be integrated in OS4.
From the feature list:
"Resource tracking: Applications can create "trackable" resources, for example memory, message ports, messages, semaphores, and have them tracked by ExecSG. When the program exits (either normally or abnormally due to a crash) the resources are freed automatically."
-
Well, let's say that while you're typing in a word processor, you're also rendering something complex in the background, and each frame takes a couple of hours to fininsh. The current frame has been rendering for the last ninety minutes.
Now your word processor freezes up. Rebooting would waste ninety minutes of rendering time, regardless of how quickly it reboots.
So?
If the renderer is still running, let it finish the frame. If the renderer is frozen too, the work is lost no matter what you do.
Now if there was some miraculous way to unfreeze a program...
-
Now if there was some miraculous way to unfreeze a program
WD40 ??
:-D
-
Thats a good question, one that i am not qualified to answere. If theres one thing i love about linux, its the command line, and similar, Amiga's command line. However, seems it could do with some more utilities?
The unix command "kill" is one i used every day. This is an essential tool for everyday systemadmin maintenence. Its a very effective way to shutdown processes that arnt doing what their supposed to do, or to shut down processes that dont have any other way of dying.
Theres lots more AmigaDOS can take advantage of from the unix world, and i think it would be a shame if we wernt too.
-
With a bit of luck, Scout will still work. It'll release most locked processes left when an app crashes.
Still, if the new dynamic stack and other improvements in OS4 work as well as they are said to, crashes should be few and far between (in fact they are here anyway).
john
-
There is NO safe way to kill a task on the Amiga, whether it is OS3.1 or OS4. If you kill a task using Scout, it will eventually kill your system. And you don't get its resources back.
Linux and Unix can do it because they use an entirely different kernel design - the Amiga uses a shared address space and so you can never know what resources were allocated by a task. We can't ever copy the Linux way if we want to stay even remotely backward compatible, so there is no way to kill tasks...
...unless you go the Windows way. Namely, you allocate lots of memory and VM to track all the resources a task allocates so you can free them later. As far as I'm concerned, the loss of efficiency this would cause to AmigaOS wouldn't be worth it. Windows is horribly slow and is only propped up by its hardware. Copying it would only make AmigaOS unusable.
On an Amiga, there is only one way to stop things crashing - coders must learn how to code properly. There's no excuse for sloppy coding.
-
you mean apart from 'status' and 'break'?
-
Nobody has mentioned that Ibrowse does this as of 2.3, or does it go without saying...
-
There's no excuse for sloppy coding.
That ideal doesn’t work in real life …
-
...unless you go the Windows way. Namely, you allocate lots of memory
What services do they offer?
and VM to track all the resources a task allocates so you can free them later.
Nothing wrong with that. What's the other alternative?
Which ones are you referring to i.e. Win16 or Win32? Windows NT's kernel is based (I should say “assimilated”) on DEC’s VMS kernel.
In default settings (NT powered Windows only), all 16bit applications are run in the same memory-space (sounds familiar?). If one of these applications crashes badly, it can happen that it's the end of all other 16bit applications also (32bit applications should still run Ok since they are allocated in a separated memory spaces).
But this mode can set to "separate memory space for every 16bit programs". This mode requires more memory.
Linux/Wine/WineX requires comparable memory requirements since Win32 offer plenty of APIs (for desktop use).