Links

This is Kevin (@vnctkevin)’s OS212 Link Page
All contents is a result of so many years, months, weeks, days, hours, and minutes of GSGSCICI
_
Google Sana, Google Sini, Coba Ini, Coba Itu_

Week 01 (5/09/21 - 12/09/21)

  1. Containers vs VMs
    The difference between containers vs. VMs is primarily in the location of the virtualization layer and the way that operating system resources are used. VMs rely on a hypervisor which is normally installed atop the actual “bare metal” system hardware. With containers, a host operating system is installed on the system first, and then a container layer (such as LXC or libcontainer) is installed atop the host OS which is usually a Linux variant.
  2. Full virtualization
    Full virtualization is a virtualization technique used to provide a VME that completely simulates the underlying hardware. In this type of environment, any software capable of execution on the physical hardware can be run in the VM, and any OS supported by the underlying hardware can be run in each individual VM.
  3. Other things about virtualization
    A virtual machine (VM) is an isolated environment that appears to be a whole computer but actually only has access to a portion of the computer resources. In virtualization, hypervisor, or VMM, is the software layer that sits underneath the guest operating system allowing it to believe there is really hardware in place

  4. Vi commands
    Vi thankyou.txt

  5. Nano Commands Cheat Sheet
    GNU nano is an easy to use command line text editor for Unix and Linux operating systems. I use nano as Vi’s alternative.

  6. Bash in 100 seconds (YouTube)
    Bash (The Bourne Again SHell) is a Unix shell that operates around a kernel (as what a “shell” is) and allows humans to interact with the computer whenever they want to. Shell let us people to interact, program, and do things in the computer in the presumably most basic way, command line interface.

  7. Another Bash Crash Course
    Bash is a legitimate interface to your computer, and it’s not just for server admins and programmers. It can be your desktop, your word processor, your graphics editing application, and much, much more. Some people use Bash more than they use desktop apps.

Week 02 (12/09/21 - 19/09/21)

  1. Quick and Drity Guide to C
    A PDF cheat sheet for all the things C.

  2. SHA256SUM Encryption in 5 minutes
    A demo of SHA256SUM encryption in 5 minutes.

  3. SHA-256 Algorithm Overview
    The SHA-256 algorithm is one flavor of SHA-2 (Secure Hash Algorithm 2), which was created by the National Security Agency in 2001 as a successor to SHA-1. SHA-256 is a patented cryptographic hash function that outputs a value that is 256 bits long.

  4. Cryptography : Crash Course
    From Caesar’s Cipher to Enigma, Cryptography has a long history of being a way of securing sent messages and information. Cryptography is associated with the process of converting plain text into unintelligible cipher text and vice-versa.

  5. An overview of Cryptography by Gary C. Kessler
    This paper has two major purposes. The first is to define some of the terms and concepts behind basic cryptographic methods, and to offer a way to compare the myriad cryptographic schemes in use today. The second is to provide some real examples of cryptography in use today.

Week 03 (19/09/21 - 26/09/21)

  1. FIle Systems in Operating System
    File systems is a rather interesting and remote part of Operating System I’ve learnt so far. This article helps me to understand about File System.

  2. Linux File System
    Another easy guide to learn about file system, spesifically, Linux File Systems. This article also contains explanation about Linux File System Directories.

  3. Linux File Systems Basics
    Another overview about Linux File System. This spesific article also contains key directories and commands to help understand Linux File System.

  4. How to navigate your system in Linux/Unix.
    A demo and explanation about navigating your system in Linux using CLI.

  5. Bonus : Windows File System
    To learn more about File System in another platform outside Linux, this article is a vast explanation about Windows File System.

Week 04 (26/09/21 - 04/10/21)

  1. Pointers in C Programming
    The Pointer in C, is a variable that stores address of another variable. The purpose of pointer is to save memory space and achieve faster execution time.

  2. Address of A Variable
    Another guide to learn about pointers in C. This article also contains codes and demos of addressing and pointers.

  3. C Programming Tutorial - 32: Address of Operator
    Another overview about Linux File System. This spesific article also contains key directories and commands to help understand Linux File System.

  4. Operations on Pointers-C Programming Language
    Pointers can also performs arithmetic operations. This article helps me to learn about Increment, Addition, Substraction, and Comparison Operation in C Pointers.

  5. Linux Basics: Static Libraries vs. Dynamic Libraries
    To learn more about Linux Libraries, this article explains all about Static and Shared/Dynamic Libraries in Linux.

  6. Bonus : C Programming and UNIX
    This PDF e-book contains the basics of C Programming and UNIX. The explanations include the history, the “why”s, the systems, the architecture, and a lot more.

