Реализация многозадачности на однопроцессорных компьютерах

В предыдущей главе мы упоминали о возможности реализовать параллельное (или, точнее, псевдопараллельное) исполнение нескольких потоков управления на одном процессоре. Понятно, что такая возможность дает значительные преимущества. В частности, это позволяет разрабатывать прикладные программы, которые могут исполняться без переделок и часто даже без перенастроек и на одно-, и на симметричных многопроцессорных машинах. Кроме того, многопоточность полезна и сама по себе, хотя и сопряжена с определенными неудобствами (перечисленными в предыдущей главе) при реализации взаимодействия параллельных нитей.

Примечание
Внимательный читатыыель может обратить внимание на некоторую терминологическую непоследовательность, появляющуюся в этой главе. В соответствии с принятой в главе 3 терминологией, правильно было бы говорить о многоните-вости (дословный перевод английского термина multithreading), но это слово, хотя и состоит только из славянских корней, звучит очень уж не по-русски, термин же многозадачность прижился в компьютерной лексике давно и прочно, поэтому мы будем его употреблять наравне с правильным термином многопоточность