ГЛАВА 1. ПРИНЦИПЫ РАЗРАБОТКИ ПРОГРАММ В СОВРЕМЕННЫХ ОС




ОГЛАВЛЕНИЕ

 

Введение............................................................................................................................... 5

Глава 1. Принципы разработки программ в современных ОС................................. 12

§ 1.1. Операционные системы для ПЭВМ................................................................. 12

1.1.1. ОС CP/M......................................................................................................... 12

1.1.2. ОС DOS.......................................................................................................... 12

1.1.3. ОС OS/2.......................................................................................................... 15

1.1.4. ОС UNIX........................................................................................................ 16

1.1.5. ОС LINUX...................................................................................................... 18

1.1.6. ОС QNX.......................................................................................................... 20

1.1.7. ОС WINDOWS............................................................................................... 20

§ 1.2. Основы программирования в ОС Windows..................................................... 26

1.2.1. Принципы взаимодействия ОС Windows с прикладными программами 27

1.2.2. Типы данных в Windows............................................................................... 30

1.2.3. Графический и консольный интерфейс...................................................... 30

1.2.4. Создание элементарного графического окна............................................. 32

1.2.5. Сходства и различия Windows 9x и Windows NT (2000, XP).................... 34

§ 1.3. Принципы разработки динамических библиотек........................................... 35

1.3.1. Основные положения.................................................................................... 35

1.3.2. Главная функция DllMain().......................................................................... 37

1.3.3. Экспортирование функций из DLL............................................................. 38

1.3.4. Подключение DLL........................................................................................ 40

Глава 2. Организация многозадачности в современных ОС...................................... 45

§ 2.1. Общие принципы организации многозадачности.......................................... 45

2.1.1. Основные понятия и определения............................................................... 45

2.1.2. Планирование и диспетчеризация............................................................... 49

§ 2.2. Основы многозадачности в ОС Windows........................................................ 56

2.2.1. Основные принципы многозадачности в Windows.................................... 56

2.2.2. API-функции для реализации механизма многозадачности..................... 61

2.2.3. Синхронизация потоков............................................................................... 69

2.2.4. Использование классов MFC для создания потоков................................. 75

Глава 3. Прерывания и исключения............................................................................... 77

§ 3.1. Система обработки прерываний....................................................................... 77

§ 3.2. Общие принципы обработки исключений....................................................... 84

§ 3.3. Средства обработки исключений в Visual C++............................................... 86

Глава 4. Организация памяти в современных ОС....................................................... 91

§ 4.1. Общие принципы организации памяти............................................................ 91

§ 4.2. Способы распределения памяти....................................................................... 93

4.2.1. Простое непрерывное распределение памяти............................................ 93

4.2.2. Распределение памяти с перекрытием (оверлейные структуры)............. 94

4.2.3. Распределение памяти разделами................................................................ 95

4.2.4. Сегментное распределение памяти............................................................. 97

4.2.5. Страничное распределение памяти............................................................. 100

4.2.6. Сегментно-страничное распределение памяти.......................................... 102

§ 4.3. Организация памяти в ОС Windows................................................................. 103

§ 4.4. Интерфейсы API-функций для управления памятью в ОС Windows........... 109

4.4.1. API-функции для обеспечения работы с виртуальной памятью.............. 110

4.4.2. API-функции для обеспечения проецирования файлов............................ 115

 


 

 

4.4.3. API-функции для работы с динамической областью памяти....................118

Глава 5. Организация ввода-вывода в современных ОС............................................121

§ 5.1. Общие принципы организации ввода-вывода.................................................121

§ 5.2. Общие принципы размещения данных на магнитных дисках.......................123

§ 5.3. Организация файлового ввода-вывода в ОС Windows...................................131

5.3.1. API-функции для организации ввода-вывода.............................................131

5.3.2. Механизмы асинхронного ввода-вывода....................................................136

Глава 6. Реестр ОС WINDOWS.........................................................................................142

