hello
h0bby1 (2567) 480 posts |
aaaaa |
Jeffrey Lee (213) 6048 posts |
Hello! About documentation:
About your task in particular:
|
h0bby1 (2567) 480 posts |
aaaaa |
Steve Pampling (1551) 8170 posts |
There’s an area of the !Boot i.e the Choices directory, have a peek at the directory and the various applications that use it.
Correct, and it has only one restriction – the NutPi version works on the Pi and only on the Pi, but then if you have a Pi what does that matter? The compiled code works on any RISC OS machine (provided you don’t use code incompatible with your target machine). |
Jeffrey Lee (213) 6048 posts |
Predictably, the forum ate my reply. Summary:
You can write modules in C. There are a couple of tools (cmhg in the DDE, and cmunge in GCC) which are used to help with this. They generate an object file containing the module header and a bunch of glue code to bridge the gap between the module entry points and your C code.
As Steve says, !Boot.Choices is your friend. See here for a spec on how it should be used – you’d want to access it via the Choices$Write & Choices$Path system variables
Correct – at its heart RISC OS is a very insecure single-user OS. There’s no builtin password/account manager, if you want a secure place to store the passwords you’ll have to write it yourself.
Yes, however (apart from what Steve’s pointed out) it’s advertised as being release 24 rather than the latest release (25). Not sure what ROOL are doing there – it seems a bit silly to keep selling the old version in a pack that’s designed to attract new users to the OS. So if you’re still interested it might be worth dropping them an email before you order to see what their plans are for updating it (unless you’re lucky and one of the ROOL guys spots this thread!) It’s also worth considering GCC, which has the advantages of being free, having much better C++ support, and generally being easier to use when porting code from other platforms. Both the ROOL compiler & GCC are equally suitable for writing module code, the only reason I mentioned the DDE earlier is because I wasn’t sure if GCC had decent docs for cmunge (I’ve checked, it does). |
h0bby1 (2567) 480 posts |
aaaaa |
Rick Murray (539) 13840 posts |
File system operations are “vectored”. That means, when an operation (such as open file, read a byte, etc) happens, a routine that has requested to be notified of this activity will be called. HOWEVER due to how the vectors work, there are a number of limitations regarding what you can safely do when in a vector routine. For example, I hook into the file vectors in order to blink an LED red (for write) or green (for read), just like a harddisc lamp. However I must schedule a callback which asks RISC OS to give me a shout when it isn’t busy and then I do the main bulk of the work. Trying to do it all directly in the vector handler makes the system blow up. Really, what you want to do is to write a filing system. You might be able to get away with an image filing system instead of a full one – it depends on what exactly it is that you’re talking to and with and how. For examples:
|
David Feugey (2125) 2709 posts |
For Windows shares, there is a free Samba Server For NFS, beware: I did have some file corruption with Moonfish/Sunfish. |
Richard Walker (2090) 431 posts |
If a driver is the lack of encrypted passwords in Omni (LanManFS) then, assuming the sources to LanManFS are here somewhere, how about looking into updating that? |
h0bby1 (2567) 480 posts |
aaaaa |
David Feugey (2125) 2709 posts |
Oups :)
Many tools can do this under RISC OS.
I do too. My only unsolved problem for now is lack of ssl support under RISC OS web servers.
If you do not use Wimp, you’re in monotask mode. So your server software must be monothread. With Wimp, you have cooperative multitasking or preemptive (in a task window). I did have the idea, some time ago, to add time limit on tasks, to get something more responsive, even if still running in cooperative mode (it’s the way Wimp2 worked under RISC OS 4). That would be quite innovate, since if you change time limits, you can go from cooperative to RT system, on the fly. But I’m not really on kernel things. |
h0bby1 (2567) 480 posts |
aaaaa |
David Feugey (2125) 2709 posts |
I you use task windows for PHP, you’ll get preemptive multitasking. The thing that could be cool would be to get the task windows facilities, without the need to launch the Wimp. Then, it would be possible to have a true server version of RISC OS. |
Rick Murray (539) 13840 posts |
First, I think we need to have a big documentation page explaining that RISC OS is not a funny Debian distro. It isn’t Linux, it is nothing like Linux…… |
h0bby1 (2567) 480 posts |
aaaaa |
Steve Pampling (1551) 8170 posts |
It’s not a case of RISC OS “not supposed to be a pre-emptive os” it just plain IS NOT a pre-emptive OS.1 The thing that seems to confuse people is that Linux in many incarnations developed a desktop that looked quite like the desktop that MS Windows adopted with Win2k and Win95 which basically look rather like the RISC OS desktop that appeared before them. It isn’t windows, it isn’t Linux. 1 Not that we wouldn’t like pre-emptive features to be added. |
h0bby1 (2567) 480 posts |
aaaaa |
Steve Pampling (1551) 8170 posts |
Both bloated and slow. The only point in using RO for anything would be to keep the implementation swift, add bloat like that and you’re better off running a version of ARM Linux where the facilities exist, even if a slow version. |
Steve Pampling (1551) 8170 posts |
A means of running command line programs without leaving the desktop. Think console on Linux, or CMD on windows. Not totally accurate but near enough I suppose. |
h0bby1 (2567) 480 posts |
aaaaa |
h0bby1 (2567) 480 posts |
aaaaa |
David Feugey (2125) 2709 posts |
Not without Wimp. But to be honest the Wimp use almost 0% of CPU time. So the best is simple to use it :) |
h0bby1 (2567) 480 posts |
aaaaa |
Steve Pampling (1551) 8170 posts |
One loop, full stop. Each task gets offered access to the processor in turn. If one task in that loop fails to hand back control nothing else runs at all, ever. |
David Feugey (2125) 2709 posts |
The best for your Wimp application would be to launch CLI tasks in task windows. So they’ll use PMT. |