Организация и функционирование компьютеров

         

Операционная система Windows


Операционная система Windows разработана фирмой Microsoft  и обеспечивает большое количество возможностей и удобств для пользователей и программистов по сравнению с MS DOS. Она основана на принципах, придуманных создателями машин фирмы Apple.  Широчайшее распространение Windows сделало ее фактическим стандартом для IBM PC-подобных компьютеров: подавляющее большинство пользователей таких компьютеров работают в Windows, поэтому в последнее время практически все новые программы разрабатываются для их эксплуатации в среде Windows.

В основу операционной системы Windows были положены совсем другие принципы, чем в основу MS DOS. От нее в первую очередь требовался естественный, простой и прозрачный интерфейс, ориентированный на пользователя-непрофессионала. Этот общий принцип реализован в Windows достаточно успешно.

Одно из основных достижений Windows - удобный графический интерфейс. Пользователю нет необходимости вводить команды в виде текстовых строк. Достаточно ориентироваться в деталях картинки, представленной в текущий момент на экране, с помощью манипулятора “мышь”  выбрать нужный элемент и щелчком мыши на нем осуществить нужное действие. С помощью той же мыши можно перемещать объекты (Drag and Drop - перетащить и положить)., менять их размер, открывать и закрывать окна на экране - и все это без применения клавиатуры. Очень удачно выбраны пропорции элементов окна, размеры диалоговых окон и размещение элементов в них, шрифты, сочетания цветов.

Достоинством Windows является персонализация программного окружения на пользовательском компьютере. Вообще, работу в среде Windows можно назвать документоориентированной или объектноориентированной. Объектно-ориентированный подход реализуется через модель ра­бочего стола. Пользователь сам формирует содержание рабочего стола, включив в него интересующие его в настоящий момент программы и документы. Вызов программы или документа осуществляется двойным щелчком мышью на пиктограмме. Существенно то, что состав рабочего стола не зависит от расположения соответствующих программ на винчестере.
Пользователь работает с задачами и приложениями так же, как с документами на своем письменном столе. Одно из главных отличий Windows  состо­ит в том, что основной упор в ней делается на документ, а програм­ма рассматри­вается только как инструмент для работы с документом.

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

Оболочка Windows имеет многооконный интерфейс. Благодаря этому структура интерфейса достаточно хорошо связана с логикой взаимодействия пользователя с компьютером. Для каждого приложения, для каждого документа, открытого в приложении, для каждого протяженного действия открывается свое окно. Окно может быть в свернутом состоянии или накрыто другими окнами, но тем не менее оно неявно существует в системе и к нему можно перейти. Тому действию, с которым  имеет дело пользователь в настоящий момент, соответствует активное окно (активное окно можно узнать по цвету заголовка окна). Закрытие соответствующего окна означает выход из приложения, закрытие документа или окончание действия.

Работа во всех приложениях под Windows носит универсальный характер. Реализуется этот принцип за счет того, что с каждым приложением связывается окно, состоящее из стандартных элементов, манипулирование которыми осуществляется по одним и тем же правилам. Изучив одно приложение, пользователь фактически овладевает принципами работы с любым другим приложением.


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

Важнейшей особенностью Windows является вариативность средств поддержки работы приложений. Один и тот же результат можно получить, как минимум, тремя, а зачастую четырьмя и более способами. При этом основным является выполнение функций приложения посредством команд главного меню. За редчайшим исключением, любое действие приложения можно осуществить с помощью одной из команд. Кроме того, для наиболее важных и наиболее часто встречающихся операций в приложениях Windows  предусмотрены специальные кнопки с картинками  и подписями - пикто­граммы или иконки. Щелчок на такой кнопке сразу вызывает нужное действие. Третий стандартный способ выполнение типовых действий - нажатие соответст­вующей комбинации клавиш (так называемых горячих клавиш). Имеется в виду нажатие некоторой клавиши при нажатой клавише Alt, Ctrl или Shift (а иногда при нажатой паре этих клавиш). Кроме того, во многих случаях то или иное действие можно выполнить путем определенных манипуляций мышью - щелчком, двойным щелчком (возможно, при нажатой клавише Alt, Ctrl или Shift)  на каком-либо элементе окна или буксировкой мышью.



Система Windows обеспечивает независимый запуск и параллельное выполнение нескольких программ (более точно не параллельное, а псевдопараллельное: несколько программ одновременно расположены в оперативной памяти, но в каждый момент времени выполняется только одна программа). Причем это относится как к программам, специально написанным для работы под Windows, так и к обычным программам, работающим в среде DOS. Для каждой из выполняемых программ открывается собственное окно. В случае необходимости пользователь может приостановить выполнение одной программы и начать или продолжить выполнение другой программы.

Windowsинтегрированная система. В нее входит целый комплекс подпрограмм специального назначения - редакторы, графические редакто­ры,  программы настройки, программы печати и т.д., которые могут взять на себя часть функций, необходимых для работы приложений.


