Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add process table and exit syscall #268

Merged
merged 38 commits into from Nov 27, 2021
Merged

Add process table and exit syscall #268

merged 38 commits into from Nov 27, 2021

Conversation

vinc
Copy link
Owner

@vinc vinc commented Nov 9, 2021

Improve process structure and use a table to save them.

This will allow use to save the registers of a process before spawning a new one so we can switch back to it later.

@vinc
Copy link
Owner Author

vinc commented Nov 12, 2021

Debug message in the EXIT syscall:
process

@vinc
Copy link
Owner Author

vinc commented Nov 14, 2021

Two issues:

  • We can't boot with 32 file handles per process, so we have to carefully manage 16 file handles
  • The boot is too slow with the release flag so the tests fail

@vinc
Copy link
Owner Author

vinc commented Nov 22, 2021

Finally got exit working so we can run a program with spawn and go back to the shell, but somehow it only work with the debug output activated.

@vinc
Copy link
Owner Author

vinc commented Nov 24, 2021

We can now run a program multiple times and unmap the memory after use, well except sometime the unmapping doesn't work. And sometime the compiled code trigger a reset.

@vinc vinc changed the title Add process table Add process table and exit syscall Nov 27, 2021
@vinc
Copy link
Owner Author

vinc commented Nov 27, 2021

The new exit syscall work well to return to the kernel shell for flat binaries, but some issues remains for elf binaries that will be addressed next.

userspace

@vinc vinc marked this pull request as ready for review November 27, 2021 08:50
@vinc vinc merged commit e75c287 into trunk Nov 27, 2021
@vinc vinc deleted the feature/process-table branch November 27, 2021 08:56
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.

None yet

1 participant