§ 6.1. Структура и особенности реестра Windows....................................................142

§ 6.2. API-функции для работы с реестром Windows................................................146

Глава 7. Реестр ОС WINDOWS.........................................................................................151

§ 7.1. Технологии безопасности, реализованные в Windows...................................151

§ 7.2. Создание структуры SECURITY_ATTRIBUTES............................................154

§ 7.3. API-функции для обеспечения безопасности Windows..................................158

Глава 8. Технологии обмена информацией в ОС WINDOWS.....................................164

§ 8.1. Обмен информацией посредством буфера обмена Windows.........................164

8.1.1. Структура и основные форматы буфера обмена........................................164

8.1.2. Операции с буфером обмена........................................................................166

8.1.3. Частные форматы буфера обмена................................................................170

§ 8.2. Обмен информацией посредством каналов.....................................................173

8.2.1. Общие положения и классификация каналов.............................................173

8.2.2. API-функции для работы с каналами...........................................................175

§ 8.3. Обмен информацией с использованием сокетов.............................................188

8.3.1. Общие положения. Виды сетевых протоколов...........................................188

8.3.2. API-функции для работы с сокетами...........................................................191

§ 8.4. Обмен информацией по технологии динамического обмена данными........200

8.4.1. Общие положения..........................................................................................200

8.4.2. API-функции библиотеки DDEML..............................................................202

8.4.3. Механизмы обработки транзакций..............................................................204

8.4.4. Завершение DDE-диалога.............................................................................207

8.4.5. Синхронные и асинхронные транзакции.....................................................208

§ 8.5. Обмен информацией по технологии связывания и внедрение объектов......210

8.5.1. Общие положения..........................................................................................210

8.5.2. Технологии разработки OLE-приложения..................................................215

Глава 9. Технологии обработки мультимедиа...............................................................218

§ 9.1. Обзор мультимедийных устройств Windows...................................................218

§ 9.2. Элементарные API-функции для обработки звука..........................................226

§ 9.3. Технология обработки формата RIFF...............................................................229

9.3.1. Структура формата RIFF...............................................................................229

9.3.2. API-функции для обработки RIFF-файла....................................................231

§ 9.4. API-функции интерфейса DirectSound.............................................................233

Список литературы............................................................................................................235

 

 


 

 

ВВЕДЕНИЕ.

 

Любая современная ПЭВМ состоит из аппаратныхсредств и программного

обеспечения. Программное обеспечение выполняет функцию посредника между поль-

зователями и ПЭВМ, расширяет возможности аппаратуры вычислительной машины, яв-

ляясь логическим ее продолжением. Использование развитого программного обеспече-

ния позволяет увеличить производительность вычислительных комплексов,

автоматизировать многочисленные рутинные информационные процессы в различных

областях человеческой деятельности, повысить производительность труда разработчи-

ков различных систем автоматизированной обработки информации, сократить общие

сроки разработок и т.д.

Все программное обеспечение ПЭВМ можно разделить на три составные части:

1. Системные программы;

2. Инструментальные системы (среды разработки для программистов);

3. Прикладные программы.

Системныепрограммы представляют собой комплекс управляющих и обрабаты-

вающих программ, описаний и инструкций, обеспечивающих функционирование вы-

числительной системы, а также предоставляющих пользователю ПЭВМ определенные

услуги. Программы системного программного обеспечения различаются по функцио-

нальному назначению и характеру исполнения. Можно выделить следующие виды сис-

темных программ:

- операционныесистемы;

- драйверы - предназначены для расширения возможностей операционных систем по

управлению аппаратными средствами ПЭВМ (клавиатура, монитор, мышь и т.д.);

- программы –оболочки, которые обеспечивают более удобный и наглядный, по

сравнению с реализуемым в операционной системе, интерфейс. В целом программы

- оболочки обеспечивают:

• работу с файлами и каталогами;

