{{Other uses|K-42 (disambiguation)}} {{Infobox OS | name = K42 | logo = <!-- Filename only --> | screenshot = <!-- Filename only --> | caption = | developer = IBM Thomas J. Watson Research Center<br/>University of Toronto<br/>University of New Mexico | family = <!-- "Unix-like" or "Microsoft Windows" --> | working state = Discontinued | source model = Open source | released = {{Start date and age|2006|10}} | latest release version = | latest release date = | marketing target = Research | programmed in = | language = English | update model = <!-- APT, Windows Update --> | package manager = <!-- dpkg, rpm, Windows installer --> | supported platforms = PowerPC 64, 32 | kernel type = Microkernel | userland = | ui = | license = | preceded by = | succeeded by = | website = {{URL|www.research.ibm.com/K42}} }} '''K42''' is a discontinued open-source research operating system (OS) for cache-coherent 64-bit multiprocessor systems. It was developed primarily at IBM Thomas J. Watson Research Center in collaboration with the University of Toronto and University of New Mexico. The main focus of this OS is to address performance and scalability issues of system software on large-scale, shared memory, non-uniform memory access (NUMA) multiprocessing computers.<ref>{{cite journal |last1=Krieger |first1=Orran |last2=Auslander |first2=Marc |last3=Rosenburg |first3=Bryan |last4=Wisniewski |first4=Robert W. |last5=Xenidis |first5=Jimi |last6=Da Silva |first6=Dilma |last7=Ostrowski |first7=Michal |last8=Appavoo |first8=Jonathan |last9=Butrico |first9=Maria |last10=Mergen |first10=Mark |last11=Waterland |first11=Amos |last12=Uhlig |first12=Volkmar |date=October 2006 |title=K42: building a complete operating system |journal=ACM SIGOPS Operating Systems Review |publisher=Association for Computing Machinery (ACM) |volume=40 |issue=4 |pages=133–145 |doi=10.1145/1218063.1217949 }}</ref>

K42 uses a microkernel architecture rather than the traditional monolithic kernel design. K42 consists of a small exception-handling component that serves as the microkernel, a fast inter-process communication (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's operating system ''Tornado''.<ref>{{cite web |title=Tornado Operating System: Overview |url=http://www.eecg.toronto.edu/EECG/RESEARCH/ParallelSys/tornado.html |publisher=Eecg.toronto.edu |access-date=13 June 2015 |archive-date=11 December 2015 |archive-url=https://web.archive.org/web/20151211141341/http://www.eecg.toronto.edu/EECG/RESEARCH/ParallelSys/tornado.html |url-status=dead }}</ref> K42 is the university's third generation of research on scalable operating systems. Tornado OS on a nuMachine Multiprocessor<ref>{{cite web |title=The NUMAchine Multiprocessor Project |url=http://www.eecg.toronto.edu/parallel/parallel/NUMA.Welcome.html |publisher=Eecg.toronto.edu |access-date=13 June 2015 |archive-date=23 September 2015 |archive-url=https://web.archive.org/web/20150923234019/http://www.eecg.toronto.edu/parallel/parallel/NUMA.Welcome.html |url-status=dead }}</ref> was the second generation and ''Hurricane OS''<ref>{{cite web |title=Hurricane |url=http://www.eecg.toronto.edu/parallel/hurricane.html |publisher=Eecg.toronto.edu |url-status=dead |archive-url=https://web.archive.org/web/20070513032301/http://www.eecg.toronto.edu/parallel/hurricane.html |archive-date=13 May 2007 |access-date=13 June 2015}}</ref> on a ''Hector Multiprocessor''<ref>{{cite web |title=Hector |url=http://www.eecg.toronto.edu/parallel/hector.html |publisher=Eecg.toronto.edu |url-status=dead |archive-url=https://web.archive.org/web/20070207050202/http://www.eecg.toronto.edu/parallel/hector.html |archive-date=7 February 2007 |access-date=13 June 2015}}</ref> was the first generation.

==Features== K42 supports the Linux PowerPC 64 and 32 application binary interfaces (ABIs), so most PowerPC Linux binary files can run on K42 without modification, including the relational database DB2. K42 has some device drivers 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 design, it allows applications to customize and thus optimize the OS services required, and then on the fly, hot swap 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:

<code>https://github.com/jimix/k42</code>

==References== {{Reflist}}

==External links== {{Portal|Free and open-source software}} *{{Official website|https://web.archive.org/web/20090209171846/http://www.research.ibm.com/K42}} (from the Internet Archive)

{{IBM operating systems}} {{IBM FOSS}} {{Microkernel}}

Category:Free software operating systems Category:Microkernels Category:IBM operating systems Category:PowerPC operating systems Category:University of Toronto software