os212

My top OS learning materials

These materials guide me through my past OS assignments and help me to learn them better.
I hope you can find them helpful (too)! :).

Week 01

OS101 Playlist

This playlist is provided by Neso Academy. It dives really deep into the heart of the OS subject, starting from the ground zero (its definition).
The way the tutor teaches really suit my learning pace and that’s why you’ll find it on top of my list.

AWK for Dummies

As the title suggests, this tutorial will walk you through the most detailed AWK tutorial that i’ve ever found.
It separates all the core concepts into its own subsection so all of you will have an easy time navigating through this site!

Week 02

C Programming Tutorials Playlist

This playlist also created and provided by Neso Academy. It consists of 169 videos and each of them is enriched with crystal clear explanations & guides.

SHA-256 in Layman Terms

Creating SHA-256 is a mandatory task on Week 2 of our OS journey. This quora discussion explains it with simple terms and that’s why i put it on my favorite links.

Cybersecurity Course

Cybersecurity plays a very vital role on our society. It secures all of the sensitive informations online from future potential hacker.
As the reason why i recommend this certain course is because it was made by Codecademy, one of my favorite online course out there.

Week 03

Intro to Files & File Systems by Crash Course

This video talks mainly about how some popular file formats, such as txt, wave, and bitmap are encoded and decoded, and also how computers are able to keep all the datas organized and accesible to users.
Crash Course has its own unique style and animations, they make all of these science videos more bearable to watch. That’s why i put this link on here.

File System in Operating System

This article covers a lot of the topics that are mentioned on the Week 3 PPT. The brief explanation that this article provided and the way the author explains it in a layman term really helps me to understand this topic way better than before.

Week 04

Pointers in C Programming

Execution time of a program is very crucial and every engineers are looking for every possible ways to optimize it. Pointer is one of the solution.

Logical Address vs Physical Address

This article gives a brief explanation and compares a lot of different aspects of logical address and physical address on Operating System.

Week 05

Virtual Memory In a Nutshell

Guru99 is my best stop to learn about OS in a great manner. This article really helps me to learn about virtual memory from scratch. Starting from its definition, to its disadvantages.

Kernel

One of the most important concept of OS Programming is the Kernel. The term Kernel really does intrigue me in some ways. It gives some unpleasant vibes and i always feel that Kernel is a hard concept to learn. But, this article can describe Kernel in such an easy manner.

Week 06

Fork() in C Programming Language

We often see Fork feature in Version Control System, mainly in GitHub. GitHub’s fork term can be seen as a copy paste process, the object in question that we’re copying is GitHub repository. On C Language, this term used for copying process which is analog to GitHub fork.

Concurrency in Operating System

Concurrency refers to the execution of multiple instruction sequences at the same time. It occurs in an operating system when multiple process threads are executing concurrently.

Week 07

Deadlock in OS

Deadlock is a situation that occurs in OS when any process enters a waiting state because another waiting process is holding the demanded resource. This is a common problem in multi-processing because a lot of process use the same resource at a given time.

Synchronization, Critical Section and Semaphore

Process Synchronization is the task of coordinating the execution of processes in a way that no two processes can have access to the same shared data and resources. A critical section is a segment of code which can be accessed by a signal process at a specific point of time. The solution to Critical Section problem is called Semaphore Solution. Semaphore is simply a variable that is non-negative and shared between threads.

Week 08

Guide to LFS by Sudo Tech

LFS is an abbreviation of Linux From Scratch. Its name on itself is already self explanatory, although all of the process behind the scene really aren’t that simple. This playlist from Sudo Tech serves as the guide to create your own custom Linux OS.

LFS Official Site

Linux From Scratch (LFS) is a project that provides you with step-by-step instructions for building your own customized Linux system entirely from source.

Week 09

RAID, a definition by GFG

RAID, or “Redundant Arrays of Independent Disks” is a technique which makes use of a combination of multiple disks instead of using a single disk for increased performance, data redundancy or both.

Firmware vs OS, a brief comparison

Computer systems are used to automate tasks and execute user programs. Many application programs and hardware combined to perform functions. Firmware is a specific type of software which is embedded with hardware and directly access hardware and its resources without using APIs , Operating system to perform basic tasks and functions.

Intro to Bootloader

When turned on, a computer has a clear state. This means that there are no programs in its memory and that its components cannot be accessed. A bootloader helps to load the operating system or runtime environment to add programs to memory and provide access for components.