We encounter cycle stealing in the context of Direct Memory Access (DMA) Either the DMA controller can use the data bus when the CPU does not need it, or it may force the CPU to temporarily suspend operation The latter technique is called cycle stealing Note that cycle stealing can be done only at specific break points in an instruction cycle
Operating Systems problems
Search Results
1. What is the resident set and working set of a process?
Correct Answer: Resident set is that portion of the process image that is actually in real-memory at a particular instant Working set is that subset of resident set that is actually needed for execution (Relate this to the variable-window size method for swapping techniques)
2. What is the Translation Lookaside Buffer (TLB)?
Correct Answer: In a cached system, the base addresses of the last few referenced pages is maintained in registers called the TLB that aids in faster lookup TLB contains those page-table entries that have been most recently used Normally, each virtual memory reference causes 2 physical memory accesses- one to fetch appropriate page-table entry, and one to fetch the desired data Using TLB in-between, this is reduced to just one physical memory access in cases of TLB-hit
3. What are short, long and medium-term scheduling?
Correct Answer: Long term scheduler determines which programs are admitted to the system for processing It controls the degree of multiprogramming Once admitted, a job becomes a process Medium term scheduling is part of the swapping function This relates to processes that are in a blocked or suspended state They are swapped out of real-memory until they are ready to execute The swapping-in decision is based on memory-management criteria Short term scheduler, also know as a dispatcher executes most frequently, and makes the finest-grained decision of which process should execute next This scheduler is invoked whenever an event occurs It may lead to interruption of one process by preemption
Correct Answer: It is a phenomenon in virtual memory schemes when the processor spends most of its time swapping pages, rather than executing instructions This is due to an inordinate number of page faults
Correct Answer: It is a useful, memory-saving technique for multiprogrammed timesharing systems A Reentrant Procedure is one in which multiple users can share a single copy of a program during the same period Reentrancy has 2 key aspects: The program code cannot modify itself, and the local data for each user process must be stored separately Thus, the permanent part is the code, and the temporary part is the pointer back to the calling program and local variables used by that program Each execution instance is called activation It executes the code in the permanent part, but has its own copy of local variables/parameters The temporary part associated with each activation is the activation record Generally, the activation record is kept on the stack Note: A reentrant procedure can be interrupted and called by an interrupting program, and still execute correctly on returning to the procedure
6. In the context of memory management, what are placement and replacement algorithms?
Correct Answer: Placement algorithms determine where in available real-memory to load a program Common methods are first-fit, next-fit, best-fit Replacement algorithms are used when memory is full, and one process (or part of a process) needs to be swapped out to accommodate a new program The replacement algorithm determines which are the partitions to be swapped out
7. In loading programs into memory, what is the difference between load-time dynamic linking and run-time dynamic linking?
Correct Answer: For load-time dynamic linking: Load module to be loaded is read into memory Any reference to a target external module causes that module to be loaded and the references are updated to a relative address from the start base address of the application module With run-time dynamic loading: Some of the linking is postponed until actual reference during execution Then the correct module is loaded and linked
Correct Answer: Windows NT uses protection mechanism called rings provides by the process to implement separation between the user mode and kernel mode