# arifpucit/os-codes architecture

> Architecture diagram of the GitHub repository arifpucit/os-codes, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/arifpucit/os-codes
- Repository: https://github.com/arifpucit/os-codes

## Overview

This is an educational operating-systems code collection, not a single runtime application. A learner’s path is to explore lecture examples of C and memory, file and terminal I/O, processes and threads, signals and IPC/networking, then apply concepts in programming assignments. The map groups examples by those domains; the source samples are independent demonstrations, so no inter-example execution pipeline is implied. README capability descriptions and the file tree guide the map; unsampled implementations are represented only at their supported directory level.

Main entry points: [`Module-1`](https://github.com/arifpucit/os-codes/tree/main/Module-1) (C & Linking), [`Module-1/Lec-1.6`](https://github.com/arifpucit/os-codes/tree/main/Module-1/Lec-1.6) (Memory & ABI), [`Module-2/Lec-2.2`](https://github.com/arifpucit/os-codes/tree/main/Module-2/Lec-2.2) (File I/O), [`Module-2/Lec-2.3`](https://github.com/arifpucit/os-codes/tree/main/Module-2/Lec-2.3) (Directories & Metadata)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_foundations["C Foundations"]
  node_c_basics["C &amp; Linking"]
  node_memory["Memory &amp; ABI<br/>[Lec-1.6]"]
end

subgraph group_files["Files &amp; Terminal"]
  node_file_io["File I/O<br/>[Lec-2.2]"]
  node_file_metadata["Directories &amp; Metadata<br/>[Lec-2.3]"]
  node_terminal_io["Terminal I/O<br/>[Lec-2.4]"]
end

subgraph group_execution["Processes &amp; Signals"]
  node_processes["Process Control"]
  node_threads["Threads<br/>[Lec-3.3]"]
  node_signals["Signals<br/>[Lec-4.1]"]
  node_sync_threads["Thread Synchronization<br/>[Lec-5.2]"]
  node_sync_semaphores["Semaphores<br/>[Lec-5.3]"]
end

subgraph group_communication["IPC &amp; Networking"]
  node_pipes_fifos["Pipes &amp; FIFOs<br/>[Lec-4.2]"]
  node_message_queues["Message Queues<br/>[msgq]"]
  node_shared_memory["Shared Memory<br/>[shm]"]
  node_sockets["Socket Programs<br/>[Lec-4.4]"]
end

subgraph group_assignments["Assignments"]
  node_ls_assignment["Directory Listing"]
  node_shell_assignment["Shell Assignment"]
end

node_learner(("Learner"))

node_learner -->|"studies"| node_c_basics
node_learner -->|"studies"| node_memory
node_learner -->|"studies"| node_file_io
node_learner -->|"studies"| node_file_metadata
node_learner -->|"studies"| node_terminal_io
node_learner -->|"studies"| node_processes
node_learner -->|"studies"| node_threads
node_learner -->|"studies"| node_signals
node_learner -->|"studies"| node_pipes_fifos
node_learner -->|"studies"| node_message_queues
node_learner -->|"studies"| node_shared_memory
node_learner -->|"studies"| node_sockets
node_learner -->|"studies"| node_sync_threads
node_learner -->|"studies"| node_sync_semaphores
node_learner -->|"practices"| node_ls_assignment
node_learner -->|"practices"| node_shell_assignment

click node_c_basics "https://github.com/arifpucit/os-codes/tree/main/Module-1"
click node_memory "https://github.com/arifpucit/os-codes/tree/main/Module-1/Lec-1.6"
click node_file_io "https://github.com/arifpucit/os-codes/tree/main/Module-2/Lec-2.2"
click node_file_metadata "https://github.com/arifpucit/os-codes/tree/main/Module-2/Lec-2.3"
click node_terminal_io "https://github.com/arifpucit/os-codes/tree/main/Module-2/Lec-2.4"
click node_processes "https://github.com/arifpucit/os-codes/tree/main/Module-3"
click node_threads "https://github.com/arifpucit/os-codes/tree/main/Module-3/Lec-3.3"
click node_signals "https://github.com/arifpucit/os-codes/tree/main/Module-4/Lec-4.1"
click node_pipes_fifos "https://github.com/arifpucit/os-codes/tree/main/Module-4/Lec-4.2"
click node_message_queues "https://github.com/arifpucit/os-codes/tree/main/Module-4/Lec-4.3/msgq"
click node_shared_memory "https://github.com/arifpucit/os-codes/tree/main/Module-4/Lec-4.3/shm"
click node_sockets "https://github.com/arifpucit/os-codes/tree/main/Module-4/Lec-4.4"
click node_sync_threads "https://github.com/arifpucit/os-codes/tree/main/Module-5/Lec-5.2"
click node_sync_semaphores "https://github.com/arifpucit/os-codes/tree/main/Module-5/Lec-5.3"
click node_ls_assignment "https://github.com/arifpucit/os-codes/tree/main/Programming-Assignments/PA-02"
click node_shell_assignment "https://github.com/arifpucit/os-codes/tree/main/Programming-Assignments/PA-03/base-assignment-03/src"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_c_basics,node_memory toneBlue
class node_file_io,node_file_metadata,node_terminal_io toneAmber
class node_processes,node_threads,node_signals,node_sync_threads,node_sync_semaphores toneMint
class node_pipes_fifos,node_message_queues,node_shared_memory,node_sockets toneRose
class node_ls_assignment,node_shell_assignment,node_learner toneIndigo
```

## Components

### C Foundations

- [C & Linking](https://github.com/arifpucit/os-codes/tree/main/Module-1): `Module-1`
- [Memory & ABI](https://github.com/arifpucit/os-codes/tree/main/Module-1/Lec-1.6): `Module-1/Lec-1.6`

### Files & Terminal

- [File I/O](https://github.com/arifpucit/os-codes/tree/main/Module-2/Lec-2.2): `Module-2/Lec-2.2`
- [Directories & Metadata](https://github.com/arifpucit/os-codes/tree/main/Module-2/Lec-2.3): `Module-2/Lec-2.3`
- [Terminal I/O](https://github.com/arifpucit/os-codes/tree/main/Module-2/Lec-2.4): `Module-2/Lec-2.4`

### Processes & Signals

- [Process Control](https://github.com/arifpucit/os-codes/tree/main/Module-3): `Module-3`
- [Threads](https://github.com/arifpucit/os-codes/tree/main/Module-3/Lec-3.3): `Module-3/Lec-3.3`
- [Signals](https://github.com/arifpucit/os-codes/tree/main/Module-4/Lec-4.1): `Module-4/Lec-4.1`
- [Thread Synchronization](https://github.com/arifpucit/os-codes/tree/main/Module-5/Lec-5.2): `Module-5/Lec-5.2`
- [Semaphores](https://github.com/arifpucit/os-codes/tree/main/Module-5/Lec-5.3): `Module-5/Lec-5.3`

### IPC & Networking

- [Pipes & FIFOs](https://github.com/arifpucit/os-codes/tree/main/Module-4/Lec-4.2): `Module-4/Lec-4.2`
- [Message Queues](https://github.com/arifpucit/os-codes/tree/main/Module-4/Lec-4.3/msgq): `Module-4/Lec-4.3/msgq`
- [Shared Memory](https://github.com/arifpucit/os-codes/tree/main/Module-4/Lec-4.3/shm): `Module-4/Lec-4.3/shm`
- [Socket Programs](https://github.com/arifpucit/os-codes/tree/main/Module-4/Lec-4.4): `Module-4/Lec-4.4`

### Assignments

- [Directory Listing](https://github.com/arifpucit/os-codes/tree/main/Programming-Assignments/PA-02): `Programming-Assignments/PA-02`
- [Shell Assignment](https://github.com/arifpucit/os-codes/tree/main/Programming-Assignments/PA-03/base-assignment-03/src): `Programming-Assignments/PA-03/base-assignment-03/src`

### Other components

- **Learner**

## Connections

- Learner → C & Linking: studies
- Learner → Memory & ABI: studies
- Learner → File I/O: studies
- Learner → Directories & Metadata: studies
- Learner → Terminal I/O: studies
- Learner → Process Control: studies
- Learner → Threads: studies
- Learner → Signals: studies
- Learner → Pipes & FIFOs: studies
- Learner → Message Queues: studies
- Learner → Shared Memory: studies
- Learner → Socket Programs: studies
- Learner → Thread Synchronization: studies
- Learner → Semaphores: studies
- Learner → Directory Listing: practices
- Learner → Shell Assignment: practices
