RISC for Dogs (3)

Figure 1: Studious dog.

An Editor

One other detail I “glossed over” was exactly how a person might edit a text file, or an obey file such as the !Run text file described on the previous page.  Remember, technically it’s a text file, but RISCOS sees that it’s typed as an obey file.  First, the text/program editor is launched by double-clicking the StrongArm editor icon in the Apps directory (the Apps directory icon is available on the lower left end of the icon bar at the bottom of the screen).  The editor icon (a hand) will then be available on the icon bar as a “frequently used” application.   The !Run file can be dragged onto that editor icon on the icon bar in order to launch a window (with the file loaded into it).

I think RISCOS cares more about how a file is “typed” rather than its extension. Is that really a better way to do it anyway?

–  Getting onto the Net  –

RISCOS contains a DHCP client, so internet setup is pretty painless. One simply presses the middle mouse button while the cursor is positioned on the raspberry icon in the lower right hand corner of the desktop (on Pi versions of the OS). Then one clicks the Configure menu item, and the Network icon in the Configuration window that subsequently appears.

Clicking the Network icon produces another window with the title “Network configuration” – and within that window are three icons including one labeled “Internet” . Clicking the Internet icon produces a window with the title “Internet configuration” – and three icons labeled “Interfaces“, “Routing“, and “Host Names” respectively.

Clicking Interfaces->configure and checking the “via DHCP” checkbox should usually do the trick. If not, one can click the Routing icon and type the address of the gateway into the address line (i.e. – and finish that by clicking the “Set” button.

To set DNS manually, one can click the Host Names icon and type the DNS address of one or more DNS servers into the DNS address box (often it is the same as the router, i.e. for example).  The manual DNS setup can be finished by clicking the “Set” button.

Once in awhile, I’ve noticed that the DHCP client does not seem to fetch the details, and I just put the info into the three little dialogs manually, as just described.

Tasks Monitor

Left clicking the raspberry causes RISCOS to display a “Task” monitor window  similar to, but with less info than, what one might see after using the “top” utility in Linux.

Internet Browsing

For internet browsing, there is Netsurf. It is launched by first putting it on the icon bar. In RISCOS, the general plan is to launch your apps first by putting them on the icon bar at the bottom of the screen. Then, those (frequently used) programs are always available. To put Netsurf on the icon bar, click “Apps” on the left of the icon bar, and in the “Apps” window double-click the Netsurf icon.  Subsequently Netsurf can be launched by clicking the Netsurf icon in the icon bar.

My little nav ticker is a great use of RISCOS, but I’d likely not use the OS for everything.  For starters, there are (according to my limited online readings) gaps in the memory protection scheme.  Some of the memory protection scheme may be undone by system calls (again only what I’ve read).  Gaps in memory protection schemes can be significant security issues.  RISCOS is a cooperative multitasking OS, as opposed to a preemptive multitasking system.  There are various flavors of cooperative multitasking operating systems, and I’m still learning about the RISCOS flavor.

There are no “logins” – and no unpriviledged users either.  To be a real RISCOS guru, you’d need to have a good grasp of these various security aspects.  It’s obvious to me that most of the random posts to be found on the internet and that touch on this subject are by people who are not in that group.  I’m certainly not in that group either, so I need to continue to learn these things. In the interim, I’ll likely restrict the kinds of things I do online, using the OS. The following link may be informative:


But, my little nav ticker is another story and for the most part, will not be connected to the internet. Most of the things I’d do on RISCOS would not be worrisome for me in a security-related way (casual news browsing with Netsurf, for instance).   None of this is advice for others, but I suspect that the extremely low user base of the operating system would translate to a pretty low probability that it’s the target of anything.  I’m thinking I could run a little web server on the box, limit it to the local subnet, and probably not worry so much about it.  The base distribution does not have a web server, but one is available, and it’s called WebJames.


WebJames is available from various places on the internet.  It comes in two versions (one with PHP, and one without PHP).  The PHP is rather dated (version 5.2) – but as I mentioned I’m running it on a local subnet with no internet exposure.  So, I’ve installed the PHP version.  PHP seems to work OK, if by “OK” we’re not considering security issues.  There are some sample web pages in the WebJames default site folder that show PHP info() and another that allows the operating system to be walked.

WebJames includes files that must be merged with !Boot and !System configurations.  This “merging” is typical of non-trivial applications (although the !SerialTerminal app did not require it).  If one finds a !Boot or !System in the zip folder of a downloaded app, then it’s expected that those two directories will be merged with the existing ones in the OS.  How to do this?

First, there are security implications with installing software.  Especially, on this OS there are considerations because we’re merging foreign stuff to the system, and the OS is a single user system and has no non-priviledged user (a bit like windows used to be).  Assuming we’re willing to chance the software, we do the merge thusly:

We click/press the middle mouse button while hovering over the raspberry.  There’s that raspberry again!    We left click the “Configure” menu item and when the configuration window appears, we notice there’s a !System icon and a !Boot icon.

  • We single click the !System icon in the configuration window, and a drag-box appears.  We drag the !System icon from the application’s zip folder to the drag box window.  This starts the merging process for the system.
  • We single click the !Boot icon in the configuration window, and a dialog appears.  We click the “Install” icon inside the dialog, and a drag-box appears.  We drag the new application’s !Boot to this drag-box, and the !Boot merging begins.

WebJames defaults to the regular hard disk location for some of its sample page CGI scripts, but we’re running on a Pi.   So, in the CGI folder I changed the “HSFS” to “SDFS::RISCOSpi.$” in the filer script.

This had the effect of allowing me to browse the entire OS from a browser on another machine on the local subnet.  This is an obvious security issue on an exposed server, but there’s was no connection here for my WebJames tests.  Admittedly, I’m not the best RISCOS system navigator at this point, and my use of WebJames and the browser allowed me to “fly over” the OS to get the 36,000 foot view. What did I discover?

It’s a ghost operating system!  Nowhere can I find enough “stuff” to explain the functionality I get.  There’s nothing there!  That’s not true, of course.  The functionality just comes from a small place, and (apparently) is pretty efficient.  It’s mostly in the kernel and the modules, so from the file system fly-over perspective, the OS is magic.

Read More of this post

RISCOS is a product of Castle Technology Limited (“Castle”) and its licensors at:
http://www.castle-technology.co.uk/riscosbaselicense.htm  This author and site are not affiliated with them in any way.

Note: This author and site is not affiliated with the Raspberry Pi in any way. For information about those projects visit  http://www.raspberrypi.org “Raspberry Pi” is a trademark of the Raspberry Pi Foundation.