os212

HOME

Links for os212

  1. VirtualBox Walkthrough
    VirtualBox is a virtualization product which can be use by enterprise and home user. This links serve as an alternative guide from the VLSM OS website that serves as a virtualization for Windows, Linux, Macintosh, and solaris. This manual interests me as the links provided gave a nice explaination for every step in using the virtualbox.
  2. Git Documentation
    This Git Command documentation explains a lot of different way to use git. The documents given provides some reference manual, cheat sheets, and video tutorials. The documentation is interesting since it gives comprehensive knowledge towards the platform that we commonly use (github/gitlab).
  3. Basic Linux Command
    The links is an article on 35 of linux basic commands that will most probably be used in this semester. This links is very helpful especially for linux beginner such as myself to have a simple explanation for basics commands available for linux.
  4. Nano
    Nano is an editor just like vi that is available for UNIX Operating System. Some people like nano better than vi since it is more user friendly as they provide guide icon and less complicated than vi. During the first week, I tried to implement both vi and nano as an editor and for now, nano suits me better than vi.
  5. Linux Security
    This website explains briefly about how linux security works and compares on how linux security is better than windows or maxOS security. The link explains how different kind of operating system gives different output of security but somehow got underestimated by enterprises. The article explains that even tho linux is an open source which seems like a scary thing for security, but this allows anyone to review it and make sure there are no bugs or back doors. After i read the article, I personally believe that linux OS have the best security but it requires a power user since it provides less user interface.
  6. How Public Key Encryption Work?
    This link gives a great explanation about public key encryption and cryptographic key. The link explains about how public key encryption works in a sense that even someone like myself who is new to the concept can understand easily with a real-life examples. This link also explains how TLS/SSL are related to public key in which they use public key encryption as a secure communication over the internet.
  7. OS Security
    Through a simple display of the website, this link explain how operating system security method works in detail, from encryption techniques to real-world applications. The appearance of the website looks simple but the content iteslf is very useful especially for someone who is new to how operating system security works. This website gives me a deeper understanding towards security as how important security can be (They also briefly explains how stack and buffer overflow works in C program which is related to C programming that is used for this weeks topics).
  8. Learn C programming
    Learning C programming for me is a bit different compare to other languages that I’ve learned such as python or java. Even tho they both have similarities in programming language, C-language for me feels like a combination of python and java language where it has a simple syntax like python but does not read per line. The web itself gives a glimpse of how C-language works that is closely related to the way machines work. The website includes an interactive terminal which gives me better curiosity on how a mix-and-match code that I created in the web gives a slightly different output.
  9. Virtual Storage in VirtualBox
    Even tho this website provides little to no designs, it provides description on what we are doing for the assignment 3, it explains how Virtual Storage work. The website provides a comprehensive details starting from the things that we’ve done from assignments until detailed informations about virtual storage.
  10. VirtualBox forum
    This forum is one of the most useful forum for virtualbox as this is one private platform that fully supports virtualbox. I myself use this often for operating system as this forum helps me fix some problems during virtual box setup and during importing ova. I am sure majority of the problems that the operating system class has encountered have been posted in this forum and has been solved.
  11. Little and Big Endians in C
    Explains Endianness and its implementation in C. But what makes this article more interesting is the example in C code so that I can improve myself furthur in C programming. This website also explains how you can understand data representation, especially in C, in a deeper way.
  12. Paging in Operating System
    Explains what it is and the paging system in the Operating System,the website also explains that Paging is a memory management scheme that eliminates the need for contiguous allocation of physical memory. The examples in the links provided saw that the initial problems that led to the existence of this system, goals, and solutions were provided until the Paging system was formed.
  13. Explanation about Disk Fragmentation
    Explain what disk fragmentation (and defragmentation) is, its uses, purposes and advantages and disadvantages of the system. The website is interesting because it explains what fragmentation is and what defragmentation does in operating system. This website is pretty relatable for me since it explains disk fragmentation in an “operating system” way and how it is used in basic activity especially anything related to disk problems and the lifetime of a storage.
  14. Virtual Memory
    This link is a reference to a video playlist that explains virtual memory in great detail, from how it works, page tables, to TLB and Caches. For me this video gives a good perspective on computer architecture beyond the explaination in slides and class. The video gives a concrete examples and act as a fine addition to the explaination given during OS class with Mr. RMS.
  15. Memory Hierarchy This links briefly explain what the memory hierarchy is and its characteristics. The link gives the types of systems, and recognize the various characteristics of each system. I Choose this topic as this ties my knowledge between what I currently know after following back POK class and expand my views towards memory hierarchy on operating system class.
  16. Google Chrome and Ram I Include this link to the list since this topic is pretty interesting especially when learning RAM. The culture on the internet always said that google chrome uses a lot of RAM, this link explains how chrome uses the ram and why chrome takes up more ram than oher browser. This article answer many questions that are related to how chrome handles memory usage.
  17. Multithreading in C
    Multithreading is one of the topics that I have studied during the advanced programming course, Even though I used java in advanced programming course, This link provide the relevancies based on what I have studied and who would have known that what I studied in Advanced programming course have similar impact on Operating system course. In general, this links Discusses what threads are, how they differ from regular processes and why multithreading is good. This article focuses on discussing multithreading as a whole and multithreading in C-language.
  18. Process vs Thread
    This link perfectly compares how Thread and Process may differ based on our understanding, A process is the execution of a program that allows the user to perform a specific action within the program. Meanwhile, the thread is part of the process. However, the difference between the two is not limited to this. The web above explains the differences in more detail between the two.
  19. PID and PPID
    This link explains what PID and PPID is, even if PID and PPID have a similar names. PID (Process ID) is an ID of a running process. In addition, there is also a PPID (Parent Process ID), which is the ID of the parent process that causes the process to run.
  20. Deadlock in OS
    This link explains how to indentify problems that may cause deadlocks and various ways to handle deadlocks if a deadlock has occur. This link also provides tips and trick so that deadlocks will rarely occur.
  21. Deadlock Prevention and Avoidance
    Explains what happens if a deadlock had already occurs. There are several techniues for recovery from deadlock conditions such as eliminate mutual exclusion, eliminate hold and wait or Banker’s Algorithm
  22. Banker’s Algorithm in OS
    Such as the links above, this link explains one of the ways to prevent deadlock which is bankers algorithm. It is called Banker’s algorithms because this algorithm uses a banking system to check whether a loan can be sanctioned or not.
  23. Semaphores in Process Synchronization
    This link explains the definition of semaphore, the function and types of semaphore. Definition wise, semaphore is a variable that is non-negative and shared between threads. This variable is used to solve the critical section problem and to achieve process synchronization in the multiprocessing environment.
  24. Linux From Scratch
    This link is very very useful for everyone attending OS since this weeks assignment is based on Linux from scratch website. This websie clearly explains each function of a command that we make so that we don’t go copy/paste blindly. This website also explains a clear instruction on what we should/shouldn’t do. Not only instruction, this website provide ways to fix troubleshoot error during our linux experience.
  25. Multiprocessing
    This website explains briefly about 2 common ways of working (Symmetric Multiprocessing and Asymmetric Multiprocessing), as well as other things like Non-Uniform Memory Access. This website is interesting because it explains how a multiprocessor CPU divides the load across different cores.
  26. Load Balancing
    The article explains how load balancers work, their uses, hardware vs software balancers, discusses round robin, Least Connection Method, Least Response Time Method, Least Bandwidth Method, and more. And provide other articles that discuss this in more depth. Load balancing is defined as the methodical and efficient distribution of network or application traffic across multiple servers in a server farm. Each load balancer sits between client devices and backend servers, receiving and then distributing incoming requests to any available server capable of fulfilling them.