• просмотр файлов различных форматов;

• редактирование файлов различных форматов;

• создание пользовательских меню;

• выдачу сведений о системе и о размещении информации на дисках;

• доступ к пользовательскому интерфейсу ОС;

• автоматическое восстановление состояния оболочки после завершения работы

прикладной программы.

Наиболее популярными программами-оболочками являются: Norton Commander,

XTree Pro Gold и PC Shell для DOS; Far, Windows и Total commander для WINDOWS.

- операционныеоболочки, которые в отличие от программ-оболочек, не только дают

пользователю более наглядные средства для выполнения часто используемых дейст-

вий, но и представляют новые возможности для запускаемых программ:

• графический интерфейс;

• возможность одновременного выполнения нескольких программ для однозадач-

ных систем;

• расширенные средства для обмена информацией между программами.

Наиболее популярными операционными оболочками являются: WINDOWS ver.

1.0-3.1, DESQview и Ensemble для ОС DOS; Presentation Manager для OS/2 ver. 1.0 – 2.0;

Motif и Ten/Plus для UNIX.

- вспомогательные программы – утилиты, которые предоставляют пользователям

различные необходимые услуги:

• обслуживание магнитных и оптических дисков;

• обслуживание файлов и каталогов;

 


 

• создание и обновление архивов;

• предоставление пользователю информации об аппаратных и программных сред-

ствах ПЭВМ и их диагностику;

• шифрование информации;

• защиту от компьютерных вирусов;

• автономную печать (программы - спулеры);

• управление памятью и т.д.

Предлагаемый курс "Операционные системы" посвящен главной составной части

системных программ – операционным системам.

Операционнойсистемой (ОС) называют комплекс программ, обеспечивающий

управление ресурсами ПЭВМ и процессами, использующими эти ресурсы при вычис-

лениях. При этом под ресурсом следует понимать любой логический или физический

компонент ПЭВМ и предоставляемые им возможности. Далее понятие процессами и ре-

сурса будет рассмотрено более подробно. Управление ресурсами сводится к выполне-

нию следующих функций:

- упрощению доступа к ресурсам;

- распределению ресурсов между процессами.

Реализация первой функции позволяет "спрятать" аппаратные особенности ПЭВМ

и тем самым предоставить в распоряжение пользователей и программистов виртуальную

машину с существенно облегченным управлением. Функция распределения ресурсов

присуща только операционным системам, которые обеспечивают одновременное вы-

полнение (или по крайней мере одновременное хранение в ОЗУ) нескольких программ,

которые принято называть вычислительнымипроцессами (или просто - процессами).

Понятие процесс является одним из основных при рассмотрении операционных

систем. Отдельный процесс - это выполнение конкретной программы с ее данными на

процессоре. Концептуально процесс рассматривается в двух аспектах: во-первых, он яв-

ляется носителем данных и, во-вторых, он (одновременно) выполняет операции, связан-

ные с их обработкой.

Термин ресурс обычно применяется по отношению к повторно используемым, от-

носительно стабильным и часто недостающим объектам, которые запрашиваются, ис-

пользуются и освобождаются процессами в период их активности. Другими словами,

ресурсомназываетсявсякийобъект,которыйможетраспределятьсявнутрисис-

темы. Ресурсы могут быть разделяемыми, когда несколько процессов могут их исполь-

зовать одновременно (в один и тот же момент времени) или параллельно (в течение не-

которого интервала времени процессы используют ресурс попеременно), а могут быть и

неделимыми (рис. 1) [2].

 

Ресурсы


 

Делимые

 

 

Используемые

Одновременно


 

Неделимые

 

 

Используемые

Параллельно

 

Рис. 1. Классификация ресурсов

 

 



 

При разработке первых систем ресурсами считались процессорноевремя, память,

каналыввода/вывода и периферийныеустройства. Однако очень скоро понятие ре-

сурса стало гораздо более универсальным и общим. Различного рода программные и

