Várakozási grafikon
A várakozási grafikon (vagy tranzakcióvárási grafikon ) egy olyan eszköz, amelyet DBMS és többszálú rendszerek fejlesztésében használnak, és különösen a holtponti helyzet meghatározására használják . Valójában a tranzakcióra váró gráf egy irányított bipartit gráf , amely kétféle csúcsot tartalmaz:
- tranzakcióknak vagy futó szálaknak megfelelő típusú csúcsok . Ezek alkotják a grafikon első részét.
![T](https://wikimedia.org/api/rest_v1/media/math/render/svg/ec7200acd984a1d3a3d7dc455e262fbe54f7f6e0)
- az erőforrásoknak és az objektumoknak megfelelő típusú csúcsok, amelyeket a tranzakciók rögzíthetnek. Ezek alkotják a grafikon második részét.
![R](https://wikimedia.org/api/rest_v1/media/math/render/svg/4b0bfb3769bf24d80e15374dc37b0441e2616e33)
A várakozási grafikon ívei is kettős jelentéssel bírnak:
- a tranzakciós csomóponttól az erőforrás csomópontig tartó ívek azt jelzik, hogy ezt az erőforrást a tranzakció már elfoglalta
![{\megjelenítési stílus (T,R)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/dc7f8f1898cca258f50fd24e2a2f16f14230a774)
![T](https://wikimedia.org/api/rest_v1/media/math/render/svg/ec7200acd984a1d3a3d7dc455e262fbe54f7f6e0)
![R](https://wikimedia.org/api/rest_v1/media/math/render/svg/4b0bfb3769bf24d80e15374dc37b0441e2616e33)
- az erőforrás csomóponttól a tranzakciós csomópontig tartó ívek azt jelzik, hogy a tranzakció az erőforrás felszabadítására vár.
![{\megjelenítési stílus (R,T)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/49f7eb43d71aacb310117c02ff20517c2483190a)
![R](https://wikimedia.org/api/rest_v1/media/math/render/svg/4b0bfb3769bf24d80e15374dc37b0441e2616e33)
![T](https://wikimedia.org/api/rest_v1/media/math/render/svg/ec7200acd984a1d3a3d7dc455e262fbe54f7f6e0)
![R](https://wikimedia.org/api/rest_v1/media/math/render/svg/4b0bfb3769bf24d80e15374dc37b0441e2616e33)
A legegyszerűbb tulajdonságok
- Az az erőforrás, amelynek nincs bejövő íve, ingyenes.
- Ha egy tranzakciós csúcsnak van egy bizonyos nem nulla számú bejövő íve, akkor a megfelelő folyamat (maga a tranzakció) várakozási állapotban van, azaz felfüggesztve van, és pillanatnyilag nem hajtható végre.
- Ha van egy útvonal két tranzakció között , akkor a tranzakciót a végrehajtás megkezdése előtt végre kell hajtani (befejezni) , mivel az utóbbihoz a tranzakció által lefoglalt erőforrások felszabadítása szükséges .
![{\displaystyle T_{1}\rightarrow T_{2}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3725af58a3e5f11857310f9d562d5d18fc340b98)
![T_{1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2f304724948a3ef606c4a92459e22b87a954d993)
![T_{2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d1ba5f12fbb0ff766aec6e22148b429373608555)
![T_{1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2f304724948a3ef606c4a92459e22b87a954d993)
Az utolsó tulajdonságból nyilvánvalóan következik, hogy a holtpont helyzet a várakozási gráf
egy ciklusának felel meg.
Források