RISC OS

From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article is about the operating system developed by Acorn Computers Ltd. For the OS developed by MIPS Computer Systems, see MIPS RISC/os.
RISC OS
RISC OS cogwheel logo
RISCOS 4 scr.png
A screenshot of RISC OS 4
Developer Castle Technology & RISC OS Open (version 5),
RISCOS Ltd (versions 4 & 6)
Written in BBC BASIC, C, C++, assembly language
Working state Current
Initial release 1987; 27 years ago (1987)[1]
Latest release 5.20 or 6.20 / 24 July 2013; 13 months ago (2013-07-24)[2] or 1 December 2009; 4 years ago (2009-12-01)
Latest preview 5.21 / 1 June 2013; 15 months ago (2013-06-01)
Available in English
Update method Flash ROM or OTP ROM
Platforms ARM
License 'Shared Source'[3] (version 5),
Proprietary (version 6)
Official website RISC OS Open Ltd, RISCOS Ltd

RISC OS /rɪskˈɛs/[4] is a computer operating system originally designed by Acorn Computers Ltd in Cambridge, England. First released in 1987, it was specifically designed to run on the ARM chipset, which Acorn had designed concurrently for use in its new line of Archimedes personal computers. RISC OS takes its name from the RISC (reduced instruction set computing) architecture supported.

Between 1987 and 1998, RISC OS was bundled with every ARM-based Acorn computer model. These included the Acorn Archimedes range, Acorn's R line of computers (with RISC iX as a dual boot option), RiscPC, A7000 and also prototype models such as the Acorn NewsPad and Phoebe computer. A version of the OS (called NCOS) was also used in Oracle's Network Computer and compatible systems.

After the break-up of Acorn in 1998, development of the OS was forked and separately continued by several companies, including RISCOS Ltd, Pace Micro Technology and Castle Technology. Since then, it has been bundled with a number of ARM-based desktop computers such as the Iyonix[5] and A9home. As of 2012, the OS remains forked and is independently developed by RISCOS Ltd and the RISC OS Open community.

Most recent stable versions run on the ARMv3/ARMv4 RiscPC, the ARMv5 Iyonix[6] and ARMv7 Cortex-A8 processors[7][8] (such as that used in the BeagleBoard and Touch Book). In 2011, a port for the Cortex-A9 PandaBoard was announced[9] and a development version for the Raspberry Pi was seen in public[10][11][12] which has been followed up with a freely downloadable release candidate; this version has been made available free of charge to Raspberry Pi users.[13]

History[edit]

Main article: History of RISC OS

RISC OS was originally released in 1987 as Arthur 1.20. The next version, Arthur 2, became RISC OS 2 and was made available in April 1989. RISC OS 3.00 was released with the A5000 in 1991 and contained a series of new features. By 1996 RISC OS had been shipped on over 500,000 systems.[14]

Acorn officially halted work on the OS in January 1999, renaming themselves Element 14. In March 1999 a new company called RISCOS Ltd licensed the rights to develop a desktop version of RISC OS from Element 14, and continued the development of RISC OS 3.8, releasing it as RISC OS 4 in July 1999. Meanwhile, Element 14 had also kept a copy of RISC OS 3.8 in house, which they developed into NCOS for use in set-top boxes. In 2000, Element 14 sold RISC OS to a company called Pace Micro Technology, who later sold it to Castle Technology Ltd.

In May 2001 RISCOS Ltd launched RISC OS Select, a subscription scheme allowing users access to the latest RISC OS 4 updates. These upgrades are released as soft-loadable ROM images, separate to the ROM where the boot OS is stored, and are loaded at boot time. Select 1 was shipped in May 2002, with Select 2 following in November 2002 and the final release of Select 3 in June 2004. In the same month, RISC OS 4.39, dubbed RISC OS Adjust, was released. RISC OS Adjust was a culmination of all the Select Scheme updates to date, released as a physical set of replaceable ROMs for the RiscPC and A7000 series of machines.

