os212

Links

| Home | Repository | Log | Links |

  1. What is sed? How are we suppose to use it?
    This link contains a youtube video that discusses the basics of the sed shell command. What’s interesting about this particular video is that it explains a variety of usage on sed along with its real-life usage example. It also explains the usage that is similar to commands like grep and awk but stresses some usage that can only be completed with the sed command.

  2. Linux Basic Commands
    This article discusses the usage of 40 Basic Linux Commands. It was the first link that I visit after completing the virtualBox setup. The link is equipped with complete description of the command along with the command example with its expected output.

  3. C Programming in 1 Hour
    Can you learn and master C in 1 hour? I don’t think so and neither can I. Done in less than an hour, the video discusses upon the basic syntax of the C programming language. Although it is not provided in a great depth, this video does serve as a good starting point as well as temporary alternative if you feel overwhelmed with the numerous demo programs provided in the Sistem Operasi Repository.

  4. Understanding GPG Keys
    The 2nd week started with generating a GnuPG Key Pair. Generating the key itself is quite simple, as we are provided with a step-by-step tutorial. Nonetheless, understanding what it is, how it works, or why do we need it might require an extended research through a variety of other resources. This video is one of them as it discusses upon this matter along with the key’s usage.

  5. Cybersecurity Crash Course
    As stated in its title, this video provides an introduction and basic understanding of cybersecurity. I found this video to be interesting as it is presented lightly, equipped with several animations, along with real-life examples.

  6. C Input and Output
    The link contains explanation on printf and scanf, the two functions responsible for displaying output to the user and taking input from the user respectively. The article discusses upon the different ways on using both functions. For instance, how does reading a character differs from reading an integer or a float, or can we take multiple values in a single prompt to the user.

  7. File Systems
    The video introduces the basic concept of File System along with directory trees, stressing the concept of contents and structures of a directory. I found this video to be interesting as it started by demonstrating the real life scenario (such as file searching).

  8. Attributes of File Systems
    As stated on the title, the video started by defining a file system followed by explaining the attribute of file systems. The video is a great complementer towards the topic discussed in chapter 13.

  9. What is Memory-Mapped Files
    The video explains the concept of memory-mapped files. It discusses how does a file is saved in the address space using the file operation such as Open, Read, Write, Seek, and Close. It also explains how changes done while opening the file (physical pages) is written back to the disk.

  10. What is Use After Free Vulnerability? – Thingy Animation
    This video explains the concept of UAF Vulnerability. Most of the article and video available online are rather complicated, although they provide a more depth understanding of the topic. When it comes to a TL;DR situation, I found this video to be interesting as it uses simple animations, it refers itself as ‘thingy’ animations, hence making the topic easier to understand.

  11. The Instruction Cycle
    The concept of Instruction Cycle is discussed in the introduction of memory management. This video helps me to refresh my understanding on the concept that was previously discussed in the Introduction to Computer Organization class. The importance of instruction cycle concept understanding stresses the fact that all operations are done in the CPU, such that all operands must be brought to the CPU register before execution.

  12. Difference Between char s[] and char s*
    This article discusses the difference between char s[] (array) and pointers. This article helped me to understand better the usage of pointers as well as the validity of performing certain actions involving either one of the statements.
  13. Little Endian vs Big Endian
    The article discusses the simple yet sometimes tricky topic of endianness. It states the definition of each endianness type, as well as the uses of both little endian and big endian addressing technique.

  14. Page Replacement Algorithm
    This video is complementary to the materials discussed in class regarding the ways of replacing a page when there exists a conflict, such as the FIFO, LRU, and Optimal. Aside from discussing the algorithms, it also provides an example of usage for each of the replacement algorithm.

  15. Understanding Virtual Memory
    This video goes into great detail on virtual memory. It began by contrasting system architectures that implement and do not implement virtual memory. It explores the issues that necessitate virtual memory’s existence. Furthermore, it discusses how to deal with problems caused by the use of virtual memory, such as memory holes.

  16. popen() as Discussed in the Forum
    This resource aid me in answering the questions discussed on scele. It discusses the use of popen() function, the different modes that can be applied, along with the impact on the generated pipe between the calling program and the executed command. The IBM documentation on this matter is provided thoroughly and hence ease the reader in understanding the topic discussed.

  17. May the fork() be with you
    We started on discussing the fork() system class in the 6th Week Class. It is indeed a little bit confusing for me to understand how fork() perform duplication on a process, creating what is known to be a parent and child processes. An important essence on the demo discussed is the fact that fork() do have a return value, indicating the status, i.e. fork() < 0 represents an error, fork() == 0 represents a child process, and fork() > 0 represents a parent process. The video discusses these materials and beyond on great details. Hence, it becomes a supplementary resource to aid the fork() materials discussed in class.

  18. Processes Creation
    After understanding the concept of fork(), I dig deeper on the concept of process; parent processes and child processes. This video discusses how processes are created. As processes by nature can generate more processes, this video discusses on great detail on how can those processes form a tree-like structure, specifically, this video discusses the process tree of a solaris system.

  19. Scheduling Algorithms
    How does a CPU decides which of the processes available in the queue to be allocated to the CPU’s core? This is the question that necessitates scheduling algorithm. The link leads to a playlist by Neso Academy that discusses the various scheduling algorithms, that includes First-Come First-Served, Shortest-Job-First, Round-Robin, Priority(Based), Multi-level queue, and multilevel feedback queue scheduling.

  20. open() in c language
    This link contains an article discussing the parameters, along with the modes in opening files through the c langguage command. I found this link to be more interesting as it provides a clearer information on the different modes, along with different scenarios of usage.

  21. fork() sample code and explanation
    I found this video to be a great complementer to the previously stated link discussing the material. This video is shorter yet provides a clearer and problem-oriented explanation that helps me better understand the concept. One of the topics discuss is the tree structure resulting from the fork process along with determining the number of child processes created after running a few fork() command.

  22. Understanding the Critical Section Problem
    This video explains about the critical section problem that arises in the case of cooperating (interdependent) processes. I found this video to be helpful in building my understanding as the problem is analogized to an event that occurs in the daily life. In addition, it also explains how critical sections are implemented.

  23. Deadlocks
    You can’t get a job without experience and you can’t get experience without a job. This video discusses the formal definition of deadlocks along with the conditions necessary to reach a deadlock in detail. While discussing each necessary condition, the video provides either an operating-system or a real life example that aids in understanding the conditions discussed.

  24. The Petersons Solution
    The peterson’s solution is one of the measures that can be performed to solve the critical section problem. This video explains the algorithm of the peterson’s solution, the requirement, and limitations of the algorithm, especially in addressing modern computer architectures as it only supports the critical section problem involving 2 processes.

  25. Semaphores
    Another approach that can be used to solve the critical section problem is semaphores. Semaphore uses 2 signals, wait (to decrement the semaphore integer variables) and signal (to increment the integer variables) to protect the critical section while occupied by a process. The article provides the basic structure of the wait and signal function, and explains the two types of semaphores, along with the advantages and disadvantages of implementing semaphores in solving the critical section problem.

  26. SCP Command
    One of this week’s assignment requires us to perform a copy operation from our guest to the os1.cs.ui.ac.id. This article explains about the scp command that includes the syntax to copy a local file to a remote system and copy a remote file to a local system.

  27. Preemptive and Nonpreemptive Scheduling
    One of the basic concepts discussed in this week includes the preemptive and nonpreemptive scheduling. Not only that the article discusses the definition of both concepts, the article also provides their key differences based on multiple parameters such as interrupt, starvation, overhead, and CPU utilization.

  28. CPU and I/O Burst Cycle
    Another important topic discussed in this chapter relates to CPU and I/O burst cycle. This video explains the two concepts in great detail, stressing how CPU burst and IO burst happens alternately in a process execution.

  29. Scheduling Algorithms
    This article contains the explanation for the various scheduling algorithm. In addition, it also discusses the factors that shall be taken into consideration in deciding the scheduling algorithm to implement for a system. The article presents several operating systems’ choice of scheduling algorithm and explains the reason behind the choice.