информационныересурсы также могут быть определены для системы как объекты, ко-

торые могут разделяться и распределяться и доступ к которым необходимо соответст-

вующим образом контролировать. Внастоящеевремяпонятиересурсапревратилось

вабстрактнуюструктурусцелымрядоматрибутов,характеризующихспособы

доступакэтойструктуреиеефизическоепредставлениевсистеме [2]. Более того,

помимо системных ресурсов как ресурс стали толковать и такие объекты, как сообще-

ния и синхросигналы, которыми обмениваются задачи.

В первых вычислительных системах любая программа могла выполняться только

после полного завершения предыдущей, поскольку все подсистемы и устройства ком-

пьютера управлялись исключительно центральным процессором. Центральный процес-

сор осуществлял и выполнение вычислений, и управление операциями ввода/вывода

данных. Соответственно, пока осуществлялся обмен данными между оперативной памя-

тью и внешними устройствами, процессор не мог выполнять вычисления. Введение в

состав вычислительной машины специальных контроллеров позволило совместить во

времени (распараллелить) операции вывода полученных данных и последующие вычис-

ления на центральном процессоре. Однако все равно процессор продолжал часто и долго

простаивать, дожидаясь завершения очередной операции ввода/вывода. Поэтому было

предложено организовать так называемый мультипрограммный (мультизадачный)

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

грамма (один вычислительный процесс или задача) ожидает завершения очередной опе-

рации ввода/вывода, другая программа (а точнее, другая задача) может быть поставлена

(рис. 2, 3) [2].

Из рис.2 и рис.3 видно, что благодаря совмещению во времени выполнения двух

программ общее время выполнения двух задач получается меньше чем, если бы мы вы-

полняли их по очереди. Из этих же рисунков видно, чтовремявыполнениякаждойза-

дачивобщемслучаестановитсябольше чем, если бы мы выполняли каждую из них

как единственную.

При мультипрограммировании повышается пропускная способность системы, но

отдельный процесс никогда не может быть выполнен быстрее, чем если бы он выпол-

нялся в однопрограммном режиме (всякое разделение ресурсов замедляет работу одного

из участников за счет дополнительных затрат времени на ожидание освобождения ре-

сурса).

 

Рис. 2. Пример выполнения двух программ в однопрограммном режиме

 


 

 

Рис. 3. Пример выполнения двух программ в мультипрограммном режиме

 

Общаясхема выделения ресурсов такова. При необходимости использовать какой-

либо ресурс задача обращается к супервизоруоперационнойсистемы посредством спе-

циальных вызовов (команд, директив) и сообщает о своем требовании. При этом указы-

вается вид ресурса и, если надо, его объем (например, количество адресуемых ячеек

оперативной памяти, количество дорожек или секторов на системном диске, устройство

печати и объем выводимых данных и т. п.). Директива обращения к операционной сис-

теме передает ей управление, переводя процессор в привилегированный режим работы,

если такой существует.

Ресурс может быть выделен задаче, обратившейся к супервизору с соответствую-

щим запросом, если [2]:

• он свободен и в системе нет запросов от задач более высокого приоритета к этому же

ресурсу;

• текущий запрос и ранее выданные запросы допускают совместное использование

ресурсов;

• ресурс используется задачей низшего приоритета и может быть временно отобран

(разделяемый ресурс).

Получив запрос, операционная система либо удовлетворяет его и возвращает

управление задаче, выдавшей данный запрос, либо, если ресурс занят, ставит задачу в

очередь к ресурсу, переводя ее в состояние ожидания (блокируя). После окончания ра-

боты с ресурсом задача опять с помощью специального вызова супервизора сообщает

операционной системе об отказе от ресурса или операционная система забирает ресурс

сама. Супервизор операционной системы освобождает ресурс и проверяет, имеется ли

очередь к освободившемуся ресурсу. Если очередь есть - то в зависимости от принятой

