os222

LINKS

Week 01

  1. The OS Dev Wiki
    This is a pretty good link if you’re looking to build an operating systems from scratch. The pages here have a pretty hands-on way of explaining certain topics. It is also a good link if you’re looking to truly dive deep into operating systems as it covers many aspects of an operating systems and various architectures in great detail. Overall, a great general reference for this course in my opinion.

  2. Learning Awk Is Essential For Linux Users
    The speaker give some examples that make the viewer understand the concept and usage of awk pretty easily. I am a total beginner of things like this but this video is very understandable.

  3. Grep Vs Sed Vs Awk
    I came to OS class knowing almost nothing about Grep, Sed, and Awk. In the middle of the class I learned some of the commands but didn’t know what they are actually used for. This link is very helpful to give you basic understanding about the differences between grep, sed, and awk. It’s a documentation but pretty understandable and has some examples.

Week 02

  1. What is a Checksum?
    Cheksum was mentioned a couple of times but I don’t know what it is. This link basically gives me some idea about it.

  2. Chmod Quick Reference
    We learned about permission in the second class of week 2, so we were using the command chmod a lot. I was quite lost during the class so I tried to find helpful resources. This link 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.

  3. C Programming Language Tutorial
    Learned C programming in week 2. The C Language is developed by Dennis Ritchie for creating system applications that directly interact with the hardware devices such as drivers, kernels, etc.

Week 03

  1. FUSE
    An article that explains straightforwardly about the important things that we need to know about FUSE.

  2. Introduction to File Systems
    This link presents a summary about what a file system is and gives examples. Short but detailed.

  3. Linux Directories Explained in 100 Seconds
    Yes, it is a 100 seconds video. Even though it’s only 100 seconds, it explains most of the things that we need to know about FHS. Basically a crash course.

Week 04

  1. Introduction to Pointers in C
    This video explains about pointer with illustration to make it easier to grasp. I found this video valuable because when learning C programming, we use pointer a lot.

  2. C memory addresses
    This video gives explanation about the way memory addresses work in C programming. The video explains the concept with fun analogies and gives a lot of examples.

  3. Dynamic & Static Linking
    This site explains about linking, which is basically connecting external programs needed to execute program that we write. This site basically explains the differences between dynamic and static linking.

Week 05

  1. Paging - OS Dev Wiki
    This Wiki explains about paging, as well as the benefits, page faults, and more. It contains a LOT of information.

  2. How computer memory works - Kanawat Senanan
    This video is a ted-ed video thate explains the way memory works in our computer. It helps because it’s not only spitting informations, but also visualizes the processes hapeening inside the computer. It also gives explanations about why hard drive deterioriates.

  3. Shared Libraries
    This is an article explaining about shared library with hands-on point of view. Shared library basically allows pre-compiled code to be used and shared by different programs that need it.

Week 06

  1. Fork() in C Programming Language
    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!

  2. How to Running Processes in Linux
    This link explains about how to run a process in Linux operating system. The site has a good UI and also gives explanation in a simple way. It also explains different commands that are useful to run processes.

  3. Multi-Threading
    A thread is a flow of execution through the process code, with its own program counter that keeps track of which instruction to execute next, system registers which hold its current working variables, and a stack which contains the execution history.

Week 07

  1. Proccess Synchronization
    This is a 20-minutes video explaining a lot about process synchronization. It gaves both general and quite detailed information. Well, it’s Neso Academy, so you should expect something.

  2. Process Synchronization & Deadlock
    This one is just a short note that explains about process synchronization and deadlock. It gives short summary about the materials. Good for you if you have little time to study about the concept.

  3. Deadlock, Livelock, and Starvation
    In some cases, process needs to wait. Sometimes, the waiting process never succeds and there are 3 scenarios: deadlock, livelock, and starvation. This article basically explains about those concepts.

Week 08

  1. Process Scheduling
    Starting this week, our assignments are about to do Linux From Scratch (LFS). This is a youtube playlist from sxurce cxde about how to do LFS. I think their playlist is useful especially for someone who needs verbal instructions instead of read them from the LFS books.

  2. Linux From Scratch (ID)
    This page gives some summary about process scheduling in operating system. The source of it is same with our lecturer recommendation book from Silberschatz.

  3. Multiple-Processor Process Scheduling
    This page explains a deeper understanding about multiprocessor scheduling.

Week09

  1. What is BIOS?
    This video explain about basic Input/Output System In computing. BIOS is firmware used to perform hardware initialization during the booting process, and to provide runtime services for operating systems and programs.

  2. https://www.appservgrid.com/paw92/index.php/2019/03/17/introduction-to-raid-concepts-of-raid-and-raid-levels-in-linux/
    RAID is explained as a Redundant Array of Inexpensive disks, but nowadays it is called Redundant Array of Independent drives. You can get to know about RAID in Linux in this article.

  3. RAID level 0, 1, 5, 6 and 10 | Advantage, disadvantage, use
    This is a comprehensive article about RAID. It has an extensive information about RAID 0, 1, 5, 6, and 10. There are some visualization, too, to help you to comprehend the materials better. I recommend this article as a headstart to understand the basics of RAID.