os241

LINKS

WEEK 01

1. Easy Beginner’s Guide To Linux: A Complete Introduction

A very simplified introduction to Linux. Though it only covers the most basic information about Linux, it provides some insight regarding the operating system and it helps beginners to get to know it a little better!

2. Introduction to Linux and Basic Linux Commands for Beginners

A longer introductory video compared to the one listed above. It provides a better in-depth explanation regarding Linux as an operating system, and also covers a few topics, such as overview of linux distributions, guide to linux terminal, and basic linux commands for navigation and file manipulation

WEEK 02

1. OS Study Guide

A study guide to accompany the Operating Systems Concepts book (10th ed) by Silberschatz, Galvin and Gagne. It provides concise key words and comes in handy for remembering key concepts.

2. Bash Scripting Tutorial

Since shell-scripting is one of the most important concepts for process automation, a clear basic understanding regarding bash scripting is needed. This link provides easy to understand explanation about bash scripting. It’s worth noting that the content is easy to digest for beginners.

WEEK 03

1. Explaining File Systems: NTFS, exFAT, FAT32, ext4 & More

A concise explanation of a few popular file systems. Only about 11 minutes long & provides a real example of why knowing the file system you’re using is important. Good to watch after reading chapters 13, 14, and 15 of Operating System Concepts (10th Ed).

2. Nano Editor Commands

After using vi, learning how to use other editors to help tweak my program proves to be beneficial, especially to add versatility while getting a wider knowledge about other editors. This link provides key shortcuts about nano editor that can be easily digested by beginners.

WEEK 04

1. Segmented, Paged and Virtual Memory

Short video explanation (with animation) about the differences between Segmented Memory and Paged Memory. Helpful in visualizing memory fragmentation and understanding what swapping out processes means.

2. Virtual Address Translation Example

Walkthrough of a problem example in virtual address to physical address translation. The video is only 8 minutes or so, explains the steps very thoroughly, and is easy to understand.

WEEK 05

1. Unix Processes in C

A comprehensible playlist about the fork() function in C and other functions related to it. The first few videos are very relevant to the current week’s class materials on fork.

2. sed.js

Online GNU sed stream editor complete with I/O stream. Extremely useful to experiment with when first starting out with sed. Removes the hassle of having to open and create files to check how sed affects multiple test cases.

WEEK 06

1. Virtual Memory

Explains about virtual memory in operating system. Provides comprehensible explanation about virtual memory with visualization

2. AWK Command

Provides basic explanation about AWK commands and explains what the commands are for in depth

WEEK 07

1. Process Synchronization

An article about process synchronization in operating systems. It is a technique to ensure that multiple processes access shared resources in a controlled manner to avoid race conditions

2. Introduction to Deadlocks

Deadlocks are a set of blocked processes each holding a resource and waiting to acquire a resource held by another process. The article also provides some knowledge on how to handle them as well.

WEEK 08

1. Scheduling

This source gives a good overview on scheduling. It’s basically like a cheatsheet for the concepts, not too detail but just enough to explain the different types of CPU schedling.

2. FCFS(First Come First Serve) CPU Scheduling Algorithm with example | Operating System

FCFS is one way CPUs handle scheduling. The video simply explains the concept and is a great help in understanding the concept better.

WEEK 09

1. GRUB

The GRUB (Grand Unified Bootloader) is a bootloader available from the GNU project.. more

2. Linux Boot Process

A brief explanation about linux boot process to help you understand the basic.