дисциплиныобслуживания и приоритетов заявок он выводит из состояния ожидания

задачу, ждущую ресурс, и переводит ее в состояние готовности к выполнению. После

этого управление либо передается данной задаче, либо возвращается той, которая только

что освободила ресурс.

При выдаче запроса на ресурс задача может указать, хочет ли она владеть ресурсом

монопольно или допускает совместное использование с другими задачами. Например, с

 


 

 

файлом можно работать монопольно, а можно и совместно с другими задачами. Если в

системе имеется некоторая совокупность ресурсов, то управлять их использованием

можно на основе определенной стратегии. Стратегия подразумевает четкую формули-

ровку целей, следуя которым можно добиться эффективного распределения ресурсов.

При организации управления ресурсами всегда требуется принять решение о том,

что в данной ситуации выгоднее: быстро обслуживать отдельные наиболее важные за-

просы, предоставлять всем процессам равные возможности, либо обслуживать макси-

мально возможное количество процессов и наиболее полно использовать ресурсы.

Рассмотрим кратко основные виды ресурсов вычислительной системы и способы

их разделения (рис. 1). Прежде всего, одним из важнейшихресурсов является сам про-

цессор,точнее -процессорноевремя. Обычно процессорное время делится поперемен-

но (видимость параллельности).

Вторымвидомресурсоввычислительнойсистемыможносчитатьпамять.

Оперативнаяпамять может быть разделена и одновременным способом и поперемен-

но (в зависимости от размера свободной памяти). Когда говорят о внешнейпамяти (на-

пример, память на магнитных дисках), то собственно память и доступкней считаются

разнымивидамиресурса. Каждый из этих ресурсов может предоставляться независимо

от другого. Но для полной работы с внешней памятью необходимо иметь оба этих ре-

сурса. Собственно внешняя память может разделяться одновременно, а доступ к ней -

попеременно.

Если говорить о внешнихустройствах, то они, как правило, могутразделяться

параллельно, если используются механизмы прямого доступа. Если же устройство ра-

ботает с последовательным доступом, то оно не может считаться разделяемым ресурсом.

Очень важным видом ресурсов являются программныемодули. Прежде всего,

следует рассматривать системные программные модули, поскольку именно они обычно

и рассматриваются как программные ресурсы и могут быть распределены между выпол-

няющимися процессами.

Программные модули могут быть однократно и многократно (или повторно) ис-

пользуемыми. Однократно используемыми называют такие программные модули, кото-

рые могут быть правильно выполнены только один раз. Это означает, что в процессе

своего выполнения они могут испортить себя: либо повреждается часть кода, либо - ис-

ходные данные, от которых зависит ход вычислений. Очевидно, что однократноис-

пользуемыепрограммныемодули являются неделимымресурсом. Более того, их обыч-

но вообще не распределяют как ресурс системы. Системные однократно используемые

программные модули, как правило, используются только на этапе загрузки ОС. При

этом следует иметь в виду тот очевидный факт, что собственно двоичные файлы, кото-

рые обычно хранятся на системном диске и в которых и записаны эти модули, не пор-

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

Повторноиспользуемыепрограммныемодули, в свою очередь, могут быть не-

привилегированными, привилегированными и реентерабельными.

Привилегированныепрограммныемодули работают в так называемом привилеги-

рованном режиме, то есть при отключенной системе прерываний, так, что никакие

внешние события не могут нарушить естественный порядок вычислений. В результате

программный модуль выполняется до своего конца, после чего он может быть вновь вы-

зван на исполнение из другой задачи (другого вычислительного процесса). Таким обра-

зом, такой модуль будет выступать как попеременно разделяемый ресурс. Структура

привилегированных программных модулей изображена на рис. 4 [2]. Здесь в первой сек-

ции программного модуля выключается система прерываний. В последней секции, на-

против, эта система включается.

Непривилегированныепрограммныемодули - это обычные программные модули,

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

 

 


 

