
Opaak
Encyclopedia
The Opaak educational trilogy aims at providing material for the teaching and self-teaching of operating system
concepts ranging from low-level programming, to kernel
internals to operating system
principles and distributed system paradigms.
, is an introductory project targeting low-level programming. The project lasts several weeks and allows students to understand what is the microprocessor's role in an operating system though many modern functionalities are not discussed in this project such as virtual memory
and scheduling
.
The objective for students is to develop an emulator
for arcade games such as Pong
, Arcanoid etc. Indeed, the kastor monolithic kernel is provided with an ELF
binary at the boot time which represents an arcade game to be run. The kernel extracts this game from a special and minimalistic file system, loads it into memory and finally executes it.
represents the core of the Opaak trilogy as it aims at making students develop parts of a microkernel
. This project is taught following the kastor project and lasts for a few months. The project is composed of several stages, each one targeting a kernel
functionality such as the booting
phase, the interrupts processing, the memory management
and the multitasking
.
This project focuses on making students fully understand the kernel internals of a microkernel
-based operating system by addressing advanced concepts such as multiprocessing
, security
etc.
is an operating system
built over the kaneton
microkernel
. The kayou
's originality resides in its fully distributed architecture
. Indeed, in an environment composed of multiple kayou
instances, all the computers of the network share their resources with each other including memory, processor, storage, devices etc.
since 2004, date at which the kastor project was created. The Opaak trilogy has been introduced by Julien Quintard in 2007 following the relative success of the kastor and kaneton
projects in the EPITA
curriculum.
In 2006, the kaneton educational project competed in the Alternative OS Contest run by the specialized website OSNews
.
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
concepts ranging from low-level programming, to kernel
Kernel
-Computer science:* Kernel , the central component of most operating systems** The Linux kernel, from GNU/Linux operating systems** The Windows 9x kernel, used in Windows 95, 98 and ME...
internals to operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
principles and distributed system paradigms.
kastor
kastor, originally named kK
K is the eleventh letter of the English and basic modern Latin alphabet.-History and usage:In English, the letter K usually represents the voiceless velar plosive; this sound is also transcribed by in the International Phonetic Alphabet and X-SAMPA....
, is an introductory project targeting low-level programming. The project lasts several weeks and allows students to understand what is the microprocessor's role in an operating system though many modern functionalities are not discussed in this project such as virtual memory
Virtual memory
In computing, virtual memory is a memory management technique developed for multitasking kernels. This technique virtualizes a computer architecture's various forms of computer data storage , allowing a program to be designed as though there is only one kind of memory, "virtual" memory, which...
and scheduling
Scheduling (computing)
In computer science, a scheduling is the method by which threads, processes or data flows are given access to system resources . This is usually done to load balance a system effectively or achieve a target quality of service...
.
The objective for students is to develop an emulator
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...
for arcade games such as Pong
Pong
Pong is one of the earliest arcade video games, and is a tennis sports game featuring simple two-dimensional graphics. While other arcade video games such as Computer Space came before it, Pong was one of the first video games to reach mainstream popularity...
, Arcanoid etc. Indeed, the kastor monolithic kernel is provided with an ELF
ELF
ELF may be:Science* Electron localization function, a concept in quantum mechanics* Extremely low frequency, the band of radio frequencies from 3 to 30 HertzLinguistics...
binary at the boot time which represents an arcade game to be run. The kernel extracts this game from a special and minimalistic file system, loads it into memory and finally executes it.
kaneton
kanetonKaneton
kaneton is a microkernel project which aims at providing a very clear, extensible and powerful design. The kaneton project is part of the Opaak educational trilogy along with the kastor and kayou projects.- Branches :...
represents the core of the Opaak trilogy as it aims at making students develop parts of a microkernel
Microkernel
In computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system . These mechanisms include low-level address space management, thread management, and inter-process communication...
. This project is taught following the kastor project and lasts for a few months. The project is composed of several stages, each one targeting a kernel
Kernel
-Computer science:* Kernel , the central component of most operating systems** The Linux kernel, from GNU/Linux operating systems** The Windows 9x kernel, used in Windows 95, 98 and ME...
functionality such as the booting
Booting
In computing, booting is a process that begins when a user turns on a computer system and prepares the computer to perform its normal operations. On modern computers, this typically involves loading and starting an operating system. The boot sequence is the initial set of operations that the...
phase, the interrupts processing, the memory management
Memory management
Memory management is the act of managing computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed. This is critical to the computer system.Several...
and the multitasking
Multitasking
Multitasking may refer to any of the following:*Computer multitasking - the apparent simultaneous performance of two or more tasks by a computer's central processing unit...
.
This project focuses on making students fully understand the kernel internals of a microkernel
Microkernel
In computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system . These mechanisms include low-level address space management, thread management, and inter-process communication...
-based operating system by addressing advanced concepts such as multiprocessing
Multiprocessing
Multiprocessing is the use of two or more central processing units within a single computer system. The term also refers to the ability of a system to support more than one processor and/or the ability to allocate tasks between them...
, security
Computer security
Computer security is a branch of computer technology known as information security as applied to computers and networks. The objective of computer security includes protection of information and property from theft, corruption, or natural disaster, while allowing the information and property to...
etc.
kayou
kayouKayou
kayou is a distributed operating system project developed on top of the kaneton microkernel in the vein of Amoeba.kayou provides a powerful distribution-oriented interface which enables applications to take advantage of the resources of networked computers...
is an operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
built over the kaneton
Kaneton
kaneton is a microkernel project which aims at providing a very clear, extensible and powerful design. The kaneton project is part of the Opaak educational trilogy along with the kastor and kayou projects.- Branches :...
microkernel
Microkernel
In computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system . These mechanisms include low-level address space management, thread management, and inter-process communication...
. The kayou
Kayou
kayou is a distributed operating system project developed on top of the kaneton microkernel in the vein of Amoeba.kayou provides a powerful distribution-oriented interface which enables applications to take advantage of the resources of networked computers...
's originality resides in its fully distributed architecture
Distributed operating system
A distributed operating system is the logical aggregation of operating system software over a collection of independent, networked, communicating, and spatially disseminated computational nodes. Individual system nodes each hold a discrete software subset of the global aggregate operating system...
. Indeed, in an environment composed of multiple kayou
Kayou
kayou is a distributed operating system project developed on top of the kaneton microkernel in the vein of Amoeba.kayou provides a powerful distribution-oriented interface which enables applications to take advantage of the resources of networked computers...
instances, all the computers of the network share their resources with each other including memory, processor, storage, devices etc.
History
The Opaak educational trilogy's projects have been used for teaching operating systems at EPITAEPITA
The École Pour l'Informatique et les Techniques Avancées , more commonly known as EPITA is a French higher education institution specialized in the field of computer science and software engineering...
since 2004, date at which the kastor project was created. The Opaak trilogy has been introduced by Julien Quintard in 2007 following the relative success of the kastor and kaneton
Kaneton
kaneton is a microkernel project which aims at providing a very clear, extensible and powerful design. The kaneton project is part of the Opaak educational trilogy along with the kastor and kayou projects.- Branches :...
projects in the EPITA
EPITA
The École Pour l'Informatique et les Techniques Avancées , more commonly known as EPITA is a French higher education institution specialized in the field of computer science and software engineering...
curriculum.
In 2006, the kaneton educational project competed in the Alternative OS Contest run by the specialized website OSNews
OSNews
OSNews is a computing news web site with a focus on operating systems and their related technologies that launched in 1997. The content is managed by a group of editors and the owner. The managing editor of OSNews is Thom Holwerda . David Adams is a publisher for OSNews, and also contributes...
.