forked from jnode/jnode
-
Notifications
You must be signed in to change notification settings - Fork 0
Glossary
Levente Santha edited this page May 15, 2026
·
76 revisions
Project-specific terminology used throughout JNode and this wiki.
| Term | Definition |
|---|---|
| Addressing mode | A classification of how an operand accesses data — e.g., register (R), memory displacement (E), immediate constant (C), absolute memory (A), scaled-index (S). JNasm encodes up to 3 operand types per instruction as a 3-digit base-8 integer in AbstractX86Module. See JNAsm-Instruction-Encoding. |
| Argument (Shell) | Typed holder class (e.g., FileArgument) used by JNode's shell to declaratively parse and validate command-line tokens. |
| ARP cache | A time-limited (10-minute TTL) in-memory map maintained by the ARP layer that stores IPv4-to-MAC address mappings to avoid repeated broadcast requests. See ARP. |
| Assembler | A software tool that converts assembly language source code into machine code. JNode uses its custom JNasm assembler. See JNasm-Assembler-Design. |
| BDF (Bitmap Distribution Format) | A text-based bitmap font format used by JNode's BDF renderer. BDF files are parsed by the JavaCC-generated BDFParser (gui/src/font/org/jnode/font/bdf/), producing BDFFontContainer with BDFGlyph entries. Supports multiple bit depths (1-8 bpp) via pixel unpacking in BDFGlyph.decode(). See Font-Rendering. |
| block bitmap | A per-block-group bitmap stored in a single block, where each bit marks whether the corresponding data block is allocated or free. JNode's implementation is in BlockBitmap.java. See Ext2-Ext3-Filesystem. |
| block group | A partition of the ext2 filesystem containing a superblock copy, group descriptor table, block bitmap, inode bitmap, inode table, and free data blocks. JNode's implementation is in GroupDescriptor.java. See Ext2-Ext3-Filesystem. |
| BootImageBuilder | Build tool (builder/src/builder/org/jnode/build/x86/BootImageBuilder.java) that compiles Java classes and assembles them into the boot image at build time. |
| BootLog | JNode's logging interface used during the bootstrap phase before full logging systems are initialized. Provides a singleton accessor via BootLogInstance.get() with five severity levels: DEBUG, INFO, WARN, ERROR, FATAL. See Boot-Log. |
| BootFloppyBuilder | Ant task (org.jnode.build.BootFloppyBuilder) that creates GRUB-bootable FAT disk images. Subclassed by BootDiskBuilder for partitioned hard disk images. See Boot-Floppy-Builder. |
| Capability chain | A linked list of optional feature structures in PCI configuration space. Each capability (MSI, Power Management, etc.) has an ID, a next pointer, and capability-specific registers at its offset. See PCI-Capability-Structure. |
| CardBus | A 32-bit PCMCIA bus standard implemented as a PCI-to-CardBus bridge. CardBus controllers are enumerated via the PCI layer and manage CardBus sockets and cards. JNode's implementation is in core/src/driver/org/jnode/driver/bus/pcmcia/. See CardBus. |
| Catalog (HFS+) | The B-Tree file storing all file and directory records on an HFS+ volume. Keys are (parent CNID + Unicode name) pairs; leaf records are CatalogFolder, CatalogFile, or CatalogThread entries. JNode's implementation is org.jnode.fs.hfsplus.catalog.Catalog. See HFS+-Filesystem. |
| Classlib | The GNU Classpath / OpenJDK standard library JAR (all/lib/classlib.jar), downloaded during the build. Provides java.* and javax.* classes. |
| CNID (Catalog Node ID) | The numeric identifier for each file and directory in HFS+. The root directory is CNID 2; CNID 1 is the parent-of-root. Used as the parent key in catalog lookups. See HFS+-Filesystem. |
| CoreThreadScheduling | JNode's hybrid preemptive/cooperative thread scheduler. Combines compiler-injected yieldpoints (INT 0x30) for cooperative switching with timer interrupts for preemptive time-slicing. Managed by VmScheduler per VmProcessor, uses TSI flags to coordinate switch conditions. See Core-Thread-Scheduling. |
| Descriptor | An XML file in <subproject>/descriptors/ that defines a plugin's identity, dependencies, exports, and extensions. |
| Device-to-driver mapping | The process of matching a discovered device to a suitable driver via the DeviceToDriverMapper strategy pattern. Mappers are registered via the org.jnode.driver.mappers extension point, sorted by match level, and the first mapper that returns a non-null driver wins. See DeviceToDriverMapper. |
| DeviceException | Base exception for device-level errors (registration, lookup, API access). Extends Exception; subclasses include ApiNotFoundException, DeviceAlreadyRegisteredException, DeviceNotFoundException. See DeviceException-DriverException. |
| DriverException | Base exception for driver-level errors (connection, resource claiming). Extends Exception; subclasses include DeviceAlreadyConnectedException, InvalidDriverException. See DeviceException-DriverException. |
| DeviceFinder | An interface (org.jnode.driver.DeviceFinder) that defines the strategy for discovering hardware devices on a specific bus. Implementations are loaded via the org.jnode.driver.finders extension point and invoked by DeviceManager.findDevices() at boot to enumerate all hardware. See DeviceFinder. |
| DeviceManagerListener | Observer interface (org.jnode.driver.DeviceManagerListener) providing deviceRegistered and deviceUnregister callbacks, used for deferred device initialization (e.g., FBConsole waiting for a framebuffer). Distinct from DeviceListener which fires on device start/stop. See DeviceManagerListener. |
| DMA | Direct Memory Access. JNode's x86 ISA DMA controller abstraction providing Java-level channel allocation, transfer setup (address/page/count registers), and enable/disable control. Three-layer architecture: DMAResource/DMAManager interfaces → DMAPlugin → DMA hardware. Limited to lower 16 MB of physical memory. See DMA. |
| DMA channel | One of 8 x86 DMA controller channels (0-3: 8-bit, 4: cascade, 5-7: 16-bit) managed by DMAPlugin for direct memory access transfers. Channel 4 is permanently reserved for cascading. See DMA. |
| DMAResource | An allocated DMA channel (org.jnode.system.resource.DMAResource) supporting setup(), enable(), and getLength() for transferring data between memory and I/O devices. See DMA. |
| DNS Resolver | JNode's singleton service (ResolverImpl) that translates hostnames to IPv4 addresses using the dnsjava library (ExtendedResolver, Lookup). Configured dynamically via DHCP; accessed via NetAPIImpl and IPv4NetworkLayer. No caching — each lookup queries the DNS server. See DNS-Resolver. |
| double buffering | A rendering technique used by JNode's JNodeSurfaceGraphics2D where drawing operations write to an offscreen BufferedImage, and updateRaster() blits the result to the physical Surface in a single operation. Reduces visible tearing on update. See JNode-Graphics2D. |
| Exception handler table | JNode's compiled representation of bytecode try-catch blocks. For interpreted code, handlers use bytecode PC offsets (VmInterpretedExceptionHandler); for compiled code, they use native addresses (VmCompiledExceptionHandler). The VmCompiledCode.eTable array drives stack unwinding via VmSystem.findThrowableHandler(). See Exception-Handler-Table. |
| Extension | A contribution by one plugin to another plugin's extension point. Declared via <extension> in the descriptor XML. |
| Extension point | A named hook declared by a plugin where other plugins can register extensions. Declared via <extension-point> in the descriptor XML. |
| ExFAT | Extended File Allocation Table. A Microsoft filesystem for flash storage that removes FAT32's 4GB file size limit and supports volumes larger than 2TB. JNode's read-only implementation is in fs/src/fs/org/jnode/fs/exfat/. See ExFAT-Filesystem. |
| extent | A contiguous range of data blocks stored in an inode's extent tree (ExtentHeader/Extent), used by ext4 to map file logical blocks to physical blocks more efficiently than indirect addressing. JNode's implementation is in INode.java under the EXT4_INODE_EXTENTS_FLAG flag. See Ext2-Ext3-Filesystem. |
| FAT12 | The 12-bit File Allocation Table variant, used on floppies and small media (up to 4KB clusters, ~16MB capacity). See FAT-Filesystem. |
| FAT16 | The 16-bit File Allocation Table variant, used on media up to 2GB with 32KB clusters. See FAT-Filesystem. |
| FAT32 | The 32-bit File Allocation Table variant, supporting media up to 8TB (with 32KB clusters) and root directory as a cluster chain. See FAT-Filesystem. |
| Field offset | The memory offset (in slots) of an instance field relative to an object's base address. Calculated during class loading and stored in VmInstanceField.offset for runtime field access. See Field-Offset-Calculation. |
| File handle | A lightweight wrapper around an open file that tracks the current read/write position and access mode. JNode's implementation is FileHandleImpl managed by FileHandleManager. See FileHandle-Implementation. |
| FileSystemType | The factory interface for filesystem drivers in JNode (org.jnode.fs.FileSystemType). Each plugin implements create(Device, boolean) to probe a block device and instantiate a FileSystem instance. Managed by FileSystemTypeManager via the plugin extension point. See VFS-Layer. |
| Flags slot | A slot in the JNode object header (typically at offset -2) used for GC marking, synchronization state, and hashcode storage. |
| FSEntry | A file or directory entry returned by FSDirectory.getEntry() (org.jnode.fs.FSEntry). Provides metadata (name, dates, permissions) and access to FSFile or FSDirectory views. Used throughout the VFS path resolution chain. See VFS-Layer. |
| FSEntry Table | Per-directory data structure (org.jnode.fs.spi.FSEntryTable) mapping entry names and IDs to FSEntry objects, with lazy loading, case sensitivity support, and free-slot management. See FSEntry-Table. |
| group descriptor | A per-block-group metadata structure in ext2 storing the block bitmap block number, inode bitmap block number, inode table block number, and free block/inode counts. JNode's implementation is GroupDescriptor.java. See Ext2-Ext3-Filesystem. |
| IMT | Interface Method Table. A fixed 64-element hash table in the TIB used for interface method dispatch. Lookup uses selector % 64; collisions are handled via chained lists. See IMT. |
| Init-jar | A nested archive inside the boot image containing all plugin JARs and descriptors. Extracted by InitJarProcessor at boot. |
| InitialNaming | JNode's service registry (org.jnode.naming.InitialNaming). A simple name→object map used to register and look up OS singleton services. Uses Class keys (not strings) for type-safe, refactor-friendly lookups. See InitialNaming-Service-Registry. |
| inode | A data structure in ext2 storing file metadata (mode, timestamps, size, block pointers) accessed via an inode number. JNode's implementation is INode.java with direct/indirect block addressing and extents support. See Ext2-Ext3-Filesystem. |
| inode bitmap | A per-block-group bitmap where each bit marks whether the corresponding inode in the inode table is allocated or free. JNode's implementation is in INodeBitmap.java. See Ext2-Ext3-Filesystem. |
| Instruction encoding | The process of translating an assembly mnemonic and operands into x86 machine code bytes. JNasm uses emit methods in X86Core.java that select the correct encoding variant based on addressing mode, then delegate to X86Assembler.writeXXX() for byte emission. See JNAsm-Instruction-Encoding. |
| ISO9660 | A CD-ROM filesystem standard (ISO-9660 Level 1/2) supported by JNode's org.jnode.fs.iso9660 plugin. Defines directory structure, volume descriptors, and filename restrictions (8.3 format). See Boot-CD-ROM-Builder. |
| Isolate | A lightweight process abstraction in JNode. Each isolate has its own VmIsolatedStatics table for per-isolate static fields. See Isolate-Implementation. |
| IsolateThread | The main thread type used to start a new isolate (core/src/core/org/jnode/vm/isolate/IsolateThread.java). Wraps the main thread of each isolate with isolate-specific I/O streams and the VmIsolatedStatics table. See IsolateThread. |
| JNasm | JNode's custom x86 assembler written in Java (builder/src/builder/org/jnode/jnasm/). Assembles .asm files into native code for the boot image. See JNasm-Assembler-Design. |
| journaling | A filesystem feature (ext3) where changes are first written to a circular log (journal) before being applied to the filesystem, enabling crash recovery and consistency. JNode's ext2 driver handles ext3 as read-only; the journal inode and UUID are stored in the superblock. See Ext2-Ext3-Filesystem. |
| L1 Compiler | The fast, non-optimizing JIT compiler (org.jnode.vm.x86.compiler.l1a). Uses a VirtualStack with delayed emission to keep values in registers within basic blocks. Applies lightweight optimizations (inlining, constant folding) via OptimizingBytecodeVisitor. See L1-Compiler-Deep-Dive. |
| L1 Compiler Registers | The register allocation (X86RegisterPool) and virtual stack (VirtualStack) mechanisms used by the L1 compiler. Manages GPR and XMM pools, item state transitions (CONSTANT→GPR→STACK), and type-safe stack operations. See L1-Compiler. |
| L2 compiler | The optimizing JIT compiler (org.jnode.vm.x86.compiler.l2). Uses an SSA-based IR, linear-scan register allocation, and multiple optimization passes. See L2-Compiler-Deep-Dive. |
| LBA (Logical Block Addressing) | A disk addressing scheme that uses linear sector numbers instead of CHS (Cylinder-Head-Sector) geometry. JNode's IDE driver supports both 28-bit LBA (up to 128GB) and 48-bit LBA (up to 128PB). See IDEDisk-Driver. |
| LFN | Long File Name. A VFAT extension to the FAT filesystem that stores Unicode filenames in special directory entries preceding the 8.3 alias. Supports filenames up to 255 characters. See FAT-Filesystem. |
| MAC address | Media Access Control address. A unique 48-bit hardware identifier assigned to network interfaces, used for link-layer addressing in Ethernet frames. JNode's EthernetAddress class wraps 6 bytes with parsing, formatting, and broadcast detection. See Ethernet-Driver. |
| Macro | A text substitution mechanism in assembly language that enables code reuse. JNasm supports single-line (#define) and multi-line (.macro/.endm) macros. See JNasm-Assembler-Design. |
| MFT (Master File Table) | The central metadata structure in NTFS. A fixed-size record table where record 0 is the MFT itself, record 1 is the MFT mirror, record 2 is the log file, record 5 is the root directory, etc. Every file and directory on the volume is represented by an MFT record. JNode's implementation is org.jnode.fs.ntfs.MasterFileTable. See NTFS-Filesystem. |
| MMTk | Memory Management Toolkit. A GC framework integrated into JNode via a VM interface layer under core/src/mmtk-vm/, providing plan and space abstractions for various GC strategies (NoGC, MarkSweep, GenRC). See MMTk-Bindings. |
| data run | A (cluster offset, cluster length) pair in NTFS that locates a contiguous extent of clusters belonging to a non-resident attribute. Multiple data runs are chained into a runlist to represent fragmented or sparse file extents. The first run is absolute; subsequent runs are delta-compressed relative to the previous run's ending cluster. JNode's implementation is org.jnode.fs.ntfs.DataRun. See NTFS-Filesystem. |
| NTFS attribute | A variable-length on-disk structure stored within an MFT record. Attribute types (identified by a 32-bit type ID) include STANDARD_INFORMATION (0x10), FILE_NAME (0x30), DATA (0x80), INDEX_ROOT (0x90), INDEX_ALLOCATION (0xA0), etc. Small attributes are resident (stored inline in the record); large attributes are non-resident (mapped via data runs). JNode's implementation is org.jnode.fs.ntfs.attribute.NTFSAttribute. See NTFS-Filesystem. |
| ModR/M byte | An x86 addressing byte that encodes the addressing mode (register-direct, register-indirect, base+index, etc.) and register operands for an instruction. Generated by X86Assembler (not directly in JNasm). See JNAsm-Instruction-Encoding. |
| MSI (Message Signaled Interrupts) | A PCI capability (MSICapability, ID 0x05) that allows devices to trigger interrupts via memory writes instead of wire-based IRQ lines. Supports multiple message vectors and works across APIC topologies. See PCI-Capability-Structure. |
| Multiboot | The boot protocol used by GRUB. JNode's kernel.asm includes a Multiboot header so GRUB can load it. |
| MuParser | JNode's custom backtracking parser that validates shell command tokens against a declarative syntax tree. |
| NetDeviceImpl | Wrapper class extending VMNetDevice that bridges JNode's Device framework to the Java networking API. Instances are created by NetAPIImpl during device enumeration. See Network Device Plugin. |
| Object layout | The internal memory structure of a Java object in the JNode heap, including the two-slot header (Flags and TIB) and the alignment rules. |
| PIO (Programmed I/O) | A disk transfer mode where the CPU directly reads/writes data via I/O port commands. In JNode's IDE driver, PIO transfers use the 16-bit data register at I/O port 0x1F0/0x170 with polling-based status checking. See IDEDisk-Driver. |
| Plugin | A modular unit in JNode. Has an XML descriptor, its own classloader, declared dependencies, and a lifecycle (start/stop). |
| PluginBuilder | Ant task in org.jnode.build.packager.PluginBuilder that transforms third-party JARs/directories into JNode plugins with generated descriptors and shell scripts. |
| PluginManager | The service that manages plugin lifecycle — loading, starting, stopping (DefaultPluginManager). |
| PluginRegistry | The registry of all known plugin descriptors. Pre-populated at build time by BootImageBuilder. |
| Pointer event | An event (PointerEvent) generated by mouse or pointing devices containing X/Y/Z (wheel) values, button state (left/middle/right bitmask), and absolute/relative coordinate mode. Delivered to registered PointerListener instances via the driver framework. See Input-Drivers. |
| Power Management capability | A PCI capability (PMCapability, ID 0x01) that provides standardized power state control (D0-D3), status registers, and data registers. Implemented via configuration space registers at capability offsets. See PCI-Capability-Structure. |
| SCSI command | A command descriptor block (CDB) sent to a SCSI device via executeCommand(CDB, byte[], int, long). JNode implements CDBs in org.jnode.driver.bus.scsi.cdb organized by command set (SPC for primary commands, MMC for multimedia). See SCSI-Driver. |
| Sense data | Fixed-format status data returned by a SCSI device after a check condition, containing a sense key, additional sense code (ASC), and ASC qualifier (ASCQ). JNode's SenseData wraps the sense buffer. See SCSI-Driver. |
| Serial Port Driver | Driver for PC serial ports (COM1-4) using 16550/16450 UART hardware. Accessed via I/O ports with configurable baud rate, data bits, stop bits, and parity. Implements ByteChannel for NIO-based I/O. See Serial-Port-Driver. |
| Shell syntax | A declarative system in org.jnode.shell.syntax for defining command-line argument patterns and auto-completion. |
| SIB byte | Scale-Index-Base byte. An optional x86 byte following the ModR/M byte that encodes complex memory addressing: [base + index * scale + displacement]. Generated by X86Assembler. See JNAsm-Instruction-Encoding. |
| SocketBuffer | The packet container class in JNode's network stack (org.jnode.net.SocketBuffer). Inspired by Linux's sk_buff, it chains header objects (LinkLayerHeader, NetworkLayerHeader, TransportLayerHeader) and supports in-place header prepend/strip without copying payload data. See Network-Layers. |
| sparse_super | A feature in ext2/ext3 where superblock and group descriptor copies are stored only in selected block groups (groups whose number is a power of 3, 5, or 7, plus group 0), reducing metadata overhead on large volumes. Implemented via groupHasDescriptors() in Ext2FileSystem.java. See Ext2-Ext3-Filesystem. |
| SPD (Serial Presence Detect) | A 128-byte EEPROM on DIMM modules containing memory configuration data (size, type, timing, manufacturer). Accessed via SMBus at address 0xA0-0xA7. JNode's DIMM class reads and parses this data. See SMBus-DIMM. |
| Stack frame | The region of memory allocated on the stack for a single method invocation. Contains saved EBP, method ID, local variables, and the operand stack. Accessed via EBP-relative offsets. |
| superblock | The primary filesystem metadata structure in ext2, stored in the first 1024 bytes of each partition (after the boot sector). Contains block/inode counts, feature flags, UUID, volume name, and a copy in each block group via sparse_super. JNode's implementation is Superblock.java. See Ext2-Ext3-Filesystem. |
| Surface | A paintable 2D region interface (org.jnode.driver.video.Surface) that exposes drawing, filling, and image blitting operations on either a video device framebuffer or an in-memory image buffer. The core abstraction for all GUI rendering in JNode. See Video-Driver-Architecture. |
| TCP | Transmission Control Protocol. A connection-oriented transport layer protocol providing reliable, ordered, error-checked data delivery. JNode's implementation includes a full 11-state state machine (CLOSED through TIME_WAIT), three-way handshake connection establishment, four-way handshake teardown, and flow control via sliding window. See TCP-Protocol. |
| TCPInputStream | JNode's input stream wrapper around TCPControlBlock.appRead() (org.jnode.net.ipv4.tcp.TCPInputStream). Closing the stream calls impl.close(), which triggers the FIN handshake and destroys the underlying control block. See TCP-Socket-Impl. |
| TCPOutputStream | JNode's output stream wrapper around TCPControlBlock.appSendData() (org.jnode.net.ipv4.tcp.TCPOutputStream). Closing the stream calls impl.close(), which triggers the FIN handshake and destroys the underlying control block. See TCP-Socket-Impl. |
| Thinlet | A lightweight, pure-Java GUI toolkit for JNode (gui/src/thinlet/thinlet/Thinlet.java). UIs are defined declaratively via XML markup parsed at runtime, and all widgets are rendered directly onto an AWT Container using custom Graphics painting — no native peers. See Thinlet. |
| TIB (Type Information Block) | A per-class array (linked at object header offset -1) containing the class's vtable, IMT, superclass chain, and other runtime type metadata. See TIB. |
| TrueType | A scalable outline font format supported by JNode via TTFFontData and its table parsers (cmap, glyf, head, hhea, hmtx, loca, etc.) in gui/src/awt/org/jnode/awt/font/truetype/. Glyphs are anti-aliased via summed-area table rendering in GlyphRenderer. See Font-Rendering. |
| TSI (Thread Switch Indicator) | A 4-bit atomic flags word in VmProcessor (TSI_SWITCH_NEEDED, TSI_SYSTEM_READY, TSI_SWITCH_ACTIVE, TSI_BLOCK_SWITCH) that coordinates when and whether thread context switches can occur. Accessed from both Java (atomic Word operations) and assembly code (direct memory access). See TSI. |
| VMMagic Annotations | JIT compiler directives in org.jnode.annotation including @Uninterruptible (prevents context switches/GC safepoints), @Inline/@NoInline (inlining hints), @MagicPermission (grants Unsafe access), and @KernelSpace (ring-0 privilege). See VMMagic-Annotations. |
| UDP | User Datagram Protocol. A connectionless transport layer protocol providing minimal overhead datagram delivery over IPv4. JNode's UDP implementation uses an 8-byte header (source port, destination port, length, checksum) with pseudo-header checksums, supports ephemeral port allocation (1024–65535), and sends ICMP port-unreachable for undeliverable datagrams. See UDP-Protocol. |
| Unboxed types | High-performance value types (Address, Word, Offset, Extent) in org.vmmagic.unboxed that JIT compilers compile directly into machine registers, bypassing object allocation. Used throughout JNode's core and driver code (~400 references). See Unboxed-Types-and-VM-Magic. |
| Unsafe |
org.jnode.vm.Unsafe — the constrained low-level operations API providing direct memory access, debug output, hardware I/O, and VM introspection. Requires @MagicPermission annotation. See VM-Unsafe. |
| Virtual Methods Dispatch | The layered method dispatch system in JNode: vtable for virtual calls, IMT for interface calls, CompiledIMT for optimized dispatch, and constant-pool resolution for static calls. See Virtual-Methods-Dispatch. |
| VMagic / vmmagic |
org.vmmagic — unboxed types (Address, Word, Offset) and pragma annotations used by the VM and JIT compiler. |
| VmArray | The base runtime object header for array instances (org.jnode.vm.classmgr.VmArray). Extends VmSystemObject and defines LENGTH_OFFSET and DATA_OFFSET for the array length word and data area. Not to be confused with VmArrayClass. See VmType-Hierarchy. |
| VmMagic |
org.jnode.vm.VmMagic — static methods for low-level VM operations (getting object addresses, type info, etc.). |
| VmProcess | JNode's java.lang.Process implementation (org.jnode.vm.VmProcess). Represents a user-level VM process created via VmProcess.createProcess(), which uses VmProcessClassLoader for process-level class isolation. Distinct from Isolate which provides stronger isolation via separate statics tables. See VMProcessClassLoader, Isolate-Implementation. |
| VmProcessor | Represents a CPU core. Manages the per-processor thread queue and scheduler state. |
| VmScheduler | The scheduler per VmProcessor. Maintains the readyQueue, sleepQueue, and allThreadsQueue; implements the priority-based thread selection policy. See Core-Thread-Scheduling. |
| VmSystem |
org.jnode.vm.VmSystem — the VM's main initialization class. Sets up classloading, memory, scheduler, I/O. |
| VmThread | JNode's thread implementation (org.jnode.vm.scheduler.VmThread). Wraps java.lang.Thread with scheduler-specific state. |
| VmType | The VM's representation of a Java class (org.jnode.vm.classmgr.VmType). Holds the method table, field layout, constant pool, and TIB reference. See Type-System-Internals. |
| vtable | Virtual method table. A per-class array of method pointers in the TIB starting at index 5, used for class inheritance method dispatch. Grows with each subclass. See vtable. |
| XDR (External Data Representation) | A binary serialization format for NFS and ONC/RPC protocol data. JNode's NFS client uses anonymous inner classes implementing XdrAble with xdrEncode()/xdrDecode() methods to marshal/unmarshal requests and responses over the wire. See NFS2-Client. |
| Yieldpoint | A compiler-injected checkpoint in compiled code that triggers INT 0x30, invoking the context-switch handler in VmProcessor.reschedule(). Yieldpoints enable cooperative scheduling; methods marked @Uninterruptible have yieldpoints suppressed. See Yieldpoint. |