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 and view the source code, design documents, or content of the product. The open source model is a decentrali ...
research
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 ...
(OS) for cache-coherent
64-bit In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit central processing units (CPU) and arithmetic logic units (ALU) are those that are based on processor registers, a ...
multiprocessor systems. It was developed primarily at
IBM International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
Thomas J. Watson Research Center The Thomas J. Watson Research Center is the headquarters for IBM Research. Its main laboratory is in Yorktown Heights, New York, 38 miles (61 km) north of New York City. It also operates facilities in Cambridge, Massachusetts and Albany, ...
in collaboration with the
University of Toronto The University of Toronto (UToronto or U of T) is a public university, public research university whose main campus is located on the grounds that surround Queen's Park (Toronto), Queen's Park in Toronto, Ontario, Canada. It was founded by ...
and
University of New Mexico The University of New Mexico (UNM; ) is a public research university in Albuquerque, New Mexico, United States. Founded in 1889 by the New Mexico Territorial Legislature, it is the state's second oldest university, a flagship university in th ...
. 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. One definition for software systems specifies that this may be done by adding resources to the system. In an economic context, a scalable business model implies that ...
issues of
system software System software is software designed to provide a platform for other software. An example of system software is an operating system (OS) (like macOS, Linux, Android, and Microsoft Windows). Application software is software that allows users to d ...
on large-scale, shared memory,
non-uniform memory access Non-uniform memory access (NUMA) is a computer storage, 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 ...
(NUMA)
multiprocessing Multiprocessing (MP) 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. The ...
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 software architecture, architecture with the entire operating system running in kernel space. The monolithic model differs from other architectures such as the microkernel in that it alone defines a high ...
design. K42 consists of a small exception-handling component that serves as the microkernel, a fast
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 ...
(IPC) mechanism named protected procedure call (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 university, public research university whose main campus is located on the grounds that surround Queen's Park (Toronto), Queen's Park in Toronto, Ontario, Canada. It was founded by ...
'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, is 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 ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
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 An application binary interface (ABI) is an interface exposed by software that is defined for in-process machine code access. Often, the exposing software is a library, and the consumer is a program. An ABI is at a relatively low-level of a ...
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 files ...
s can run on K42 without modification, including the
relational database A relational database (RDB) is a database based on the relational model of data, as proposed by E. F. Codd in 1970. A Relational Database Management System (RDBMS) is a type of database management system that stores data in a structured for ...
DB2. K42 has some
device driver In the context of an operating system, 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, enabli ...
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''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
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 only the addition of components to a running computer system. Components which ha ...
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 PowerPC operating systems