A few questions to consider I think:
(1) Do we store context within task memory struct? Or do we store context ad-hoc on its own stack?
(2) What sort of additional state information (implementation specific) that we need when we context switch? An example of a problem that might cause issue: do we keep processes preemptible during context switch?
These are some problems that popped into my head now that it's not 3AM. I would like to get involved drafting some of these architectural specifics if that's alright (which may involve process struct and interface that we expose). That, or the alternative is we'd make our context switch somewhat modular to accommodate for those design decisions later on.
A few questions to consider I think: (1) Do we store context within task memory struct? Or do we store context ad-hoc on its own stack? (2) What sort of additional state information (implementation specific) that we need when we context switch? An example of a problem that might cause issue: do we keep processes preemptible during context switch?
These are some problems that popped into my head now that it's not 3AM. I would like to get involved drafting some of these architectural specifics if that's alright (which may involve process struct and interface that we expose). That, or the alternative is we'd make our context switch somewhat modular to accommodate for those design decisions later on.