View on GitHub

os202

OS202

HOME


Top 10 List of Week 05

  1. 3 Problems with memory
    This video explained about the problems that memory have. For example, if all programs have access to the same 32-bit memory space, the possible problems are: (1) can crash if less than 4GB of RAM memory in the system; (2) can run out of space if we run multiple programs; (3) can corrupt other programs’data. Check out the “Why” in the video!

  2. What is virtual memory?
    Virtual Memory is a storage allocation scheme in which secondary memory can be addressed as though it were part of main memory. The addresses a program may use to reference memory are distinguished from the addresses the memory system uses to identify physical storage sites, and program generated addresses are translated automatically to the corresponding machine addresses.

  3. Benefits of Using Virtual Memory
    The benefits of virtual memory include the following: (1) a program can be larger than physical memory, (2) a program does not need to be entirely in memory, (3) processes can share memory, and (4) processes can be created more efficiently

  4. Demand Paging
    The basic idea behind demand paging is that when a process is swapped in, its pages are not swapped in all at once. Rather they are swapped in only when the process needs them. (on demand.) This is termed a lazy swapper, although a pager is a more accurate term.

  5. Page Fault, what is it?
    A page fault occurs when a page that is currently not in memory is accessed. The page must be brought from the backing store into an available page frame in memory. If you are interested about the steps in handling a page fault, please click here.

  6. Copy on Write
    Copy-on-write or CoW is a technique to efficiently copy data resources in a computer system. If a unit of data is copied but not modified, the “copy” can exist as a reference to the original data. Only when the copied data is modified is a copy created, and new bytes are actually written. Copy-on-write is closely related to data deduplication. Whereas data deduplication analyzes chunks or blocks of data, copy-on-write applies to entire files or allocated units of memory.

  7. Page Replacement
    When available memory runs low, a page-replacement algorithm selects an existing page in memory to replace with a new page. Pagereplacement algorithms include FIFO, optimal, and LRU. Pure LRU algorithms are impractical to implement, and most systems instead use LRU-approximation algorithms.

  8. Global Replacement VS Local Replacement
    • Global replacement: When a process needs a page which is not in the memory, it can bring in the new page and allocate it a frame from the set of all frames, even if that frame is currently allocated to some other process; that is, one process can take a frame from another.
    • Local replacement: When a process needs a page which is not in the memory, it can bring in the new page and allocate it a frame from its own set of allocated frames only.
  9. Allocation of Kernel Memory
    Kernel memory is allocated differently than user-mode processes; it is allocated in contiguous chunks of varying sizes. Two common techniques for allocating kernel memory are (1) the buddy system and (2) slab allocation

  10. Lecture about Virtual Memory This is a slide presentation about Virtual Memory by Mr. Hery Kurniawan. The summary is pretty clear and easy to understand compare to the others source out there, that’s why I choose this as TOP 10. This documents explained about the benefits of using vitual memory, understanding how demand paging works, understanding the usage of copy on write, and the concepts of page replacement.

By the way, I found an really interesting youtube channel by Neil Rhodes, Harvey Mudd College. This channel have a pretty good explanation about Operating System materials, and I really like it! Please check the link here if you are interested!