Meanwhile, in October 2002, Castle Technology released the Acorn clone Iyonix PC. This ran a 32-bit (as opposed to 26-bit) variant of RISC OS, known as RISC OS 5. RISC OS 5 is a separate evolution of RISC OS based upon the NCOS work done by Pace. The following year, Castle Technology bought RISC OS from Pace for an undisclosed sum. In October 2006, Castle announced a source sharing license plan for elements of RISC OS 5. This Shared Source Initiative (SSI) is managed by RISC OS Open Limited.

Supported hardware[edit]

Versions of RISC OS run or have run on the following hardware.

RISC OS compatible hardware
Machine Introduced Acorn version RISCOS Ltd version Castle Technology / RISC OS Open version
First Last First Latest First Latest
ARM with 26-bit program counter
Acorn Archimedes 1987 – 1992 0.20 3.1x N/A N/A N/A N/A
ARM with 26- & 32-bit program counter
Acorn Risc PC 1994[15] 3.50[15] 3.71 4.00 6.20[16] 5.15 5.20/5.21
Acorn A7000 and A7000+ 1995[17] – 1997[18] 3.60[17][18] 3.71 4.00 6.20[16] 5.15 5.20/5.21
Acorn Phoebe 1998 (Cancelled) 3.80 (Ursula) N/A N/A N/A N/A N/A
MicroDigital Medi[19] 1998[20] 3.71[20] N/A 4.02 6.20 N/A N/A
MicroDigital Mico 1999[21] N/A N/A 4.03[21] 4.39[16] N/A N/A
RiscStation R7500 1999[22] N/A N/A 4.03[22] 4.39[16] N/A N/A
Castle Kinetic RiscPC 2000[23] N/A N/A 4.03 6.20 5.19[24] 5.20/5.21
MicroDigital Omega 2003[25] N/A N/A 4.03[26] 4.39[16] N/A N/A
Advantage Six A75 2004[27] N/A N/A 4.39[28] N/A N/A
ARM with 32-bit program counter (ARMv5, ARMv6 or ARMv7 based)
Iyonix Ltd Iyonix PC 2002 N/A N/A N/A N/A 5.01 5.20[29]/5.21
Advantage Six A9 (Home/RM/Loc) 2005 N/A N/A 4.42[16] N/A N/A
BeagleBoard[7] 2008 N/A N/A N/A N/A 5.15 5.20[29]/5.21
Always Innovating Touch Book 2009 N/A N/A N/A N/A 5.15 5.21
OpenPandora Pandora 2009 N/A N/A N/A N/A 5.17[30] 5.21
PandaBoard[9] 2011 N/A N/A N/A N/A 5.17 5.21
Raspberry Pi[11][31][32] (ARMv6) 2012 N/A N/A N/A N/A 5.19 5.21 (RC12A – first for model B+)

Note that RISC OS Open Limited adopted the 'even numbers are stable' version numbering scheme post version 5.14, hence some table entries above include two latest releases – the last stable one and the more recent development one.

RISC OS has also been used by both Acorn and Pace Micro Technology in various TV connected Set Top Boxes, sometimes referred to instead as NCOS.

RISC OS can also run on a range of computer system emulators that emulate the earlier Acorn machines listed above.

RISC OS capable hardware emulators
Emulator Machines emulated Host platforms supported Latest release
!A310Emu[33] Archimedes RISC OS
Archie[34] Archimedes Windows, DOS 0.9 – 10 February 2001
Arcem[35] Archimedes Windows, Linux, Mac OS, RISC OS 1.50 – 16 December 2012
Arculator[36] Archimedes Windows, Linux

0.99 – 15 August 2009

Virtual A5000 Archimedes Windows 1.4
Red Squirrel[37] Archimedes, Risc PC, A7000 Windows 0.6 – 28 October 2002
RPCEmu[38] Risc PC, A7000, Phoebe Windows, Linux, Mac OS, Open BSD 0.8.11 – 23 October 2013
VirtualRPC Risc PC Windows, Mac OS 5 September 2014[39]

