System Design

Kompyuter va tarmoq asoslari

System design tushunish uchun kompyuter va tarmoq asoslarini bilish shart.

Kompyuter arxitekturasi

Asosiy komponentlar

┌──────────────────────────────┐
│         CPU (Protsessor)     │ ← Hisoblashlar
├──────────────────────────────┤
│         RAM (Xotira)         │ ← Tez, vaqtinchalik
├──────────────────────────────┤
│         Disk (Storage)       │ ← Sekin, doimiy
├──────────────────────────────┤
│      Network (Tarmoq)        │ ← Aloqa
└──────────────────────────────┘

Tezlik taqqoslash

OperatsiyaVaqtReal hayot analogiyasi
CPU registr1 ns1 soniya
RAM o’qish100 ns1.5 minut
SSD o’qish10 μs2.7 soat
HDD o’qish10 ms4 oy
Internet100 ms3 yil

Xulosa: Disk va tarmoq eng sekin operatsiyalar. System design’da asosan shu ikkalasini optimize qilish kerak.

OSI Model (7 qatlam)

Tarmoq 7 ta qatlamdan iborat:

7. Application   ← HTTP, FTP (sizning ilovangiz)
6. Presentation  ← SSL/TLS, Encryption
5. Session       ← Authentication, Session
4. Transport     ← TCP, UDP (port: 80, 443)
3. Network       ← IP, Routing (IP address)
2. Data Link     ← MAC address, Ethernet
1. Physical      ← Kabel, WiFi

System design’da asosiy 3 ta:

Client-Server modeli

Zamonaviy internet client-server modelida ishlaydi:

┌─────────┐                    ┌─────────┐
│ Client  │ ──── Request ────→ │ Server  │
│ (Phone) │                    │ (AWS)   │
│         │ ←─── Response ──── │         │
└─────────┘                    └─────────┘

Client

Server

IP Address va Port

IP Address

Har bir kompyuterning internet’dagi manzili:

IPv4: 192.168.1.1 (4 milliard manzil)
IPv6: 2001:0db8:85a3::8a2e:0370:7334 (340 undecillion)

Private IP (ichki tarmoq):

Public IP (internet):

Port

Bitta kompyuterdagi turli xil xizmatlar:

IP: 192.168.1.1
  ├─ Port 80  → HTTP (web server)
  ├─ Port 443 → HTTPS (secure web)
  ├─ Port 22  → SSH (remote access)
  ├─ Port 5432 → PostgreSQL
  └─ Port 6379 → Redis

Full address: 192.168.1.1:443

Request-Response Lifecycle

Brauzerda facebook.com yozganingizda nima bo’ladi?

1. DNS Lookup
   facebook.com → 157.240.241.35

2. TCP Connection
   Client ←→ Server (3-way handshake)

3. HTTP Request
   GET / HTTP/1.1
   Host: facebook.com

4. Server Processing
   - Database'dan ma'lumot olish
   - HTML generatsiya qilish

5. HTTP Response
   HTTP/1.1 200 OK
   Content-Type: text/html
   <html>...</html>

6. Rendering
   Brauzer HTML'ni ko'rsatadi

Vaqt: Jami ~100-500 millisekund

Latency va Throughput

Latency (Kechikish)

Bitta requestning vaqti:

Latency = 100 ms
User → [100ms] → Server → [100ms] → User

Low latency muhim: Gaming, video call, trading

Throughput (O’tkazish qobiliyati)

Soniyasiga nechta request:

Throughput = 1000 req/sec

High throughput muhim: Video streaming, file downloads

Trade-off

Ko’pincha latency va throughput o’rtasida tanlov qilish kerak:

Bandwidth va Data Transfer

Bandwidth

Tarmoq “quvur” o’lchami:

10 Mbps  → Uy interneti
100 Mbps → Biznes internet
10 Gbps  → Data center

Data Transfer narxi

Cloud provayderlar trafik uchun pul oladi:

AWS pricing:

Real misollar:

Optimization: CDN va caching bilan kamaytiramiz

Protokollar

TCP (Transmission Control Protocol)

Qachon: HTTP, Database, File transfer

UDP (User Datagram Protocol)

Qachon: Video streaming, gaming, DNS

Xulosa

Muhim tushunchalar:

  1. Disk va tarmoq eng sekin — bu yerda optimize qiling
  2. Client-Server — asosiy arxitektura modeli
  3. IP va Port — manzil tizimi
  4. Latency vs Throughput — ikkalasini balanslashtiring
  5. TCP vs UDP — ishonchlilik vs tezlik

Keyingi dars: Internet protokollari (HTTP, DNS va boshqalar).