HOME

TheInfoList



OR:

Exec is the kernel of
AmigaOS AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early versions ...
. It is a 13  KB multitasking
microkernel In computer science, a microkernel (often abbreviated as μ-kernel) is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, ...
which enabled pre-emptive multitasking in as little as 256 KB of memory (as supplied with the first Amiga 1000s). Exec provided functions for multitasking,
memory management Memory management (also dynamic memory management, dynamic storage allocation, or dynamic memory allocation) is a form of Resource management (computing), resource management applied to computer memory. The essential requirement of memory manag ...
, and handling of
interrupt In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted ...
s and dynamic shared libraries. It acts as a scheduler for tasks running on the system, providing pre-emptive multitasking with prioritized round-robin scheduling. Exec also provides access to other libraries and high-level
inter-process communication In computer science, interprocess communication (IPC) is the sharing of data between running Process (computing), processes in a computer system. Mechanisms for IPC may be provided by an operating system. Applications which use IPC are often cat ...
via
message passing In computer science, message passing is a technique for invoking behavior (i.e., running a program) on a computer. The invoking program sends a message to a process (which may be an actor or object) and relies on that process and its supporting ...
. Other comparable microkernels have had performance problems because of the need to copy messages between address spaces. Since the Amiga has only one address space, Exec message passing is quite efficient. The only fixed memory address in the Amiga software (address 4) is a pointer to exec.library, which can then be used to access other libraries. Exec was designed and implemented by Carl Sassenrath.


Exec

Unlike newer modern
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
s, the exec kernel does not run "privileged". Contemporary operating systems for the Motorola 68000, such as Atari TOS and
SunOS SunOS is a Unix-branded operating system developed by Sun Microsystems for their workstation and server computer systems from 1982 until the mid-1990s. The ''SunOS'' name is usually only used to refer to versions 1.0 to 4.1.4, which were based ...
used trap instructions to invoke kernel functions. This made the kernel functions run in the 68000's ''supervisor mode'', while user software ran in the unprivileged ''user mode''. By contrast, exec function calls are made with the library jump table, and the kernel code normally executes in user mode. Whenever supervisor mode is needed, either by the kernel or user programs, the library functions Supervisor() or SuperState() are used. One limit of the Exec kernel was that an uncooperative program could disable multitasking for a long time, or indefinitely, by invoking Exec's calls Forbid() or Disable(), with no later invocation of corresponding Permit() or Enable(), causing the environment to run as one task. Multitasking could also be disabled by programs which, by software bug or intent, modify Exec's data structures or the code stored in
random-access memory Random-access memory (RAM; ) is a form of Computer memory, electronic computer memory that can be read and changed in any order, typically used to store working Data (computing), data and machine code. A random-access memory device allows ...
(RAM), possibly due to lack of
memory management unit A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware unit that examines all references to computer memory, memory, and translates the memory addresses being referenced, known as virtual mem ...
(MMU) support. Even with such limits, Exec satisfies the definition of preemptive scheduling algorithm, using a preemptive scheduling routine and basing its interrupt intervals on a clock.
Linux kernel The Linux kernel is a Free and open-source software, free and open source Unix-like kernel (operating system), kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the k ...
developer
Linus Torvalds Linus Benedict Torvalds ( , ; born 28 December 1969) is a Finnish software engineer who is the creator and lead developer of the Linux kernel. He also created the distributed version control system Git. He was honored, along with Shinya Yam ...
once described the Amiga design as cooperative, even though it uses a preemptive scheduling policy. The reason for that, he argued, was because the lack of emoryprotection between tasks, meant a task could hinder the system from operating preemptively. As tasks would need to choose not to stop the preemptive mechanism this would reduce to a kind of inverted cooperative system. This kind of conflation between protection and scheduler policy is nonstandard.


ExecSG

ExecSG (Second Generation) is the kernel used by
AmigaOS 4 AmigaOS 4 (abbreviated as OS4 or AOS4) is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code developed by Commodore International, Commodore, and partially on version 3.9 develop ...
. This kernel was licensed by Hyperion Entertainment from Thomas Frieden and Hans-Jörg Frieden. It exposes the same functions and structures as the Amiga Exec kernel but runs on
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
processors only. The ultimate origin of ExecSG is unspecified.


References


External links


Amiga Exec
{{Microkernel Microkernels Amiga APIs CBM software Operating system kernels