os212

LINKS

Week 00

  1. Understanding Operating Systems
    This article is very useful for getting to know the operating system in detail, yet not complicated. In my opinion, before we delve deeper, it’s very important to know the basics of the operating system.

Week 01

  1. What is GitHub? And How To Use It?
    Since this is my first time using GitHub, I think it might be better if I know what GitHub is first. So this video explains a basic introduction about GitHub and how to use it.

  2. About VirtualBox
    This article explains what VirtualBox is and a brief history of VirtualBox. I think this article will be very useful to introduce VirtualBox users who are just learning it.

Week 02

  1. Why is Cybersecurity Important?
    This article explains what cybersecurity is and why cybersecurity is important. Most of us only hear the term cybersecurity without knowing what it means. Therefore, I recommend this link for those of you who want to start learning what cybersecurity is.

  2. Introduction to cryptography
    This week we are introduced to cryptography. Therefore, I recommend you to read this article to find out more about the explanation of cryptography and how it works.

Week 03

  1. Linux File Hierarchy Structure
    This articles explains about filesystem hierarchy standard which is defines the directory structure and directory contents in Unix-like operating systems. In my opinion, this article is very useful for beginners because the explanation is equipped with pictures.

  2. File System Mounting
    This time I recommend a video that explains about file system mounting. On Linux, we have to mount hard disk partitions before you can use them. It is pretty easy since this video explains it thoroughly and clearly.

Week 04

  1. Big Endian vs Little Endian
    This article is very helpful for those of you who want to know the difference between big endian and little endian. This article explains the meaning of each endianness and provides examples

  2. Pointers in C Language
    This article contains a description of pointers in the C language and examples of their implementation.

  3. Parameter Passing Techniques in C
    In this article it is explained that there are many methods or techniques to perform parameter passing in the C language, including pass by parameter and pass by value. This page also provides examples of using each method so that readers can better understand the differences between each of the techniques.

  4. Memory Management in OS
    This article contains a complete explanation of memory management and provides clear examples. There are several memory management techniques, as you can see in the article.

Week 05

  1. An Introduction to Virtual Memory
    In week 5 we learn about virtual memory. This article will be very helpful for those of us who want to know in advance what virtual memory is. This article explains the use of virtual memory, where all virtual memory comes from, and how virtual memory is in Nutshell.

  2. About Memory Allocation
    This article describes memory allocation. In my opinion, this article provides a detailed explanation. Starting from a discussion of what memory allocation is, the various types of memory allocation, and the use of each type of memory allocation.

  3. How to Handle Trashing?
    This article describes the techniques that can be used for handling trashing. There are two techniques for handling trashing. Of course, each technique has its uses and is used in different cases.

Week 06

  1. Concept of Multithreading in OS
    Multithreading is a threading method that is quite commonly applied in Operating Systems. This article explains the concept of multithreading on the OS in great detail and I think it’s easy for beginners to understand.

  2. fork() and exec() System Calls
    This week we are studying fork and exec material, so this video is perfect for those of us who want to learn more about it.

Week 07

  1. Introduction of Deadlock in Operating System
    This site describes an introduction to deadlocks in operating systems. This site provides a lot of additional knowledge related to deadlocks on operating systems such as conditions 4 deadlock conditions and how to overcome deadlocks themselves.

  2. Semaphores in C language
    On this site there is an introduction to semaphore in C language and explained that semaphore is very useful in synchronization and multithreading processes. There are also usage examples on this site which will help readers to better understand semaphore in C.

Week 08

  1. Process Scheduling in Operating System
    On this site, scheduling is introduced to the operating system. Scheduling in the operating system is the activity of managing an ongoing process from a CPU. For further explanation, this site provides a lot of additional knowledge regarding scheduling on operating systems such as 3 types of scheduler and comparison between them. I suggest this site because they have very good explanation and easy to understand for everyone.

  2. Linux From Scratch
    On this page the definition of LFS is explained. Since for the next few weeks we will be dealing with LFS, this page will be suitable as our introduction to getting to know Linux from scratch.

  3. Multiple-Processor Scheduling in Operating System
    This site explains the use of multi-processor scheduling in operating systems. This page says there are several approaches to multi-processor scheduling. This site is very interesting to read because it has very good explanations.

Week 09

  1. Mass-Storage Structure
    In this video there is an introduction to Mass storage on an operating system with good visuals and explains about Mass Storage Structure, File System Implementation, File System Interface, and many more. The explanation in this video is very clear and very good, so I highly recommend you to watch this video.

  2. Definition of RAID
    RAID is a method for storing data on multiple hard disks. When the Disks are stacked in a RAID configuration, the computer will see them all as one large disk. However, they operate much more efficiently than a single hard drive. Because data is spread across multiple disks, read and write operations can be performed on multiple disks at the same time. Which means, it can significantly speed up hard drive access times.