os212

Home Links

LINKS

  1. Mastering Markdown on Github
    Want to create pages like this? you can start by learning markdown. here’s a page that github provide for us to start learning markdown. In this blog you will be taught basic markdown syntax and how to use it.

  2. Regular Expression Cheat Sheet
    Regular expression is important in any computer environment. Here’s a usefull cheatsheet with its easy to understand explanation that might help you build more efficient regex.

  3. Vim Command List
    Vim is one of the most used text editor in linux. Well its probably because linux usually comes pre-installed with vim but the point still stand. Its sometimes confusing for new user trying to use vim. You can use this command list to help you use vim.

  4. Differences between awk, sed, and grep
    On linux there are many commands you can use. On the text manipulating side, people usually use awk, sed, and grep. What exactly are those? I find this article very useful to me. The explanation are simple and easy to understand.

  5. Cyber Security In 7 Minutes | What Is Cyber Security: How It Works? | Cyber Security | Simplilearn
    Introduction to cyber security in 7 minutes. Learn what cyber security is, types of cyber attack, how to prevent cyber attack by doing cyber security practices, and the cyber security careers. You can start learning about cyber security from here.

  6. Debuggex & regex101
    Handy tool to help you write and visualize your regex.

  7. A Guide to Low Level Programming for Beginners
    C is a programming language that is considered low level. Low level programming language is where you need to allocate memory manually every time you want to use it. This blog will help you understand low level progamming for beginners.

  8. Dynamic Memory Allocation in C using malloc(), calloc(), free() and realloc()
    Being a low level programming language, in C you need to manually allocate every memory that you want to use. If you never use low level programming language or are new to low level programming you might get confused on how to allocate memory dynamically. You can read different memory allocation function that C provide on this site and understand better what each function do.

  9. C - Memory Management
    Video tutorial to help you better understand about memory management in C language

  10. Understanding Shared Libraries in Linux
    In programming, you don’t want to rewrite the same code for every program you want to make, sparing you from the unecessary cluttering and bloated program size. With shared library, you can use the method available in the library without rewriting it on your program. You can visit this article for introduction to shared libraries in linux

  11. Paging in Operating Systems with Example & Working - Memory Management
    Paging is a memory management system that is very popular and widely used even to this day. This video explains what paging is with clear explanation and visual.

  12. What is virtual memory? – Gary explains
    What is a virtual memory? How does it work? I find this video’s explanation very useful and you might too!

  13. Memory Swapping
    Memory swapping is a memory reclamation method wherein memory contents not currently in use are swapped to a disk to make the memory available for other applications or processes. This is very useful if you have no memory left for program to run. You can visit this link and understand more about memory swap

  14. Thrashing in Operating System
    Thrashing is a condition where the system spend more time in paging rather than actual productive processing. This is something you want to avoid. Familiarize yourself with thrashing and its technique to handle this problem.

  15. Demand Paging Notes
    Demand paging is a technique whereby pages are loaded only when they are demanded during program execution. This is commonly used in virtual memory systems. A demand-paging system is similar to a paging system with swapping Demand paging explains one of the primary benefits of virtual memory, by loading only the portions of programs that are needed, memory is used more efficiently. This notes explain very clearly about demand paging.

  16. Process Management (Processes and Threads)
    A short video explaining processes and threads.

  17. Atomic Operation
    Atomic?! thats sounds so cool! but what is atomic operation in operating system? This article can help you understand it.

  18. Semaphores in Operating System
    In computer science, a semaphore is a variable or abstract data type used to control access to a common resource by multiple processes and avoid critical section problems in a concurrent system such as a multitasking operating system. This article explain more of what it is, the advantage of using it, and the disadvantage of using it.

  19. Deadlock
    Deadlock is one of the problem that can arise from multiprocess program. What is a deadlock and how to handle it? This article can help you understand more about it.

  20. Shared Memory
    In Computer Science, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Shared memory is an efficient means of passing data between programs. Depending on context, programs may run on a single processor or on multiple separate processors. Visit this article to understand more about it.

  21. Race Condition
    A situation where several processes access and manipulate the same data concurrently and the outcome of the execution depends on the particular order in which the access takes place, is called a race condition. This Microsoft documentation explains more about race condition and deadlock.

  22. CPU Scheduling
    CPU scheduling is the basis of multiprogrammed operating systems. By switching the CPU among processes, the operating system can make the computer more productive. This article might give you a better idea of what CPU scheduling is.

  23. More about CPU Scheduling
    This article explains further about CPU scheduling such as types of CPU scheduling algorithm.

  24. Multiple Processor Scheduling
    In multiple-processor scheduling multiple CPU’s are available and hence Load Sharing becomes possible. However multiple processor scheduling is more complex as compared to single processor scheduling. In multiple processor scheduling there are cases when the processors are identical i.e. HOMOGENEOUS, in terms of their functionality, we can use any processor available to run any process in the queue. Learn more about Multi-processor Scheduling here.

  25. How do hard drives work? - Kanawat Senanan
    Until the recent invention of solid state drive, hard disk drive were widely used as nonvolatile permanent mass storage to store any data the user wants. But how does it actually work? This youtube video explain how it works in 5 minutes.

  26. Hard Drive Disk Scheduling
    One of the responsibilities of the operating system is to use the hardware efficiently. For HDDs, meeting this responsibility entails access time and maximizing data transfer bandwidth. Doing such thing are performed by varying algorithm. This article explain HDD scheduling.

  27. Bad Blocks
    Because disk have moving parts and small tolerances(such as disk head/reader sit just above the disk surface), they are prone to failure. One of the failure that can happen to HDD are bad block. A bad block is an area of the storage that is no longer reliable or usable because it has been physically damaged or corrupted. Learn more aboud bad block from this article.

  28. Relaxing song to help you study
    If you have trouble studying OS and thinking of giving up or you’re let down by your quiz score, don’t run around or feel hurt! this song will help you relax.