flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > Solar OS API system |
Author |
|
smiddy 12 Dec 2006, 02:30
I haven't programmed for it in quite a while and never used the API when I did. However, the website is here. Also, I think there is a FASM version that someone has ported. Also, it is expected that there will be a Christmas release coming.
|
|||
12 Dec 2006, 02:30 |
|
bogdanontanu 12 Dec 2006, 04:11
ManOfSteel wrote:
Yes... I am here ManOfSteel wrote:
Indeed when applications need an API they do a direct call using the STDCALL calling convention. There is no need for a callgate or an INT because there is no Ring3 to Ring0 transition. ManOfSteel wrote:
Yes it does ... however this is not exactly related to the subject... This table exist for helping pure binary external applications (loaded from disk or other device) to find at least a few common API entry points at runtime. It was designed for very low level and "bare metal" binary applications. Lately there is a PE loader available in Solar OS. This PE loader can map an executable, relocate and resolve imports of APIs. Hence you can use standard FASM/MASM/TASM/Goasm/etc or even Visual Studio C to generate SolarOS applications. The table you mention will remain available (in a reduced form) for bare metal binary applications. ManOfSteel wrote:
Your question is not very clear... IF you expect to be able to call a RING0 kernel function directly from RING3 then the answer is: NO you can not do that! You need a valid method of transition from Ring3 to Ring0 (callgate, INT, etc) Please observe that Solar OS is running all trusted aplications in Ring-0 and because of this there is no need to do a costly ring transition. However Windows and Linux and many other OS's (including Menuet) do use ring separation and protection and because of this they HAVE TO make ring transitions. ManOfSteel wrote:
You are wrong. It is a common missconception and myth. For speed optimizations Windows decided to move many API's into the user space and hence it can indeed make STDCALL "like" calls into DLLs mapped into an application's process memory space. However when the time comes to do a call into the kernel memory space THEN Windows willl either use an INT (older versions) or use SYSENTER (new versions) to make the ring transition. As a design choice for Windows: they do try to avoid this transition as much as possible but they do make it when required. Hence the greater speed of Windows ...but lower safety since ring3 API implementations are somehow easyer to abuse. Linux design choice was to make this transition more offten (at each API by a using an INT) and hence the lower speed of Linux but greater safety. Solar_OS design is based on a different choice... namely: "TRUST". I have moved all API and trusted applications into Ring-0... consciently sacrificeing "security" and "fear" and gaining speed and simplicity. It vaguely resembles Windows choice but only at a very superficial naive look. As you can now hopefully better understand neither Windows nor Linux will do this for reasons that are easy to understand in an capitalistic world. However as I have stated before the offending or non trusted applications will be moved into Ring-3 in Solar_OS also. And by the way ... I hope to have FASM ported and functional into Solar_OS next "christmas" release ... _________________ "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." |
|||
12 Dec 2006, 04:11 |
|
ManOfSteel 13 Dec 2006, 08:27
Hello,
thank you for your replies. @ bogdanontanu Everything is clearer now. And thank you for the clarification about Windows. I must tell you! SolarOS is impressive. It's indeed really fast and has a magnificent GUI. Keep it up! @ smiddy do you know who ported it to fasm or where could I find it? |
|||
13 Dec 2006, 08:27 |
|
rugxulo 26 Dec 2006, 05:42
The official homepage says SolarOS has been updated for Christmas (and gives credit to "Pellailo" for the alleged FASM port). No mention in the web board about FASM being included, only talk about SOL_ASM.
Haven't tried it, too preoccupied with other junk, but I'm sure it works well. |
|||
26 Dec 2006, 05:42 |
|
bogdanontanu 26 Dec 2006, 06:40
Well, the FASM port was started but then put on hold until SOL_ASM port was finished . I was not able to port both of them during christmas...
Since that is done, a FASM port to Solar_OS will follow briefly;) |
|||
26 Dec 2006, 06:40 |
|
tom tobias 26 Dec 2006, 10:45
rugxulo wrote: too preoccupied with other junk, bogdanontanu wrote: until SOL_ASM port was finished Last I knew, Pelaillo had ceased working on FASM integrated with SOL. Current release of SOL honestly explains that previously acknowledged missteps have not yet been repaired. I think one demands too much of Bogdan to ask for fixing errors, adding functionality, and integrating FASM, with CLOSED source. I look for NEXT christmas, to offer an unsolicited opinion on the meaning of "briefly": Bogdan wrote:
|
|||
26 Dec 2006, 10:45 |
|
pelaillo 26 Dec 2006, 14:07
Quote:
I'll give a look at the new SOL release. Following Bogdan comments, there is all functionality already in place for a FASM development environment running on SOL so I am going to finish it. I just need one condition to be met in order to continue: bogdan on SOLAR forum wrote:
|
|||
26 Dec 2006, 14:07 |
|
tom tobias 26 Dec 2006, 15:43
pelaillo wrote: I just need one condition to be met in order to continue: http://www.oby.ro/forum/viewtopic.php?p=387#387 |
|||
26 Dec 2006, 15:43 |
|
rugxulo 26 Feb 2007, 20:28
Quote:
http://www.oby.ro/os/index.html |
|||
26 Feb 2007, 20:28 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.