JNode
Encyclopedia
JNode is a free software
project to create a Java platform operating system
. The project has taken the unique direction of creating all the software in Java itself, with the exception of some assembly language
to boot
and load the system. The JVM
compiler (which normally uses just-in-time compilation
) is used to build native
binaries
out of the core Java code. In this way, nearly the entire system is capable of being written in the Java programming language
.
Ewout Prangsma started the first attempt in 1995 with the Java Bootable System (JBS). The author was unhappy with the amount of C and assembly language required and moved on to a new attempt called JBS2. JNode is the third attempt, first introduced in 2003. JNode uses only two languages, Java and assembly. This system currently understands the ext2
, FAT
, NTFS
and ISO 9660
filesystems and the TCP/IP network protocol, and has a working graphic user interface, including USB peripherals. JNode can be booted from a CD or run in any popular emulator. JNode uses the GNU Classpath
Java library
and (when completed) should run any Java programs
.
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
project to create a Java platform 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...
. The project has taken the unique direction of creating all the software in Java itself, with the exception of some assembly language
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...
to boot
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...
and load the system. The JVM
Java Virtual Machine
A Java virtual machine is a virtual machine capable of executing Java bytecode. It is the code execution component of the Java software platform. Sun Microsystems stated that there are over 4.5 billion JVM-enabled devices.-Overview:...
compiler (which normally uses just-in-time compilation
Just-in-time compilation
In computing, just-in-time compilation , also known as dynamic translation, is a method to improve the runtime performance of computer programs. Historically, computer programs had two modes of runtime operation, either interpreted or static compilation...
) is used to build native
Native mode
The term native mode or native code is used in computing in two related senses.*to describe something running on a computer natively or in native mode meaning that it is running without any external support as contrasted to running in emulation....
binaries
Binary file
A binary file is a computer file which may contain any type of data, encoded in binary form for computer storage and processing purposes; for example, computer document files containing formatted text...
out of the core Java code. In this way, nearly the entire system is capable of being written in the Java programming language
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
.
Ewout Prangsma started the first attempt in 1995 with the Java Bootable System (JBS). The author was unhappy with the amount of C and assembly language required and moved on to a new attempt called JBS2. JNode is the third attempt, first introduced in 2003. JNode uses only two languages, Java and assembly. This system currently understands the ext2
Ext2
The ext2 or second extended filesystem is a file system for the Linux kernel. It was initially designed by Rémy Card as a replacement for the extended file system ....
, FAT
File Allocation Table
File Allocation Table is a computer file system architecture now widely used on many computer systems and most memory cards, such as those used with digital cameras. FAT file systems are commonly found on floppy disks, flash memory cards, digital cameras, and many other portable devices because of...
, NTFS
NTFS
NTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7....
and ISO 9660
ISO 9660
ISO 9660, also referred to as CDFS by some hardware and software providers, is a file system standard published by the International Organization for Standardization for optical disc media....
filesystems and the TCP/IP network protocol, and has a working graphic user interface, including USB peripherals. JNode can be booted from a CD or run in any popular emulator. JNode uses the GNU Classpath
GNU Classpath
GNU Classpath is a project aiming to create a free software implementation of the standard class library for the Java programming language. Despite the massive size of the library to be created, the majority of the task is already done, including Swing, CORBA, and other major parts. The Classpath...
Java library
Library (computer science)
In computer science, a library is a collection of resources used to develop software. These may include pre-written code and subroutines, classes, values or type specifications....
and (when completed) should run any Java programs
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...
.
See also
- Free Java implementationsFree Java implementationsFree Java implementations are software projects that implement Oracle's Java technologies and are distributed under free software licences, thus making them free software...
- JavaOSJavaOSJavaOS is an operating system with a Java virtual machine as a fundamental component. It was jointly developed by Sun Microsystems and IBM. Unlike Windows, Mac OS, Unix or Unix-like systems which are primarily written in the C programming language, JavaOS is primarily written in Java.As of 2006,...
- JX (operating system)JX (operating system)JX is a microkernel operating system with both the kernel and applications implemented using the Java programming language.- Overview :JX is implemented as an extended Java Virtual Machine , adding support to the Java system for necessary features such as protection domains and hardware access,...
- List of Java virtual machines
- Nanokernel