Week 05 (04/10/21 - 11/10/21)

  1. C Library Printf Function
    The C String Formatting is important in order to create a better I/O experience through command line. This article helps me to understand the C string formatting syntax better.

  2. Virtual Memory in Operating System
    The concept of Virtual Memory is an important aspect of Operating System. This article from GFG explains all about the what(s) and the how(s).

  3. Virtual Memory Allocation And Paging
    The GNU C Library has several functions for dynamically allocating virtual memory in various ways. They vary in generality and in efficiency. The library also provides functions for controlling paging and allocation of real memory.

  4. Hack the Virtual Memory : The C Guide to Virtual Memory
    There’s no better way to understand the Virtual Memory other than demonstrate it properly. This comprehensive article took me on an in-depth overview of virtual memory allocation and paging in C language.

  5. Another virtual memory lecture slide
    Another lecture slide to summarize all about virtual memory.

Week 06 (11/10/21 - 31/10/21)

  1. Concurrency in Operating System
    Concurrency is the execution of the multiple instruction sequences at the same time. This article gives insights about the process, pros, and cons of Concurrency.

  2. More about Concurrency
    Also about concurrency, this complete and comprehensive article explains all about the concept of Concurrency, Parallelism, and all the benefit and problem of concurrent processes. This article also contains examplary C program of concurrency.

  3. Multithreading in C
    Multithreading is a specialized form of multitasking and a multitasking is the feature that allows your computer to run two or more programs concurrently. In general, there are two types of multitasking: process-based and thread-based.

  4. fork() System Call
    Fork system call is used for creating a new process, which is called child process, which runs concurrently with the process that makes the fork() call (parent process). In the recurring theme of concurrency, fork() creates a new process in which the operating system allocates different data and states for these two processes, and the control flow of these processes can be different.

  5. Single-threaded and Multi-threaded Processes
    Single threaded processes contain the execution of instructions in a single sequence. The opposite of single threaded processes are multithreaded processes. These processes allow the execution of multiple parts of a program at the same time. These are lightweight processes available within the process.

  6. Concepts in Multicore Programming
    Multicore programming helps you create concurrent systems for deployment on multicore processor and multiprocessor systems. A multicore processor system is a single processor with multiple execution cores in one chip.

  7. Multicore Programming : From Threads to Transactional Memory
    This tutorial slide contains everything about Multicore Programming Implementation in real world as we know it.

Week 07 (01/11/21 - 07/10/21)

  1. Process Synchronization in Operating Systems: Definition & Mechanisms
    Process Synchronization is a way to coordinate processes that use shared data. It occurs in an operating system among cooperating processes. This article explains the basics of process synchronization in OS.

  2. Introduction of Process Synchronization
    Also about synchronization, this complete and comprehensive article explains all about the concept of synchronization, and the usecases of synchronization.

  3. The Critical Section Problem
    Critical Section is the part of a program which tries to access shared resources. That resource may be any resource in a computer like a memory location, Data structure, CPU or any IO device.

  4. Peterson’s Algorithm in Process Synchronization
    Peterson’s Algorithm is used to synchronize two processes. It uses two variables, a bool array flag of size 2 and an int variable turn to accomplish it. This is one of the ways to deal with The Critical Section Problem.

  5. Peterson’s Solution by Neso Academy
    This video also contains explanations and demos about Peterson’s Solution.

  6. Semaphores in Process Synchronization
    Semaphore was proposed by Dijkstra in 1965 which is a very significant technique to manage concurrent processes by using a simple integer value, which is known as a semaphore.

Week 08 (08/11/21 - 14/11/21)

  1. Operating System - Process Scheduling
    The process scheduling is the activity of the process manager that handles the removal of the running process from the CPU and the selection of another process on the basis of a particular strategy.

  2. CPU Scheduling in Operating Systems
    The process scheduling is the activity of the process manager that handles the removal of the running process from the CPU and the selection of another process on the basis of a particular strategy.

  3. Multiple-Processor Scheduling in Operating System
    In multiple processor scheduling there are cases when the processors are identical i.e. HOMOGENEOUS, in terms of their functionality, we can use any processor available to run any process in the queue.

  4. Multiple-Processor Scheduling in Operating System by Xoviabcs
    Another video lecture about multi-processor scheduling.

  5. Process State Models in Operating System
    Two State Process Model consists of two states: Not-running state and Running state.

Week 09 (15/11/21 - 21/10/21)

  1. Memory Storage and Management
    The operating system must balance the needs of the various processes with the availability of the different types of memory, moving data in blocks called pages between available memory as the schedule of processes dictates.

  2. Storage Structure in Operating Systems
    The design of a complete memory system must balance all the factors. It must use only as much expensive memory as necessary while providing as much inexpensive, Non-Volatile memory as possible.

  3. Firmware and bootloader
    The main purpose of this paper is to make a review on embedded bootloaders and firmware.

  4. What Is a Bootloader? How Does a Bootloader Work?
    A bootloader helps to load the operating system or runtime environment to add programs to memory and provide access for components. It is needed to run the startup process, initialize the hardware, and pass control to the kernel, which initializes the operating system.

  5. LFS 11.0 Chapter 7
    A comprehensive guide to do the LFS Chapter 7.

Credits

This page is created using Markdown language with the help of Dillinger. Markdown is a lightweight markup language for creating formatted text using a plain-text editor. Dillinger is a cloud-enabled, mobile-ready, offline-storage compatible, AngularJS-powered HTML5 Markdown editor.