{ "q01": { "type": "blank", "question": "\n\nAs with the CPU, the operating system ____ or abstracts memory by providing\nan illusion of a large and private ____ to each process. To maintain this\nillusion, the OS will need some hardware help to translate pretend ____\naddresses into real ____ addresses. \n\n\n" }, "q02": { "type": "blank", "question": "\n\nIn virtualizing memory, the OS has three major goals:\n\n\n\n
\n\nphysical address = ____ + virtual address\n\n\n\n\n\nUnfortunately, this technique suffers from an inefficiency known as ____,\nwhich means that space inside an allocated unit is not completely utilized\n(and thus wasted).\n\n\n" }, "q07": { "type": "blank", "question": "\n\nTo manage free space, the operating system usually maintains a data\nstructure called the ____ to keep track of which memory units are available\n(or in use). When a request for memory is made, the OS can use a technique\ncalled ____, which involves locating a free chunk of memory and dividing it\ninto two. Conversely, when memory is returned, the OS can perform ____ to\ncombine contiguous free space.\n\n\n" }, "q08": { "type": "multiple", "question": "\n\nWhich of the following statements regarding strategies for growing the heap\nare true (select all that apply)?\n\n\n", "responses": { "bestfit": "Best fit is effective and has low costs.", "worstfit": "Worst fit is prone to excess fragmentation and has high overheads.", "firstfit": "First fit finds the first available block and returns it.", "nextfit": "Next fit keeps track of where the OS left off in the free list and returns next available block.", "segregated": "Segregated lists are used to separate memory requests from different processes.", "buddy": "Buddy allocators always allocate memory in pairs to ensure future requests are possible." } } }