View on GitHub

os202

OS202

HOME


Week 04 top 10 list of interesting OS things

  1. Address Binding
    Address binding is the proses of allocating or mapping the programs virtual or logical addresses to a corrensponding main memory address. What this basically means is that the logical address is mapped by the Memory Management Unit to a actual physical address. This article really goes into detail on how that process occurs.

  2. Memory Allocation
    Memory allocation in OS is basically the main process of picking out certain sections of memory from a program, so that it can be further used for other things such as instancing a class and structures or even storing variables. The operating system in this case does the process of allocating the memory of the object that we’re dealing with.

  3. Swapping in OS
    Swapping is one of the many methods of memory management by an OS. Swapping manages memory by continuously moving blocks of data in and out of the main memory. An example is if the main memory is full but is needed for certain other processes, it is then swapped from the main memory to the secondary memory on a temporary basis. This process only happens if the data we are looking for is not currently in the RAM.

  4. Static and Dynamic Linking
    Before we understand static and dynamic linking, we have to understand what linking is. Linking is the process of combining or bringing together all the functions or external programs so that the program can continue executing its routine. Linking is then categorized further into two types which are dynamic and static, this article goes into detail on the unique differences from both versions.

  5. Memory Management Units
    A MMU or a memory management unit is what its name exactly is. It is a unit designed to help the computer manage all of its vast amount of memory. It works as a sort of translator, primarily turning the address from the CPU and translates it to an alternative adress. It basically translates virtual memory adresses to pysical memory addresses.

  6. Logical and Physical Addresses
    Computers need information on where exactly a certain location on the memory is located, and that exact reason is what an address is for. Now that we know what exactly is an adress, we must understand the different types of addresses that a computer has to deal with, those two types are logical and physical addresses. A quick summary is that a logical adress can be viewed by the user at any time, and the logical address is used as sort of a gateway so that the user can actually see the logical address. The article goes into more detail on how it works.

  7. Two Level Page Table Scheme
    Paging is the process of writing new data and or reading it from the secondary storage so that it can be used in the main memory. Its essentially just another scheme to help the computer manage even more memory. There are of course specific ways of paging, and one of them is called the process of two level paging. This article goes into detail on how exactly this process works, I would like to discuss it here but it’s a lot more complicated than I thought.

  8. Shared Libraries in Linux
    Shared Libraries are libraries that can be linked to any program at run-time. This helps the user load already exiting code to help them with whatever programs they choose. The best part about shared libraries is that you can add,modify and recompile without the hassle of re-compiling all the applications that use that specific library. It supplies the user with ready made codes to help make their programs and better in a very efficient and not time consuming way.

  9. Fragmentation in OS
    Fragmentation is essentially not a good thing for your OS. Fragmentation is an unwanted problem when your memory blocks cant be properlly processed to their lack of size and the blocks remain unused or rather used inneficiently. Your capacity is reduced, your performance declines and storage space is not very well taken care of. I found this article really interesting because it really goes into detail about all the different types of fragmentation that can happen and it’s individual effects.

  10. Most important Linux Commands
    Over the past couple of weeks, I’ve become very accustomed to operating and executing commands in virtualbox/linux. This article helped me get a clear and specific understanding of what each command does and how to execute it. Sometimes we tend to blindly follow instructions but it’s really useful to be able to at least understand what you are doing in linux.