TGViewer
Programming ∀ Programming ∀ @programming_everyone · 1.35K subscribers
Post #3895 559
Ko'pchilik OS darslarida o'rgangan bo'lsa kerak, processlar ma'lumot almashishi uchun turli ko'rinish va protocollar bor.

Masalan hammamiz bilgan network protocollar.

Lekin hech o'ylab ko'rganmisiz OS ichida internal qanday qilib ma'lumot almashish mumkin ?

Bizda 2ta process bor, endi ular ma'lumot almashishi kerak, ha balki unix socketlar birinchi hayolingizga kelgandir :) Tog'ri localda network exchange tezroq bo'ladi bazi OSI layerlari skip qilgani uchun.

Lekin yanada qiziqroq aynan local IPC uchun mo'ljallangan narsalar ham bor masalan DBUS linuxda alohida message bus system. Buni ko'proq brokerlarga ham o'xshatsa bo'ladi. Chunki siz api qilganizda alohida bus namespace yozasiz, huddi topiclar, channellar kabi. Kegin contactlarni belgilaysiz huddi kafkadagi avro schemalar kabi. High levelda biroz o'xshaydi ammo 1:1 tassavur qilmang.

Qizig'i dbus tiplarni ham support qiladi )) Ha biroz eskicha dizayn va bazi narsalar xml bilan. Lekin siz o'ylagan REST apilardan yaxshiroq dizayn qilsa bo'ladi ko'p narsani ))

Albatta IPC uchun dbusdan ham yaxshiroq yechimlar bo'lishi mumkin. XML hisobga olmasak dbus api design qilish ancha yoqimliroq lekin.

Batafsil: https://www.freedesktop.org/wiki/Software/dbus/
  • 🔥 9
More from @programming_everyone
  1. Oct 8, 2026Qoravoy pastroqdagi funksiyani teparoqga chiqarib qo'yibti. Eng qizig'i commentda ham yozi…
  2. Oct 7, 2026Bilamizki polymorhism variablelar birnecha tiplar variantiga mos kelishiga ko'p tiplarga,…
  3. Oct 7, 2026cpp
  4. Oct 7, 2026Haskell, Rust, Nix temasida qiziquvchilar ancha ko'payibtiku 👍
  5. Oct 7, 2026Shu basic arithmetic interpeterni kamida 20+ marotaba turlicha tilda turlicha uslublarda y…
  6. Oct 7, 2026Send him 2-3 years Haskell and forget.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →