RISC OS: Difference between revisions

Content deleted Content added
preemptive multitasking
Tags: Visual edit Mobile edit Mobile web edit Advanced mobile edit
UnixLib
Tags: Visual edit Mobile edit Mobile web edit Advanced mobile edit
Line 68:
== Features ==
=== OS core ===
The OS is [[single-user]] and employs [[cooperative multitasking]] (CMT).<ref name="byte tired">{{cite journal |url=https://archive.org/details/eu_BYTE-1996-12_OCR/page/n84/mode/1up |title=A RISC OS for All Seasons |last=Palmer |first=Stewart |journal=[[Byte (magazine)|Byte]] |date=December 1996 |volume=21 |issue=12 |page=49 |oclc=208951251 |issn=0360-5280}}</ref> While most current desktop OSes use [[preemption (computing)|preemptive]] [[computer multitasking|multitasking]] (PMT) and [[thread (computer science)|multithreading]], {{nowrap|RISC OS}} remains with a CMT system. By 2003, many users had called for the OS to migrate to PMT.<ref name="drobe williams pmt 2003">{{cite news|last=Williams|first=Chris|title=Imagining RISC OS and PMT|url=http://www.drobe.co.uk/article.php?id=764|access-date=10 July 2012|newspaper=[[Drobe]]|date=26 July 2003|archive-date=17 June 2018|archive-url=https://web.archive.org/web/20180617115807/http://www.drobe.co.uk/article.php?id=764|url-status=live}}</ref> The OS [[memory protection]] is not comprehensive.<ref>Michael Reed [https://books.google.com/books?id=Lr8ldHhh_wsC&pg=PA82 ''Tech Book 1'' – Published articles Oct 2006 – June 2008] {{Webarchive|url=https://web.archive.org/web/20200726094727/https://books.google.es/books?id=Lr8ldHhh_wsC&pg=PA82 |date=26 July 2020 }}</ref><ref>{{cite web|url=http://www.drobe.co.uk/riscos/artifact1327.html|title=RISC OS Memory Protection|website=Drobe: The Archives|access-date=4 March 2013|archive-date=31 March 2014|archive-url=https://web.archive.org/web/20140331035623/http://www.drobe.co.uk/riscos/artifact1327.html|url-status=live}}</ref> A third party attempt to add preemptive multitasking was started in 1999, as the Wimp2 project,<ref>{{Cite web |title=ned Productions - RISC-OS programs - Wimp2 |url=https://www.nedprod.com/programs/RISC-OS/Wimp2/ |access-date=2025-06-07 |website=www.nedprod.com}}</ref> and a bounty added to the RISC OS Open backlog, in 2015.<ref>{{Cite web |title=RISC OS Open: RISC OS Roadmap in Library |url=https://www.riscosopen.org/wiki/documentation/show/RISC%20OS%20Roadmap |archive-url=http://web.archive.org/web/20250401115500/https://www.riscosopen.org/wiki/documentation/show/RISC%20OS%20Roadmap |archive-date=2025-04-01 |access-date=2025-06-07 |website=www.riscosopen.org |language=en}}</ref> In addition support for Posix / SysV / BSD pthread (preemtive-threading) was added through the provision of UnixLib in 1992, a module introduced to permit the porting of the standard GNU / BSD tool chains to RISC OS.
 
The core of the OS is stored in [[read-only memory|ROM]], giving a fast [[bootup]] time and safety from operating system corruption. RISC OS 4 and 5 are stored in {{nowrap|4 MB}} of [[flash memory]], or as a [[ROM image]] on [[SD card]] on single board computers such as the Beagleboard or Raspberry Pi, allowing the operating system to be updated without having to replace the ROM chip. The OS is made up of several [[Loadable kernel module|module]]s. 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 call]]s in other operating systems.