Assembler - язык неограниченных возможностей


Взаимодействие между процессами - часть 6


save_di dw ? ; переменные для временного хранения save_si dw ? ; регистров

; процедура shutdown_threads ; выключает диспетчер shutdown_threads proc near mov ax,2508h ; достаточно просто восстановить прерывание lds dx,dword ptr old_int08h int 21h ret shutdown_threads endp

; структура, описывающая первую нить thread1 thread_struc <> ; и вторую, thread2 thread_struc <> ; стек первой нити thread1_stack db 512 dup(?) ; и второй thread2_stack db 512 dup(?) end start

Как мы видим, этот пример не может работать в Windows 95 и в некоторых других случаях, когда DOS расширяют до более совершенной операционной системы. Фактически в этом примере мы именно этим и занимались — реализовывали фрагмент операционной системы, который отсутствует в DOS.

Действительно, используя механизм обработчиков прерываний, можно создать операционную систему для реального режима, аналогичную DOS, но очень быстро окажется, что для этого придется общаться напрямую с аппаратным обеспечением компьютера, то есть использовать порты ввода-вывода.





Начало  Назад  Вперед