Windows стандартизирует операции обмена информацией между различными Windows-приложениями. В среде Windows можно составлять документы из частей, которые готовятся в различных приложениях. Так, при вставке в текст, подготовленный в текстовом процессоре Word,

рисунка, созданного в Paintbrush, рисунок рассматривается как объект. Он сохраняется, загру­жается и печатается совместно с документом. Но если, работая с текстом в Word,

вы захотите изменить рисунок, то достаточно выполнить двойной щелчок на рисунке, чтобы вызвать графический редактор Paintbrush с автоматической загрузкой рисунка. Все внесенные после этого в рисунок изменения авто­матически отобразятся и во вставке в текстовой документ. Пользователь в этом случае работает в редакторе Word так, как будто он снабжен дополнительными возможностями редактирования рисунков в полном объеме Paintb­rush.

Работа с объектами предусматривает также и операции с пиктограм­мами. Пиктограммы можно использовать внутри документов для вы­полнения функций таким же образом, как это делается в среде Windows. Это означает, что наряду с пиктограммами Windows-приложений можно использовать пиктограммы документов, которые формируются Windows-приложениями. Эти пиктограммы можно вставить в другой документ, который обрабатывается совсем другим приложением. При двойном щелчке на пиктограмме документа вызовется соответствующее приложение, которое вызовет выбранный документ. Этот метод называется методом редактирования доку­ментов «на месте» (in-place), а сам принцип объектного связывания и встраивания получил название OLE. Например, если в тексте, который обрабаты­вается в редакторе Word, есть таблица, созданная в программе Excel, то при щелчке на ней произойдет замена панелей инструментов Word панелью программы Excel. Пользователь может обрабатывать документ совсем другим приложе­нием, даже не подозревая об этом,

В частности, Windows берет на себя все взаимодействие приложений с внешними устройствами: монитором, клавиатурой, дисками, принтерами.


Причем Windows дает возможность различным приложениям пользоваться одним устройством одновременно на конкурентной основе. Специально для вывода информации на печать в Windows входит Диспетчер Печати. Любая информация от любого приложения, предназначенная для печати, направляется Диспетчеру Печати, который сам определяет очередность вывода информации и программно обеспечивает правильность вывода информации. Кроме того, при печати можно использовать так называемые True-Type шрифты (шрифты, которые на бумаге выглядят так же, как на экране).

Для использования всех возможностей Windows программы должны быть спроектированны по требованиям Windows. Такие программы не могут выполняться вне среды Windows. В среде Windows могут выполняться и обычные программы, разработанные для MS DOS, но при этом такие программы не используют преимуществ Windows и работают медленнее, чем при непосредственном вызове из MS DOS.

Основное отличие программ для DOS и для Windows состоит в том, что DOS-программа может работать с аппаратными средствами компьютера непосредственно, минуя DOS, в то время как Windows-программа может обращаться к внешним устройствам  только через посредство Windows. Это снимает с разработчиков проблемму совместимости с конкретными внешними устройствами, так как ее берет на себя Windows. Поэтому любая Windows-программа не зависит от конкретных особенностей внешних устройств и может работать с внешним устройством, если с ним может работать Windows. Для подключения к компьютеру любого нового устройства достаточно установить драйвер этого устройства, прдназначенный для Windows, после чего все Windows-программы смогут работать с устройством.

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


Управление этими поцессами полностью берет на себя Windows.

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

Преимущества Windows достаются за счет значительного увеличения нагрузки на аппаратные средства компьютера. Требуется большая мощьность процессора, значительная оперативная память и дисковое пространство. Другой недостаток Windows - это менее эффективная работа в тех приложениях, где критическим ресурсом является время.

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

Следует отметить, что очень много текущей информации Windows хранится в оперативной памяти, поэтому прежде, чем выключить машину, нужно корректно завершить работу с Windows, то есть эта информация должна быть переписана на диск.

Windows использует стандарт Plug & Play (пере­водится как «включил-и-работай»). Основная его идея заключается в том, что каждое устройство, соответствую­щее этому стандарту, сообщает при включении компьютера операционной системе о себе определенную информацию, благодаря которой операционная система выполняет автоматичес­кую конфигурацию периферийных устройств и разрешает аппарат­ные конфликты. Стандарту Plug & Play должен в первую очередь удовлетворять BIOS материнской платы и, разумеется, периферий­ные устройства. Таким образом, операционная система обеспечивает автоматическое подключение и конфигурирование устройств, соответствующих требованиям стандарта  Plug and Play, поддерживает совместимость с устаревшими устройствами и создает динамическую среду для подключения и отключения мобильных компонентов.