Features[edit]

OS core[edit]

The OS is single-user and employs cooperative multitasking (CMT).[40] While most current desktop OSes use preemptive multitasking (PMT) and multithreading, RISC OS remains with a CMT system. By 2003, many users had called for the OS to migrate to PMT.[41] The OS memory protection is not comprehensive.[42][43]

The core of the OS is stored in ROM, giving a fast bootup time and safety from operating system corruption. RISC OS 4 and 5 are stored in 4 MB of flash memory, allowing the operating system to be updated without having to replace the ROM chip. The OS is made up of a number of modules. These can be added to and replaced, including soft-loading of modules not present in ROM at run time and on-the-fly replacement. This design has led to OS developers releasing rolling updates to their versions of the OS, while third parties are able to write OS replacement modules to add new features. OS modules are accessed via software interrupts (SWIs), similar to system calls in other operating systems.

Most of the OS has defined ABIs to handle filters and vectors. The OS provides many ways in which the programmer can intercept and modify its operation. This simplifies the task of modifying its behaviour, either in the GUI or deeper. As a result, there is a number of third-party programs which allow the OS look and feel to be customised.

File system[edit]

The file system is volume-oriented: the top level of the file hierarchy is a volume (disc, network share) prefixed by the filesystem type. To determine file type, the OS uses metadata instead of file extensions. Colons are used to separate the filesystem from the rest of the path; the root is represented by a dollar ($) sign and directories are separated by a full stop (.). Extensions from foreign filesystems are shown using a slash (example.txt becomes example/txt).[44] For example, ADFS::HardDisc4.$ is the root of the disc named HardDisc4 using the ADFS filesystem. RISC OS filetypes can be preserved on other systems by appending the hexadecimal type as '.xxx' to filenames.[44][45] When using cross-platform software, filetypes can be invoked on other systems by naming appending '/[extension]' to the filename under RISC OS.[46]

A file system can present a file of a particular type as a volume in its own right, similar to a loop device. The OS refers to this functionality as an image filing system. This allows transparent handling of archives and similar files, which appear as directories with some special properties. Files inside the image file appear in the hierarchy underneath the parent archive. It is not necessary for the archive to contain the data it refers to: some symbolic link and network share filesystems put a reference inside the image file and go elsewhere for the data.

The file system abstraction layer API uses 32 bit file offsets, making the largest single file 4 GiB (-1 byte) long. However, prior to RISC OS 5.20 the file system abstraction layer and many RISC OS-native file systems limited support to 31 bits (just under 2 GiB) to avoid dealing with apparently negative file extents when expressed in two's complement notation.

File formats[edit]

The OS uses metadata to distinguish file formats. Some common file formats from other systems are mapped to filetypes by the MimeMap module.[47]

Kernel[edit]

The RISC OS kernel is single-tasking (the cooperative multi-tasking is provided by the WindowManager module) and controls handling of interrupts, DMA services, memory allocation and the video display.[40]

Desktop[edit]

The WIMP interface is based around a stacking window manager and incorporates three mouse buttons[48] (named Select, Menu and Adjust), context-sensitive menus, window order control (i.e. send to back) and dynamic window focus (a window can have input focus at any position on the stack). The Icon bar (Dock) holds icons which represent mounted disc drives, RAM discs, running applications, system utilities and docked: Files, Directories or inactive Applications. These icons have context-sensitive menus and support drag-and-drop behaviour. They represent the running application as a whole, irrespective of whether it has open windows.

The GUI is centred around the concept of files. The Filer, a spatial file manager, displays the contents of a disc. Applications are run from the Filer view and files can be dragged to the Filer view from applications to perform saves. Application directories are used to store applications. The OS differentiates them from normal directories through the use of a pling (exclamation mark, also called shriek) prefix. Double-clicking on such a directory launches the application rather than opening the directory. The application's executable files and resources are contained within the directory, but normally they remain hidden from the user. Because applications are self-contained, this allows drag-and-drop installation and removal.

