K42: Исследовательская ОС для многопроцессорных систем с общей памятью
K42
K42: Исследовательская ОС для многопроцессорных систем. Микроядерная архитектура, NUMA, высокая производительность и масштабируемость. Разработка IBM и университетов.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
K42 – это прекращенная разработка операционной системы (ОС) с открытым исходным кодом, предназначенная для кешированных 64-битных многопроцессорных систем. Она была разработана преимущественно в Исследовательском центре IBM имени Томаса Дж. Уотсона в сотрудничестве с Университетом Торонто и Университетом Нью-Мексико. Основной задачей этой ОС являлось решение проблем производительности и масштабируемости системного программного обеспечения на крупномасштабных многопроцессорных компьютерах с общей памятью и неравномерным временем доступа к памяти (NUMA). K42 использует архитектуру микроядра, в отличие от традиционной монолитной архитектуры ядра. K42 состоит из небольшого компонента обработки исключений, выполняющего роль микроядра, быстрого механизма межпроцессного взаимодействия (IPC), известного как защищенный вызов процедуры (PPC), и серверов для большинства других компонентов операционной системы. Эти серверы функционируют в отдельных адресных пространствах и используют быстрый механизм IPC для связи с микроядром и другими серверами.
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. 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.
История
Ядро K42 базируется на операционной системе Tornado, разработанной в Университете Торонто. K42 – это третье поколение исследований университета в области масштабируемых операционных систем. Операционная система Tornado на многопроцессорной системе nuMachine была вторым поколением, а операционная система Hurricane на многопроцессорной системе Hector – первым поколением.
The core of K42 is based on the University of Toronto's operating system Tornado. K42 is the university's third generation of research on scalable operating systems. Tornado OS on a nuMachine Multiprocessor was the second generation and Hurricane OS on a Hector Multiprocessor was the first generation.
Особенности
K42 поддерживает бинарные интерфейсы приложений (ABI) Linux PowerPC 64 и 32, поэтому большинство бинарных файлов PowerPC Linux могут работать на K42 без изменений, включая реляционную базу данных DB2. K42 имеет некоторые драйверы устройств, реализованные специально для него, но основную аппаратную поддержку он получает, напрямую подключая драйверы устройств Linux к специальному серверу. Еще одной целью разработки K42 является создание настраиваемой и удобной в обслуживании системы. Благодаря объектно-ориентированному подходу к проектированию, приложения могут настраивать и оптимизировать необходимые сервисы ОС, а также динамически заменять реализации объектов ядра "на лету". Это особенно важно для приложений, таких как базы данных и веб-серверы, где возможность управления физическими ресурсами может повысить производительность.
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.