os222

By Nicholas Sidharta

HOMELOGLINKSGITHUB


LINKS

Week 1

  1. devhints - Bash CheatSheet
    This link helped me a lot as a beginner on linux, especially to know all these weird and janky syntaxes that linux uses called Bash and what each everyone of them do is quite the challenge.
  2. ideone
    The one very helpful link I come to everytime I wanted to test out bash commands (or any other programming language :/). This online compiler lets me experiment and try different and wacky bash commands and combinations that I am afraid to try on my local system with ZERO RISKS.
  3. Regex CheatSheet
    A link that I found very useful in finding out more about Regex and very easy to understand in my opinion as a beginner on regex itself. Complete with examples and samples.
  4. Regex FunFacts
    Just a little link I found while searching around the internet for regex cheatsheets but found out that this link is very interesting and pretty informative. The content of the webpage is about Regex vs Regex (Regular Expression) and a short history about Regex itself.
  5. VIM - CheatSheet
    The first week of OS class got me interested in VIM since it was introduced, although not a lot. VIM itself is a very interesting editor and with it comes a great utilities that come in the form of weird commands, thus this cheatsheet really did help me in introducing for the first time what VIM is capable of.
  6. Grep Vs Sed Vs Awk
    Another little link I found while scavenging for OS 222 materials for week 1. This link is very helpful if you want to know the differences of grep, sed, and awk. The link itself is a documentation but I found it pretty easy to understand complete with examples and easy to understand explanations.

Week 2

  1. Private Vs Public Key - GeeksforGeeks A very useful link for me since I was really interested in public and private keys and how they work. Definitely recommended to those who still don’t understand the main difference of those two, really easy to understand and simple.
  2. The C Programming Language Second Edition An insanely complete book about everything you need to know about the C programming language. From the basics to the complex concepts, complete with examples and easy to understand explanations. Recommended for anyone who wants to learn about the C programming language, it really helped me a lot on understanding the concepts of Memory Addressing, Memory Allocations, strings(char*) in C, as well as printf formatings.
  3. Principle of least privilege A very detailed and informative webpage that explains the concept of principle of least privilege in computer and computer network security. I found this term on this week’s slide and got really curious about it, the webpage might be quite devastating at first but honestly it is an amusing explanation complete with images to show how it works.

Week 3

  1. Bind command in Linux A website that teaches me a lot about linux’s bind command. I got interested in learning this since this could help me save a lot of time instead of typing something over and over again especially if a bash line is considered long. I recommended this since I believe it is very complete and very easy to understand, highly recommended.
  2. File Management - Geeks for Geeks A website that explains common file management commands on linux, complete with explanations, examples, and demos. Personally, I think this website is really useful, informative, and really easy to understand.
  3. File Management Commands An addition from the link above, this web explains in more detail about file management as well as providing more examples of file management commands on Unix/Linux. It is complete with easy to understand explanation and examples. Highly recommended.

Week 4

  1. Memory Addressing A relatively short but complete explanation about Memory Addressing, complete with pictures to help demonstrate the action happening under the hood. In my opinion, the explanations are really easy to understand and relatively simple to grasp. This link helped me a lot when first understanding about how memory works and how to access data within a memory using address.
  2. Pointers in C A complete explanation on the practical side of memory addressing using the C language. Pointers are used to access a certain value within an address of a memory. This concept helped me a whole lot when trying to practice memory addressing using C.
  3. Writing to Variable-Format Text Files A really helpful link from IBM that explains about writing to variable-format text files. This page is more of a documentation than an article, so it might take quite the time to understand but this page provided me with a complete information about this topic and I highly recommended it to anyone who is interested.

Week 5

  1. Paging An indepth explanation about paging structures and paging in linux kernel. In my opinion, the explanation is kind of hard to understand but it has a very detailed breakdown and complete with pictures to make it a bit easier to comprehend.
  2. Kernel Panic An easy to understand and complete explanation about kernel panics in different operating systems and different causes of kernel panic. I really recommend this to anyone who is interested in learning more about kernels and kernel panic.
  3. Virtual Vs Physical Memory A forum from stackoverflow that explains in depth about the main difference of physical and virtual memory and complete with their mechanism explanations. A bit complex to understand but it works if you really put your mind into it. This link helped me understand deeper about virtual and physical memories especially in my own computer as well as the one used in virtual box.

Week 6

  1. Maximum number of pid in linux An explanation about the maximum number or process id and how the value of it come to be. Complete with a command on how to access it. This is a very interesting fun fact and a question that was bugging me since the tuesday class about pids.
  2. Difference of _exit() and exit() function An explanation about the difference about this two functions on terminating a process. I believe to be very useful especially with short and compact explanations.
  3. exit vs _exit - gfg An addition to the previous explanation. This link is more to the implementation more than theory. Its very easy to understand and very helpful in my opinion for understanding the usage of the exit function.

Week 7

  1. Deadlock Introduction - gfg A helpful link that explains about deadlock. Complete with a video explanation and pictures to help understand the basic concept of Deadlocks. Highly recommended for general understanding of deadlock.
  2. Banker’s Algorithm - gfg In depth explanation about the banker’s algorithm complete with detailed explanations and implementations with various programming languages. A very helpful programming approach of understanding the banker’s algorithm, highly recommended.
  3. Mutex vs Semaphore - gfg A complete explanation about the differences of mutex and semaphore as well as when to use which thread. Complete with misconception explanations and general questions about mutex and semaphore. Its very easy to understand and very helpful in my opinion.

Week 8

  1. Chroot - ArchWiki A helpful explanation about chroot that was found on one of the LFS chapters. Simple and really to understand to wrap my head around.