ПредишенСледващото

Важна концепция е концепцията за синхронизиране движението на "критична точка" на програмата. Критична точка - част от програмата, в резултат на което може да се промени непредвидимо, ако общата се променят данни от други теми, в момент, когато изпълнението на тази част все още не е завършена. Критичната част винаги се определя по отношение на някои важни данни, при непоследователно промени, които могат да се появят нежелани ефекти. Във всички потоци, работа с критични данни, критичното сечение, трябва да бъде определен. Различните потоци критичен участък се състои обикновено от различни командни последователности.

32) Обяснете същността на използването на блокиране на променливи.

За да синхронизирате теми, програмист може да използва глобалната променливи блок. С тези променливи, за които всички нишки имат пряк достъп, програмист работи без да се прибягва до системата за разговори.

Всеки набор от важни данни се определя двоична променлива, която определя стойността на потока 0, когато тя влиза в критичен участък, а стойността 1, когато тя го напуска. могат да се използват за блокиране променливи не само за достъп до данни, но също така и на споделени ресурси от всякакъв вид. Когато блокиране променливи има ограничение за прекъсване: не пречи на движението на изпълнение на пробната експлоатация и създаването на блокиране на променлива.

Изпълнение на взаимно изключване по начин блокира променливи има значителен недостатък, а именно по времето, когато нишката се намира в критична точка, друга тема, която изисква същият ресурс чрез достъп до процесора постоянно ще сондира за блокиране променлива отпадъци от времето си парче ,

33) Обяснете същността на използването на семафори.

За да синхронизирате този процес, а по-скоро, за да синхронизирате достъп на множество процеси за споделени ресурси, като се използват семафори. Като една от формите на IPC, семафори не са предназначени за обмен на големи обеми от данни, както в случая на FIFO или опашка. Вместо това, те изпълняват функцията на името си - да разрешават или забраняват използването на процеса на споделен ресурс.

Използването на семафори да се обясни най-простият пример. Да предположим, че има общ ресурс (например файл). Необходимо е да се блокира достъпа до ресурса за други процеси, когато даден процес осъществява операция, използване на ресурсите (например писане във файл). За тази цел ние свързваме с този ресурс някои стойност на цяло число - брояч е на разположение за всички процеси. Да приемем, че стойността на брояча 1 означава, ресурсната обезпеченост, 0 - неговата недостъпност. След това, преди започване на работа с процеса на ресурсите следва да се провери стойността на брояча. Ако е 0 - ресурс е зает, а работата не е позволено - това се чака. Ако стойността на брой е 1 - това е възможно да се работи с ресурса. За тази цел, на първо място, е необходимо да се заключва ресурс, т. Е. Промяна брояч стойност 0. След операцията за освобождаване брояч стойност да се промени до 1. В примера на семафор брояч играе роля.

Подкрепете проекта - споделете линка, благодаря!