course_os
course_os copied to clipboard
Process abstraction
We need a proper process abstraction, i.e., some implementation of a PCB and some initial implementation of context-switching into a process.
I volunteer to work on this. Anybody else game?
I will also work on this.
So, we've hit a wall with the process abstraction. Currently, we have a rudimentary pcb struct implemented. Assuming the major pieces of a process abstraction (e.g. the program code and data) exist in main memory, where does the input, specifically the address of the executable image come from? I'm assuming from the ELF group, perhaps?
I would say the "process support" should allocate this memory as an initial address space. ELF parsing and loading should map the sections into this given memory region so that the dispatcher (i.e., the initial implementation of context-switching) can start a process of the program image. Does this make sense?