Windows является 32-разрядной операционной системой ( то есть для задания адресов в ОЗУ используется 32 разряда) и работает только в защищенном режиме процессора. Ядро, включающее уп­равление памятью и диспетчеризацию процессов, содержит команды с только 32-разрядными адресами. Это уменьшает издержки и ускоряет работу. Windows используется 32-разрядный код везде, где только возможно, что позволяет обеспечить повышенную надежность и отказоустойчивость системы. Однако помимо этого, для совместимости с устаревшими приложениями и драйверами используется и 16-разрядный код.

Windows поддерживает при­оритетную многозадачность (preemptive multitasking) и параллель­ные процессы (multithreading). За распределение времени процессора отвечает ядро системы, что обеспечивает нормальную работу фоновых задач. Windows поддерживает многопоточность - технологию, которая позволяет соответствующим образом осуществлять многозадачное выполнение своих собственных процессов.

Windows с самого начала создавалась для работы в сети, благодаря чему возможность совместного использования файлов и устройств полностью интегрирована в интерфейс пользователя Windows. В Windows вы можете получить доступ к сети без установки сете­вого адаптера. Его могут заменить модем и использование специального протокола РРР (point-to-point protocol - от-точки-к-точке). В этом случае скорость работы ограничена скоростью вашего модема. Система предоставля­ет развитые программные средства для доступа к таким сетям, как Internet.

Современную операционную систему сложно представить себе без средств мультимедиа. Для работы с аудио- и видеофайлами различ­ных форматов в составе Windows имеется набор кодеров — эффективных программных средств сжатия и распаковки этих фай­лов и преобразования их форматов для вывода на различные устрой­ства мультимедиа (слово «кодер» является сокращением слов «кодер-декодер», так же, как «модем» — сокращение от слов «модуля­тор-демодулятор»). При воспроизведении файла система запускает тот кодер, с помощью которого файл был создан.


Драйверы звуко­вых карт используют 32-разрядный код, но в тех случаях, когда сис­ тема не может распознать карту, применяется 16-разрядный драй­вер реального режима, который поставляется вместе с картой. При работе 32-разрядного драйвера защищенного режима драйвер ре­ального режима автоматически отключается.

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

Windows автоматически освобождает всю память, отведенную приложению, после того, как оно заканчивает работу. Бывает так, что некорректно написанные приложения освобождают не всю запрошенную ими память. Время от времени памяти оказыва­лось настолько мало, что единственным выходом оставался переза­пуск системы (а иногда и перезагрузка машины). Такая неприятность носит название «утечка памяти» («memory leak») и случается с про­граммными произведениями даже известнейших фирм. При за­вершении приложения в Windows вся память, занимаемая им, освобождается автоматически, и таких проблем не возникает.

Су­ществен­ный недостаток Windows состоит в относительно слабой защищенности от плохо рабо­тающих программ, содержащих ошибки.

Рассмотрим способ, каким операционная система Windows работает с оперативной памятью. Использование 32-разрядной адресации (4-байтный адрес) означает, что можно прямо адресовать пространство в 232 байт памяти. Windows полностью использует это пространство. Она всегда работает с воображаемой (виртуальной) оперативной памятью размером 232

байт, или 4 Гбайт. В этой виртуальной памяти размещаются все параллельно работающие программы, в том числе программы самой операционной системы, а также используемые ими данные. Однако только часть виртуальной памяти (та, что содержит программы, которые работают сейчас) лежит в реальной оперативной памяти.


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

Эта идея реализуется в форме двойной адресации. Каждая программа или набор данных получают свой адрес в виртуальной памяти, который потом не меняется. Эта виртуальная память разбита на страницы по 64 Кбайт. Для каждой страницы указано ее текущее месторасположение – либо по определенному адресу в оперативной памяти, либо в определенном месте на диске. При обращении к программе или данным в виртуальной памяти в том случае, когда соответствующая страница размещена в оперативной памяти, происходит обращение к этой странице. Если же страница лежит на диске, то предварительно она загружается в оперативную память. Для определения того места, куда ее можно загрузить, используются различные методы.

Каждая собственная прикладная про­грамма Windows обслуживается подсистемой Win32. Прикладная программа загружается в виртуальное адресное про­странство объемом 4 Гбайт после отметки 2 Гбайт. Однако каждая программа видит собственное адресное пространство и не может видеть пространства, занятого другой программой. Случившиеся здесь ошибки, как правило, могут быть перехвачены обработчиком особых ситуаций и не в состоянии воздействовать на операционную систему. Хотя 32-разрядные приклад­ные программы «не видят» друг друга, они могут обмениваться данными через буфер обмена (Clipboard), механизмы DDE и OLE.

В нижней части виртуального адресного пространства (ниже метки 1 Мбайт) размещаются драй­веры устройств реального режима, обеспечивающие взаимодействие с периферийными под­системами, такими, как видеоплаты или принтеры. Эти программы нужны для обеспечения старых DOS-приложений.


Содержание раздела