-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
We need to decide upon how we do this.
- Kernel->Kernel communication is simple, we do it by direct JSRs. I don't think there is any need for a different system.
- Process->Kernel communication can be done by either using JSR or INT. Using JSR has the advantage of being quicker, while INT has the advantage of not needing special addresses to store function pointers. Right now, JSR is assumed, I believe, but we should consider whether it is really the best..
- Kernel->Process communication is not really documented yet, as far as I know. I imagine this being done by using signals. Signals are 1 word long. This is basically simulated interrupts. This also means we probably want to be able to queue signals, just like interrupts can be queued. The problem with this is, if we have a max of 16 processes at a time, and a queue of only 16 signals, and we need to store only the signal word and the sender, we still end up with needing a full memory page to store that. And we likely want more than 16 procs at a time.
- Process->Process communication would then be possible using the same system, sending signals from one process to another. Messages could be communicated by saying all signal numbers above 0x1000 for example, are simply pointers to messages.
So, opinions on all of this please, how are we going to implement this. I need to know this soon to be able to make a proper dynamic interrupt handler.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels