OS241: Operating Systems 2024-1

By ghina2703

Hello! Welcome to the Links Part of my GitHub Page for Operating Systems 2024-1

HOME LINKS LOG GITHUB


LINKS 🔗

WEEK 01 🚩

  1. Learn REGEX in 15 Minutes -> This short YouTube video offers a quick introduction to regular expressions (regex), a powerful tool for pattern matching and text manipulation. It covers basic syntax and common use cases.

  2. Virtual Machines explained in 15 Mins -> I found it interesting because it efficiently provided an understanding of how virtual machines operate and why this technology is important in the modern IT world. This video is perfect for beginners who want to understand the basics of virtualization without getting overwhelmed by complex technical details.

  3. The Complete Linux Course: Beginner to Power User -> This YouTube playlist offers a course covering Linux from beginner to advanced levels, spanning over 7 hours of content. It covers topics ranging from basic commands to shell scripting and system administration.

WEEK 02 🚩

  1. Encryption and public keys -> The Khan Academy video explains the essentials of internet encryption, including the roles of public and private keys. It outlines SSL and HTTPS protocols that keep online data transfer secure, using public key cryptography which allows secure communication over the open internet without the need for a shared secret key.

  2. GNU Privacy Guard Guide -> The article serves as a tutorial on GnuPG, discussing key creation, passphrase security, and keyring management in a user-friendly format.

  3. Public and Private Key Blog -> The blog post outlines the fundamentals of asymmetric cryptography, emphasizing the use of public keys for encryption and private keys for decryption in secure communications.

WEEK 03 🚩

  1. Makefile Tutorial by Example -> This website offers a comprehensive guide to understanding and writing Makefiles, crucial for automating the compilation process in software development. It breaks down complex concepts into digestible examples, focusing on C/C++ compilation use cases but applicable to various programming scenarios.

  2. Mounting and Unmounting Disks/Partitions -> This course covers the basics of Unix/Linux commands that allow users to view and edit text files, obtain hardware and system information, partitioning and formatting, process related commands, manipulating disks and partitions, imaging, archiving, logical acquisition, live system response, and basic networking.

  3. FUSE (Filesystem in Userspace) Documentation -> Official documentation for FUSE, a system that allows for custom file systems to be developed and run in user space. It details how FUSE works, its API, and provides guidance for developers on creating their own filesystems with it.

WEEK 04 🚩

  1. Introduction to Pointers in C -> This subject is central to understanding C and C++ programming languages. The video cover the basics of pointers, including pointer arithmetic, the relationship between pointers and arrays, and the use of pointers with functions and structures.

  2. Static Libraries vs. Dynamic Libraries -> This topic explain the differences between static and dynamic libraries in Linux, a key concept in software development. The content would likely explain how to create, use, and manage these libraries, and the advantages and disadvantages of each type.

  3. Segmented, Paged and Virtual Memory -> This video describes how a segmented memory management system employs segments of different sizes. Concepts such as logical and physical memory are explained, as well as the use of secondary storage to provide virtual memory.

WEEK 05 🚩

  1. What is Virtual Memory? -> The video explains fundamental aspects of virtual memory in computers, like the MMU, virtual addresses, and paging. It highlights how virtual addresses are mapped to physical memory addresses.

  2. Everything You Need to Know About Kernel Panics -> When encountering a “kernel panic” rebooting error, it’s a measure taken by the OS to prevent further damage. This article provides safeguards to the system integrity.

  3. What is Thrash? -> This article explains when we experience a page fault where a process tries to access a memory page that has not been prepared or is not in RAM, prompting the operating system to retrieve the page from secondary storage and swap it into RAM. This becomes problematic when such swapping occurs too frequently, leading to a state where the operating system is more engaged in managing memory than executing processes.

WEEK 06 🚩

  1. Process Management (Process and Threads) - Neso Academy -> This video is an educational resource that explains process management, focusing on the concepts of processes and threads, making it easier to focus on the fundamentals of how computer processes are managed.

  2. Concurrency vs Parallelism: A Brief Review -> This article provides an overview of concurrency and parallelism in computing, highlighting the differences between the two and explaining multithreading to deepen understanding of processes.

  3. The fork() System Call -> This article from Michigan Technological University offers an in-depth explanation of the fork() function in C, including how it works, with code examples and visual aids to aid comprehension of process creation in programming.

WEEK 07 🚩

  1. What is Deadlock -> This video explains deadlocks in operating systems with an analogy of two trains unable to pass each other on the same track, illustrating how processes can stall when they block each other from accessing necessary resources.

  2. What is a semaphore? -> The video introduces semaphores as tools for managing access to shared resources in concurrent programming, helping to prevent problems like deadlock.

  3. Process Synchronization in Operating System -> It likely discusses how different synchronization techniques ensure that multiple processes can operate smoothly and efficiently without interfering with each other.

WEEK 08 🚩

  1. CPU Scheduling Basics -> This YouTube video by Jacob Sorber provides an introduction to the basic concepts of CPU scheduling in computer science. It includes detailed examples to help clarify these concepts.

  2. What is Process Scheduling in OS? -> This TutorialsPoint page offers a detailed discussion on process scheduling within operating systems, covering different types of queues like Job Queue and Ready Queue, and explaining the Two-State Process Model.

  3. Linux File System/Structure Explained! -> This video outlines the structure of the Linux file system, explaining the purpose and contents of various directories within the Linux base directory.



© 2024 — ghina2703 — Version: 01-May-2024.