52 lines
2.1 KiB
Markdown
52 lines
2.1 KiB
Markdown
# FC11 card plan — static and dynamic allocation
|
||
|
||
## Goal
|
||
|
||
Prove the storage policy of task, queue and timer objects without confusing it
|
||
with their behavior. The application observes heap deltas, address provenance,
|
||
equal messages and equal timer callbacks.
|
||
|
||
## Task tree
|
||
|
||
```text
|
||
FC11 · Static and dynamic allocation
|
||
└── Task01 · Same behavior, two storage policies
|
||
├── Block · A1 Context
|
||
│ └── Phase · OWNERSHIP
|
||
│ ├── Step 01 · application owns the experiment
|
||
│ ├── Step 02 · dynamic branch requests storage
|
||
│ ├── Step 03 · static branch supplies storage
|
||
│ ├── Step 04 · kernel owns object semantics
|
||
│ └── Step 05 · Hazard3 RAM contains both arenas
|
||
├── Block · A2 Structure
|
||
│ └── Phase · OBJECT PAIRS
|
||
│ ├── Steps 01–02 · dynamic/static task
|
||
│ ├── Steps 03–04 · dynamic/static queue
|
||
│ ├── Steps 05–06 · dynamic/static timer
|
||
│ └── Step 07 · static Idle/timer-service storage
|
||
├── Block · A4 Application
|
||
│ └── Phase · PARITY
|
||
│ ├── Step 01 · dynamic worker
|
||
│ ├── Step 02 · static worker
|
||
│ ├── Step 03 · daemon callbacks
|
||
│ └── Step 04 · verifier
|
||
├── Block · A5 Flow
|
||
│ └── Phase · H0/H1/H2/H3
|
||
│ └── Steps 01–08 · create, run and verify
|
||
└── Block · A7 Runtime
|
||
└── Phase · EVIDENCE
|
||
├── Step 01 · dynamic handles in ucHeap
|
||
├── Step 02 · static handles in named buffers
|
||
├── Step 03 · kernel-service static buffers
|
||
├── Step 04 · heap relation
|
||
└── Step 05 · bounded log and digest
|
||
```
|
||
|
||
## Acceptance
|
||
|
||
- `H1 < H0`, `H2 == H1`, `H3 == H2`.
|
||
- No exact byte delta is assumed.
|
||
- All compared objects remain alive through H3.
|
||
- Both queues deliver `0xCAFE`; both timers call back exactly once.
|
||
- Host model, ABI check, Hazard3 run and three-run determinism pass.
|