Мавзу: Оқим (поток) концепциялари


Download 0.64 Mb.
Sana02.11.2023
Hajmi0.64 Mb.
#1741305
TuriИнструкция
Bog'liq
11-Мавзу ОТда оқимлар

Мавзу: Оқим (поток) концепциялари Processes and Threads

Маърузачи: доц. Худайбердиев М.Х.

Режа

  • Оқим таърифи;
  • Жарён элементлари;
  • Асинхрон паралел бажарилиш;
  • Семафорлар;
  • Дастурлашда оқим тушунчаси;
  • .NET технологиясида оқим турлари.

Оқим ёки Поток тушунчаси

  • Таъриф. Оқим (Поток, thread) – мантиқий объект бўлиб, процессорни ичида ичидаги бажарилаётган жараён инструкциясига боғлиқ бўлмаган холда ифодаланувчи кетма-кетликдир. Оқим жараён бажарилиши доирасида паралел бажарилишидир. Хар бир процессда энг камида битта оқим амалга оширилади.
  • Кўп оқимлилик (multithrreading)- жараён таркибида бир нечта оқимни амалга оширувчи технологиялар мавжуд. Бундай технологиялар бир вақтни ўзида кўплаб оқимлар билан паралел ишлаш имкониятига эга (кўп жараёнлик / кўп ядролик системалар учун).

Жараён элементлари


Жараёндаги барча оқимлардан биргаликда фойдаланиш

Жараёндаги хар оқимдан индивидуал фойдаланиш

Адрес фазоси;
Бош жараён ;
Қисм жараён;
Очиқ файллар;
Ишлов берилмаган сигналлар (зарарли сигналлар);
Сигиналлар ва уларга ишлов берувчи воситалар;
Ресурсдан фойдаланиш хақидаги ахборот.

Холат (тайёр, актив, блокланган);
Дастур хисоблагичи;
Бажарилиш контексти;
Стекда оқим процесдураси.

Оқимлардан фойдаланиш мотивлари

  • Тизимли дастурлаш архитектураси параллел равишда бажарилиши керак бўлган код фрагментларини ёзишни таъминлайди.
  • Кўп ядролик ва кўп жараёнлик системаларини махсулдорлиги.
  • Оқимни умуммий адрес фазоси орқали ўзаро таъсири.

Асинхрон паралел бажарилиш

  • Асенхрон параллел оқимлар - тизимда бир вақтнинг ўзида мавжуд бўлган ва бир-биридан мустақил равишда ишлайдиган, аммо вақти-вақти билан синхронлаши ва ўзаро таъсир қилиши керак бўлган оқимлардир.
  • Муҳим бўлим - умумий ресурсда операцияларни бажарадиган код қисми (масалан, умумий ўзгарувчига қиймат ёзиш). Дастурнинг тўғри ишлашига эришиш учун ҳар қандай вақтда унинг муҳим қисмида фақат битта оқим бўлиши керак.
  • Ўзаро чиқариб ташлаш - бу чеклов, унга мувофиқ битта оқимни унинг муҳим бўлимида бажарилиши унинг муҳим бўлимлари ичидаги бошқа оқимларнинг бажарилишини бекор қилади. Ўзаро бекор қилиш, уларни ўзгартириш учун бир хил ишлов берилган ва филтирланган маълумотларга кирадиган бир нечта оқимларнинг тўғри ишлашини таъминлаш учун жуда муҳимдир.

Асинхрон паралел бажарилиш

Оқимларни турлари

Матн оқимлари

  • Матн оқимлари - бу белгилар қатори. Матн оқимларида баъзи белгилар операцион тизим талабларига мувофиқ равишда ўзгартирилиши мумкин.
  •  

    Иккилик оқимлар

  • Иккилик оқим - бу ташқи қурилмадаги байтлар билан биттадан ёзишмаларга эга бўлган байтлар кетма-кетлиги. Яъни, ҳеч қандай белги конверсияси содир бўлмайди. Шунингдек, ташқи қурилмага ёзилган ёки ўқилган байтлар сони ташқи қурилмадаги билан бир хил бўлади. Шу билан бирга, бир қатор нол байтлар иккилик оқимга қўшилиши мумкин. Ушбу нол байтлардан маълумотлар тақдимотини бирлаштириш учун фойдаланиш мумкин, масалан, диск секторини тўлдириш учун.

Семафорлар

  • иккилик семафор - ўзаро чиқариб ташлашни амалга оширишда ишлатиладиган мавҳумлик, бунда ҳимояланган ўзгарувчига кириш учун иккита атом операцияси ишлатилиб, оқимлар ўзларининг муҳим қисмларига кира олишларини аниқлайди.

Дастурлашда оқим тушунчаси

Дастурлашда оқим (stream)-мантиқий восита бўлиб:

  • Ахборотни қабул қилиш (input).
  • Ахборотга ишлов бериш (output).

Оқимни кириш-чиқиш шакли

.Net технологиясида оқимлар иккита асосий тоифага бўлинади:

  • Таянч омборлар билан оқимлар;
  • Декораторлар билан оқимлар.

Таянч омборлар билан оқимлар маълум бир маълумотлар омбори турини амалга оширади, улар қуйидагилар бўлиши мумкин:

Таянч омборлар билан оқимлар маълум бир маълумотлар омбори турини амалга оширади, улар қуйидагилар бўлиши мумкин:

  • файл;
  • хотира;
  • тармоқ;
  • химояланган маълумотлар омбори.

Декораторларга узатилган маълумотларни ўзгартириш учун модификатция қилинган оқимлардан фойдаланади. Ушбу модификацияга қуйидагилар киради:

  • маълумотларни тармоқ орқали юборишдан олдин шифрлаш;
  • маълумотларни архивлаш;
  • маълум усуллар билан маълумотларни сиқиш ва декомпрессия қилиш;
  • маълумотлар буфери.
  • Мавжуд оқимни ўзгартириш учун декораторлар билан оқимлар Декоратор инструкциясига хос бўлган усулдан фойдаланадилар. Декоратор инструкциядан фойдаланишнинг ўхшаш схемалари бошқа дастурлаш тилларида ҳам қўлланилади.

.Net оқим архитектураси


Download 0.64 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling