K42
   HOME

TheInfoList



OR:

K42 is a discontinued
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
research
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
(OS) for cache-coherent
64-bit In computer architecture, 64-bit Integer (computer science), integers, memory addresses, or other Data (computing), data units are those that are 64 bits wide. Also, 64-bit central processing unit, CPUs and arithmetic logic unit, ALUs are those ...
multiprocessor systems. It was developed primarily at IBM
Thomas J. Watson Research Center The Thomas J. Watson Research Center is the headquarters for IBM Research. The center comprises three sites, with its main laboratory in Yorktown Heights, New York, U.S., 38 miles (61 km) north of New York City, Albany, New York and with ...
in collaboration with the
University of Toronto The University of Toronto (UToronto or U of T) is a public research university in Toronto, Ontario, Canada, located on the grounds that surround Queen's Park. It was founded by royal charter in 1827 as King's College, the first institution ...
and
University of New Mexico The University of New Mexico (UNM; es, Universidad de Nuevo México) is a public research university in Albuquerque, New Mexico. Founded in 1889, it is the state's flagship academic institution and the largest by enrollment, with over 25,400 ...
. The main focus of this OS is to address performance and
scalability Scalability is the property of a system to handle a growing amount of work by adding resources to the system. In an economic context, a scalable business model implies that a company can increase sales given increased resources. For example, a ...
issues of
system software System software is software designed to provide a platform for other software. Examples of system software include operating systems (OS) like macOS, Linux, Android and Microsoft Windows, computational science software, game engines, search engin ...
on large-scale,
shared memory In computer science, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Shared memory is an efficient means of passing data between progr ...
,
non-uniform memory access Non-uniform memory access (NUMA) is a computer memory design used in multiprocessing, where the memory access time depends on the memory location relative to the processor. Under NUMA, a processor can access its own local memory faster than non- ...
(NUMA)
multiprocessing Multiprocessing is the use of two or more central processing units (CPUs) within a single computer system. The term also refers to the ability of a system to support more than one processor or the ability to allocate tasks between them. There ar ...
computers. K42 uses a
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, ...
architecture rather than the traditional
monolithic kernel A monolithic kernel is an operating system architecture where the entire operating system is working in kernel space. The monolithic model differs from other operating system architectures (such as the microkernel architecture) in that it alone ...
design. K42 consists of a small exception-handling component that serves as the microkernel, a fast
inter-process communication In computer science, inter-process communication or interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data. Typically, applications can use IPC, categori ...
(IPC) mechanism named
protected procedure call A Protected Procedure Call (PPC) is a messaging facility wherein messages are sent and received using procedure call interfaces. They are a core component of the K42 operating system. Inter-process communication Subroutines {{Comp-sci-s ...
(PPC), and servers for most other components of the operating system. These servers exist in separate address spaces and rely upon the fast IPC mechanism for communication with the microkernel and other servers.


History

The core of K42 is based on the
University of Toronto The University of Toronto (UToronto or U of T) is a public research university in Toronto, Ontario, Canada, located on the grounds that surround Queen's Park. It was founded by royal charter in 1827 as King's College, the first institution ...
's operating system ''Tornado''. K42 is the university's third generation of research on scalable operating systems. Tornado OS on a
nuMachine The NuMachine, or Nu machine, was an early microprocessor-based computer workstation designed to interface with local area networks. It was developed in the late 1970s at MIT's Laboratory for Computer Science (LCS) by Professor Steve Ward and his r ...
Multiprocessor was the second generation and ''Hurricane OS'' on a ''Hector Multiprocessor'' was the first generation.


Features

K42 supports the
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
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 ...
64 and 32
application binary interface In computer software, an application binary interface (ABI) is an interface between two binary program modules. Often, one of these modules is a library or operating system facility, and the other is a program that is being run by a user. An ' ...
s (ABIs), so most PowerPC Linux
binary file A binary file is a computer file that is not a text file. The term "binary file" is often used as a term meaning "non-text file". Many binary file formats contain parts that can be interpreted as text; for example, some computer document fil ...
s can run on K42 without modification, including the
relational database A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
DB2. K42 has some
device driver In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and ot ...
s implemented specifically for it, but it gets most of its hardware support by directly linking in Linux device drivers to a special server. Another goal of the K42 design is to achieve a customizable and maintainable system. Being built with an
object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pr ...
design, it allows applications to customize and thus optimize the OS services required, and then on the fly,
hot swap Hot swapping is the replacement or addition of components to a computer system without stopping, shutting down, or rebooting the system; hot plugging describes the addition of components only. Components which have such functionality are said ...
kernel object implementations. This is particularly important for applications, such as databases and web servers, where the ability to control physical resources can improve performance.


Open source

The K42 source is via git: https://github.com/jimix/k42


References


External links

* (from the Internet Archive) {{Microkernel Free software operating systems Microkernels IBM operating systems