DeviceManager
Document the DeviceManager JNode concept in the wiki.
Value: 5
Concept Summary
Central registry for devices, drivers, and their bindings. DeviceManager provides the backbone of JNode's device framework, managing device discovery, driver binding, and resource allocation.
Key Files
- core/src/driver/org/jnode/driver/DeviceManager.java
- core/src/driver/org/jnode/driver/DefaultDeviceManager.java
Occurrences
~300 references in driver package
Wiki Status
Partially covered (Device-Manager.md)
Bridges
Device framework, Bus drivers, Plugin system
Instructions
Skill to Use
Use the [[update-wiki|update-wiki skill]] (load with skill({ name: "update-wiki" })) for understanding JNode internals.
Context Research
Study DeviceManager.java and DefaultDeviceManager.java to understand the device registry implementation. Review how devices are registered, discovered, and bound to drivers. Research the DeviceManagerListener interface for event handling.
Update index.md
- Pages table: Add entry for DeviceManager.md
- Concepts → Pages table: Add "DeviceManager" mapping to [[DeviceManager]]
- Source Path → Pages table: Add mappings for
core/src/driver/org/jnode/driver/
- Task Routing table: Add relevant task route(s)
Task Routing Suggestions
- Device driver development: DeviceManager is central to driver integration
- Device discovery: Understanding discovery mechanisms is key
- Resource allocation: DeviceManager manages IRQ, DMA, IO port allocation
Wiki Page Structure
# DeviceManager
> Central registry for devices, drivers, and their bindings.
## Overview
2-3 paragraph explanation of DeviceManager, its role in the driver framework, and how it enables device discovery and driver binding.
## Key Components
| Class / File | Role |
|---|---|
| `core/src/driver/org/jnode/driver/DeviceManager.java` | DeviceManager interface |
| `core/src/driver/org/jnode/driver/DefaultDeviceManager.java` | Default implementation |
## How It Works
Explanation of how devices are discovered, registered, and bound to drivers. Include the DeviceToDriverMapper and plugin mechanisms.
## Gotchas & Non-Obvious Behavior
- Device binding must be atomic to prevent race conditions
- Resource conflicts must be detected and handled
- Listener notifications can affect timing of device availability
## Related Pages
- [[Driver-Framework]]
- [[Bus-Drivers]]
- [[Device-To-Driver-Mapper]]
Related Concepts: Device framework, Driver binding, Device discovery, Resource allocation, Plugin system
DeviceManager
Value: 5
Concept Summary
Central registry for devices, drivers, and their bindings. DeviceManager provides the backbone of JNode's device framework, managing device discovery, driver binding, and resource allocation.
Key Files
Occurrences
~300 references in driver package
Wiki Status
Partially covered (Device-Manager.md)
Bridges
Device framework, Bus drivers, Plugin system
Instructions
Skill to Use
Use the [[update-wiki|update-wiki skill]] (load with
skill({ name: "update-wiki" })) for understanding JNode internals.Context Research
Study DeviceManager.java and DefaultDeviceManager.java to understand the device registry implementation. Review how devices are registered, discovered, and bound to drivers. Research the DeviceManagerListener interface for event handling.
Update index.md
core/src/driver/org/jnode/driver/Task Routing Suggestions
Wiki Page Structure
Related Concepts: Device framework, Driver binding, Device discovery, Resource allocation, Plugin system