Soket o'zaro ishlash stegi ikkita asosiy komponentdan iborat

Soket - bu ma'lumotlar va aktivlarni zanjirlar bo'ylab xavfsiz va samarali uzatish uchun o'zaro ishlash protokoli. Soket ko'prik yoki o'zaro zanjirli dastur emas - bu ishlab chiquvchilarga bu narsalarni osongina qurish imkonini beradigan ramka.
Dasturchilar dastur infratuzilmasining asosiy qismi sifatida birgalikda ishlaydigan ilovalarni yaratish uchun Soketdan foydalanishlari mumkin.
Har bir o'zaro hamkorlik yondashuvi turli maqsadlar va kelishuvlar (ishonch, kechikish, universallik va boshqalar) uchun optimallashtirilgan. Hech bir yondashuv har qanday foydalanish uchun eng yaxshisidir. Bizning maqsadimiz ishlab chiquvchilarga foydalanish holatlari va maqsadlarini optimallashtirishga imkon berishdir.
Soket o'zaro ishlash stegi ikkita asosiy komponentdan iborat:
Soket likvidlik darajasi (SoketLL)
SoketLL zanjirlar o'rtasida aktivlarni samarali o'tkazish imkonini beradi. U ko'priklar va DEXlar o'rtasida likvidlikni birlashtiradi va to'lovlar, tezlik yoki xavfsizlik kabi foydalanuvchi imtiyozlari asosida ular orqali mablag'larni yo'naltiradi.
Soket Data Layer (SoketDL)
SoketDL zanjirlar orqali xavfsiz ma'lumotlarni uzatishni ta'minlaydi. U barcha zanjirlardagi barcha aqlli kontraktlarni bog'lash orqali zanjirlarni birlashtiradi, bu ularga bir-biri bilan o'qish va yozish operatsiyalarini bajarishga imkon beradi. SoketDL orqali ma'lumotlarni uzatish tez orada yo'lga qo'yiladi
Soket nima va u nima uchun kerak?
Ilovalar kompyuteringizdan Internetga qanday qo'ng'iroq qiladi va javoblarni oladi.
Kompyuterlar dizayni va ularning dasturiy ta'minoti bo'yicha fikrlaringizni kengaytiradi. Matn tarmoq arxitekturasida muhim narsa haqida bo'lib, u qandaydir tarzda Internet bilan bog'liq dasturiy ta'minotni loyihalashtirmoqchi bo'lganlar uchun foydali bo'ladi.
Rozetkalar nima ekanligini va nima uchun ular juda foydali ekanligini tushunish uchun siz IP-manzillar va dasturlash portlari haqidagi maqolalardan nimanidir eslab qolishingiz kerak. Mana ushbu maqolalardan qisqacha parcha:
Tarmoqdagi har bir kompyuter, hatto mahalliy tarmoq bo'lsa ham, IP-manzilga ega.
IP-manzil 0 dan 255 gacha bo'lgan to'rtta raqamdan iborat bo'lib, ular nuqta bilan ajratilgan, masalan, 77.88.55.88 (bu Yandex server manzili).
Ushbu manzillar yordamida kompyuterlar o'z so'rovlari va javoblarini qaerga yuborishni bilishadi.
Bir kompyuter boshqasiga ulanganda, ular buni tarmoq porti orqali amalga oshiradilar. Portni ulanish raqami deb aytishimiz mumkin.
Kompyuterdagi tarmoq portlari 1 dan 65535 gacha raqamlangan va bu raqamlar qanday taqsimlanishini kompyuterning o'zi kuzatib boradi.
Portlar kompyuterga qaysi ma'lumotlar qaysi dastur uchun mo'ljallanganligini tushunishga yordam beradi.
Ba'zi dasturlar va ulanishlar har doim bir xil portdan foydalanadi, boshqalari esa uni tasodifiy oladi.
Asosiy narsa: rozetka nima
Soket IP-manzil va port raqamining virtual konstruktsiyasidir. U ishlab chiquvchilarga kod yozishni osonlashtirish uchun ixtiro qilingan va dasturlar hatto bitta kompyuterda ham ma'lumotlarni bir-biriga uzatishi mumkin edi.
Tasavvur qilishingiz mumkinki, rozetka ikki dastur o'rtasida ma'lumotlarni uzatish uchun qurilgan virtual quvurdir. Ilovalar faqat quvurning uchlarini ko'radi va ular quvur liniyasi qanday ishlashini bilishmaydi va ularga ahamiyat bermaydilar.
Gap shundaki, dasturchi IP-manzillar va portlar bilan ishlamasligi, protokollar qanday ishlashining nozik tomonlarini tushunishi, balki oddiyroq narsadan foydalanishi kerak. Oxir-oqibat shunday bo'ladi:
Protokol nima dasturchi dasturda yangi rozetka yasamoqchi ekanligini yozadi;
agar kerak bo'lsa, u uchun IP-manzilni belgilaydi;
dastur buni virtual konstruktsiyaga yig'adi va natijada rozetka hosil bo'ladi;
shundan so'ng, dasturchi shunchaki rozetkaga ma'lumotlarni yuborishi va u erdan qabul qilishi mumkin va kompyuter ma'lumotlarni uzatish bilan bog'liq barcha masalalarni hal qiladi.
Rozetkalar nima uchun?
Soketlar ikkita narsa uchun ishlatiladi:
tarmoq orqali ma'lumotlarni uzatish uchun va ilovalar orasidagi aloqa uchun.
Biz quyida tarmoqni uzatish qanday ishlashini tushuntiramiz, ammo endi ilovalar o'rtasidagi aloqa haqida gapiraylik. G'oya shundan iboratki, agar siz kompyuteringizda ikkita dasturni ishga tushirsangiz va ularning har birida rozetkalarni sozlasangiz, APIsiz ham ma'lumotlarni biridan ikkinchisiga o'tkazishingiz mumkin. Misol uchun, ko'plab yordamchi dasturlar ichki rozetkalarda ishlaydi - ular ma'lumotlarni operatsion tizimga shunday uzatadilar.
Internetning yarmi rozetkalarda ishlaydi. Masalan, mobil ilovadan ma'lumotlarni olish uchun server ilova bilan bog'lanish uchun rozetkani ishga tushiradi. Har bir dastur o'z soketini ham ochadi, u orqali server bilan bog'lanadi va ular ma'lumot almashishadi.
Ammo serverda faqat bitta rozetka mavjud va unga ulanishni istaganlar ko'p. Ushbu muammoni hal qilish uchun server rozetkalarni nusxalaydi.
Soketdan nusxa ko'chirish va bir nechta ulanishlar
Server rozetkaga ulanish so'rovini olganida, u to'g'ridan-to'g'ri ulanishni o'rnatmaydi, balki u rozetkadan nusxa oladi va u orqali aloqani o'rnatadi. Nusxalashdan so'ng, server qaysi nusxa qaysi ulanish uchun javobgarligini eslab qoladi va keyin barcha so'rovlarni navbat bilan qayta ishlaydi. Bunday holda, asl rozetka tegmasdan qoladi - u to'g'ridan-to'g'ri aloqa uchun ishlatilmaydi, lekin nusxalarni yaratish uchun shablon bo'lib xizmat qiladi.
Agar server buni qilmagan bo'lsa, unda unga faqat bitta dastur ulanishi mumkin edi - ulanishga muvaffaq bo'lgan birinchi dastur.
Soket nima, rozetka nima qiladi, u nimaga ta'sir qiladi va nima uchun kerak
Agar siz kompyuteringizni markaziy protsessorni almashtirish orqali yaxshilashga qaror qilsangiz, siz do'konga borasiz, sotuvchiga kerakli modelni aytasiz va javobni eshitasiz - "qanday rozetkangiz bor?"
Protsessor rozetkasi protsessor o'rnatilgan anakartdagi ulagich yoki joy. Protsessorni anakartga o'rnatishdan oldin u rozetkaga mos kelishi kerak. Misol uchun, biz minigarnituralarni ulagich bilan USB ga ulay olmaymiz.
Protsessor rozetkasi protsessor o'rnatilgan anakartdagi ulagich yoki joy. Protsessorni anakartga o'rnatishdan oldin u rozetkaga mos kelishi kerak. Misol uchun, biz minigarnituralarni ulagich bilan USB ga ulay olmaymiz. Boshqa texnik masalalardan voz kechsak, aytishimiz mumkinki, protsessor rozetkasi deyarli eng muhim xususiyatdir va bu yangi protsessor sotib olayotganda birinchi navbatda e'tibor berishingiz kerak bo'lgan xususiyatdir.
Chunki protsessor oddiygina anakartga mos kelmasligi mumkin. Soketni ikkita katta guruhga bo'lish mumkin:
Bular Intel soketlari;
va AMD rozetkasi.
Misol uchun, amd protsessorini intel rozetkasi bo'lgan anakartga o'rnatib bo'lmaydi va bunga qo'shimcha ravishda, bu kompaniyalarning har birida am, am2 am3 va boshqalarning turli xil versiyalari mavjud. Kompaniyada intel soket lga775 1151 2011 va boshqalar mavjud.
Soketlar orasidagi tub farqlar
Keling, rozetkalar jismoniy jihatdan bir-biridan qanday tubdan farq qilishini ko'rib chiqaylik:
birinchisi - kontaktlar soni;
ikkinchisi - bu bir xil kontaktlarning turi;
uchinchisi - protsessor uchun o'rnatish masofasi;
to'rtinchidan, kontaktlarning turiga ko'ra rozetkaning o'lchami.
Kontaktlar, keling, ularni oddiyroq deb ataymiz, oyoqlar mavjud yoki oyoq kontaktlari yo'q. Agar biz Intel'dan anakart soketiga qarasak, rozetkada pinli kontaktlar mavjudligini ko'ramiz. Agar biz amd-dan anakart rozetkasiga qarasak, biz pin kontaktlari yo'qligini ko'ramiz, lekin ular uchun chuqurchaga ega va pin kontaktlarining o'zi to'g'ridan-to'g'ri protsessorda joylashgan.
CPU sovutgich o'rnatish moslamalari
Endi protsessor sovutgichlari uchun moslamalar orasidagi masofa haqida. Haqiqat shundaki, anakartlardagi bu masofalar har bir rozetka uchun farq qiladi va siz ham bunga alohida e'tibor berishingiz kerak.
Texnologik nuqtai nazardan rozetkalar orasidagi farqlar
Texnologik jihatdan rozetkalar bir-biridan qanday farq qiladi? Ular bir-biridan turli xil qo'shimcha kontrollerlar mavjudligi bilan ajralib turadi. Integratsiyalashgan grafikalarni qo'llab-quvvatlashning mavjudligi yoki yo'qligi, shuningdek, yuqori ishlash ko'rsatkichlari.
Xulosa qilib aytishimiz mumkinki, anakartning rozetkasi unga qaysi protsessor o'rnatilishiga ta'sir qiladi, qolgan hamma narsa rozetkaga emas, balki protsessorning o'ziga bog'liq. Nima uchun biz hali ham rozetkaga muhtojmiz, haqiqat shundaki, zamonaviy anakart ishlab chiqaruvchilari bizga turli xil qurilmalarni, shu jumladan protsessorni almashtirish imkoniyatini qo'yishdi va bu erda rozetka tushunchasi paydo bo'ldi.
Gap shundaki, ishlab chiqaruvchi nuqtai nazaridan protsessorni oddiygina anakartga lehimlash mumkin edi va bu ishonchlilik nuqtai nazaridan tavsiya etiladi, ammo bu, ochiqchasiga, keyingi yangilanish uchun qilingan.
AMD tomonidan yuqori unumdorlik, asosiy va byudjetli ish stoli protsessorlari uchun ishlab chiqilgan. Bu Soket AM2 + ning keyingi rivojlanishi, farqlar DDR-III xotirasini qo'llab-quvvatlashda va HyperTransport avtobusining yuqori tezligida. Ushbu rozetkadan foydalanadigan birinchi protsessorlar - AMD Phenom IIX4 910, 810, 805 va AMD Phenom IIXZ 720 va 710 2009 yil fevral oyida chiqarilgan.
AMZ rozetkasi protsessorlarda DDR-II va DDR-III ni qo'llab-quvvatlaydigan xotira kontrolleri mavjud. shuning uchun ular Soket AM2+ platalarida ishlashi mumkin (ma'lum bir platadagi ma'lum bir protsessorning ishlashi anakart ishlab chiqaruvchisi veb-saytidagi CPU qo'llab-quvvatlash ro'yxatidan tekshirilishi kerak), ammo buning teskari holati mumkin emas. Soket LM2 va Soket AM2+ protsessorlari AMZ rozetkasi taxtalar ishlamaydi. Bu bilan bog'liq. AMZ protsessorlarida bir vaqtning o'zida DDR2 xotirasini qo'llab-quvvatlaydigan yangi xotira kontrolleri bo'ladi. va DDR3 xotirasi, shu tariqa AM2 anakartlari bilan orqaga qarab muvofiqlikni ta'minlaydi, ammo AM2 protsessorlarida yangi xotira kontrolleri bo'lmagani uchun ular AM3 anakartlarida ishlamaydi.
Soket AMZ platalari faqat 800 dan 1333 MGts gacha chastotali DDR-III xotirasini qo'llab-quvvatlaydi, buferlanmagan (muntazam) va ECC bilan. Xotirani tashkil qilish Soket939/940/AM2/1156 bilan bir xil. Ya'ni, bu ikki kanalli bo'lib, optimal ishlashga erishish uchun anakart uchun ko'rsatmalarga muvofiq ikkita yoki to'rtta (juftlikda bir xil) xotira modullarini o'rnatish kerak.
Va nihoyat. Soket AMZ+ - bu Soket AMZ bilan mexanik va elektr jihatdan mos keladigan yangi protsessor rozetkasi (bir oz ko'proq pinlar soniga qaramay - 942. Soket AMZ ba'zi manbalarda ham chaqirilishi mumkin). ammo AMD FX 8150 kabi Buldozer arxitekturasiga asoslangan Zambezi yadrosi asosidagi yangi AMD protsessorlarini qo'llab-quvvatlash uchun mo'ljallangan. Barcha eski Soket AMZ protsessorlari ham u tomonidan qo'llab-quvvatlanadi va, albatta, bunday platalar faqat DDR3 xotirasi bilan ishlaydi va ular bilan mos keladi. eski Soket AM2/AM3 sovutgichlari.
Soket (inglizcha socket - ulagich) - jarayonlar o'rtasida ma'lumotlar almashinuvini ta'minlash uchun dasturiy interfeysning nomi. Bunday almashinuvdagi jarayonlar bir kompyuterda ham, bir-biriga faqat tarmoq orqali ulangan turli kompyuterlarda ham bajarilishi mumkin. Soket - bu ulanishning oxirgi nuqtasini ifodalovchi mavhum ob'ekt.
Mijoz va server soketlari o'rtasida farq qilish kerak. Mijoz soketlarini taxminan telefon tarmog'ining so'nggi qurilmalari bilan, server soketlarini esa kommutatorlar bilan taqqoslash mumkin. Mijoz ilovasi (masalan, brauzer) faqat mijoz soketlaridan foydalanadi, server ilovasi esa (masalan, brauzer so‘rov yuboradigan veb-server) mijoz va server soketlaridan foydalanadi.
Soket interfeysi birinchi marta BSD Unix da paydo bo'ldi. Soket dasturlash interfeysi POSIX.1 standartida tasvirlangan va u yoki bu darajada barcha zamonaviy operatsion tizimlar tomonidan qo'llab-quvvatlanadi.
TCP/IP protokoli stekidan foydalangan holda mashinalar o'rtasida aloqa o'rnatish uchun manzillar va portlar ishlatiladi. Manzil IPv4 uchun 32-bitli, IPv6 uchun 128-bitli tuzilmadir. Port raqami 0 dan 65535 gacha (TCP protokoli uchun) oraliqdagi butun sondir.
Bu juftlik rozetkani (manzil va portga mos keladigan "rozetka") belgilaydi.
Ayirboshlash jarayonida, qoida tariqasida, ikkita rozetkadan foydalaniladi - jo'natuvchi rozetkasi va qabul qiluvchi rozetkasi. Masalan, HTTP portidagi serverga kirishda rozetka quyidagicha ko'rinadi: 194.106.118.30:80 va javob mmm.nnn.ppp.qqq:xxxxx manziliga keladi.
Har bir jarayon "tinglash" soketini (server soketi) yaratishi va uni ba'zi operatsion tizim portiga ulashi mumkin (UNIXda imtiyozsiz jarayonlar 1024 dan kichikroq portlardan foydalana olmaydi).
Tinglash jarayoni odatda uyqu rejimida bo'ladi, ya'ni u yangi ulanish kelganda uyg'onadi. Shu bilan birga, ayni paytda ulanishlar mavjudligini tekshirish, operatsiya uchun vaqtni belgilash va h.k.
Har bir rozetka o'z manziliga ega. UNIX operatsion tizimlari ko'p turdagi manzillarni qo'llab-quvvatlashi mumkin, ammo talab qilinadiganlar INET manzili va UNIX manzilidir. Agar siz rozetkani UNIX manziliga bog'lasangiz, ko'rsatilgan yo'l bo'ylab maxsus fayl (soket fayli) yaratiladi, u orqali har qanday mahalliy jarayonlar undan o'qish/yozish orqali bog'lanishi mumkin (qarang Unix domen soketi). INET tipidagi rozetkalarga tarmoqdan kirish mumkin va ular ajratilgan port raqamini talab qiladi.
Odatda mijoz tinglovchiga aniq "ulanadi", shundan so'ng har qanday o'qish yoki yozish fayl identifikatori orqali u va server o'rtasida ma'lumotlarni uzatadi.
1. dastur jarayonlar oʻrtasida axborot almashinuvini taʼminlash uchun dasturiy interfeys ◆ Soket tarmoqdagi ikkita kompyuter oʻrtasida maʼlumot almashishning ikki tomonlama kanalidir. Soket orqali ma'lumotlar har ikki yo'nalishda ham uzatilishi mumkin - serverdan mijozga va mijozdan serverga. Denis Kolisnichenko, "Linux ilovalarini ishlab chiqish", 2012 [Google Kitoblar]
2. komp. protsessorni o'rnatish uchun mo'ljallangan anakartdagi maxsus rozetka (ulagich) ◆ Ammo AMD mahsulotlari - Duron va Athlon protsessorlari birlashtirilgan rozetka uchun mo'ljallangan.
Socket - bu ma'lumotlar va aktivlarni zanjirlar bo'ylab xavfsiz va samarali uzatish uchun o'zaro ishlash protokoli. Soket ko'prik yoki o'zaro zanjirli dastur emas - bu ishlab chiquvchilarga bu narsalarni osongina qurish imkonini beradigan ramka. Dasturchilar dastur infratuzilmasining asosiy qismi sifatida birgalikda ishlaydigan ilovalarni yaratish uchun Socket-dan foydalanishlari mumkin.
Har bir o'zaro hamkorlik yondashuvi turli maqsadlar va kelishuvlar (ishonch, kechikish, universallik va boshqalar) uchun optimallashtirilgan. Hech bir yondashuv har qanday foydalanish uchun eng yaxshisidir. Bizning maqsadimiz ishlab chiquvchilarga foydalanish holatlari va maqsadlarini optimallashtirishga imkon berishdir.
Socket o'zaro ishlash stegi ikkita asosiy komponentdan iborat:
Socket likvidlik darajasi (SocketLL)
SocketLL zanjirlar o'rtasida aktivlarni samarali o'tkazish imkonini beradi. U ko'priklar va DEXlar o'rtasida likvidlikni birlashtiradi va to'lovlar, tezlik yoki xavfsizlik kabi foydalanuvchi imtiyozlari asosida ular orqali mablag'larni yo'naltiradi.
Socket Data Layer (SocketDL)
SocketDL zanjirlar orqali xavfsiz ma'lumotlarni uzatishni ta'minlaydi. U barcha zanjirlardagi barcha aqlli kontraktlarni bog'lash orqali zanjirlarni birlashtiradi, bu ularga bir-biri bilan o'qish va yozish operatsiyalarini bajarishga imkon beradi. SocketDL orqali ma'lumotlarni uzatish tez orada yo'lga qo'yiladi
Soket nima, rozetka nima qiladi, u nimaga ta'sir qiladi va nima uchun kerak
Agar siz kompyuteringizni markaziy protsessorni almashtirish orqali yaxshilashga qaror qilsangiz, siz do'konga borasiz, sotuvchiga kerakli modelni aytasiz va javobni eshitasiz - "qanday rozetkangiz bor?"
Protsessor rozetkasi protsessor o'rnatilgan anakartdagi ulagich yoki joy. Protsessorni anakartga o'rnatishdan oldin u rozetkaga mos kelishi kerak. Misol uchun, biz minigarnituralarni ulagich bilan USB ga ulay olmaymiz.
|