LINKS
WEEK 0
- Operating Systems — OS242 : This site contains lecture materials, assignments, and additional links that are very useful for helping you study and understand this course.
- Essential Linux Command — This site likely helps us understand important Linux commands and provides instructions on how to use it, making it easier to understand the concepts.
WEEK 1
- Regex in 15 minutes — This Video is very usefull for anyone who want to learn basics of regular expression.
- Regex Cheat Sheet — The table in this site is easy to follow because the author clarifies the purpose of each column, and it’s well-organized into groups. This makes it simpler to locate specific concepts quickly.
- Debuggex — Regex Visualitation Tool, It enhances understanding by showing the structure of the regex in real time, making it easier to grasp how the syntax functions.
WEEK 2
- Basic Vi Commands — Here are some basic vi commands that are likely to be most useful for doing weekly assignments.
- C Programming Language for Beginner — C language used to develop system applications that interact directly with hardware devices, such as drivers, kernels, and more.
WEEK 3
- File Management in Linux — A website that provides clear explanations, examples, and demonstrations of common file management commands used in Linux.
- Compile C program with GCC — The site guides us through compiling a C program using GCC. It covers GCC installation, writing and compiling a simple program, and verifying the installation and execution process.
WEEK 4
- Little and Big Endian — The website explains endianness, which refers to how bytes are ordered in memory, with two main types: big-endian (most significant byte stored first) and little-endian (least significant byte stored first). It highlights how endianness affects data storage, system communication, and interoperability.
- OS Memory Management — The article explains memory management techniques in operating systems, covering methods like partitioning, paging, segmentation, and swapping, while also addressing memory allocation, fragmentation, and the differences between dynamic loading and linking.
WEEK 5
- Virtual Memory — The website explain that Virtual memory allows a computer to extend physical memory using disk space and provides memory protection by translating virtual addresses to physical addresses.
- Page faults and memory swapping — Paging and memory swapping are techniques that manage memory efficiently by allowing processes to move between RAM and virtual memory, handling page faults and preventing memory overflow to maintain system performance
WEEK 6
- Fork System Call in Operating System — The fork system call allows a process to create a copy of itself, resulting in a child process that runs tasks in parallel with memory optimization through copy-on-write, though it can lead to memory overhead and communication complexity.
- fork() in C — The article explain that The fork system call in Linux and Unix creates a new child process that runs concurrently with the parent, sharing the same program counter, CPU registers, and open files, with return values indicating the success or failure of the child process creation.
WEEK 7
- Deadlock System Model — This site offers an overview of deadlock systems, explaining that deadlock happens when processes are halted as each holds a resource and waits for another, along with detailing the operations and conditions that lead to deadlock.
- What is a semaphore? — A semaphore is a synchronization tool used to control access to a shared resource among multiple processes. This video explains how semaphores function, aiming to clear up common confusion due to their flexibility and complexity, and provides an example of using semaphores to coordinate processes in C.
WEEK 08
- Preemptive and Non-Preemptive Scheduling — This article effectively contrasts preemptive and non-preemptive process scheduling, making the concepts accessible through its concise presentation and visual aids. The combination of tables and diagrams alongside brief explanations helps readers grasp the material with ease.
- Scheduling Algorithms — This website explains that the scheduling algorithms in an operating system are used to manage process execution efficiently, aiming for maximum CPU utilization, fair CPU allocation, and minimum response, waiting, and turnaround times.
- Linux From Scratch 12.2 Playlist —
The video is extremely helpful, providing a clear, step-by-step guide that simplifies the setup process. The detailed explanations make each command easy to understand, ensuring no critical steps are missed.
REV : Sun, 10 Nov 2024, 15:00