{
"q1": {
"type": "blank",
"question": "\n\n\nModern operating systems use a basic technique known as ____, which allows\nusers to run as many concurrent processes as they would like on a single\n____. To do this, the OS will need to employ low-level ____ or methods\nsuch as a ____, which gives the OS the ability to stop one program and start\nanother on a given CPU. Additionally, on top of these methods, the OS will\nneed to provide intelligence in the form of ____ or algorithms that make\ndecisions within the OS.\n\n\n"
},
"q2": {
"type": "multiple",
"question": "\n\n\nAfter a fork()
, both the parent and the child processes are\nalmost exactly the same except they have different (choose all that apply):\n\n\n",
"responses": {
"address": "Address spaces",
"registers": "Registers",
"code": "Program code",
"pid": "Process identifiers (PID)",
"uid": "User identifier (UID)"
}
},
"q3": {
"type": "multiple",
"question": "\n\n\nWhen a program is executed, the operating system must do which of the\nfollowing tasks (choose all that apply)?\n\n\n",
"responses": {
"kill": "Kill an existing process.",
"fs": "Allocate space on the hard drive.",
"code": "Load code and static data in memory.",
"stack": "Create and initialize the stack and heap.",
"io": "Setup I/O or file descriptors.",
"main": "Jump to the main() routine.",
"compile": "Compile the code.",
"init": "Signal the init process."
}
},
"q4": {
"type": "blank",
"question": "\nA process be in three different states:\n\n