Kompyuter savodxonligi va xavfsizlik
1-dars / 15
Pingvi
Kompyuter qanday ishlaydi
Protsessor, xotira, disk, operatsion tizim; bit va bayt; ikkilik sanoq
1-bob. Raqamli dunyoda xavfsiz
15 daqiqa
Python
4 savol
Kompyuter — telefon, noutbuk yoki server bo'ladimi — bir xil qismlardan iborat:
| Qism | Vazifasi | O'xshatish |
|---|---|---|
| Protsessor (CPU) | buyruqlarni bajaradi, hisoblaydi | oshpaz |
| Operativ xotira (RAM) | hozir ishlayotgan narsalar — tez, lekin o'chganda yo'qoladi | oshxona stoli |
| Disk (SSD/HDD) | fayllarni doimiy saqlaydi | muzlatgich va javon |
| Operatsion tizim (OS) | hammasini boshqaradi: Windows, Android, Linux, macOS, iOS | oshxona boshlig'i |
Telefoningiz «sekinlashdi» desangiz — ko'pincha RAM band (juda ko'p dastur ochiq) yoki disk to'lgan bo'ladi.
Bit va bayt
Kompyuter ichida hamma narsa — matn, rasm, musiqa — 0 va 1 lardan iborat. Bitta 0 yoki 1 — bit. 8 bit — bayt.
print(bin(13)) # 13 ni ikkilik ko'rinishda
print(int("1101", 2)) # ikkilikdan o'nlikka
print(2 ** 8) # 1 baytda nechta turli qiymat
# Natija: 0b1101
# Natija: 13
# Natija: 256
| Birlik | Hajm | Taxminan nima sig'adi |
|---|---|---|
| 1 bayt | 8 bit | bitta lotin harfi |
| 1 KB (kilobayt) | 1024 bayt | qisqa matnli xabar |
| 1 MB (megabayt) | 1024 KB | bitta telefon rasmi (2–5 MB) |
| 1 GB (gigabayt) | 1024 MB | ~1 soatlik video |
| 1 TB (terabayt) | 1024 GB | minglab film |
💡 Internet tezligi odatda bitda o'lchanadi (Mbit/s), fayl hajmi esa baytda (MB). 100 Mbit/s tezlik — soniyasiga taxminan 12,5 MB. Shuning uchun «100 megabitli internetda 100 MB fayl 1 soniyada yuklanmaydi».
Amaliyot Python
Bayt sonini tushunarli ko'rinishga keltiring: 1024 dan kichik — bayt, aks holda KB, MB yoki GB (bir xona aniqlikda):
500 B
1.5 KB
5.0 MB
2.0 GB
input() uchun ma'lumotlar
Kodni yozib, «Ishga tushirish» ni bosing. Birinchi marta Python yuklanishi bir necha soniya oladi.
Yechimni ko'rish
def hajm(bayt):
if bayt < 1024:
return f"{bayt} B"
for birlik in ["KB", "MB", "GB"]:
bayt /= 1024
if bayt < 1024 or birlik == "GB":
return f"{bayt:.1f} {birlik}"
for b in [500, 1536, 5_242_880, 2_147_483_648]:
print(hajm(b))