|
Register or have you forgotten your password?
|
|
|
| Amiga community support ideas This forum is for the open discussion of new thoughts and ideas intended to help the Amiga community. What do we need? What do we want? |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#31 | |||||||||
|
Premium Member
|
Regarding memory protection:
Quote:
2. No, managed code is much more elegant even if it is sometimes a bit slow. 3. No. If we are going to support the Natami and MiniMig as a starting place, we're going to have to realize that the fact that the 68070 on the production Natami and 68000 on the MiniMig will not have an MMU is going to prevent a memory-protected AROS from running at all! There are so many things that should be done first: 1. Standard Template Library for C++ code. This can be implemented using STLPort. 2. Expand the runtime library to do STL functions in a memory-efficient manner. This can be implemented through template specialization. 3. Minimal bytecode as a distribution medium for code across all of the supported hardware platforms. (Possibly even portable to all of the OSs that support AmigaOS 3.1 APIs.) Tough one but but I favor LLVM to implement this. 4. Compiler to generate code in that bytecode. LLVM-GCC does this but is difficult to build. The upcoming Clang project on the Mac might someday be a better choice though. 5. Entry level programming languages. Another tough one but I'm already working on this one. Hollywood also works for this one. |
|||||||||
|
|
|
|
|
#32 | ||||||||||
|
Cult Member
![]()
Join Date: Oct 2007
Posts: 800
|
Quote:
__________________
"OS5 is so fast that only Chuck Norris can use it." AeroMan |
||||||||||
|
|
|
|
|
#33 | ||||||||
|
Defender of the Faith
![]()
Join Date: Oct 2002
Posts: 1,874
|
@HenryCase
One problem in memory protection is that applications and the operating system are sharing system structures. For example when you call OpenWindow() the system returns struct Window which is globally shared. If your application trashes this structure it may lead to crash of operating system. The design of Amiga is unfortunately flawed for memory protection. One could say that on Amiga there is no user space and kernel space -- there is only kernel space where all applications are running.
__________________
Only MorphOS makes it possible \o_ |
||||||||
|
|
|
|
|
#34 | ||||||||
|
Technoid
![]()
Join Date: Dec 2007
Posts: 344
|
Oh no! Another "how should other people work" topic about AROS.
And another fork/split proposal. It seems the Amiga community can't live without splitting things in thousands pieces. Well, for people that aren't aware of it, AROS has its own mission and definition, which is being "a lightweight, efficient and flexible desktop operating system, designed to help you make the most of your computer. It's an independent, portable and free project, aiming at being compatible with AmigaOS 3.1 at the API level (like Wine, unlike UAE), while improving on it in many areas". Isn't it enough? Well, there are the ending lines too, "The source code is available under an open source license, which allows anyone to freely improve upon it" which formally and actually allow anyone willing to do his/her "better AROS" to take the code, modify it and reach the goal he/she likes. So, having clear in mind that all in all AROS is a *hobbystic* project, the community can do different things with it: 1. just whining and claiming their opinion would be the best way to improve AROS 2. contribute with code to reach the common goal stated above. 3. take the existing code and improve upon it the way they like, just to become the new ruler of the world. The direction is already here for the people that want to see it. The others may disagree, but please don't claim AROS is pointless or directionless anymore, as it is completely untrue. |
||||||||
|
|
|
|
|
#35 | ||||||||||
|
Cult Member
![]()
Join Date: Oct 2007
Posts: 800
|
Quote:
Quote:
So a good question is this: are there any global variables that cannot be contained more locally?
__________________
"OS5 is so fast that only Chuck Norris can use it." AeroMan |
||||||||||
|
|
|
|
|
#36 | |||||||||
|
Cult Member
![]()
Join Date: Oct 2007
Posts: 800
|
Quote:
__________________
"OS5 is so fast that only Chuck Norris can use it." AeroMan |
|||||||||
|
|
|
|
|
#37 | ||||||||||
|
Defender of the Faith
![]()
Join Date: Oct 2002
Posts: 1,874
|
@HenryCase
Quote:
Quote:
__________________
Only MorphOS makes it possible \o_ |
||||||||||
|
|
|
|
|
#38 | ||||||||
|
Master Sock Abuser
|
Henry...
There is only one small conceptual point that you are missing. I have been racking my brains to try and find a good metaphor for the problem... bur I can't really find one. I want to address your conceptual error as you raised it before... That is this strange idea of your that a program requests data from memory. It doesn't. What we have is a big flat area of memory, and a CPU. The CPU does not know or care where it is reading and writing, it simply follows what it is told to do by a computer program. The CPU in AmigaOS has no information regarding the status of the code at all. While AmigaOS offers contexts (where each exec task has it's own set of certain data structures etc), these contexts are all part of the same address space. In the AmigaOS design, the designers decided that they wanted the system to be fast and use as little memory as possible. Thus AmigaOS was designed with the idea that any data structure that could be shared, would be shared... No provision was made in the design of Amiga to control the access to system wide data structures... this was a design decision, and it can't be retro fitted without totally redesigning the system, and it would no longer be AmigaOS compatible. You are thinking high level, not machine level... Your ideas are actually an area of research called "managed code", the most famous is MicroSoft's Singularity project. There programs access memory via defined system functions thus memory access can be controlled without the need for an MMU. But AmigaOS is not a managed code system, it was designed as an operating system to be programmed at a machine code level... in fact I can write a program in ASM that would work on AmigaOS in a matter of minutes... I certainly couldn't even begin to think about doing that on a real operating like a UNIX or Windows... where I would have to stick with C.
__________________
My iPhone Game: Puny Humans - http://itunes.apple.com/gb/app/puny-...362230281?mt=8 |
||||||||
|
|
|
|
|
#39 | |||||||||||
|
Cult Member
![]()
Join Date: Oct 2007
Posts: 800
|
Quote:
Quote:
__________________
"OS5 is so fast that only Chuck Norris can use it." AeroMan |
|||||||||||
|
|
|
|
|
#40 | |||||||||||||||
|
Master Sock Abuser
|
Quote:
Quote:
Quote:
Quote:
Quote:
__________________
My iPhone Game: Puny Humans - http://itunes.apple.com/gb/app/puny-...362230281?mt=8 |
|||||||||||||||
|
|
|
|
|
#41 | ||||||||
|
Kindred of Babble-on
![]()
|
Money, lots and lots of money spread over many years. If you can hire devs and guide them with vision of a great future, you can move AROS forward.
Dammy |
||||||||
|
|
|
|
|
#42 | ||||||||
|
Premium Member
|
@HenryCase
Any time you see a structure being passed into a system function with an &structurename in C code, it is passing a pointer to an internal stucture in the application's memory to the operating system. More importantly, if the operating system allocated the memory and passed back the pointer, the operating system would be the owner of that memory and would have to "change ownership" to the application and "change ownership" back to the operating system every time a pointer was passed back to it. That would be a glacially slow operation. I think the answer to the issues that are often associated with memory protection are generally better addressed by using "safe" programming languages like Oberon and some versions of Basic that either don't directly support pointers in general, or have tight limitations on the use of arrays and other data structures to monitor them for overruns and NULL pointer values internally. |
||||||||
|
|
|
|
|
#43 | ||||||||||
|
Cult Member
![]()
Join Date: May 2006
Posts: 649
|
@SamuraiCrow
Quote:
Quote:
Hans
__________________
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project. |
||||||||||
|
|
|
|
|
#44 | ||||||||||||
|
Cult Member
![]()
Join Date: Oct 2007
Posts: 800
|
@bloodline
Thanks for your response. Quote:
Quote:
Quote:
Quote:
One option is to add a new API call(s) especially for ASM code. When the ASM program is executed it first makes an API call that says something like 'I will need memory from XXXX to XXXX to run'. If this memory is free then it is assigned to the ASM program. If it is not free you can either: 1. Close the programs using that memory. 2. Move the programs using the memory to another memory space (the programs are paused during this move, but can carry on afterwards as normal due to the 'virtual' memory addresses not moving. 3. A copy of the ASM program is made, and this copy is amended with available memory address locations before being run (the application doing this works like a find and replace function in a word processor). However, ASM by its nature does not allow MP(AFAIK), unless you sandbox it, so yes you could crash AmigaOS with a badly coded ASM app, but the same is true of any operating system. If you code ASM apps so that they stay out of the way of the area where the OS is running from you should be okay.
__________________
"OS5 is so fast that only Chuck Norris can use it." AeroMan |
||||||||||||
|
|
|
|
|
#45 | |||||||||
|
Cult Member
![]()
Join Date: Oct 2007
Posts: 800
|
@bloodline
I'll reply to your last post shortly, outlining my ideas for the new exec will take a little time. @Hans Quote:
__________________
"OS5 is so fast that only Chuck Norris can use it." AeroMan |
|||||||||
|
|
|
![]() |
| Bookmarks |
| Tags |
| aros , move , forward |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Of FPGAs and the way forward | SamuraiCrow | General chat about Amiga topics | 33 | 08-13-2008 09:01 PM |
| Looking Forward to 1993 | scuzzb494 | General chat about Amiga topics | 4 | 04-07-2008 11:51 PM |
| Linux: The way forward? | stefcep2 | Alternative Operating Systems | 2 | 02-02-2008 03:08 AM |
| Look forward to any new Amy news | Reactioned | General chat about Amiga topics | 12 | 08-21-2006 05:15 PM |
| Fast Forward to Jail | FluffyMcDeath | CH / Entertainment | 14 | 11-26-2004 05:56 PM |