Re: Szukam info o BIOSie PC, grafice VGA itp..

Autor: Radoslaw Sokol (rsokol_at_magsoft.com.pl)
Data: Mon 09 Sep 2002 - 10:32:50 MET DST


Hi,

sprocket wrote:
>
> AFAIR, nawet wcześniej, spotkałem się z tym określeniem już przy 286

Możliwe. Po prostu dokładny techniczny opis 80386 mam tylko
z gazet (i używano tam jeszcze terminu "przerwanie"), zaś
od Intela ściągnąłem opis zestawu instrukcji x86 obejmujący
procesory od i486 w górę. Dokładnie więc nie jestem w
stanie stwierdzić.

BTW 80286 oficjalnie IMHO nie powinien jeszcze mieć w
dokumentacji terminu "wyjątek", bo miał on w sumie bardzo
ograniczone możliwości ochrony kodu -- naruszenie segmen-
tacji powodowało chyba zwykłe zgłoszenie przerwania, tak
jak w przypadku dzielenia przez zero.

> Idea jest przecież ta sama. Czy w sekcji try...catch umieszczę instrukcję
> np. dzielenia przez zero, czy np. nieuprawnionego otwarcia bazy danych.,
> każdą z tych sytuacji mogę obsłużć identycznym mechanizmem,
> _zupełnie_odseparowanym_ od poziomu procesora. Sam procesor nie jest w

Właśnie -- mechanizm wyjątków C++ jest elementem języka
i może być zrealizowany zupełnie bez wsparcia ze strony
procesora (choćby np. przez sprawdzanie dzielnika przed
każdym dzieleniem ;) ). Mechanizm wyjątków procesora
jest zaś wyłącznie sprzętowy, bardzo zależny od konkret-
nej implementacji i bardzo nieelastyczny.

Dodatkowo zazwyczaj wyjątki C++ nie korzystają bezpośrednio
z wyjątków procesora -- bo nie mogą :) Oddziela je struktu-
ralna obsługa wyjątków systemu operacyjnego. Tylko system
ma prawo decydowania czy obsłuży wyjątek samodzielnie, czy
też pozwoli go obsłużyć aplikacji (jeśli aplikacja tego
chce i w dowolny sposób obsługiwany przez aplikacją -- choćby
za pomocą wyjątków C++).

> Uwierz mi, nie mylę tych dwóch spraw, ale w C++ nie ma powodu, by je
> rozróżniać :)))

Pisząc program w C++ nie należy nawet myśleć o sprzętowej
implementacji wyjątków :) Tak, jakby ona nie istniała. To
element języka i nic więcej :)

-- 
|""""""""""""""""""""""""""""""""""""""""""""""""""""""""""|
| Radosław Sokół  |  mailto:rsokol_at_magsoft.com.pl          |
|                 |  http://www.magsoft.com.pl/~rsokol/    |
\................... ftp://sokol.gliwicki.necik.pl/ ......./


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Wed 19 May 2004 - 01:28:48 MET DST