adugast.github.io

The Not So Fast Linux Notions Guide

The Not So Fast Linux Notions Guide

Type: Document OS: Linux Website: ON : https://adugast.github.io/


Linux Logo

Summary

  1. Hardware
  2. Boot-Sequence
  3. Kernel
  4. Linux System
  5. IPC
  6. Socket Programming
  7. OSI Model
  8. Embedded Linux
  9. Internet (Code.org)
  10. Unit Test
  11. Machine Learning, AI and Neuronal Network
  12. Quantum Computing
  13. Best Resources

1) Hardware

go further:

2) Boot-Sequence

go further:

different initsystems:

different bootloaders:

3) Kernel

Linux Kernel Structure

Components Manage Hardware
process management scheduler, signal handling, process/threads CPU
memory management virtual memory and MMU RAM
filesystems filesystem types and block devices Hard Disk, floppy disk, CD
device drivers character devices User peripherals (mouse, keyboard, audio, ..)
network management network drivers and network protocols Network Controller (ethernet or wifi)

Types:

Modularity:

go further:

4) Linux System

POSIX: Portable Operating System Interface (standard, norme)

C lib

Elf format and object code:

GCC:

Filesystems:

FHS - Filesystem Hierarchy Standard Linux Filesystem Hierarchy

System Daemons:

Mutexes:

Processes: Page Table

Memory Allocation algorythm:

Linux MANUALS:

use man man !    

Man pages are organized in 8 sections:

Section nbr Manage
man 1 Executable programs or shell commands
man 2 System calls (functions provided by the kernel)
man 3 Library calls (functions within program libraries)
man 4 Special files (usually found in /dev)
man 5 File formats and conventions eg /etc/passwd
man 6 Games
man 7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)
man 8 System administration commands (usually only for root)
man 9 Kernel routines [Non standard]

5) IPC

6) Socket Programming

7) OSI Model - Open System Interconnection

Level Layer Name Manage Hardware
7 application web browser, http, ftp, dns, telnet, smtp, ssh, snmp, nfs Allow access to network resource
6 presentation SSL, TLS, ASCII, jpeg, gif, html Translate, encrypt, compress data
5 session Socket RPC Establish, manage and terminate sessions
4 transport TCP UDP SPX Provide reliable message delivery and error recovery
3 network IP IPX Appletalk Move packets from source to destination and provide networking
2 data ethernet, token ring, 802.11 Organize bits into frames and provide hop-to-hop delivery
1 physical copper, fiber, antenna (electric, light, radio signals) Transmit bits over a medium and provide mechanical and electrical specifications

data encapsulation principles

go further:

Host A sends a TCP SYNchronize packet to Host B
Host B receives A’s SYN
Host B sends a SYNchronize-ACKnowledgement
Host A receives B’s SYN-ACK
Host A sends ACKnowledge
Host B receives ACK.
TCP socket connection is ESTABLISHED.
```

8) Embedded Linux

Platform requirement -> arm, mips, xtensa, intel, amd, powerpc

Buildroot

Buildroot is a build embedded system automation. It provides a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.

Generates:

Similar project:

Qemu

Qemu is a generic, lightweight and open source machine emulator and virtualizer

Busybox

The Swiss Army Knife of Embedded Linux

go further:

9) Internet

Code.org Logo

  1. What is the internet ?
  2. The internet: Wires, Cables, Wifi
  3. The Internet: IP Addresses & DNS
  4. The Internet: Packets, Routing & Reliability
  5. The Internet: HTTP & HTML
  6. The Internet: Encryption & Public Keys
  7. The Internet: Cybersecurity & Crime
  8. The Internet: How Search Works

Network architecture:

10) Unit Test

Test Doubles:

Difference between fakes, mocks and stubs

11) Machine Learning, AI, and Neuronal Network

12) Quantum Computing

Quantum Computers Explained

13) Best References

Powered by