Asosiy kontentga o‘tish
Informatik.uz
Bakalavr · 3-kurs1-bob. Operatsion tizimlar

Jarayonlar va oqimlar

Dastur va jarayon farqini, jarayon holatlarini, protsessor vaqti taqsimlanishini va oqimlarni o‘rganasiz. Umumiy xotirada parallel ishlashning xavflari — poyga holati va o‘zaro blokirovka bilan tanishasiz.

1-mavzu / 22 daq o‘qishYangilangan: 27-oktabr, 2026
Mavzular ro‘yxati (1 / 2)

1-bob. Operatsion tizimlar

  1. 1Jarayonlar va oqimlar

2-bob. Tarmoq texnologiyalari

  1. 2HTTP protokoli va REST API

Dastur — diskda saqlanadigan passiv kod va ma’lumotlar to‘plami, jarayon (process) esa uning bajarilayotgan nusxasidir. Operatsion tizim har bir jarayonga alohida manzillar maydonini (kod, ma’lumotlar, uyum va stek) ajratadi, ochiq fayllar ro‘yxatini yuritadi, jarayon haqidagi ma’lumotlarni esa jarayon boshqaruv blokida (PCB) saqlaydi. Shu tufayli bir jarayon boshqasining xotirasini to‘g‘ridan-to‘g‘ri o‘zgartira olmaydi, bu esa tizim barqarorligi va xavfsizligini ta’minlaydi.

Jarayon hayoti davomida bir necha holatda bo‘ladi: yangi, tayyor, bajarilmoqda, kutmoqda (masalan, disk operatsiyasi tugashini) va tugagan. Protsessor vaqtini jarayonlar o‘rtasida rejalashtiruvchi (scheduler) taqsimlaydi; eng sodda usullardan biri — Round Robin, unda har bir jarayonga navbat bilan qisqa vaqt kvanti beriladi. Protsessorni bir jarayondan boshqasiga berish kontekst almashtirish (context switch) deyiladi: registrlar va PCB saqlanib, yangi jarayonniki tiklanadi, shu vaqt davomida foydali ish bajarilmaydi.

Oqim (thread) — jarayon ichidagi bajarilish birligi. Bir jarayonning oqimlari umumiy manzillar maydoni va ochiq fayllarni bo‘lishadi, lekin har birining o‘z steki, registrlari va buyruqlar hisoblagichi bor. Shu sababli oqim yaratish va ular orasida almashish jarayonlarga qaraganda arzonroq, ma’lumot almashish esa osonroq. Ko‘p yadroli protsessorda oqimlar haqiqatan parallel ishlay oladi, bitta yadroda esa navbatma-navbat bajariladi.

Umumiy xotira qulay, ammo xavfli: ikki oqim bir vaqtda bitta o‘zgaruvchini o‘zgartirsa, natija bajarilish tartibiga bog‘liq bo‘lib qoladi, bunga poyga holati (race condition) deyiladi. Masalan, counter += 1 amali aslida uch qadam: qiymatni o‘qish, bittaga oshirish va yozish; ikki oqim bu qadamlarni aralashtirsa, bitta oshirish yo‘qoladi. Himoya uchun mutex va semafor kabi sinxronizatsiya vositalari ishlatiladi, ammo ularni noto‘g‘ri qo‘llash o‘zaro blokirovkaga (deadlock) olib kelishi mumkin: har bir oqim boshqasi ushlab turgan resursni kutadi.

Asosiy xulosalar

  • Dastur — diskdagi passiv kod, jarayon esa uning o‘z manzillar maydoniga ega bajarilayotgan nusxasi.
  • Jarayon yangi, tayyor, bajarilmoqda, kutmoqda va tugagan holatlardan o‘tadi; kontekst almashtirish vaqt talab qiladi.
  • Oqimlar jarayon xotirasi va fayllarini bo‘lishadi, lekin har birining o‘z steki va registrlari bor.
  • Sinxronizatsiyasiz umumiy ma’lumotni o‘zgartirish poyga holatiga olib keladi; mutex va semafor shundan himoya qiladi.
  • Noto‘g‘ri sinxronizatsiya o‘zaro blokirovkaga (deadlock) sabab bo‘lishi mumkin.

Amaliy topshiriqlar

  1. Linux terminalida ps aux buyrug‘ini (Windows’da Task Manager) ishga tushiring va kamida beshta jarayonning PID, holati (STAT) va egallagan xotirasini (RSS) jadvalga yozing.
  2. Python’da threading yordamida ikkita oqim yarating: har biri umumiy counter ni o‘qib, time.sleep(0) dan keyin bittaga oshirib yozsin va buni 10000 marta takrorlasin. Yakuniy qiymat kutilgan 20000 dan kam bo‘lishini kuzating, so‘ng xatoni threading.Lock bilan tuzating.
  3. ps -eLf buyrug‘i bilan (NLWP ustuni oqimlar sonini ko‘rsatadi) brauzer jarayonlari nechta oqimdan iboratligini aniqlang va brauzer nima uchun har bir yorliqni ko‘pincha alohida jarayonda ochishini tushuntiring.

Mustahkamlash savollari

O‘zingizni sinab ko‘ring: avval o‘ylab ko‘ring, keyin javobni oching.

  1. 1Jarayon va oqim o‘rtasidagi asosiy farq nima?
    Jarayon o‘z manzillar maydoniga ega va boshqa jarayonlardan ajratilgan; bir jarayonning oqimlari esa xotira va ochiq fayllarni bo‘lishadi, faqat steki va registrlari alohida.
  2. 2Nima uchun kontekst almashtirish ish unumdorligini kamaytirishi mumkin?
    Har safar protsessor holati (registrlar, PCB) saqlanib, boshqasiniki tiklanadi, keshdagi ma’lumotlar ham foydasiz bo‘lib qolishi mumkin; shu vaqt davomida foydali ish bajarilmaydi.
  3. 3Poyga holati qachon yuzaga keladi va uning oldini qanday olish mumkin?
    Ikki yoki undan ortiq oqim umumiy ma’lumotni sinxronizatsiyasiz o‘zgartirsa yuzaga keladi; kritik qismni mutex yoki semafor bilan himoyalash orqali oldi olinadi.

0 / 2 mavzu o‘tildi

Kirib belgilash