The RISC OS Style Guide encourages a consistent look and feel across applications. This was introduced in RISC OS 3 and specifies application appearance and behaviour. Acorn's own main bundled applications were not updated to comply with the guide until RISCOS Ltd's Select release in 2001.[49]

Font manager[edit]

The outline font manager provides spatial anti-aliasing of fonts, the OS being the first operating system to include such a feature,[50][51][52][53] having included it since before January 1989.[54] Since 1994, in RISC OS 3.5, it has been possible to use an outline anti-aliased font in the WindowManager for UI elements, rather than the bitmap system font from previous versions.[55]

Bundled applications[edit]

RISC OS is delivered with a number of desktop applications in the form of pre-installed software.

Backward compatibility[edit]

Limited software portability exists with subsequent versions of the OS and hardware. Single-tasking BBC BASIC applications often require only trivial changes, if any.[citation needed] Successive OS upgrades have raised more serious issues of backward compatibility for desktop applications and games. Applications still being maintained by their author(s) or others have sometimes historically been amended to provide compatibility.[citation needed]

The introduction of the RiscPC in 1994 and its later StrongARM upgrade raised issues of incompatible code sequences and proprietary squeezing (compression). Patching of applications for the StrongARM was facilitated and Acorn's UnsqueezeAIF software unsqueezed images according to their AIF header.[56] The incompatibilities prompted release by The ARM Club of its Game On![57][58] and StrongGuard software.[57][59][60] They allowed some previously incompatible software to be run on new and upgraded systems. The version of the OS for the A9home prevented the running of software without an AIF header (in accordance with Application Note 295)[61] to stop "trashing the desktop".[62]

The Iyonix PC (RISC OS 5) and A9home (custom RISC OS 4) saw further software incompatibility because of the deprecated 26-bit addressing modes. Most applications under active development have since been rewritten.[63][64][65] Static code analysis to detect 26-bit only sequences can be undertaken using ARMalyser.[66] Its output can be helpful in making 32-bit versions of older applications for which the source code is unavailable.[66][66][67] Some older 26-bit software can be run without modification using the Aemulor emulator.[65][68][69]

Additional incompatibilities were introduced with newer ARM cores, such as ARMv7 in the BeagleBoard and ARMv6 in the Raspberry Pi.[citation needed]

See also[edit]

