Basic Linux Commands
60 basic commands with explanation and example.
For me, a total beginner, this links is useful because I’m not used to reading the built-in man command.
AWK
Official documentation(?) of AWK
C Language
freeCodeCamp’s beginner handbook for C.
Bash Scripting & for Beginners
Bash scripting tutorial from LinuxConfig
Unix File System
Definition, structure visualization, and types of file system in unix. The structure is known as a directory tree with “/” (root) at the top. Unix file system has 6 types of file, ordinary, directories, special, pipes, sockets, and symbolic links.
File Allocation
There are 3 methods, contiguous, linked, and indexed allocation. In contiguous, each file occupies a contiguous set of blocks on a disk. In linked, each occupied block have a pointer to the next block and can be scattered. In indexed, there’s a special block called Index Block that contains the pointer to all blocks occupied by a file.
Memory Management | Source 1 | Source 2
Sources from internet about memory management. Includes addresses, allocation, fragmentation, paging, segmentation, and loading & linking. Might be useful for next quiz.
Debian Bullseye Memory
Debian official documentation said that 256MB is the minimum RAM for no desktop type. I tried going lower and got to 190MB memory (crashed at 180MB).
Belady’s Anomaly
Anomaly in page replacement algorithm where increasing the number of frame also increase the number of page faults. This anomaly usually occurs on FIFO algorithm when it doesnt follow the stack algorithm (the lesser frame is not a subset of the bigger one). Please correct me if I’m wrong :D
Fork() Bomb
Infinitely calling fork() can fill up your system memory making it unuseable. Fork bomb is a denial of service attack on Linux based system. One way to prevent it is by limiting allowed user’s process in /etc/security/limits.conf
Shared Memory
Two or more processes (ex. parent and child from fork) can interact with each other using shared memory (one of IPC techniques). Shared memory, as the name implies, is a memory that is shared between multiple process. Some systems call related to shared memory is shmget(), shmat(), shmdt(), and shmctl().
Semaphores
Semaphore is an integer variable that is shared between threads. Semaphore is used to prevent critical section problems. There are two types of semaphore, binary (aka mutex lock) and counting. You can increment or decrement the value using signal() or wait().
Linux From Scratch
LFS is a project with step-by-step instruction on how to build your own Linux sysystem. You can create your own compact, flexible, and secure Linux system compared to existing distribution. You can also learn on how Linux system works internally.
RAID
RAID (redundant array of independent disks) is a way of storing data in different places on multiple storage to protect data in case of a drive failure. Not all RAID levels have the goal of providing protection (redundancy). I’ve only heard about RAID 0 and RAID 1 before. RAID 0 doesn’t offer redundancy but gives the best W/R performance and RAID 1 offer redundancy by having 2 copies of a piece of data in 2 drives.