нельзя считать разделяемыми, потому, что если после прерывания его запустить еще раз

по требованию другого вычислительного процесса, то промежуточные результаты для

прерванных вычислений могут быть потеряны. В противоположность этому, реентера-

бельныепрограммныемодули допускают повторное многократное прерывание своего

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

бельные программные модули должны быть созданы таким образом, чтобы было обес-

печено сохранение промежуточных вычислений для прерываемых вычислений и возврат

к ним, когда вычислительный процесс возобновляется с прерванной ранее точки (рис.5)

[2].

 

Рис. 4. Структура привилегированного программного модуля

 

Рис. 5. Структура реентерабельного программного модуля

 

Основная идея построения и работы реентерабельного программного модуля,

структура которого представлена на рис.5, заключается в том, что в первой (головной)

своей части с помощью обращения из системной привилегированной секции осуществ-

ляется запрос на получение в системной области памяти блока ячеек, необходимого для

размещения всех текущих (промежуточных) данных. При этом на вершину стека поме-

щается указатель на начало области данных и ее объем. Все текущие переменные про-

граммного модуля в этом случае располагаются в системной области памяти. Поскольку

в конце привилегированной секции система прерываний включается, то во время работы

центральной (основной) части реентерабельного модуля возможно ее прерывание. Если

 


 

 

прерывание не возникает, то в третьей (заключительной) секции осуществляется запрос

на освобождение использованного блока системной области памяти. Если же во время

работы центральной секции возникает прерывание и другой вычислительный процесс

обращается к тому же самому реентерабельному программному модулю, то для этого

нового процесса вновь заказывается новый блок памяти в системной области памяти и

на вершину стека записывается новый указатель. Очевидно, что возможно многократное

повторное вхождение в реентерабельный программный модуль до тех пор, пока в облас-

ти системной памяти, выделяемой специально для реентерабельной обработки, есть сво-

бодные ячейки, число которых достаточно для выделения нового блока.

Еще одним видом ресурсов являются информационныересурсы, которые могут

существовать как в виде переменных, находящихся в оперативной памяти, так и в виде

файлов. Если процессы используют данные только для чтения, то такие информацион-

ные ресурсы можно разделять, в других случаях необходимо специальным образом ор-

ганизовывать работу с такими данными.

В настоящее время существует большое разнообразие операционных систем. В це-

лом их можно классифицировать по следующим признакам [4]:

1. по количеству пользователей, одновременно обслуживаемых системой;

2. по числу процессов, которые могут одновременно выполняться под управлением

ОС;

3. по типу доступа пользователя к ПЭВМ;

4. по типу средств вычислительной техники, для управления ресурсами которых сис-

тема предназначена.

В соответствии с первым признаком различают однопользовательские и много-

пользовательские ОС. Многопользовательские системы поддерживают одновременную

работу на ЭВМ нескольких пользователей за различными терминалами.

Второй признак делит ОС на однозадачные и многозадачные.

В соответствии с третьим признаком ОС делятся на:

- системыспакетнойобработкой, когда из программ, подлежащих выполнению,

формируется пакет, который предъявляется ПЭВМ. В данном случае пользователи

непосредственно с ОС не взаимодействуют.

- системыразделениявремени, обеспечивающие одновременный диалоговый (инте-

рактивный) доступ к ЭВМ нескольких пользователей через терминалы. Ресурсы

ЭВМ при этом выделяются каждому пользователю "по очереди" в соответствии с той

или иной дисциплиной обслуживания. Данный тип ОС предназначен для наиболее

эффективного использования ресурсов ЭВМ;

- системыреальноговремени, которые должны обеспечивать гарантированное время

ответа на внешние события. Такие ОС служат для управления внешними по отноше-

нию к ЭВМ процессами и объектами.

По четвертому признаку ОС делятся на однопроцессорные, многопроцессорные,

сетевые и распределенные.

