Unix/Linux Internals

Get Started. It's Free
or sign up with your email address
Rocket clouds
Unix/Linux Internals by Mind Map: Unix/Linux Internals

1. Introduction

1.1. Kernel

1.2. Types Of Kernel

1.2.1. Microkernel

1.2.1.1. A microkernel takes the approach of only managing what it has to: CPU, memory, and IPC. Pretty much everything else in a computer can be seen as an accessory and can be handled in user mode

1.2.2. Monolithic Kernel

1.2.2.1. Monolithic kernels are the opposite of microkernels because they encompass not only the CPU, memory, and IPC, but they also include things like device drivers, file system management, and system server calls.

1.3. Linux vs Classic Unix Kernel

1.4. Process Management

2. Kernel data structure

2.1. 1. linked list

2.2. 2. Queues

2.3. 3. Maps

2.4. 4 Binary tree

2.5. 5 what data structure to use

3. Kernel synchronization

3.1. Concurrency

3.2. Contention and scalability

3.3. Kernel Synchronization Method

3.3.1. Spin lock

3.3.2. Semaphore

3.3.3. completion variable

3.3.4. Big kernel lock

3.3.5. Preemption disabling

4. Timer,Time and Memory management

4.1. Tick rate

4.2. Jiffies

4.3. Hardware and clock Timer

4.4. Delay Execution

4.5. Memory Management

4.5.1. pages

4.5.2. zones

4.5.3. kmalloc()

4.5.4. vmalloc()

4.5.5. Slab layer

5. Virtual file system

5.1. File System abstraction layer

5.2. VFS object

5.2.1. Super block

5.2.2. Inode object