os211

HOME
« PREVIOUS | | NEXT »

Top 10 List of Week 05

  1. Page Fault Handling in OS
    Paging is a non-contiguous memory allocation technique. In a paging scheme, a process is divided into several pages. The pages are then stored in different frames of the main memory. When a page referenced by the CPU is not found in the main memory, it is called as a page fault. When a page fault occurs, the required page has to be fetched from the secondary memory into the main memory.

  2. What is Caching?
    Cache is a type of memory that is used to increase the speed of data access. Normally, the data required for any process resides in the main memory. However, it is transferred to the cache memory temporarily if it is used frequently enough. The process of storing and accessing data from a cache is known as caching.

  3. What is Demand Paging?
    A demand paging system is quite similar to a paging system with swapping where processes reside in secondary memory and pages are loaded only on demand, not in advance. When a context switch occurs, the operating system does not copy any of the old program’s pages out to the disk or any of the new program’s pages into the main memory Instead, it just begins executing the new program after loading the first page and fetches that program’s pages as they are referenced.

  4. What is Copy on Write (COW)?
    Copy on Write or simply COW is a resource management technique. One of its main use is in the implementation of the fork system call in which it shares the virtual memory(pages) of the OS. In UNIX like OS, fork() system call creates a duplicate process of the parent process which is called as the child process. The idea behind a copy-on-write is that when a parent process creates a child process then both of these processes initially will share the same pages in memory.

  5. What is Virtual Memory?
    Virtual memory is a memory management technique where secondary memory can be used as if it were a part of the main memory. Virtual memory is a very common technique used in the operating systems (OS) of computers. Virtual memory uses hardware and software to allow a computer to compensate for physical memory shortages, by temporarily transferring data from random access memory (RAM) to disk storage. In essence, virtual memory allows a computer to treat secondary memory as though it were the main memory.

  6. Techniques to Handle Thrashing
    The basic concept involved is that if a process is allocated too few frames, then there will be too many and too frequent page faults. As a result, no useful work would be done by the CPU and the CPU utilisation would fall drastically. The long-term scheduler would then try to improve the CPU utilisation by loading some more processes into the memory thereby increasing the degree of multiprogramming. This would result in a further decrease in the CPU utilization triggering a chained reaction of higher page faults followed by an increase in the degree of multiprogramming, called Thrashing.

  7. Priority Allocation / Scheduling
    Priority Scheduling is a method of scheduling processes that is based on priority. In this algorithm, the scheduler selects the tasks to work as per the priority. The processes with higher priority should be carried out first, whereas jobs with equal priorities are carried out on a round-robin or FCFS basis. Priority depends upon memory requirements, time requirements, etc.

  8. Page Replacement Algorithms
    Page replacement algorithms are the techniques using which an Operating System decides which memory pages to swap out, write to disk when a page of memory needs to be allocated. Page replacement algorithms help to decide which page must be swapped out from the main memory to create a room for the incoming page. Various page replacement algorithms are: Reference String, First In First Out (FIFO) algorithm, Optimal Page algorithm, Least Recently Used (LRU) algorithm, Page Buffering algorithm, Least frequently Used(LFU) algorithm, and Most frequently Used(MFU) algorithm.

  9. Memory Allocation in OS
    Memory allocation is an action of assigning the physical or the virtual memory address space to a process (its instructions and data). The two fundamental methods of memory allocation are static and dynamic memory allocation. Static memory allocation method assigns the memory to a process, before its execution. On the other hand, the dynamic memory allocation method assigns the memory to a process, during its execution.

  10. Allocation of Frames in OS
    An important aspect of operating systems, virtual memory is implemented using demand paging. Demand paging necessitates the development of a page-replacement algorithm and a frame allocation algorithm. Frame allocation algorithms are used if you have multiple processes; it helps decide how many frames to allocate to each process.