Operating Systems 2021-2 (Odd Semester 2021/2022)

Authored by Naufal Pramudya Yusuf in Jaksel

Virtualization

  • What is Virtualization?
    Virtualization uses software to create an abstraction layer over computer hardware that allows that computer’s hardware elements to be divided into multiple virtual computers or virtual machines. This allows for more efficient utilization of physical computer hardware and its resources.

  • Virtualization As Fast As Possible
    This video explains to you about the basic things you should know about virtualization as fast as possible. Fun fact: you can actually call virtualization an OS-ception…

Markdown

  • Markdown Guide
    Created by John Gruber in 2004, Markdown is a simple and easy-to-use markup language to virtually format any document. The Markdown Guide teaches you all the things you need to know about markdown. Starting with getting to know the origin of it, the basic syntax, and even the extended syntax.

  • Markdown Cheatsheet
    When they say markdown is a simple and easy to use markup language, you probably think it’s not that powerful. In reality, it’s one of the world’s most powerful and popular markup languages. Here’s a cheatsheet of markdown language for all of you lazy people!

Scripting

  • Learn X in Y Minutes: Bash
    Bash (Bourne Again SHell) is a name of the unix shell, which was also distributed as the shell for the GNU operating system and as the default shell on most Linux distros. It’s an implementation of Shell and allows you to perform many tasks, such as performing operations on multiple file quickly via the command line.
  • Bash Scripting Cheatsheet
    Bash has many commands and a lot of them takes time to learn. So to ease your work with Bash while learning it, here is a pretty comprehensive cheatsheet for bash scripting.
  • Everyone Needs to Learn a Little Bit of AWK!
    AWK is a brilliant scripting language for processing text files, comma separated values, and text databases. In this video you’ll learn just how much useful and powerful AWK is to help your everyday work.

Security & Protection

  • Operating System Security by Professor Messer
    Here is a video about some basic things you need to know about OS security. This video consist of types of Operating Systems, patch management especially on security and system stability, the pros and cons on patches, whitelisting and blacklisting, disabling unnecessary services and its risks, etc.
  • Are Macs Really Safer?
    Well, not necessarily. Though it’s true that Mac users don’t get viruses that often like Windows user, it doesn’t mean Mac is the more safe and protected OS. As to why Mac is not necessarily safer that Windows, you should check out this video!
  • Belajar Memakai GNU Privacy Guard (GnuPG/GPG)
    GPG is an application that lets you encrypt, decrypt, and sign a digital data for exchanging data. It’s a complete and free implementation of the OpenPGP standardas defined by RFC4880(PGP). GPG is an excellent method to ensure secure communication between two parties, which allows sensitive information to be easily shared across an insecure network. Here i present to you a useful article that i read to learn about GPG.
  • Is GPG Still Useful in Todays Insecure World?
    > The main reason that encryption still exists and is widely used today is to protect user’s communications, data , and privacy. Moreover, with today’s ongoing security breaches, 0-day vulnerabilities, malicious exploit attempts, and password being sold on the dark web, makes your security more important than ever. More on that, read this article!

File System

  • Unix/Linux - File System Basics
    A file system is a logical collection of files on a partition or disk. A partition is a container for information and can span an entire hard drive if desired. Your hard drive can have various partition which usually contain only one file system. In this website, you’ll learn the most basic things about file system.
  • 10 Essential Linux Commands For Navigating File System
    Linux has a lot of commands that could help our work on a daily basis. Some of them can help you navigate through your file system. You may have known some of these commands, but do you really know their functionality? Check this webpage!
  • Linux Directories Explained in 100 Seconds
    The Linux file system is a cryptic labyrinth of directories defined by the file system hierarchy standard. This video explain to you all those important directories in just 100 seconds! Yup, this is for you, lazy people!

Memory Management

  • Memory Management in OS: Contiguous, Swapping, Fragmentation
    What is memory management? why do we use it? what are the techniques on how memory being managed? How do data being allocated in our memory? This website gives you full on explanation about memory management. Make sure to check it out!
  • Paging in Operating System - Memory Management
    When multitasking comes to picture, your Random Access Memory (RAM) or your primary memory will be full of running application. Especially whem doing complex, heavy task such as gaming and graphic intensive application, it will take up more RAM and processing so your computer will need to manage your memory. This video explained how and why paging is one of the method in which you can manage your memory efficiently.
  • What is Address Binding?
    If you don’t have time to read a pages of slides or books on address binding, this article will be a good quick read to introduce you about address binding and its relation to memory management!

Virtual Memory

-What is Virtual Memory? - Gary explains
What is virtual memory? Where is virtual memory? Why is virtual memory? In this video, Gary explain the basics, the surface of virtual memory in just 11 minutes!

  • A Comparison of Three Page Replacement Algorithms
    Over the years, a lot of algorithm have been developed to find the best and fastest way to execute the page replacement process in a computer memory. The First-In-First-Out, Least Frequently Used, and Optimal Algorithm are Three of many known algorithm to this date. But which one is the fastest and have the most efficient performance if we compare them? you can read this journal if you’re curious!
  • What is Thrash?
    When a process accesses a memory page without proper preparations or when it access data or code in its space address but is not currently located in the system RAM, a page fault occurs. When a page fault happens, the OS will try to fetch that page from secondary memory and try to swap it with one of the pages in RAM. This process is called swapping. When the page fault and swapping happens very frequently at a high rate, the OS needs to spend more time swaping these pages. Are you curious what this state is all about? just click the article above!

Process and Threads

  • Process vs Thread by Udacity
    Diving into the operating system world, we surely will encounter terms such as process and threads. Check out this video to differentiate between these two terms! OR you could watch this other video if you need an explanation in simpler analogy. Both of those videos were made by Udacity!
  • Fork() in C Programming Language
    The fork() function is the primary method of process creation on Unix-like operation. This function creates a copy called a child out of the original process, which is called the parent. Note that the fork() function only works on Linux or Unix based operating system. You should check out this article for more interesting info about fork!
  • Operating System Scheduling Algorithms
    In some CPU, only 1 process is allowed to run at a time. So how are those processes can be run by the CPU sequentially? The Process Scheduler comes for to the rescue! It schedules different processes to be assigned to the CPU based on particular scheduling algorithms. Hmm, i wonder what kind of algorithm it used…

Process Synchronization

  • Process Synchronization - Operating Systems
    In Operating System, it is often that multiple process tried to access the same data in a shared memory. So, we need someway to coordinate those accesses with synchronization. This 5 minute video should be useful for those of you lazy people to understand the basic of this problem!
  • Deadlock, Livelock, and Starvation
    Many times in Operating System, more than one process may compete for a finite set of resources. Usually if a process requests for a resource and it’s not available, then the process waits for it. But, there are three scenarios where this waiting process never succeds, which is deadlock, livelock, and starvation. More info on these scenarios can be read in this useful article!

I/O System

  • Basics of OS (I/O Structure)
    One of the important jobs of an Operating System is to manage various I/O devices including mouse, keyboards, touch pad, etc. An I/O system is required to take an application I/O request and send it to the physical device, then take whatever response comes back from the device and send it to the application. But what are those I/O systems made of? watch this video about I/O Structure!
  • Kernel I/O Subsystem in Operating System
    The kernel provides many services related to I/O. Several services such as scheduling, caching, spooling, device reservation, and error handling are provided by kernel’s I/O subsystem built on the hardware and device-driver infrastructure. This article provides brief explanation on these kernel’s services.

Linux From Scratch

  • Linux from Scratch First Impressions: Waste Of Time?
    Now some of you that have done the Week 8-10 assignments of os212 might be wondering, with all that time you wasted trying to build linux from scratch and compiling all those packages, was it really worth it? to give a slight answer you might want to check out this video about LFS!
  • 8 Tools to Easily Create a Custom Linux Distro
    If you think linux from scratch is worth it, i think you might want to fasten the process a little bit. These 8 tools from this article will help you create your custom linux distro!
  • Linux From Scratch 11.0 Guide
    This guide is everything you need to build your LFS from the very scratch to a complete and running LFS. You just need the patient to do all of it lol.

© Naufal Pramudya Yusuf, 2021
Bismillah semoga lulus OS dengan nilai yang memuaskan. A min. (pun intended)