Обсуждение:DOS

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Пожалуйста, добавляйте новые темы снизу


Однозадачность[править код]

В операционной системе MS DOS, учет памяти реализуется с помощью снабжения каждого свободного или занятого фрагмента блоком MCB. Каждый такой блок в частности содержит идентификатор программы которой принадлежит данный фрагмент памяти. Или ноль, если фрагмент свободен.

Механизм прерываний, существующий безотносительно к ОС, позволяет периодически прерывать исполнение текущей программы, для выполнения какого либо другого кода. Например, на прерывании клавиатуры может висеть кейлогер.

Это я все к чему - каким местом операционная система рассчитанная на распределение памяти между несколькими приложениями и в которой вполне может исполняться более одного приложения, является однозадачной? То что все средства поддержки многозадачности, сводятся исключительно к разделению адресного пространства между процессами, а все остальное надо делать ручками - это уже другой разговор. Zero Children 01:58, 21 марта 2010 (UTC)

  • Во-первых, вы не там задаёте вопрос. Во-вторых, в функции многозадачной системы входит как минимум возможность одновременного запуска нескольких программ (причём система должна быть реентерабельной) и диспетчеризация процессов. Ничего этого в DOS нет: реентерабельной система не является (только несколько функций DOS можно вызывать пока активны другие функции DOS), диспетчеризации нет (нужно писать свою надстройку вроде Windows), есть только возможность указать какой из PSP (если их в памяти несколько) является рабочим и возможность из одной программы (например, шелла) запустить другую (скажем, утилиту) с "замораживанием" вызывающей программы.
  • Что касется "идентификаторов" в MCB - это всего лишь адрес "главного" блока памяти, содержащего PSP программы. Это позволяет системе освобождать память, занятую вызванной программой при её завершении и возврате в вызвавшую программу, при этом не затрагивая блоки памяти вызвавшей программы. PS: вполне может исполняться более одного приложения - "может" - не значит, что система это поддерживает. DOS - в явном виде не поддерживает (и даже наоборот: напоминаю, он нереентерабелен), а своё "может" вы должны реализовывать своими силами (пример: Windows), что не делает из DOS многозадачную систему. -- AVBtalk 03:41, 21 марта 2010 (UTC)

Ну зачем[править код]

У вас уже есть статья про ДОС! Вот она: MS-DOS. Котёнок255 09:00, 29 мая 2012 (UTC) Это одна из версий ДОСа. ДОСов очень много начиная от защищённых авторским правом, до свободных. Это никак нельзя указать в описании сборки ДОСа от Майкрософт. 217.150.7.22 11:19, 23 ноября 2012 (UTC)