Автор работы: Пользователь скрыл имя, 17 Ноября 2015 в 15:44, реферат
Недаром наш XXI век, в котором мы живем, называют веком информационных технологий и открытий. Сейчас очень сложно представить нашу жизнь без компьютеров, хотя ещё 10-20 лет назад их почти не было. В наши дни можно зайти в любую городскую библиотеку и увидеть очень интересную картину: бабушки и дедушки, сидя за монитором ПК с мышкой в руке, пусть немного неуклюже и медленно, но работают за ним. Кто-то ищет рецепты от вечных болезней, кто-то пишет своим детям, которые живут вдалеке, другие изучаю права и кодексы или просто читаю новости! Таким образом, компьютеры не просто вошли в нашу жизнь, они стали её неотъемлемой частью.
Более серьезный недостаток - ограничение памяти, доступной DOS-программ - 640 К. На самом деле DOS может использовать до 1 Mb ОЗУ, но архитектура IBM PC сокращает доступную память до 640 К. Есть множество обходных путей - отображаемая память, расширенная память, расширители DOS, блоки верхней памяти, создаваемые диспетчерами памяти для процессора 80386, но факт остается фактом: не существует естественного способа, позволяющего прикладным программам использовать мегабайты ОЗУ, установленные на современных машинах.
Единственный надежный способ преодолеть эти барьеры раз и навсегда - заставить процессор работать в защищенном режиме. Но ни DOS, ни ее прикладные программы не способны работать в этом режиме, поэтому огромные пространства расширенной памяти остаются недоступными для большинства программ.
Скелетная природа DOS привлекает разработчиков программного обеспечения. Большинство основных прикладных программ общаются с экраном, клавиатурой и принтером в обход DOS, так как предоставляемые ею услуги по организации интерфейса с этими и другими устройствами совершенно недостаточны. DOS, например, не поддерживает ввод-вывод через последовательный порт по прерываниям. Программисты тратят довольно много времени на написание драйверов для сотен различных принтеров и видеоадаптеров. Конфигурации оборудования бывают настолько разнообразными, что трудно написать программу, которая работала бы на любом IBM-совместимом компьютере. Кроме общей файловой системы DOS здесь мало чем может помочь.
Прикладная программа, написанная для Windows, наоборот, будет работать на любом ПК, удовлетворяющем жестким требованиям Windows. Что важно, ответственность за подготовку драйверов перекладывается с разработчика программного обеспечения на изготовителя оборудования, так что разработчик может посвятить больше времени работе над ядром программы.
Не так-то просто обучиться пользоваться различными DOS-программами. В DOS нет стандартного интерфейса для прикладных программ, поэтому то, что работает в одной программе, вероятнее всего, не будет работать в другой. Для того чтобы записать файл в Windows-программе достаточно выбрать пункт Save из меню File. В программе WordPerfect for DOS для того, чтобы начать этот процесс, необходимо нажать F10. В пакете Lotus 1-2-3 - /FS. Этот список можно продолжать сколько угодно. Исследования показывают, что средний пользователь IBM-совместимого ПК регулярно используют две-три прикладные программы, пользователи же компьютеров Macintosh - почти вдвое больше. Одно из возможных объяснений такой разницы состоит в том, что благодаря подобию программных изделий для Macintosh пользователь, знакомый с одной прикладной программой, легче осваивает другие.
Еще один "черный шар" против DOS - полное отсутствие мультизадачности. DOS предназначена для одновременного выполнения только одной программы, и попытки заставить ее работать по-другому (за исключением некоторых очень специфичных случаев) чреваты крахом системы. Даже резидентные программы (TSR), являющиеся ограниченным, но все же весьма полезным исключением из правила, осложняют дело, когда конфликтуют друг с другом или с другими элементами системы. Имеется большое количество изделий различных фирм, обеспечивающих мультизадачность или переключение задач в системах, базирующихся на DOS, но ни одна из них не может сравниться по эффективности с такой операционной системой, как OS/2, которая с самого начала была предназначена для одновременной работы нескольких программ.
Сила в простоте
Одна из наиболее очевидных сильных сторон DOS - умеренные требования к оборудованию. Для того, чтобы работать с Windows на более или менее приемлемой скорости, необходим как минимум ПК на основе процессора 80386 с не менее чем 4Мбайт ОЗУ. Если надо DOS может вполне нормально работать с 640 Кбайт и на процессоре 8088. DOS-программы работают быстро, по большей части благодаря тому, что большинство из них использует текстовый режим дисплея. Даже графические DOS-программы, как правило, в несколько раз быстрее своих Windows-аналогов, так как над ними не довлеет GDI (Graphics Device Interface, интерфейс графического устройства, компонент Windows, который используется программами для вывода на экран). То, что один толкует как недостаток, другому кажется достоинством. Для пользователя, знакомого с командами DOS и достаточно быстро работающего на клавиатуре, командная строка - оружие, а не ловушка.
Простота DOS позволяет делать то, что неосуществимо в более сложных операционных средах. Например, можно с помощью команды DEBUG создать очень мощные утилиты. API (application programming interface, интерфейс прикладных программ) DOS достаточно прост, и даже начинающие программисты могут научиться писать полезные программы. В то же время API Windows очень сложен и для овладения им необходимо несколько месяцев. Кроме того, создание программ для Windows требует изощренных инструментальных средств, в частности редакторов ресурсов, компиляторов и отладчиков, работающих в этой операционной системе. Не случайно, что для Windows гораздо меньше условно бесплатного и бесплатного программного обеспечения.
Ключевой идеей Windows является обеспечение полной независимости программ от аппаратуры. Система Windows 3.1 изначально создавалась так, чтобы полностью взять на себя общение с конкретным типом дисплея или принтера. Как пользователю, так и программисту, создающему приложение под Windows предоставлены универсальные средства, снимающие проблему обеспечения совместимости с конкретной аппаратурой (аппаратная совместимость) и программным обеспечением (программная совместимость).
Унифицированный единый графический интерфейс с пользователем облегчает изучение новых программных продуктов.
Одним из средств, обеспечивающих программную совместимость, является механизм обмена данными между различными приложениями. Специальный "почтовый ящик" (clipboard) Windows 3.1 позволяет пользователю переносить информацию из одного приложения в другое, не заботясь о ее формате и представлении. В отличии от профессиональных операционных систем, где механизм обмена данных между программами доступен только программисту, в Windows 3.1 это делается очень просто и наглядно для пользователя.
Механизм обмена данных между приложениями - жизненно важное свойство многозадачной среды. И в настоящее время производители программного обеспечения пришли уже к выводу, что для переноса данных из одного приложения в другое одного "почтового ящика" явно недостаточно. Появился новый, более универсальный механизм - OLE (Object Linking Embedded - Встроенная Объектная Связь), который позволяет переносить из одного приложения в другое разнородные данные.
Windows не только позволяет работать
с привычным программным
Windows 3.1 может работать в одном из трех режимов: Real (реальном), Standart (стандартном), 386 Enhanced (расширенном). В процессе установки Windows анализирует имеющиеся аппаратные ресурсы и автоматически устанавливает режим, наиболее полно использующий возможности имеющейся аппаратуры.
В реальном режиме Windows 3.1 не использует аппаратные возможности, не поддерживаемые MS-DOS (этот режим является единственно возможным для машин с процессором 8086/8088): как и в MS-DOS, пользователь ограничен оперативной памятью в 640 Кбайт.
В стандартном режиме (возможном на компьютерах с процессором 80286 или 80386) Windows 3.1 полностью использует имеющуюся на компьютере расширенную память, загружая туда все приложения, написанные специально для Windows. Программы DOS загружаются в обычную память.
В расширенном режиме (возможном на компьютерах с процессором 80386 и выше) при запуске приложений (как Windows, так и обычных программ для MS-DOS) Windows 3.1 поддерживает т.н. режим виртуальной машины (запускаемой программе как бы выделяется свой собственный компьютер со всеми ресурсами), реализуя многозадачную среду.
Windows 3.1 позволяет запускать
3.3. Windows 95
Windows 95 представляет собой продукт эволюционного развития системы Windows 3.1x и не означает полного разрыва с прошлым. Хотя она несет в себе много важных изменений по сравнению с 16-разрядной архитектурой Windows, в ней сохранены некоторые важнейшие свойства ее предшественницы. Результатом стало появление гибридной ОС, способной работать с 16-разрядными прикладными программами Windows, программами, унаследованными от DOS, и старыми драйверами устройств реального режима и в то же время совместимой с истинными 32-разрядными прикладными программами и 32-разрядными драйверами виртуальных устройств.
Среди наиболее важных усовершенствований, появившихся в Windows 95, - изначально заложенная в ней способность работать с 32-разрядными многопотоковыми прикладными программами, защищенные адресные пространства, вытесняющая многозадачность, намного более широкое и эффективное использование драйверов виртуальных устройств и возросшее применение 32-разрядных хипов для хранения структур данных системных ресурсов. Ее наиболее существенный недостаток состоит в относительно слабой защищенности от плохо работающих программ, содержащих ошибки.
Каждая собственная прикладная программа Windows 95 видит неструктурированное 4 Gb-ное адресное пространство, в котором размещается она сама плюс системный код и драйверы Windows 95. Каждая 32-разрядная прикладная программа выполняется так, как будто она монопольно использует весь ПК. Код прикладной программы загружается в это адресное пространство между отметками 2 и 4 Gb. Хотя 32-разрядные прикладные программы "не видят" друг друга, они могут обмениваться данными через буфер обмена (Clipboard), механизмы DDE и OLE. Все 32-разрядные прикладные программы выполняются в соответствии с моделью вытесняющей многозадачности, основанной на управлении отдельными потоками. Планировщик потоков, представляющий собой составную часть системы управления виртуальной памятью (VMM), распределяет системное время среди группы одновременно выполняемых потоков на основе оценки текущего приоритета каждого потока и его готовности к выполнению. Вытесняющее планирование позволяет реализовать намного более плавный и надежный механизм многозадачности, чем кооперативный метод, используемый в Windows 3.1x.
Системный код Windows 95 размещается выше границы 2 Gb. В пространстве между отметками 2 и 3 Gb находятся системные библиотеки DLL кольца 3 и любые DLL, используемые несколькими программами. (32-разрядные процессоры фирмы Intel предоставляют четыре уровня аппаратной защиты, поименованные, начина с кольца 0 до кольца 3. Кольцо 0 наиболее привилегированно.) Компоненты кольца 0 в системе Windows 95 отображаются в пространство между 3 и 4 Gb. Эти важные участки кода с максимальным уровнем привилегий содержат подсистему управления виртуальными машинами (VMM), файловую систему и драйверы VxD.
Область памяти между 2 и 4 Gb отображается в адресное пространство каждой 32-разрядной прикладной программы, т. е. оно совместно используется всеми 32-разрядными прикладными программами в вашем ПК. Такая организация позволяет обслуживать вызовы API непосредственно в адресном пространстве прикладной программы и ограничивает размер рабочего множества. Однако за это приходится расплачиваться снижением надежности. Ничто не может помешать программе, содержащей ошибку, произвести запись в адреса, принадлежащие системным DLL, и вызвать крах всей системы.
В области между 2 и 3 Gb также находятся все запускаемые вами 16-разрядные прикладные программы Windows. С целью обеспечения совместимости эти программы выполняются в совместно используемом адресном пространстве, где они могут испортить друг друга так же, как и в Windows 3.1x.
Windows NT по существу представляет
собой операционную систему
Схема распределения памяти Windows NT разительно отличается от распределения памяти систем Windows 95 и OS/2 Warp. Собственные прикладным программам выделяется 2 Gb особого адресного пространства, от границы 64 К до 2 Gb (первые 64 К полностью недоступны). Прикладные программы изолированы друг от друга, хотя могут общаться через буфер обмена Clipboard, механизмы DDE и OLE.
В верхней части каждого 2 Gb блока прикладной программы размещен код, воспринимаемый прикладной программой как системные библиотеки DLL кольца 3. На самом деле это просто заглушки, выполняющие перенаправление вызовов, называемые DLL клиентской стороны (client-side DLLs). При вызове большинства функций API из прикладной программы библиотеки DLL клиентской стороны обращаются к локальным процедурам (Local Process Communication - LPC), которые передают вызов и связанные с ним параметры в совершенно изолированное адресное пространство, где содержитс собственно системный код. Этот сервер-процесс (server process) проверяет значения параметров, исполняет запрошенную функцию и пересылает результаты назад в адресное пространство прикладной программы. Хотя сервер-процесс сам по себе остается процессом прикладного уровня, он полностью защищен от вызывающей его прикладной программы и изолирован от нее.
Между отметками 2 и 4 Gb расположены низкоуровневые системные компоненты Windows NT кольца 0, в том числе ядро, планировщик потоков и диспетчер виртуальной памяти. Системные страницы в этой области наделены привилегиями супервизора, которые задаются физическими схемами кольцевой защиты процессора. Это делает низкоуровневый системный код невидимым и недоступным по записи для программ прикладного уровня но приводит к падению производительности во врем переходов между кольцами.
Для 16-разрядных прикладных Windows-программ Windows NT реализует сеансы Windows on Windows (WOW). Как и OS/2 Warp, Windows NT дает возможность выполнять 16-разрядные программы Windows индивидуально в собственных пространствах памяти или совместно в разделяемом адресном пространстве. Почти во всех случаях 16- и 32-разрядные прикладные программы Windows могут свободно взаимодействовать, используя OLE (при необходимости через особые процедуры thunk) независимо от того, выполняются они в отдельной или общей памяти. Собственные прикладные программы и сеансы WOW выполняются в режиме вытесняющей многозадачности, основанной на управлении отдельными потоками. Множественные 16-разрядные прикладные программы Windows в одном сеансе WOW выполняются в соответствии с кооперативной моделью многозадачности. Windows NT может также выполнять в многозадачном режиме несколько сеансов DOS. Поскольку Windows NT имеет полностью 32-разрядную архитектуру, не существует теоретических ограничений на ресурсы GDI и USER.