Следует отметить, что ОС не могут предоставить пользователям возможности, ко-

торыми не обладает ПЭВМ. Они в состоянии только эффективно использовать аппарат-

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

для ПЭВМ, являются: CP/M, DOS, UNIX, OS/2, WINDOWS, LINUX.

В предлагаемом курсе будут рассмотрены особенности построения наиболее попу-

лярных современных операционных систем. На следующем этапе будут рассмотрены

техника и особенности программирования базовых элементов для наиболее распростра-

ненных в настоящее время ОС семейства Windows современных версий на языках про-

граммирования Си и C++.

 

 


 

ГЛАВА 1. ПРИНЦИПЫРАЗРАБОТКИ ПРОГРАММ В СОВРЕМЕННЫХ ОС

 

§ 1.1.ОперационныесистемыдляПЭВМ

 

Первоначально для IBM-совместимых ПЭВМ были разработаны следующие клас-

сы операционных систем:

1) ОС семейства СР/М;

2) ОС семейства DOS;

3) ОС семейства OS/2;

4) ОС семейства UNIX.

В дальнейшем, с развитием ПЭВМ, ОС СР/М перестала использоваться, а осталь-

ные классы операционных систем получили свое дальнейшее развитие в более совер-

шенных современных системах. Так на смену Dos пришла операционная система Win-

dows различных модификаций, на смену UNIX – LINUX, QNX и др., на смену OS/2 –

OS/2 WARP. Рассмотрим более подробно основные классы ОС.

 

1.1.1. ОС CP/M

 

СистемаСР/М (Control Program for Microcomputers - управляющая программа для

микрокомпьютеров) была разработана в 1974 г. фирмой Digital Research и исторически

является одной из первых ОС для ПЭВМ. Она предназначена для управления ресурсами

8-разрядных персональных компьютеров на основе МП 8080. Это однозадачная ОС, со-

стоящая из нескольких компонентов, что позволяет достаточно легко адаптировать ее к

архитектурным особенностям той или иной машины путем перекодирования только од-

ного компонента, а именно, BIOS.

Развитием СР/М явилась система СР/М-86, предназначенная для ПЭВМ класса XT.

Дальнейшее совершенствование ОС СР/М привело к появлению многозадачной системы

ССР/М-86, а затем и многопользовательской ОС МР/М-86. В рамках данного семейства

ОС было создано большое число программ для ПЭВМ, включая трансляторы языков

Бейсик, Паскаль, Си, Фортран, Кобол, Ада, а также текстовые редакторы, СУБД, графи-

ческие пакеты и др.

Достоинство систем данного класса состояло в предельной простоте, малой по-

требной емкости ОЗУ для работы - 20 Кбайт, а также возможности быстрой настойки на

разные конфигурации ПЭВМ. Однако следует отметить, что представители семейства

СР/М были довольно примитивны и имели слабый командный язык наряду с простей-

шей файловой системой. Поэтому на 16-разрядных ПЭВМ они нашли весьма ограни-

ченное применение и дальнейшего развития не получили.

 

1.1.2. ОС DOS.

 

Первый представитель ОС семейства DOS - система MS-DOS (Microsoft Disk Op-

erating System - дисковая операционная система фирмы Microsoft) была выпущена в 1981

году в связи с появлением ПЭВМ IBM PC и сильно напоминала систему СР/М. Каждая

новая версия DOS появлялась, как правило, в связи с созданием новых аппаратных

средств. Номер версии состоит из двух чисел, разделенных точкой. Первое число обо-

значает основную редакцию, второе - ее модификацию. Так, DOS 2.1 сильно отличается

от DOS 1.1, но очень похожа на DOS 2.O. Первые версии DOS были нерусифицирован-

ны. И только в начале декабря 1989 г. фирма IBM зарегистрировала для СНГ кодовую

страницу с номером 866, разработанную СП «Диалог» и фирмой Microsoft при участии

