Skip to content

add basic support of the system calls 'fork' and 'spawn_process'#970

Open
stlankes wants to merge 6 commits intohermit-os:mainfrom
stlankes:fork
Open

add basic support of the system calls 'fork' and 'spawn_process'#970
stlankes wants to merge 6 commits intohermit-os:mainfrom
stlankes:fork

Conversation

@stlankes
Copy link
Copy Markdown
Contributor

@stlankes stlankes commented Apr 8, 2026

In the long term, Hermit will also be usable as a monolithic OS. To prepare for this, an example of calling the system calls fork and spawn_process are being integrated. In the case of a unikernel, the fork call will return an error (ENOSYS).

@stlankes stlankes force-pushed the fork branch 2 times, most recently from 3fcf25e to 10fc90a Compare April 8, 2026 09:29
@stlankes stlankes changed the title add basic support of the system call 'fork' add basic support of the system calls 'fork' and 'spawn_process' Apr 10, 2026
In the long term, Hermit will also be usable as a monolithic OS.
To prepare for this, an example of calling the fork system call
is being integrated. In the case of a unikernel, the fork call
will return an error (ENOSYS).
Add the system call `spawn_process`, which creates a new process
from the executable file.
cagatay-y and others added 4 commits April 13, 2026 16:45
The segmentation offload driver feature can only be tested with
sufficiently large packets. Add a new endpoint whose response size can
be adjusted easily and that can be visually inspected for correctness.

Co-authored-by: Martin Kröning <martin.kroening@eonerc.rwth-aachen.de>
In the long term, Hermit will also be usable as a monolithic OS.
To prepare for this, an example of calling the fork system call
is being integrated. In the case of a unikernel, the fork call
will return an error (ENOSYS).
Replace all `-22` placeholders in the user-side syscall layer
with real `syscall!` invocations and extend `SyscallNo` with the
matching numbers (18–53) for spawn/join, file metadata, condvars,
task blocking and the socket API.
- extend the fork example to test the system call `exec`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants