os222

W00W01W02W03W04W05W06W07W08W09W10


W00

  1. Linux in 100 Seconds (by Fireship)
    I think this is an excellent video that explains, in an interesting and quick manner, what Linux (as an OS) is and able to do, as well as some basic commands such as ls, pwd, du, and many others. If you’re totally new to Linux, i believe this is an excellent first video to watch (besides, it’s only 3 minutes long!).
  2. What is an Operating System as Fast as Possible (by Techquickie)
    This video does a quick dive into what an OS generally does, like managing hardware and providing system calls. In a sense, this video is able to summarize a bunch of concepts which are important in an OS into one, 5 minute video. I recommend watching this to get a stronger grasp of the basic concepts.

W01

  1. Regular Expressions (RegEx) in 100 Seconds (by Fireship)
    Another video made by Fireship which i think explains the what a RegEx is and some basic syntax in a quick and easy to understand manner. Although this video doesn’t dive very deep into RegEx syntax, I still think it is a great starting point for beginners.
  2. RegExr
    Notice how in Fireship’s video (specifically 1:09) they use some sort of tool to test out RegEx-es. Well, that tool is called RegExr! RegExr is (in my opinion) a great place to learn and practice one’s Regular Expression (RegEx) skills. The website allows you to create RegEx, see and understand how it is parsed, and test it against your input.
  3. Markdown Cheatsheet (by Adam Pritchard)
    A great quick reference sheet about Markdown, especially important since this semester there is more than one subject that uses Markdown. It gives some syntax examples, as well as how they look after being rendered.

W02

  1. Chmod Quick Reference
    This is a great quick reference sheet for learning about Linux’s file and directory permission system, its octal notation, as well as how to manipulate them using the chmod command. It also has a very useful generator to calculate the octal notation for a certain permission. Also, there are some chmod usage examples, as well as some common chmods for things such as ~/.ssh permissions (which i personally find very handy and saves a couple of Google searches).
  2. 7 Cryptography Concepts EVERY Developer Should Know (by Fireship)
    Yet another Fireship video, but this video does a good job at introducing some common yet important terms and concepts within cryptography and cybersecurity. Highly recommended to watch, especially when one is totally new to cryptography concepts such as hashes and HMACs.
  3. Public Key Cryptography: RSA Encryption Algorithm (by Art of the Problem)
    A great video which explains, in an intuitive and easy manner, the basics of asymmetric cryptography. I personally believe the video explains asymmetric cryptography in an interesting manner using a few intuitive examples, which should help one understand. The later part of the video dives into the nitty gritty details of the RSA algorithm, if you are interested in that.

W03

  1. Linux Directories Explained in 100 Seconds (by Fireship)
    Yes, another Fireship video, but I think this video does a great job at explaining how devices and files are arranged in the Filesystem Hierarchy Standard (FHS) used by Linux. It gives a detailed explanation of what each of the main directories’ functions are as well as their contents.
  2. The Linux File System…for humans (by Engineer Man)
    If the previous video linked was a quick dive, this video is a deeper dive into the FHS structure used by Linux. It explains the concept of pseudofiles (which may represent files and other things such as devices and pseudo-devices) as well as what each directory is supposed to do or contain.
  3. The Linux Storage Stack Diagram
    Ever wondered about how Linux handles calls related to storage access, as well as the various subsystems and parts used? Well look no further than the Linux Storage Stack Diagram! Albeit the image is a bit intimidating and daunting at first sight, if you are interested in what it takes to handle storage within Linux, this is one easy way to visualize and figure it out.
  4. File Systems 2: File Allocation (by Jacob Schrum)
    This video describes the three main forms of of block-based file allocation in a visual manner. I think this video does a great job at explaining the allocation methods, as well as their advantages and disadvantages.

W04

  1. you will never ask about pointers again after watching this video (by Low Level Learning)
    This video helps one to understand pointers in a simple manner. It tries to do that by decomposing complex, intimidating expressions such as int* pX = &X; into simple, understandable English. Besides this video, I also recommend viewing other videos made by the same channel to get a good grasp of low level concepts and programming.
  2. Learn Makefiles (makefiletutorial.com)
    This is a great resource for learning all about Makefiles! It starts with the simplest Makefile syntax, then it gradually expands to cover more ‘fancy’ syntaxes. In doing so, it helps in learning Makefiles without being too overwhelmed by it.

W05

Since we’re entering the last week before UTS, i’d like to wish everyone a happy UTS! I wish you all the best!

  1. Virtual Memory in Operating System (by geeksforgeeks)
    GeeksForGeeks did a great job explaining the key concepts used in a Virtual Memory system. Several key concepts required are explained within this article, starting from Demand Paging, Swapping, up to Thrashing. For a quick guide and/or refresher, i recommend reading this article.
  2. What is virtual memory? – Gary explains (by Android Authority)
    This video does a good job at explaining several key concepts involved in a computer’s virtual memory. Concepts such as the MMU, virtual addresses, paging, etc are explained using simple to understand diagrams. Also, there is a great explanation about how virtual addresses are translated to physical memory addresses at 6:56.
  3. Red Hat Introduction to System Administration: Virtual Memory
    The relevant parts of this long document is in part 4.3 to 4.5. It’s quite a wordy document, but it gives a high-level explanation of Virtual Memory, why Virtual Memory is needed, and it’s performance implications. Recommended to understand the background behind virtual memory as well as how it is viewed from a higher, non-technical level.

W06

  1. Creating new processes with fork()! (by Jacob Sorber)
    This video explains about the creation of processes with the fork() syscall, as well as the theories behind it, such as some basic terminology, the process “family” tree, as well as PID and PPIDs. Recommended to get a basic grasp on the concepts. If you have spare time (probably not), i recommend watching the entire Programming with Processes playlist as it dives into the other concepts which are closely related to processes and threads.
  2. Difference Between Process and Thread - Georgia Tech - Advanced Operating Systems
    Were you ever confused about the difference between processes and threads? Worry no more, as this video does a great job at explaining each concept and their key differences.

W07

  1. Safety and Speed Issues with Threads. (by Jacob Sorber)
    Another great video from the great Programming with Processes playlist, this video explains when to use threads as well as common pitfalls regarding the use of threads, like race conditions that happen due to the lack of synchronization. It also some common techniques used to handle those issues, such as using atomic operations and mutual exclusion (mutex) locks.
  2. What is a semaphore? How do they work? (by Jacob Sorber)
    Another Programming with Processes video, but this one explains the concept of semaphores, some key differences (vs mutex locks especially), and its usage in synchronization. It also demonstrates its usage in a program which utilizes shared memory, which needs some synchronization using tools like semaphores.
  3. Mutex vs. Semaphores (by Niall Cooling of feabhas.com)
    This three part blog (pt. 2, pt.3) does an excellent job in explaining about semaphores, mutexes, and associated problems including deadlocks. It dives deep into the history and thinking behind each tool and how they were made to be used. It also addresses a common misconception regarding the differences between mutexes and semaphores.

W08

  1. CPU Scheduling Basics (by Jacob Sorber)
    Another video by Jacob Sorber which explains about CPU scheduling and it’s key concepts. It also has a couple of useful examples explained.
  2. Linux From Scratch 11.0 (LFS) Indonesia (by Sxurce Cxde ID)
    Need a Bahasa Indonesia general guide to LFS? This is a great one, albeit its for an earlier version, and its also a bit long and bertele-tele.
  3. Build a LinuxFromScratch System Part 1: Overview (by Write your own operating system)
    Want a theoretical overview on LFS, and why you do LFS the way you do it? This video provides an overview regarding Linux, especially within the context of LFS, as well as explains why things in LFS are done the way they are.

More coming soon! (well no more since bye-bye os)



HOMEREPOSITORYLINKS (You are here!)LOG