фирм IBM и HP, а также зарезервировала номера 867 и 868 для других языков Содруже-

ства.

 

 


 

 

Далее перейдем к рассмотрению наиболее существенных особенностей различных

версий DOS.

• DOS 1.00. Появилась в связи с созданием IBM PC. Подобна СР/М, но предназначена

для МП 8088. Поддерживает только односторонние 133-мм 8-секторные 160-Кбайт

НГМД.

• DOS 1.05. Устраняет ряд ошибок, обнаруженных в DOS 1.00.

• DOS 1.10. Была стандартом более года. Дополнительно к предыдущей версии под-

держивает двухсторонние 133-мм 8-секторные 320-Кбайт НГМД.

• DOS 2.00. Появилась в связи с созданием IBM PC XT. Поддерживает НЖМД емко-

стью до 10 Мбайт. Дополнительно к предыдущей версии ОС обслуживает 133-мм 9-

секторные односторонние (180-Кбайт) и двухсторонние (360-Кбайт) НГМД. Под-

держивает древовидную файловую структуру. Реализует концепции стандартного

ввода-вывода, перенаправления ввода-вывода и фильтров. Обрабатывает следующие

новые команды: FC (только MS-DOS), BACKUP, RESTORE, TREE, CD, MD, RD,

PATH и др. Имеет расширенный язык командных файлов за счет новых команд GO-

TO, IF, ECHO и др. Реализует возможность подключения (установки) внешних драй-

веров устройств. Обеспечивает фоновую печать по команде PRINT. Поддерживает

видеосистему CGA.

• DOS 2.10. Создана для IBM PCjr. Основана на DOS 2.00 и устраняет обнаруженные в

ней ошибки.

• DOS 3.00. Появилась в связи с созданием IBM PC AT. За счет указания маршрута

поиска позволяет выполнять программы из файлов, которые находятся не в рабочем

каталоге. Поддерживает НЖМД емкостью до 20 Мбайт. Дополнительно к предыду-

щим версиям обслуживает двухсторонние 133-мм 15-секторные 1,2-Мбайт НГМД.

Обрабатывает новые команды ATTRIB, LABEL, SELECT, KEYBxx, SHARE, GRAF-

TABL, COUNTRY. Поддерживает виртуальный диск в ОЗУ.

• DOS 3.10.Имеет некоторые сетевые средства. Поддерживает новые команды JOIN и

SUBST.

• DOS 3.20 Создана для IBM PC Convertible. Дополнительно поддерживает 89-мм 720-

Кбайт НГМД. Обрабатывает новые команды REPLACE и XCOPY. Поддерживает

усовершенствованные команды ATTRIB, COMMAND, FORMAT, SELECT, GRAPH-

ICS, SHELL. Препятствует непреднамеренному форматированию жесткого диска.

Поддерживает драйвер DRIVER.SYS для создания фиктивных дисководов.

• DOS 3.30 Появилась в связи с созданием семейства PS/2 и способна функциониро-

вать на моделях семейства PC. Поддерживает концепцию разбиения жестких дисков

любого объема на логические диски размером до 32 Мбайт каждый, которые можно

использовать одновременно (все они доступны DOS). Дополнительно обслуживает

89-мм 1,44-Мбайт НГМД. Содержит усовершенствованные средства для поддержки

национальных языков (введено понятие кодовой страницы). Имеет несколько выяв-

ленных ошибок (например, команда FORMAT может забраковать хороший диск).

Поддерживает новые команды APPEND, CALL, CHCP, FASTOPEN и NLSFUNC, а

также усовершенствованные команды DATE, TIME, ATTRIB, BACKUP, FDISK, RE-

STORE и XCOPY. Реализует усовершенствованный язык командных файлов.

• DOS 4.00 Поддерживает логические диски на винчестере размером свыше 32 Мбайт.

Использует отображаемую память для буферов ОС и структур данных команды

FASTOPEN (требуется



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-02 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: