OS222: Operating Systems 2022-2

By Naila

HOMELINKSLOGTARBALLGITHUB


LINKS

🎍 Week 01

  1. What is Operating Systems?
    Operating system is a software that manages all the components of the computer, including software and hardware. But, what exatcly they do? What types of operating systems are there?

  2. Basic Linux Commands
    Are you new to Linux? Don’t worry, here are some basic command on Linux that could help your work.

🎨 Week 02

  1. Why Do We Need Cybersecurity
    Cyber crime has become a very hot issue lately. Ranging from individuals, governments, and even organizations, have a high risk of getting cyber crime. But what exactly cyber crime is? Why do we need security and protection on our system?

  2. How to Protect Your Digital Privacy
    Safe doesn’t have to be complicated. By making a few changes, you can protect your privacy from unwanted attackers.

  3. C Syntax 101
    C-language is one of the programming languages that is still often used, even though it can be said ‘The Ancient One’. However, if you’ve never learned it, don’t worry, here are some basic C language syntaxes.

🎠 Week 03

  1. How Files are Organized in Our Computer
    When we using our computer, we always take care of managing files and directories. However, have you ever thought about how these files are stored in our computer system? How can we retrieve a file easily whilst there are a lot of files in our computer?

  2. Various File Allocation Methods, Which One is the Best?
    There are many different file allocation methods that can be implemented on our computer. However, which one is actually the best? What are the advantages and disadvantages of each method?

  3. Grep Command in Linux w/ Examples
    Grep is one of the most powerful Linux commands. Grep is used to filter files or lines in a file that match the desired pattern. Combining grep with other commands like wc (word count) will be very useful to extract informations.

🗳 Week 04

  1. Logical and Physical Address in OS
    The link explains the difference between logical and physical addresses briefly and clearly. The main cut off of both types: logical addresses are generated by the CPU from the program perspective and do not exist physically, while physical addresses are mapped by logical addresses and exist physically.

  2. Address Binding in Operating System
    This YouTube video explains the concept of address binding that occurs in the operating system in a simple and understandable way.

  3. Printf Format Cheat Sheet
    There are lots of placeholders for print formatting in C language. This link covers all types of formatting, from simple to complex.

🏝 Week 05

  1. What is Virtual Memory in OS
    Virtual memory is an allocation scheme which makes secondary memory looks like main memory that can be addressed and used in program. The link explained generally about mapping scheme mentioned.

  2. Demand Paging and Thrashing
    Demand paging is a concept that keeps all pages of the frames in the secondary memory until they are required, then load to main memory. The link explained how demand paging works.

  3. Pointer to an Array in C
    Pointer is an important part of a programming language. Pointers store a reference to an object in memory, including an array. The link explained how an array pointers in C is implemented.

👑 Week 06

  1. Threads and Concurrency
    The link explains in detail about threads and concurrency procedures. The existence of multicore benefits us to be able to run several processes or threads simultaneously.

  2. Process in Operating System
    The link describes the procedure for executing a process, how it is executed by the operating system. Includes other explanation such as process memory section, process state, and process control block.

  3. Threading Issues
    There are some problems to consider that may arise in designing multithreaded programs. These problems such as signal handling, cancellation, and thread polls.

🏜 Week 07

  1. Process Synchronization in OS
    The link contains an overview of what the process synchronization in OS is and how it works. The link also explains several approaches to solving critical section problems such as Peterson’s solution, synchronization hardware, mutex locks, and semaphore.

  2. Semaphores in Process Synchronization
    Semaphore is a technique for managing concurrent processes that utilizes a simple integer value. Semaphores are used to solve critical section problems in the synchronization process. This link also describes the problems that can arise when implementing a semaphore.

  3. What is Deadlock? (YouTube Video)
    The video provides an overview of deadlocks and how to overcome them. Deadlock is likened to two trains moving towards each other and on the same track. Later, the train can’t move anywhere when it’s facing each other, same as deadlock process in OS.

🪐 Week 08

  1. Linux From Scratch Book 11.2
    The link contains the tutorial and a complete explanation of how to make Linux from Scratch. This link is also the main reference for the assignment guide in this Operating System Course.

  2. What is Linux From Scratch?
    Maybe you’ve often heard the term Linux From Scratch. However, do you know what it is? Linux From Scratch is a project to ‘make’ your own operating system according to your needs. No, not making your own system distribution, but rather a collection of source code documentation that is installed on your computer or virtual machine, to build a Linux operating system.

  3. Is Linux From Scratch Worth It?
    Doing Linux From Scratch can take a lot of time, depending on the hardware specifications used. Is the time spent on Linux from scratch worth the results?



© 2022 — Naila — Version: 0008–20-Nov-2022.