Top 10 List of Week 04
Muhammad Zahran Agung Dewantoro

Top 10 List of Week 04

  1. Logical and Physical Address
    Logical Address is generated by CPU while a program is running. The logical address is virtual address as it does not exist physically, therefore, it is also known as Virtual Address. This address is used as a reference to access the physical memory location by CPU. The term Logical Address Space is used for the set of all logical addresses generated by a program’s perspective.

  2. Hardware Access Protection
    Hardware protection is divided into 3 categories: CPU protection, Memory Protection, and I/O protection.
    • CPU protection. CPU protection is referred to as we can not give CPU to a process forever, it should be for some limited time otherwise other processes will not get the chance
    • to execute the process. So for that, a timer is used to get over from this situation.
    • Memory protection. Memory protection is used for situation when two or more processes are in memory and one process may want to access the other process memory.
    • I/O protection. I/O protection is to prevent some cases to never occur in the system. These cases are termination of other I/O process, viewing I/O of other process, giving
    • priority to a particular I/O process.
  3. Swapping
    Swapping is a mechanism in which a process can be swapped temporarily out of main memory to secondary storage and make that memory available to other processes. At some later time, the system swaps back the process from the secondary storage to main memory. Though performance is usually affected by swapping process but it helps in running multiple and big processes in parallel and that’s the reason Swapping is also known as a technique for memory compaction.

  4. Paging
    Paging is a memory management scheme by which a computer stores and retrieves data from secondary storage for use in main memory. In this scheme, the operating system retrieves data from secondary storage in same-size blocks called pages. Paging is an important part of virtual memory implementations in modern operating systems, using secondary storage to let programs exceed the size of available physical memory.

  5. Memory Allocation
    Memory allocation is a process by which computer programs are assigned memory or space. There are three commonly used approach:
    • First Fit: In the first fit, the partition is allocated which is first sufficient block from the top of Main Memory. It scans memory from beginning and chooses the first available block that is large enough . Thus it allocate the first hole that is large enough.
    • Best Fit: Allocate the process to the partition which is the first smallest sufficient partition among the free available partition. It search the entire list of holes to find the smallest hole whose size is greater than or equal to size of process.
    • Worst Fit: Allocate the process to the partition which is the largest sufficient among the freely available partitions available in the main memory. It is opposite to the best fit algorithm. It search the entire list of hole to find the largest hole and allocate it to process.
  6. Fragmentation
    Fragmentation occurs in a dynamic memory allocation system when most of the free blocks are too small to satisfy any request. It is generally termed as inability to use the available memory. Fragmentation is of two types:
    • External fragmentation
      Total memory space is enough to satisfy a request or to reside a process in it, but it is not contiguous, so it cannot be used.
    • Internal fragmentation
      Memory block assigned to process is bigger. Some portion of memory is left unused, as it cannot be used by another process.
  7. Page Table
    A page table is the data structure used by a virtual memory system in a computer operating system to store the mapping between virtual addresses and physical addresses. Virtual addresses are used by the program executed by the accessing process, while physical addresses are used by the hardware, or more specifically, by the RAM subsystem. The page table is a key component of virtual address translation which is necessary to access data in memory.

  8. C Language
    C programming is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis M. Ritchie at the Bell Telephone Laboratories to develop the UNIX operating system. C is the most widely used computer language. It keeps fluctuating at number one scale of popularity along with Java programming language, which is also equally popular and most widely used among modern software programmers.

  9. Linux Libraries
    Libraries employ a software design also known as “shared components” or “archive libraries”, which groups together multiple compiled object code files into a single file known as a library. Typically C functions/C++ classes and methods which can be shared by more than one application are broken out of the application’s source code, compiled and bundled into a library. There are two Linux C/C++ library types which can be created. Static libraries, a library of object code which is linked with, and becomes part of the application. The other one is dynamically linked shared object libraries. There is only one form of this library but it can be used in two ways. Dynamically linked at run time.

  10. Hierarchical Paging
    Hierarchical Paging AKA Multilevel Paging is a paging scheme which consist of two or more levels of page tables in a hierarchical manner. The entries of the level 1 page table are pointers to a level 2 page table and entries of the level 2 page tables are pointers to a level 3 page table and so on. The entries of the last level page table are stores actual frame information. Level 1 contain single page table and address of that table is stored in PTBR (Page Table Base Register).

© Muhammad Zahran Agung Dewantoro, 2021-2021