References[edit]

  1. ^ Revill, Steve (24 July 2013). "RISC OS 5.20 (stable) is now available". RISC OS Open. Retrieved 2013-07-24. 
  2. ^ RISC OS Shared Source FAQ, RISC OS Open, accessed 2011-01-06
  3. ^ "About us: RISC OS Open Limited FAQ". RISC OS Open. Retrieved 2011-06-13. 
  4. ^ "Acorn announces distribution deal with Castle Technology for RISC based products". Press release (Acorn Computers Ltd). 12 October 1998. Archived from the original on 6 May 1999. Retrieved 2011-01-06. "(October 12th 1998), Cambridge, UK-Acorn announced today that it has completed negotiations with Castle Technology for them to distribute Acorn products." 
  5. ^ "RISC OS 5 features". Iyonix Ltd. Retrieved 2011-01-31. "All IYONIX pcs ship with RISC OS 5 in flash ROM." 
  6. ^ a b Farrell, Nick (27 April 2009). "Snaps leak of RISC OS5 on BeagleBoard". The Inquirer. Retrieved 2011-06-28. "A snap of an RISC OS 5, running on a BeagleBoard device powered by a 600MHz ARM Cortex-A8 processor with a built-in graphics chip, has tipped up on the world wide wibble. The port developed by Jeffrey Lee is a breakthrough for the shared-source project because it has ported the OS without an army of engineers." 
  7. ^ "Cortex-A8 port status". RISC OS Open. Retrieved 2011-01-31. "[The port includes] a modified version of the RISC OS kernel containing support for (all) Cortex-A8 CPU cores." 
  8. ^ a b Lee, Jeffrey (2 August 2011). "Have I Got Old News For You". The Icon Bar. Retrieved 28 September 2011. "[...] Willi Theiss has recently announced that he's been working on a port of RISC OS to the PandaBoard [...]" 
  9. ^ Lee, Jeffrey. "Newsround". The Icon Bar. Retrieved 17 October 2011. 
  10. ^ a b Holwerda, Thom (31 October 2011). "Raspberry Pi To Embrace RISC OS". OSNews. Retrieved 1 November 2011. 
  11. ^ Dewhurst, Christopher (December 2011). "The London show 2011". Archive (magazine) 23 (3). p. 3. 
  12. ^ "Downloads". Raspberry Pi. Retrieved 2013-09-02. 
  13. ^ ART – Acorn RISC OS
  14. ^ a b Chris's Acorns – Risc PC
  15. ^ a b c d e f RISC OS Six Frequently Asked Questions
  16. ^ a b Chris's Acorns – A7000
  17. ^ a b Chris's Acorns – A7000+
  18. ^ repackaged A7000+
  19. ^ a b Chris's Acorns – Microdigital Medi
  20. ^ a b Chris's Acorns – Microdigital Mico
  21. ^ a b Chris's Acorns – RiscStation R7500
  22. ^ Castle reveal Kinetic to the press
  23. ^ "Bugs and sources:". RISC OS Open. 2013-03-28. Retrieved 2013-09-02. 
  24. ^ Drobe – Omega production saga continues
  25. ^ – Microdigital Omega
  26. ^ Drobe – A75 is ARM7500FE ruggable
  27. ^ Advantage6: Thea75
  28. ^ a b RISC OS Open: ROM image releases
  29. ^ Let's get started with a Pandora port
  30. ^ [1][dead link]
  31. ^ "Raspberry Pi B+". 15 July 2014. Retrieved 13 August 2014. 
  32. ^ "Welcome to my homepage!". Home.tiscali.nl. Retrieved 2013-09-02. 
  33. ^ "Archie - Acorn Archimedes Emulator". Web.archive.org. 2001-08-12. Retrieved 2013-09-02. 
  34. ^ "ArcEm - The Acorn Archimedes Emulator". Arcem.sourceforge.net. Retrieved 2013-09-02. 
  35. ^ "Arculator - The Acorn Archimedes Emulator". B-em.bbcmicro.com. Retrieved 2013-09-02. 
  36. ^ "Red Squirrel Acorn Archimedes Emulator". Redsquirrel.fsnet.co.uk. Retrieved 2013-09-02. 
  37. ^ "RPCEmu". Marutan.net. Retrieved 2013-10-28. 
  38. ^ http://www.virtualacorn.co.uk/news.htm.  Missing or empty |title= (help)
  39. ^ a b Palmer, Stewart (December 1996). "A RISC OS for all Seasons: Tired of OSes that require acres of memory and huge hard drives?". Byte 21 (12): 49. ISSN 0360-5280. OCLC 208951251. 
  40. ^ Williams, Chris (26 July 2003). "Imagining RISC OS and PMT". Drobe. Retrieved 10 July 2012. 
  41. ^ Michael Reed Tech Book 1 – Published articles Oct 2006 – June 2008
  42. ^ RISC OS Memory Protection
  43. ^ a b Naulls, Peter (2 January 2004). "RISC OS filename translation". Drobe. Retrieved 25 April 2012. 
  44. ^ Emulating RISC OS under Windows
  45. ^ Fitton, Gerald (August 1994), "Fireworkz for Windows", Archive (Glastonbury: Abbey Press) 7 (11): 21, OCLC 222434223 
  46. ^ Iyonix: MIMEMap
  47. ^ Dan Ryan (13 April 2011). History of Computer Graphics: DLR Associates Series. AuthorHouse. p. 358. ISBN 978-1-4567-5115-9. Retrieved 13 June 2013. 
  48. ^ Mellor, Phil (23 March 2007). "An arbitrary number of possibly influential RISC OS things". The Icon Bar. Retrieved 27 September 2011. "Admittedly it wasn't until RISC OS Select was released, almost 10 years later, that the standard Acorn applications (Draw, Edit, and Paint) implemented the style guide's clipboard recommendations, but most products followed it with care." 
  49. ^ Round, Mark (26 February 2004). "Emulating RISC OS under Windows". OSnews. OSNews. Retrieved 2011-05-12. "Many of the UI concepts that we take for granted were first pioneered in RISC OS, for instance: scalable anti-aliased fonts and an operating system extendable by 'modules', while most of the PC world was still on Windows 3.0." 
  50. ^ Ghiraddje (22 December 2009). "The RISC OS GUI". Telcontar.net. Retrieved 2011-05-12. "Only with Mac OS X did any mainstream graphical interface provide the smoothly rendered, fractionally spaced type that Acorn accomplished in 1992 or earlier." 
  51. ^ Reimer, Jeremy (May 2005). "A History of the GUI". ArsTechnica. Retrieved 2011-05-25. "[...] in 1987, the UK-based company Acorn Computers introduced their [...] GUI, called "Arthur", also was the first to feature anti-aliased display of on-screen fonts, even in 16-color mode!" 
  52. ^ Holwerda, Thom (23 June 2005). "Screen Fonts: Shape Accuracy or On-Screen Readability?". OSNews. Retrieved 2011-06-13. "[...] it was RISC OS that had the first system-wide, intricate [...] font rendering in operating systems." 
  53. ^ Pountain, Dick (December 1988). "Screentest: Archie RISC OS". Personal Computer World. p. 154. Retrieved 2011-01-14. "[ArcDraw] can also add text in multiple sizes and fonts to a drawing (including anti-aliased fonts)" 
  54. ^ Acorn Computers Support Group Application Notice 253 – New features of RISC OS version 3.5
  55. ^ "Application Note 295". Engineering Support Application Note. Acorn Computers. 4 October 1996. Retrieved 28 June 2012. 
  56. ^ a b Foggy (11 July 2001). "Games FAQ". Acorn Arcade. Retrieved 27 June 2012. 
  57. ^ "Game On!". The ARM Club – Software Products. The ARM Club. Archived from the original on 4 October 2001. Retrieved 27 June 2012. 
  58. ^ "StrongGuard". The ARM Club – Software Products. The ARM Club. Archived from the original on 12 February 2009. Retrieved 27 June 2012. 
  59. ^ McKillop, Keith (22 November 2000). "RISC OS 2000: Show Report". Acorn Arcade. Retrieved 27 June 2012. 
  60. ^ "RISCOS Ltd News". RISCOS Ltd. May 2006. Retrieved 28 June 2012. 
  61. ^ Williams, Chris (17 April 2006). "ROL release C99 SCL to A9home users". Drobe. Retrieved 28 June 2012. 
  62. ^ Thompson, Matt. "Iyonix Issues". RISC World 7 (2). Retrieved 27 June 2012. [dead link]
  63. ^ Thompson, Matt. "Iyonix Issues". RISC World 8 (2). Retrieved 27 June 2012. [dead link]
  64. ^ a b "A Guide to RISC OS Versions". WROCC website. Wakefield RISC OS Computer Club. Retrieved 27 June 2012. 
  65. ^ a b c Brett, Paul. "PD World". RISC World 7 (1). Retrieved 27 June 2012. 
  66. ^ "Free Software". The ARM Club website. The ARM Club. Retrieved 27 June 2012. 
  67. ^ Williams, Chris (19 November 2002). "Aemulor: Number of apps working on Iyonix 'growing daily'". Drobe. Retrieved 21 June 2012. 
  68. ^ Williams, Chris (25 March 2003). "Aemulor sees the light of day". Drobe. Retrieved 27 June 2012. 

External links[edit]