os212

Links

Week 02

  1. AWK command in Unix/Linux with examples Explains the basics of how to use the Awk command, complete with an explanation of what Awk is, what it can be used for, and examples on how to use it.

  2. MAN command in Linux with examples Explains the man command, which in my opinion is a highly underrated command that is useful for studying about any Linux commands, especially when you don’t know where to start/forget what flags you can use for the command.

  3. The Linux command line for beginners In my opinion this is a very useful guide for someone who’s never used/is not used to the Linux CLI before. It teaches readers the history of the Linux command line, how to access a CLI from your computer, and also some basic commands including but not limited to file manipulation, pipes, stdout, and superuser/sudo.

  4. Bash Scripting Tutorial for Beginners A short intro to shell scripting in Linux. This is quite useful for transitioning from Python scripting (which most of us are used to from DDP1) to shell scripting using sh/bash, with some useful basic examples including one for backing up a folder into a tarball.

Week 03

  1. An Introduction to Linux Filesystems A useful article that introduces readers to Filesystems in Linux, starting from it’sd efinition, function, directory structure, and types.

  2. Red Hat - ext4 File System Documentation Rough outline on ext4, the current primary filesystem used for most modern linux distros.

  3. The Comparison of Btrfs vs ext4 Filesystems A comparison between ext4 and the more modern Btrfs. Btrfs is a new CoW (copy on write) file system developed in 2009 that is starting to get more traction due to it’s increased partition size and number of files.

Week 04

  1. StackOverflow - C Memory Management A thread discussing about how memory management works in the C programming language.

  2. CodingUnit - The functions malloc and free This post explains about the basics of using the malloc and free command in the C programming language. In my opinion it is quite useful for learning about how C pointers relate to the malloc and free command.

  3. Programiz - C Dynamic Memory Allocation Like the previous entry, this post explains about C memory allocation, but it also includes an intro on the calloc command.

Week 05

  1. GeeksForGeeks - Copy on Write A useful article explaining the concept of Copy on Write as a system resource management technique.

  2. javatpoint - Demand Paging An article explaining about Demand Paging as a concept.

  3. Tech Monitor - What is virtual memory? This article explains about the basics of Virtual Memory in Operating Systems, and why it is implemented.

Week 06

  1. man7.org - fork() An entry on the Linux manual page about the fork function, how to use it, and it’s use cases.

  2. GeeksForGeeks - fork() in C An article that explains about C’s implementation and usage of the fork() function.

  3. Wikipedia - fork (system call) The Wikipedia article for fork that explains in depth about the history and variations of the fork function.

Week 07

  1. StackOverFlow - How to use shared memory with linux in C A StackOverFlow post discussing about how to use shared memory in Linux.
  2. man7.org - shm_overview An overview on the usage of the POSIX shared memory API.
  3. tutorialspoint - Inter Process Communication - Shared Memory An article explaining about the concept of shared memory and IPC and it’s usage.

Week 08

  1. LFS - Linux From Scratch The official LFS project page with step by step instructions for building an LFS system.
  2. Wikipedia - Linux From Scratch Wikipedia article with general knowledge about LFS
  3. YouTube - Linux From Scratch 8.2 A series on how to build LFS 8.2, useful for general pointers.

Week 09

  1. LFS - Chapter 8 Official resource on how to build the actual LFS system after setting up chroot. Alot of potential issues and warnings that may occur are covered in the guide, with any other edge cases being solvable with a quick google search.

  2. LinuxQuestions - zic: can’t open sh yearistype.sh A forum post about a bug that may occur while setting up libstdc timezones. Apparently the enviroment variable for $TIMEZONE might get reset every so often, so be sure to set it back to /usr/share/zoneinfo. Also note that the timezone tar file included with OS212 is outdated (the one given is the a revision, while the one on the guide is a newer revision).

  3. sis.pitt.edu - What is a Makefile?.&text=These%20rules%20tell%20the%20system,recompile)%20a%20series%20of%20files.) I was curious on what a Makefile actually is. This resource gives a clear definition of what it is and it’s significance in the build process.