Базовая система ввода-вывода находится в постоянном запоминающем устройстве (ПЗУ), установленном внутри системного блока, т.е. имеет аппаратно-программную реализацию. Остальные модули могут находиться на дисках.
Блок начальной загрузки всегда размещается в нулевом секторе нулевой дорожки любого диска. Модули IO.SYS и MS-DOS.SYS также размещаются в определенной области дисковой памяти. При форматировании диска эту область можно зарезервировать для последующей записи модулем операционной системы.
Если проследить эволюцию операционной системы MS-DOS, то можно заметить, что ее развитие шло параллельно с развитием аппаратной части ПК, в то время как идеология оставалась прежней, ориентированной именно на эту часть и сама по себе не представляла какой-либо ценности.
В июне 1991 года фирма Microsoft опубликовала новую версию DOS 5.0. В этой версии в значительной степени учитываются возможности новых микропроцессоров. В настоящее время повсеместно применяется MS-DOS версии 6.22.
Параллельно с DOS фирма Microsoft занималась также разработкой графического интерфейса (оболочки) Windows. Версия Windows 3.0 появилась в мае 1990 года, а в 1992 года на рынке появилась версия Windows 3.1.
Операционная система Windows разрабатывается корпорацией Microsoft с ноября 1983 года, однако ее первая промышленная версия появилась лишь спустя два года – в ноябре 1985 и не вызвала у пользователей и программистов заметного интереса. Положение не исправила и вторая версия Windows (1987 год) и лишь с появлением версии 3.0 (в мае 1990 года) начался настоящий "бум Windows", который продолжается и по сей день.
Фактически системные функции MS-DOS в большинстве прикладных программ используются только на уровне обслуживания файловой системы, которая, кстати доказала свою эффективность. Все остальные функции «нормальных» операционных систем – обслуживание аппаратных ресурсов и их разделение (для многозадачных ОС) – в основном обеспечиваются прикладными программистами. В результате программы становятся аппаратно зависимыми, а любой серьезный пакет сопровождается обязательной программой инсталляции, требующей ответа на многочисленные вопросы об особенностях конфигурации конкретного ПК (в текстовом процессоре WordPerfect, например, предусмотрена встроенная поддержка более чем 200 типов различных принтеров).
В этом смысле название «операционная оболочка» кажется более правильным. В промышленной версий Windows 3.1 реализованы следующие функции, отсутствующие или неразвитые в MS-DOS:
· поддержка графики. В отличие от MS-DOS Windows в принципе ориентирована на графический режим работы дисплея и требует обязательного наличия в ПК графического адаптера типа EGA, VGA, SVGA;
· поддержка псевдопараллельной работы нескольких программ (многозадачность) и связанное с этим разделение аппаратных ресурсов;
· обеспечение независимости прикладных программ от аппаратных ресурсов ПК. Прикладная программа ничего не знает об объеме оперативной памяти, типе графического адаптера, клавиатуры или принтера – согласование ее запросов с наличными ресурсами берет на себя Windows;
· единый графический интерфейс с пользователем. В состав Windows входят многочисленные процедуры, поддерживающие создание и использование стандартных диалоговых элементов - окон, рамок, кнопок и т.п. Этими процедурами может пользоваться любая прикладная программа, поэтому внешние проявления интерфейса на экране ПК выглядят одинаково для разных программ;
· объектно-ориентированный диалог с пользователем. Windows избавляет пользователя от заучивания команд, вместо этого в ней используете принцип «указать на объект – указать действие с ним» (приблизительно так же реализуется работа в привычном Norton Conmander);
· средства обмена данными между различными приложениями. В Windows широко используется механизм «почтового ящика», представляющего собой системный буфер Clipboard. В него можно поместить, например, данные получаемые из последовательного порта по телекоммуникационным канала, чтобы затем извлечь их в электронной таблице или текстовом процессоре;
· использование масштабируемых шрифтов. В состав Windows входят многочисленные шрифты, разработанные в соответствии с технологией TrueType (буквальный перевод - Правильная Печать). Они отличаются от широко известных матричных шрифтов тем, что практически не изменяют свой размеры и начертание при воспроизведении на разных устройствах, в результате текстовая страница, которую вы, например, видите в окне текстового процессора, будет иметь почти такой же вид после распечатки на матричном принтере.
Как уже говорилось, Windows – многозадачная оболочка. Это означает, что одновременно под ее управлением может исполняться несколько прикладных программ (в том числе несколько копий одной и той же программы).
При работе программы под Windows существует ряд особенностей. Во-первых, одновременно в памяти может находиться несколько готовых к работе программ (или их частей, если памяти недостаточно). Каждая программа может работать только со своим сегментом данных и не имеет права залезать в «чужую» область памяти, т.к. это может нарушить работоспособность параллельно исполняемых программ. Во-вторых, время работы центрального процессора в условиях многозадачности также является разделяемым ресурсом. В отличие от классических многозадачных операционных систем, в Windows разделение времени центрального процессора между несколькими программами реализуется весьма специфичным образом: оболочка не прерывает работающую программу до тех пор, пока та не обратится к ядру Windows: в этот момент оболочка проверяет, пуста ли очередь сообщений для активной программы, и, если пуста, передает управление параллельно исполняемой программе. Поскольку любая работающая под Windows программа построена так, что она не может избежать обращений к ядру, можно сказать, что механизм переключения задач «встроен» в исполняемые программы.
Windows может работать в трех режимах – реальном, стандартном и расширенном (версия 3.1 использует только стандартный и расширенный режимы). Режим выбирается автоматически в момент загрузки Windows на основе анализа типа центрального процессора, но может быть изменен после ее запуска по команде пользователя.
Режимы отличаются в основном набором команд, используемых процессором, и объемом доступной оперативной памяти.
Операционная среда Windows 95 состоит из аппаратных устройств компьютера и следующих программных средств:
· диспетчера виртуальных машин (Virtual Machine Manager, VMM);
· виртуальных устройств (Virtual Devices, VxDs);
· ПЗУ (ROM) базовой системы ввода-вывода (Basic Input and Output System, BIOS);
· устанавливаемых драйверов устройств (installable device drivers) и резидентных программ (Terminate and Stay Resident, TSRs);
· программ Microsoft MS-DOS;
· 16- и 32-разрядных Windows-приложений.
Основные понятия системы программирования. Турбо Си
Так же как и остальные сферы программного обеспечения, индустрия программирования постоянно развивалась. Программисты, как могли, совершенствовали свои инструменты и условия труда.
Появление компиляторов и интерпретаторов с языков высокого уровня избавило программиста от необходимости общения с машиной на ее языке. Процесс написания программ стал более легким и быстрым.
Развитие идеи автоматизации процесса программирования привело к появлению систем программирования, то есть систем, позволяющих набирать исходные тексты программ, компилировать их, а также осуществлять их отладку.
Появление Windows вызвало целую революцию в программировании. Для визуальной операционной системы старые средства разработки программ стали достаточно неудобны, так как стали требовать от программиста рутинного написания большого объема кода, обеспечивающего Windows-совместимый интерфейс. Данные неудобства вызвали появление целого ряда систем визуального программирования, облегчающих процесс создания графического интерфейса.
Язык Си давно завоевал особую популярность у программистов благодаря уникальному сочетанию возможностей языков высокого и низкого уровня. Знаменательной вехой его эволюции явилось появление системы Турбо Си, получившей признание как одно из самых удачных инструментальных средств для современных персональных компьютеров.
Система Турбо Си разработана фирмой BorlandInternational для микропроцессоров серии 8086 (в частности, для IBMPC и совместимых с ними ПЭВМ), работающих с операционной системой MS-DOS. В этой системе, согласно концепции Турбо, применяется новая схема быстрой компиляции, проводимой в значительной мере в оперативной памяти с редкими обращениями к магнитным дискам. Качественно новый эффект быстрой компиляции делает экономичной многократную модификацию программ. В системе Турбо Си внесены некоторые изменения в сам язык Си, новая версия которого называется тоже Турбо Си.
Данная система органично сочетает лучшие свойства концепции организации Турбо, воплощенной к настоящему времени применительно к ряду популярных языков программирования, и концепции языка Си, первоначально предложенной Б. Керниганом и Д. Ричи и впоследствии развитой в стандарте ANSI и в Турбо Си.
Система Турбо Си предоставляет пользователю интегрированную среду для поддержки всех этапов разработки и отладки разнообразных средств программного обеспечения, от небольших программ до крупных проектов. Она качественно облегчает труд программиста, обеспечивая ему удобство автоматизированного прохождения всего «жизненного цикла» программы с автоматическим выявлением широкого класса ошибок и выдачей предупреждений. Все режимы, от компиляции до отладки реализуются нажатием одной-двух клавиш непосредственно из «окна» текстового редактора.
В целом система Турбо Си обеспечивает самые разнообразные потребности современного программирования. Следует отметить, что в этом отношении с нею может успешно конкурировать коммерческая версия Турбо Паскаля, но принципиальное отличие состоит в том, что успех последней базируется на существенных отклонениях от стандарта Паскаля, тогда как система Турбо Си реализована в основном в рамках стандарта ANSI, хотя и включает ряд дополнительных языковых средств. В частности, одним из удобных отличий языка Турбо Си является наличие в нем вложенных комментариев.