Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 6
  • 91

Wyobraźmy sobie taką sytuację:

Jest baza oracla i jakiś program, proces, który na niej przetwarza.

Wredny admin zmniejszył proces bazy danych do 10.

Proces domyślnie ma priorytet 0, więc jest ważniejszy,

Zużycie czasu procesora przez proces programu zużywa go, co do procenta .

Pytanie jest. Co się dzieje w takiej sytuacji ? Baza ma mniejszy priorytet, więc nie może zwrócić wyniku .

W tym przypadku jest to przykład książkowego zakleszczenia.

Michał_Zaborowicz
  • Zapytał
  • @ Michał_Zaborowicz | 08.04.2014
    • lider
    • laureat
    • 13
    • 16
    • 71

Odpowiedź (1)

  • 12

Przypuszczam, że biblioteka obsługująca bazę danych zblokuje funkcję execute (czy co tam jest w oraclu) - czyli proces mimo wysokiego priorytetu będzie czekał na wynik i zwolni czas procesora.

Piotr_Stygar
  • Odpowiedział
  • @ Piotr_Stygar | 08.04.2014
    • 6
    • 12
    • 7
Komentarze
raczej biblioteka bazy danych nie będzie niczego blokować. Sam kernel będzie realizował rozdzielanie czasu procesora, co spowoduje dostęp bazy danych do procesora ale na krótki czas - mniejszy od zwykłego procesu.
Skomentował : @ TRENER ALTKOM AKADEMII ,08.04.2014
Chodziło mi o to, że wywołanie funkcji parsującej wynik zablokuje się lub zwróci jakiś wyjątek typu BUSY, czy TIMEOUT dopóki serwer bazy nie przygotuje dla niej wszystkich danych. Kernel będzie realizował podział czasu, ale to co będzie robił w tym czasie klient to już zależy od klienta i od biblioteki obsługi bazy danych.
Skomentował : @ Piotr_Stygar ,09.04.2014
  • 6
  • 12
  • 7