Особенности многозадачности в среде windows 95


Содержание

Особенности многозадачности в среде windows 95

Windows 95 представляет собой 32-разрядную операционную систему, обеспечивающую многозадачную и многопоточную обработку приложений (программ). Она сохраняет совместимость с прикладными программами для DOS , поддерживает удобный графический пользовательский интерфейс, возможность работы в защищенном режиме, совместимость с программами реального режима и сетевые возможности. Тип файловой системы, используемый в Windows 95 тот же, что и в прежних версиях Windows . В Windows 95 реализована технология поддержки самонастраивающейся аппаратуры Plug and Play , допускаются длинные имена файлов, содержащие до 255 символов, и обеспечиваются повышенные характеристики устойчивости.

Многие из перечисленных свойств Windows 95 являются новыми по отношению к графической оболочке Windows 3.11, представляющей собой надстройку над MS DOS . Рассмотрим их более подробно.

32-разрядность означает, что операции над 32-разрядными данными здесь выполняются заметно быстрее, чем в 16-разрядных ОС, поскольку в них требуется программная реализация над 32-разрядными данными. Под управлением Windows 95 могут выполняться н 16-разрядные приложения.

Многозадачность предоставляет возможность одновременной (параллельной) работы с несколькими приложениями. Это повышает эффективность использования микропроцессора и производительность труда пользователя.

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

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

Технология Plug and Play (включи и работай) ориентирована на поддержку любо­го типа устройств, включая мониторы, видеоплаты, принтеры, звуковые карты, модемы, приводы CD — ROM , контроллеры магнитных дисков. При ее использовании обеспечиваются следующие вспомогательные функции: распознавание устройств для установки и настройки, динамическое изменение состояния системы, интеграция драйверов устройств, системных компонентов и пользовательского интерфейса. При подключе нии устройств Windows 95 самостоятельно выясняет используемые номера прерываний, адреса портов ввода-вывода, каналы прямого доступа к памяти. При возникновении кон­фликтов они разрешаются автоматически, избавляя пользователя от необходимости поиска подходящих параметров для совместно подключаемых устройств.

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

Windows 95 содержит встроенное сетевое программное обеспечение, электронную почту ( E — mail ), редактор текстов WordPad , графический редактор Paint и другие вспомогательные прикладные программы. Например, программы для управления шрифтами, набора телефонного номера, воспроизведения мультимедиа, включая компакт-диски, и т.д.

Архитектура Windows 95

Архитектура Windows 95 схематично показана на рис. 5.1.

Рис. 5.1. Архитектура Windows 95

Рассмотрим коротко характеристику представленных на этом рисунке основных компонентов операционной системы.

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

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

Оболочка есть 32-разрядное приложение Windows 95, обеспечивающее взаимодействие пользователя с системой.

Приложения Win 16 представляют собой старые 16-разрядные приложения Windows 3.11. Эти приложения делят между собой единое адресное пространство и не могут управляться в соответствии с принципом многозадачности.

Подсистема системного сервиса уровня API ( Application Program Interface ) — интерфейса прикладного программирования — обеспечивает совместимость с API Windows 3.1, а также поддержку 32-разрядного интерфейса прикладного программирования.

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

GDI ( Graphics Device Interface ) — модуль Windows , обеспечивающий реализацию графических функций по работе с цветом, шрифтами и графическими примитивами для дисплея и принтеров.

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

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

Базовая система включает в свой состав ряд важнейших подсистем.

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

Сетевая подсистема представляет собой средство поддержки одноранговой сети, впервые появившееся в Windows 3.11. Система осуществляет доступ к удаленным файлам при помощи файловой подсистемы Windows 95.

Сервис операционной системы включает в свой состав подсистему поддержки само­настраивающейся аппаратуры Plug and Play , а также набор различны прикладных 4’унк-Ций, например выдачи текущих даты и времени.

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

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

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

Интерфейс и запуск программ

Интерфейс – это средства, предоставляемые Вам операционной системой для организации взаимодействия с компьютером.

Интерфейс Windows 95 имеет оконную структуру, состоит из различных графических компонентов программных и диалоговых окон, меню, панелей инструментов, листов свойств и значков объектов и ориентирован на работу с мышью.

В верхней части окна расположена строка заголовка. Здесь находятся имя программы и имя текущего открытого документа. В нижней части окна программы находится строка состояния для вывода поясняющей информации. в строке состояния, как правило, указывается число объектов (файлов или папок), объем объектов, а также свободное пространство на диске. Функции остальных элементов окна меню, кнопок панели инструментов и полосы прокрутки — аналогичны функциям этих объектов в системе Windows 3.1.

В Windows 95 каталоги представлены папками. Папки могут содержать другие папки (подкаталоги), документы и прикладные программы. Папки также содержат значки принтеров, дисков и других объектов, используя которые можно получить доступ ко всем техническим средствам компьютера.

После загрузки Windows 95 на экране монитора появляетсяРабочий стол ( Desktop ). Набор элементов рабочего стола зависит от настройки компьютера. Основными элементами его являются ярлыки папок Мой компьютер ( My Computer ), Сетевое окружение ( Network Neighborhood ), Корзина ( Recycled ), кнопка Пуск ( Start ) и Панель задач ( Task Bar ).

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

Удаляемые файлы Window 3 95 пересылает в папку Корзина. Эти файлы остаются в Корзине, пока Вы не опустошите ее. Файлы из Корзины можно восстановить на их прежние позиции на диске. Для восстановления файла вызовите его контекстное меню с помощью правой клавиши мыши и выберите команду Восстановить.

Если Ваш компьютер подключен к сети, на основном экране имеется папка Сетевое окружение.

На основном экране создаются пользовательские папки для хранения часто используемых программ.

На экране одновременно может находиться несколько открытых окон. Кроме окон на экране могут находиться значки объектов. В нижней части экрана находится панель задач с кнопкой Пуск.

Кнопка Пуск ( Start ) и панель задач ( Task Bar ) расположены по умолчанию внизу экрана. При нажатии кнопки Пуск ( Start ) па экране появляется Главное меню, содержимое которого также зависит от настройки компьютера и может содержать дополнительные команды.

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

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

С помощью кнопки Пуск ( Start ) можно запустить любую программу, например, текстовый редактор WordPad или графический редактор Paint . Для запуска программы необходимо:

1. Нажать кнопку Пуск ( Start ).

2. В меню Программы ( Programs ) выбрать папку, которая содержит нужную программу (например, Стандартные) и затем выбрать саму программу нажав правую кнопку мыши.

Если известно имя программы, которую требуется запустить, то это можно сделать другим способом:

1. Нажать кнопку Пуск ( Start ) и выбрать команду Выполнить ( Run ). На экране по­явится окно Запуск ( Start ).

2. В поле Открыть ( Open ) ввести имя программы или документа, либо найти их, нажав кнопку Обзор ( Browse ).

3. После ввода имени в поле Открыть ( Open ) нажать ОК.

На экране появится окно с запущенной программой, а на панели задач — кнопка, соответствующая выбранной программе. Для того, чтобы добавить программу в главное меню, достаточно перетащить с помощью мыши соответствующий ей значок на кнопку Пуск ( Start ).

На экране появится окно с запущенной программой, а на панели задач — кнопка, соответствующая выбранной программе. Для того, чтобы добавить программу в главное меню, достаточно перетащить с помощью мыши соответствующий ей значок на кнопку Пуск ( Start ).

Переключение между окнами

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

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

При работе с программами для DOS панель задач отсутствует. В этом случае для переключения между окнами нажмите клавишу Alt и, не отпуская ее, нажмите Tab ( Alt + Tab ). В середине экрана появится панель, содержащая значки всех открытых прикладных программ. Удерживая клавишу ALT , нажимайте клавишу Tab для циклического перехода от одного значка к другому. При этом на панели появляется имя выбираемой программы. После выбора отпустите клавиши. Окно выбранной программы выйдет на первый план на экране и станет активным.

Управление выполнением программ в Window 95 осуществляется установкой параметров в диалоговых окнах. Структура диалоговых окон Windows 95 во многом аналогична Windows 3.1. Отличие состоит в появлении в строке заголовка диалогового окна кнопок

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

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

Открытие и поиск документов

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

1. Кнопкой Пуск ( Start ) запустить программу, в которой был создан документ.

2. В открывшемся окне в меню Файл ( File ) выбрать команду Открыть ( Open ) и щелк­нуть левую кнопку мыши.

3. Для нахождения нужного документа раскрыть список Папка ( Folder ) и выбрать диск, содержащий нужную папку.

4. Выбрать папку и нажать кнопку Открыть ( Open ) или дважды щелкнуть левой кноп­кой мыши по выбранной папке.

5. В открывшейся папке выбрать открываемый документ и нажать кнопку Открыть ( Open ).

5. В открывшейся папке выбрать открываемый документ и нажать кнопку Открыть ( Open ).

1. Нажать кнопку Пуск ( Start ).

2. В меню Поиск ( Find ) выбрать Файлы и папки ( Files or Folders ).

3. В открывшемся окне Поиск: Все файлы ( Find : All Files ) в поле Имя ( Name ) ввести имя файла или папки, которую следует найти.

a. Лист Имя и размещение — позволяет определить имя файла или папки и указывает папку начала поиска.

b. Лист Дата изменения — дает возможность сузить границы поиска по времени модификации файла.

c. Лист Дополнительно — еще более сужает границы поиска по типу файла или его тексту

4. Чтобы сузить область поиска, нужно раскрыть список Папка ( Folder ) или нажать кнопку Обзор ( Browse ) и выбрать область поиска.

5. Нажать кнопку Найти ( Find Now ).

Вы можете сохранить установки и результаты поиска для дальнейшей работы. Для этого и меню Файл следует выбрать команду Сохранить условия поиска. Проводник создаст на основном экране иконку открыв которую Вы снова попадете в окно Найти.

Просмотр содержимого компьютера

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

Другим способом просмотра содержимого компьютера является использование про­водника Windows . Он отображает содержимое в виде «дерева». Таким образом можно быстро просмотреть содержимое любого диска или папки.

Чтобы вывести дерево папок с помощью проводника, необходимо:

1. Нажать кнопку Пуск ( Start ).

2. В меню Программы ( Programs ) выбрать команду Проводник ( Windows Explorer ) и нажать левую кнопку мыши.

3. На экране откроется окно Проводник ( Windows Explorer ), в левой части которого отображаются диски и папки, а в правой — содержимое элемента, указанного в левой части.

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

Проводник можно открыть и другим способом. Для этого необходимо указать на значок Мой компьютер ( My Computer ) на рабочем столе, нажать правую кнопку мыши и затем выбрать команду Проводник ( Windows Explorer ).

Чтобы развернуть или свернуть папку в левой области проводника, нужно указать в дереве па знак «плюс» или «минус» слева от ее имени и нажать левую кнопку мыши.

Для изменения способа изображения значков в меню Вид ( View ) следует выбрать одну из команд: Крупные значки ( Larges Badges ), Мелкие значки ( Smalls Badges ), Список ( List ) или Таблица ( Table ). Это же можно сделать с помощью кнопок панели инструментов.

Для изменения способа изображения значков в меню Вид ( View ) следует выбрать одну из команд: Крупные значки ( Larges Badges ), Мелкие значки ( Smalls Badges ), Список ( List ) или Таблица ( Table ). Это же можно сделать с помощью кнопок панели инструментов.

Работа с файлами и папками

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

Создание новой папки

Создать новую папку на основном экране или внутри другой папки можно и другим способом:

1. Вызовите контекстное меню.

2. Выберите в меню пункт Создать.

3. Выберите в подменю пункт Папка.

На экране появится новая папка с выделенным полем для ввода имени.


4. Наберите, пользуясь клавиатурой имя папки.

5. Нажмите клавишу Enter .

Папка с указанным именем создана.

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

Для изменения имени существующей папки:

1. Выделите папку, кликнув на ней.

2. Кликните на имени папки.

3. Отредактируйте имя и нажмите клавишу Enter .

Перемещение и копирование.

1. Дважды нажать левую кнопку мыши на значке Мой компьютер ( My Computer ).

2. В открывшемся окне отметить папку или файл, который нужно переместить или скопировать.

3. В меню Правка ( Edit ) выбрать команду Вырезать ( Cut ), чтобы переместить файл, или команду Копировать ( Copy ), чтобы скопировать его.

4. Открыть папку, в которую необходимо поместить файл, а затем в меню Правка ( Edit ) выполнить команду Вставить ( Insert ).

Эти же действия можно выполнить и в Проводнике, для чего в правой области выделить перемещаемую папку или файл. Нажав правую кнопку мыши, выбрать в появившемся контекстном меню команду Вырезать ( Cut ) или Копировать ( Copy ). Затем в левой области проводника отметить папку, в которую необходимо переместить файл. Нажать правую кнопку мыши и в появившемся контекстном меню выполнить команду Вставить ( Paste ). Вместо выполнения рассмотренных команд можно использовать соответствующие кнопки на панели управления проводника.

Вы конечно помните, что для переименования папки следует:

1. Выделить папку

2. Кликнуть на ее имени

3. Ввести новое имя

Удаление

Другой способ — это использование Проводника. В правой или левой области выбирается уничтожаемая папка или файл и отмечается с помощью мыши. В меню Файл ( File ) нужно выполнить команду Удалить ( Delete ). Это же самое можно сделать, нажав на удаляемой папке или файле правую кнопку мыши и выполнить команду Удалить ( Delete ) в появляющемся контекстном меню.

Помните что удаленный объект можно сразу восстановить кликнув кнопку Отменить удаление в строке инструментов, либо выбрав в меню Правка пункт Отменить удаление.

Если Вы удалите несколько объектов, то удаленный по ошибке объект можно восстановить на прежней позиции из папки Корзина.

Копирование на дискету

1. Отметить копируемую папку или файл и нажать правую кнопку мыши.

2. В открывшемся контекстном меню указать на команду Отправить ( Send ).

3. Выбрать диск, куда копируется файл или папка.

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

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

Обьекты.

Объект в папке представляется значком-иконкой и именем, расположенным под иконкой. Объект перемещается и копируется из одной папки в другую перетаскиванием иконки объекта правой клавишей мыши с последующим выбором опции в контекстном меню.

В пределах одного диска объект можно дублировать из папки на основной экран или в другую папку перетаскиванием иконки объекта левой клавишей мыши. После этого нет необходимости открывать соответствующее окно для вызова данного объекта. Достаточно два раза кликнуть на объекте Ярлык на основном экране.

Объект перемещается из основного экрана в папку или из одной папки в другую левой клавишей мыши при нажатой клавише Shift .

Копирование объекта из одной папки в другую или на основной экран производится перетаскиванием иконки объекта левой клавишей мыши при нажатой клавише Ctrl .

В Windows 95 переместить или скопировать объект из одной папки в другую можно и перетаскиванием иконки объекта правой клавишей мыши. В этом случае после перемещения объекта на экран выводится контекстное меню.

Использование ярлыков

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

Ссылка на объект — это путь к объекту, который хранится в другом каталоге. В качестве объекта здесь выступают программы, файлы документов, папки, сетевые ресурсы и т.д. При создании ссылки, на основной экран и в каталог WINDOWS Рабочий стол помещается файл связи, описывающий объект. При двойном клике на ссылке WINDOWS находит и открывает объект, связанный с этой ссылкой. Эта процедура делает объект доступным из различных папок.

Использование ярлыков упрощает доступ к наиболее часто используемым докумен­там и программам. Для открытия документа или запуска программы достаточно указать на ярлык и дважды нажать левую кнопку мыши. Ярлык может быть создан для любого объекта, в том числе папки, диска или принтера.

Создать ссылку на объект можно тремя способами:

Во-первых, как Вы помните, перетаскивание объекта правой клавишей мыши заканчивается выводом контекстного меню. В этом меню можно выбрать пункт с оздать ярлык <и>.

Во-вторых, Клик правой клавишей мыши на объекте выводит его контекстное меню. Выберите пункт Создать ярлык <и>. Ссылка будет создана в этой же папке. Перетащите ссылку в другую папку.

Третий способ создания ярлыка предполагает следующие действия:

1. В контекстном меню основного экрана или папки выберите пункт Создать, а затем в подменю пункт Ярлык.

2. В окне Создание ярлыка укажите имя объекта, для которого создается ссылка, и нажмите кнопку Далее.

3. В диалоговом окне Выбор названия программы укажите название ярлыка и нажмите кнопку Готово

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

Удаление ярлыка не приводит к удалению файла, на который он указывает.

Листы свойств.

Листы свойств — это диалоговые окна специального вида, которые устанавливают свойства объектов. Листы свойств объекта выводятся на экран при выборе пункта Свойства из контекстного меню. Контекстное меню можно вызвать, кликнув правой клавишей мыши на объекте.

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

После задания свойств объекта кликните на кнопке ОК или Применить. Клик на кнопке ОК приводит к установке всех свойств объекта и закрывает диалоговое окно. Клик на кнопке Применить задействует все новые свойства. Диалоговое окно при этом, как правило, не закрывается, и Вы можете продолжить работу с другими листами свойств. Клик на кнопке Применить закрывает диалоговое окно только при необходимости перезапуска Windows 95 для установки сделанных Вами изменений.

Организация помощи.

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

Каждая программа, входящая в состав Windows 95, в строке меню содержит пункт Справка Он обозначается знаком вопроса ?. Открыв этот пункт, Вы получите доступ к системе помощи.

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

В диалоговых окнах в строке заголовка расположена кнопка . После клика на кнопке указатель принимает вид стрелки с вопросительным знаком. Теперь Вам предоставляется право задать вопрос «Что это?». Клик на любом объекте в окне выведет на экран объяснение функции этого объекта. Чтобы снять подсказку достаточно кликнуть в любом месте экрана.

Для получения справки по определенной теме кликните на кнопке Пуск основного экрана Windows 95 и выберите пункт Справка. На экране Вы увидите лист Содержание диалогового окна Справочная система Windows здесь представлен перечень общих разделов справочной системы. Каждый раздел представлен значком книжки. Для просмотра подразделов дважды кликните на значке книжки.На экране появится список подразделов первого уровня. Значок раздела приобретёт вид раскрытой книги.

Некоторые страницы помощи содержат кнопки ссылок O . Клик на кнопке запускает программу выполнения описываемого действия.

В Windows 95 нужную страницу помощи можно найти и в упорядоченном по алфавиту списке Предметного указателя.

В Windows 95 имеется возможность отыскать нужную тематическую страницу по введенному слову или фразе на листе Поиск.

Панель задач.

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

Доступ к системным утилитам, справочной системе, открытие сеанса DOS в WINDOWS 95, запуск программ на выполнение, реализуется на основном экране через систему меню Пуск или кнопки в панели задач. Клик на кнопке Пуск открывает каскадное меню Пуск.

? Меню Программы открывает доступ к набору Стандартных программ. Например пункт меню Сеанс MS — DOS открывает сеанс DOS в среде Windows 95.

? Меню Документы содержит последние 15 документов и папок, с которыми Вы работали.

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

? Меню Поиск позволяет быстро найти файл или папку на компьютере или в сети.

? Меню Справка открывает доступ справочной системе Windows 95.

? Клик на пункте Выполнить выводит на экран диалоговое окно Запуск программы. Окно Запуск программы содержит поле для ввода имени вызываемой программы. Кнопка Обзор позволяет найти и запустить нужную программу.

? Клик на пункте Завершение работы выводит на экран диалоговое окно Завершение работы с Windows . Вы можете завершить работу компьютера, перезагрузить компьютер или перезагрузить компьютер в режиме эмуляции MS — DOS . Кликнув на кнопке Нет Вы продолжите работу с Windows 95.

Панель задач содержит кнопки всех открытых программ. Любое свернутое окно также пред­ставлено кнопкой в Панели задач. Клик на этой кнопке приводит к разворачиванию окна. Вы можете сразу свернуть все окна. Для этого вызовите контекстное меню Панели задач и выберите пункт Свернуть все.

Изменение панели задач.

Вы можете создать собственные пункты в меню Пуск и в меню Программы. Для этого вначале следует открыть диалоговое окно Свойства панели задач и вызвать в нем лист свойств Настройка Меню.

Для вызова листа свойств Настройка Меню:

1. вызовите контекстное меню Панели задач,

2. выберите пункт Свойства,

3. вызовите лист свойств Настройка Меню.

На экране появится лист свойств Настройка Меню. Пользуясь этим листом свойств, Вы можете изменять вид меню Пуск.

Для создания собственного пункта меню:

1. На листе свойств Настройка Меню кликните на кнопке Добавить.

2. Введите имя программы в поле Командная строка диалогового окна Создание ярлыка.

3. Кликните на кнопке Далее.

4. Выберите папку, где Вы создаете новый пункт меню и кликните на кнопке Далее.

5. В окне Выбор названия программы введите имя нового пункта меню и кликните на кнопке Готово

В каскадном меню Программы появится новый пункт. Кликнув на этом пункте, Вы сможете вызвать соответствующую программу .

Программа проводник. Использование DOS.
PIF-файлы программ.

Окно Проводник.

1. Откроите меню Пуск

2. Выберите пункт Программы

3. В каскадном меню выберите пункт Проводник

Программу Проводник можно также открыть из окна папки. Для этого, нажав клавишу Shift , кликните дважды на какой-либо папке (Sh ift +двойной клик).

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


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

Если папка содержит вложенные папки, то в дереве она помечается знаком «+». Для отображения структуры папки нужно кликнуть на этом значке. После того как структура папки раскрыта папка помечается значком «-». Для свертывания папки нужно кликнуть мышью на этом значке.

Открытие объектов.

Для открытия объекта нужно:

? выделить объект и выбрать в меню Файл команду Открыть, или

? дважды кликнуть на иконке объекта в панели Содержимое папки.

Если открываемый объект является программой, Window 3 95 запустит эту программу на выполнение. Если открываемый объект является документом, то Window 3 95 запустит программу, в которой документ был создан, и загрузит в нее документ для редактирования.

Если Windows 95 не может распознать тип открываемого объекта, на экран выводится диалоговое окно Приложение. В нем нужно выбрать программу, с помощью которой можно открыть файл. Затем кликнуть на кнопке ОК.

Для одновременного выбора нескольких объектов кликните на объектах при нажатой клавише Ctrl . Если теперь нажать клавишу Enter , все выделенные объекты будут открыты.

Для выбора ряда последовательно расположенных объектов:

? Выделите первый объект.

? Нажав клавишу Shift , выделите последний в ряду объект.

Установка параметров.

Длинные имена файлов.

Длинные имена файлов, помимо обычных символов, могут включать символы + , ;= [] и любое число точек. В длинных именах файлов различаются строчные и прописные буквы MYELEFANT 1 и MyElefant 1 являются именами различных файлов. Это необходимо учитывать при формировании запросов на поиск файлов.

При поиске файлов можно использовать подстановочные символы «*» и «?».

Нельзя использовать программы копирования, которые не поддерживают длинные имена файлов. Их использование может привести к разрушению длинных имен.

Перемещение и копирование объектов .

Если Вы выделили несколько объектов то при перетаскивании любого из них в новую папку будут скопированы или перемещены все выделенные объекты.

Чтобы открыть сеанс DOS в среде Window 95 следует:

1. Открыть меню Пуск

2. Открыть подменю Программы

3. Выбрать пункт Сеанс MS DOS .

С DOS работают либо в окне, либо на полном экране. Переключение между режимами осуществляется клавишами Alt + Enter . Для выхода из сеанса MS DOS нужно ввести команду EXIT и нажать клавишу Enter . Если Вы часто используете DOS , создайте на основном экране ярлык для быстрого запуска сеанса DOS .

Для создания ярлыка запуска сеанса DOS :

1. Найдите в окне Проводник файл Command . com

2. Перетащите иконку файла Command . com на основной экран с помощью правой клавиши мыши

3. Выберите из контекстного меню команду Создать ярлык

Ссылка для быстрого запуска сеанса MS — DOS создана.

Вы можете вводить команды DOS , включенные в операционную систему Windows 95. Ознакомиться с доступными в Windows 95 командами DOS Вы можете в окне Проводник, открыв папку Command из каталога Windows .

Запуск программы для DOS .

Чтобы запустить программу для DOS на выполнение вызовите диалоговое окно Запуск программы (команда Выполнить из меню Пуск) и введите имя программы для DOS . Вы конечно помните, что есть и другой способ: чтобы запустить программу для DOS на выполнение, можно дважды кликнуть на ее значке.

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

Для установки свойств программы для DOS найдите нужную программу в окне Проводник и вызовите ее контекстное меню. Выберите в меню пункт Свойства.

Рассмотрим листы свойств программы для DOS .

? Лист свойств Общие содержит общую информацию о программе. На листе Общие Вы можете установить атрибуты Только чтение, Скрытый и Архивный.

Файл с установленным атрибутом Скрытый не отображается в папке или окне Проводник.

? Установки листа свойств Программа содержат имя файла, рабочий каталог, значок и др.

o В верхнем окне листа Программа указывается имя программы, которое появляется в строке заголовка. Это имя может не совпадать с именем файла программы.

o Текстовое окно Командная строка содержит имя исполняемого файла программы и путь к нему. Оно может также включать параметры и ключи, управляющие выполнением программы.

o В окне Рабочий каталог набирается имя директории с которой работает программа. Если рабочий каталог не указан, то используется тот каталог, где находится программа.

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

o Кнопка Дополнительные параметры. позволяет вызвать диалоговое окно Дополнительные параметры программы для установки дополнительных условий выполнения программы.

Некоторые программы проверяют, запущены ли они из DOS или из сеанса DOS под управлением Windows . Обнаружив последний режим, эти программы завершают свою работу. Чтобы «обмануть» такую программу, включите переключатель

Не давать программе обнаружить Windows .

o Режим MS DOS . Некоторые программы для DOS особенно игры пытаются получить полный контроль над ресурсами компьютера. Для таких программ в Windows 95 предусмотрен специальный режим MS ? DOS . Программа будет выполняться в этом режиме если установлен переключатель Режим MS DOS в диалоговом окне Дополнительные параметры программы.

В режиме MS — DOS автоматически выполняются следующие операции:

§ завершение работы Windows 95

§ перезагрузка компьютера с запуском MS — DOS

§ запуск программы для DOS

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

Windows 95 при запуске программ обнаруживает необходимость их выполнения в режиме MS DOS . При установке переключателя Автоматически предлагать переход в режим MS DOS операционная система выдает соответствующее сообщение. Установка переключателя Режим MS — DOS вызывает выполнение программы в режиме MS — DOS .

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

? Лист свойств Разное управляет взаимодействием программы для DOS с Windows 95. Из множества установок рассмотрим две: При установке переключателя Полная остановка программа для DOS приостанавливается, если она является фоновой. Чтобы программа при переходе в фоновый режим продолжала выполняться, переключатель нужно выключить.

Илон Маск рекомендует:  Что такое код imagecolorat

Лист свойств Разное (группа Зарезервированные сочетания клавиш Windows ) содержит перечень основных быстрых клавиш Windows 95. Первоначально все клавиши включены, что позволяет Windows 95 реагировать на нажатие быстрых клавиш во время работы программы, написанной для DOS . Если Вы используете одну из перечисленных комбинаций быстрых клавиш в программе для DOS , выключите соответствующий переключатель.

Обмен данными. Работа в сети.

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

В Windows 95 имеется Просмотр буфера обмена, который позволяет просматривать содержимое буфера обмена и очищать его, сохранять его содержимое в файле и загружать эти данные. Чтобы открыть Просмотр буфера обмена, дважды кликните на значке или имени Clipbrd в папке Windows в окне Проводник.

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

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

Встроенный объект создается в соответствующем ему приложении. Встроенный объект не может редактироваться в содержащей его программе. Для внесения изменений следует дважды кликнуть на этом объекте. Это откроет прикладную программу, в которой создавался объект.

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

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

Вы можете предоставить для совместного использования диск или только папку на диске в режимах полного доступа или «только для чтения», можете ограничить доступ к ресурсу на основании пароля. Вы можете назначить удаленному ресурсу букву своего диска.

Компромиссы Windows 95

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

В Windows 95 каждая 32-разрядная прикладная программа выполняется в собственном адресном пространстве, но все они совместно использую один и тот же 32-разрядный системный код. Неправильно написанная 32-разрядная программа все еще может привести к аварийному сбою всей системы. Все 16-разрядные программы Windows разделяют общее адресное пространство, поэтому они столь уязвимы друг для друга, как и в среде Windows 3.1.

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

Windows 95 представляет собой продукт эволюционного развития системы Windows 3.1х и не означает полного разрыва с прошлым. Хотя она несет в себе много важных изменений по сравнению с 16-разрядной архитектурой Windows, в ней сохранены некоторые важнейшие свойства ее предшественницы. Результатом стало появление гибридной ОС, способной работать с 16-разрядными прикладными программами Windows, программами, унаследованными от DOS, и старыми драйверами устройств реального режима и в то же время совместимой с истинными 32-разрядными прикладными программами и 32-разрядными драйверами виртуальных устройств.

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

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

Windows 95

Название базовой системы (платформы): Microsoft Windows
Разработчики: Microsoft
Дата премьеры системы: 1995/08/24
Технологии: ОС

Содержание

Windows 95 — гибридная 16/32-разрядная операционная система с графическим интерфейсом, выпущенная 24 августа 1995 года корпорацией Microsoft.

История

2020: Выход версии ОС в виде приложения

В августе 2020 года операционная система Windows 95 была выпущена в виде приложения, доступного для персональных компьютеров под управлением Windows, Linux и macOS. Программа создана разработчиком корпоративного мессенджера Slack Феликсом Ризебергом (Felix Rieseberg).

Он выложил исходные коды и установочный пакет на портал GitHub. Загрузив приложение windows95 v1.0, пользователи получают доступ ко многим известным программам и классическим играм, которые были в Windows 95. В частности, речь идет о рабочем столе, меню «Пуск», текстовом редакторе Wordpad, графическом редакторе MS Paint, игре «Сапер» и «звонилке» Phone Dialer.

Есть и тогдашняя версия браузера Internet Explorer, однако в проекте Ризеберга она не работает — интернет-страницы не загружаются, отмечает издание The Verge. Кроме того, не реализована работоспособность таких приложений, как AOL (`FREE Trial!`), CompuServe 3.0 и Microsoft Network.

Для портирования ОС Ризеберг использовал Electron — фреймворк для кроссплатформенной разработки настольных приложений с использованием Chromium и Node.js

Предлагающее доступ к Windows 95 приложение имеет размер 129 Мбайт. После запуска оно занимает около 200 Мбайт оперативной памяти, тогда как оригинальная версия ОС требовала гораздо меньше ОЗУ — около 4 Мбайт. Скорее всего, сказывается нагрузка Electron.

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

Выход приложения, запускающего среду Windows 95, состоялся через 23 года после релиза самой ОС. Microsoft выпустила эту компьютерную платформу 21 августа 1995 года. [1]

1992-1995

Работа над новой версией операционной системы, которая должна была стать преемником популярной Microsoft Windows 3.1, началась в 1992 году и продолжалась немногим более 3-х лет.

Официально название новой операционной системы Microsoft Windows 95 было объявлено 8 сентября 1994 года, а непосредственно выпуск состоялся 24 августа 1995 года.

Летом 1995 года корпорация развернула грандиозную маркетинговую программу во всем мире. Повсюду звучала реклама с хитом Start Me Up группы Rolling Stones. На небоскреб Empire States Building в Нью-Йорке проецировалось изображение логотипа Microsoft Windows, а в день выхода Windows 95 армия одетых в униформу сотрудников корпорации вручала копии программы фанатам, простоявшим в очереди всю ночь.

За четыре дня продаж во всем мире было продано более 1 млн. копий Windows 95, а к 17 октября это число достигло 7 миллионов.

Нововведения

  • Значительно улучшен интерфейс графической оболочки системы. Экран дисплея представлял собой поверхность рабочего стола, на котором файлы показаны в виде пиктограмм, помещенных в специальные папки. Для работы с программами Windows 95 использовалась одна кнопка Start (или «Пуск» — в русской версии), а для доступа к уже запущенным программам предназначалась специальная панель задач, как правило расположенная в нижней части экрана.

  • Реализован режим Plug and Play, предназначенный для автоматического распознавания периферийных устройств, имеющиеся в компьютере и установки нужных драйверов.
  • Увеличена предельная длина в наименовании файлов — теперь имена могут содержать до 255 символов.
  • Заметно переработаны и дополнены средства мультимедиа.
  • Появилась поддержка 32-разрядных приложений и новых сетевых протоколов

Недостатки

Несмотря на все преимущества, Windows 95 — это по-прежнему вариация на тему Windows 3.1. Для большинства пользователей это означает, что заложенные в ней архитектурные анахронизмы могут приводить к неожиданному краху системы. Даже по мнению специалистов Microsoft, для важных бизнес-приложений более предпочтительным является использование Windows NT, которая обеспечивает защиту данных и устойчивость к некорректной работе приложений.

Одной из проблем Windows 3.1 являлась способность приложения вызывать крах системы, вынудив делать перезагрузку. В Windows 95 осталось много старого кода, с помощью которого осуществляется выполнение приложений. Например, такие критические компоненты операционной системы, как USER и GDI, которые соответственно обеспечивают управление окнами и предоставляют средства графического интерфейса, являются по-прежнему 16-разрядными и работают в том же адресном пространстве, что и 16-разрядные приложения. Поэтому 16-разрядное приложение, содержащее ошибки, может потенциально «подвесить» виртуальную машину, на которой работают подсистемы USER и GDI, или, что еще хуже, заставить USER или GDI неверно работать, что может привести к краху всей ОС. Даже 32-разрядные приложения могут вызвать остановку системы. Большая часть нижней памяти размером в 1 Мбайт, принадлежащая адресному пространству системного кода Windows 95 (то есть системной виртуальной машине System VM), открыта для операций приложения Win32.

Многозадачность — это еще одно потенциально слабое место. Windows 95 пересылает все вызовы USER API через 16-разрядную системную виртуальную машину System VM, которая размещается там же , где и выполняемое 16-разрядное приложение. Если 16-разрядное приложение «подвешивает» машину System VM, отказываясь обрабатывать сообщение (встречающийся чаще всего тип ошибки в существующих приложениях Windows), то все остальные процессы приостанавливаются. Пока пользователь не завершит в принудительном порядке зависшее 16-разрядное приложение и тем самым не освободит машину System VM, другие выполняемые программы, даже 32-разрядные, будут заблокированы.

Архитектура Windows 95

Архитектура Windows 95 представляет собой немного улучшенную версию архитектуры Windows 3.1. Внутри системной виртуальной машины выполняются приложения Win16 и Win32. Большая часть кода операционной системы и данных также размещается здесь. Приложения Win32 работают на основе алгоритма вытесняющей многозадачности в отдельных адресных пространствах. Все приложения Win16 выполняются как единый процесс в общем адресном пространстве на основе алгоритма невытесняющей многозадачности. Библиотеки динамической компоновки USER, USER32, GDI, GDI32, KERNEL и KERNEL32, которые предоставляют системные сервисы всем приложениям, загружаются в системную виртуальную машину и отображаются в адресные пространства каждого прикладного процесса. Это повышает производительность за счет устранения затрат времени на переходы между кольцами защиты при вызове системных функций. Однако с другой стороны, это также ставит под угрозу целостность системы, открывая доступ к частям операционной системы для прикладных программ. На виртуальных DOS-машинах (VDM) выполняются DOS-программы. Они работают в режиме вытесняющей многозадачности.

Подсистема управления файлами Windows 95 работает в нулевом кольце защиты и обрабатывает все вызовы, связанные с вводом-выводом. Большинство вызовов обрабатывается в защищенном режиме, но некоторые по-прежнему приводят к переключению в режим Virtual 86, и обрабатываются в реальном режиме DOS. Диспетчер устанавливаемых файловых систем IFS передает вызовы файлового ввода-вывода драйверу соответствующей файловой системы. Драйвер файловой системы VFAT реализует собственную VFAT-систему Windows 95, которая похожа на файловую систему FAT с добавленными средствами обработки длинных имен файлов. Драйвер CDFS заменяет MSCDEX и управляет операциями по вводу данных с CD. Редиректор, выполненный в виде драйвера файловой системы, обеспечивает обращение к сетевым накопителям. Можно устанавливать дополнительные драйверы файловых систем. Подсистема блочного ввода-вывода выполняет соответствующие операции на физическом уровне в ответ на запросы драйверов файловых систем.

Подсистема управления виртуальными машинами (VMM) предоставляет низкоуровневые сервисные функции, например, планирование нитей и управление памятью. Сюда также относятся драйверы виртуальных устройств (VxD) для аппаратуры.

Концепция операционной системы Windows 95

Операционная система Windows 95 появилась в результате слияния операционной системы MS DOS и ее графической оболочки Windows 3.1 (3.11). Основными характеристиками Windows 95 являются:

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

графический пользовательский интерфейс;

подключение новых периферийных устройств по технологии Plug and Play;

использование виртуальной памяти;

совместимость с ранее созданным программным обеспечением;

наличие коммуникационных программных средств;

наличие средств мультимедиа.

Windows 95 — первая 32-разрядная операционная система для компьютеров IBM PC. Она ориентирована на работу 32-разрядных программ, многие ее компоненты являются 32-разрядными. Большинство программ для операционной системы MS DOS относилось к 16-разрядным программам, которые использовали реальный режим работы микропроцессора. Реальный режим значительно ограничивает возможности программы, так как в этом режиме затруднен доступ в верхние (свыше 1 Мбайта) области памяти. Операционная система MS DOS не имеет средств для поддержки 32-разрядных программ, работающих в защищенном режиме микропроцессора. Чтобы такие программы могли работать в среде MS DOS, требуется дополнительное программное обеспечение, расширяющее функции МS DOS. Возможен также вариант, когда дополнительные функции, обеспечивающие защищенный режим, включаются непосредственно в код программы, увеличивая тем самым ее объем.

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

Вытесняющая многозадачность и многопоточность

Операционная система Windows является многозадачной (multitasking — мультизадачной), т.е. она способна «одновременно» выполнять несколько программ. На самом деле один микропроцессор может выполнять инструкции только одной программы. Однако операционная система настолько оперативно реагирует на потребности той или иной программы, что создается впечатление одновременности их работы. Например, в процессе подготовки текста можно параллельно печатать содержимое какого-либо файла и проверять на вирус жесткий диск.

Многозадачность может быть кооперативной и вытесняющей. При кооперативной многозадачности (cooperative multitasking) операционная система не занимается решением проблемы распределения процессорного времени. Распределяют его сами программы. Причем активная программа самостоятельно решает, отдавать ли процессор другой программе. Момент передачи управления здесь зависит от хода выполнения задачи. Таким моментом должен быть системный вызов, т.е. обращение к системе за какой-либо услугой (ввод или вывод на внешнее устройство и пр.). Фоновым задачам выделяется процессорное время при простое приоритетной задачи (ожидание нажатия клавиши и др.). Кооперативная многозадачность была реализована в среде Windows 3.1. В Windows 95 кооперативная многозадачность обеспечивается для 16-раэрядных приложений, так как эти приложения, созданные для Windows 3.1, умеют самостоятельно распределять процессорное время.

При вытесняющей многозадачности (preemptive multitasking) распределением процессорного времени между программами занимается операционная система. Она выделяет каждой задаче фиксированный квант времени процессора. По истечении этого кванта времени система вновь получает управление, чтобы выбрать другую задачу для ее активизации. Если задача обращается к операционной системе до истечения ее кванта времени, то это также служит причиной переключения задач. Такой режим многозадачности Windows 95 реализует для: 32-разрядных приложений, а также для программ, написанных для MS DOS.

Многопоточность (multithreading) операционной системы означает, что работающие программы (процессы) могут разделяться на несколько частей, самостоятельно претендующих на процессорное время. Это обеспечивает одновременное выполнение программой нескольких не связанных друг с другом операций. Например, в табличном процессоре вычисления в разных ячейках благодаря многопоточности могут выполняться одновременно, причем параллельно с вычислениями могут быть организованы ввод данных в ячейки, их вывод на печатающее устройство и т.п.

Графический пользовательский интерфейс

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

Подключение новых периферийных устройств по технологии Plug and Play

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

В среде Windows эта задача решается достаточно просто. Система самостоятельно создает и изменяет файлы конфигурации, распознает конкретное техническое устройство и производит его автонастройку. Подобная технология получила название Plug and Play — «включай и работай».

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

Использование виртуальной памяти

Извечная компьютерная проблема — нехватка оперативной памяти, решается в среде Windows 95 с помощью виртуальной (реально не существующей) памяти.

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

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

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

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

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

Настройка виртуальной памяти производится автоматически и вручную. Вручную выполнять настройку может только квалифицированный пользователь. Доступ к настройке виртуальной памяти осуществляется через Панель управления, где после открытия значка Система появляется вкладка Виртуальная память.

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

Совместимость с ранее созданным программным обеспечением

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

Наличие коммуникационных программных средств

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

Сетевые средства операционной системы Windows 95 позволяют:

  • — обеспечить передачу данных между двумя соединенными кабелями компьютерами с помощью программы Direct Cable Connection;
  • — организовать электронную почту в локальной и глобальной сети с помощью программы Microsoft Exchange;
  • — вьполнить факсимильную передачу с помощью программы Microsoft Fax;
  • — обменяться файлами с удаленным компьютером и подключиться к глобальной сети с помощью программы Hyper Terminal;
  • — организовать одноранговую компьютерную сеть из нескольких компьютеров, причем компьютеры сети могут управляться как Windows 95, так и Windows 3.11;

подключиться к компьютерной сети с выделенным сервером.

Наличие средств мультимедиа

Операционная система Windows 95 обеспечивает интерактивную работу с высококачественным звуком и видео при помощи специальных аппаратных и программных средств. Непременным атрибутом мультимедиа-компьютера являются звуковая плата, которая обеспечивает преобразование звука в компьютерную форму и обратно, и видеоплата, которая преобразует видеоинформацию в компьютерную форму и обратно. К звуковой плате подключаются различные акустические системы,

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

Организация многозадачности

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

Мы уже знаем, что многозадачность, в общем случае, означает способность опера­ционной системы обеспечивать совместное использование процессора нескольки­ми программами. Большинство разработчиков операционных систем называют работающие программы задачами, поэтому задачей можно считать загруженную в память программу, которая что-то делает. В большинстве операционных систем, в том числе и в Windows NT, и в UNIX, выполнение приложения называется про­цессом. Однако в уже упомянутых операционных системах Windows 3.x почти все­гда использовался термин «задача», и лишь изредка — «процесс». Имейте в виду, что в операционных системах Windows 9x используется исключительно термин «процесс», а понятие задачи было официально исключено из терминологии Win­dows. Вкладывая совершенно такой же смысл в слово «процесс», разработчики Microsoft тем самым попытались поставить операционные системы семейства Windows 9x как бы на один уровень с другими операционными системами, таки­ми, например, как Windows NT. В большей части документации по Windows 3.1 мы можем обнаружить оба упомянутых слова. Основная причина изменения тер­минологии — реализация мультизадачности при сохранении мультипрограммно­го режима работы. Другими словами, речь идет о поддержке в этих операционных системах возможности многопоточного выполнения приложений. Поэтому поми­мо отхода от термина задача и использования термина процесс, мы должны отме­тить, что во всех этих операционных системах стал использоваться термин поток выполнения, или тред (thread).

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

370 Глава 11. Операционные системы Windows

выполнения (а именно содержимое рабочих регистров процессора). Потоки ис­пользуют память совместно с процессом-родителем. Когда Windows 95/98 загру­жает приложение и создает необходимые ему структуры данных, система настраи­вает процесс в виде отдельного потока. Потоки могут использовать весь код и глобальные данные процесса-родителя. Это означает, что создание нового потока требует минимальных затрат памяти. Один процесс может породить множество параллельно выполняющихся потоков. Многие приложения на протяжении всего времени своей работы используют единственный поток, хотя могут (а многие так и делают) использовать еще несколько потоков для выполнения определенных кратковременных операций в фоновом режиме, что позволяет либо увеличить ско­рость выполнения приложений, либо дать возможность пользователю выполнять следующую операцию в своей программе, не дожидаясь завершения текущей опе­рации.

Термин «задача» мы все же будем использовать и дальше, поскольку с точки зре­ния распределения процессорного времени требуется все то же: выполнять вычис­ления, то есть выполнять некий конкретный код с конкретными данными.

В Windows 95/98 работа с потоками доступна только 32-разрядным приложениям и виртуальным драйверам устройств. Виртуальные машины MS DOS и старые 16-разрядные приложения Windows не могут обращаться к функциям API, ко­торые поддерживают потоки. Каждая виртуальная машина MS DOS работает в отдельном потоке. Аналогично, каждое 16-разрядное приложения Windows при своем исполнении образует процесс, который использует всего один поток, что позволяет обеспечить для старых приложений Windows модель кооперативной многозадачности. Любое 32-разрядное приложение или виртуальный драйвер ус­тройства может создавать дополнительные потоки, a Windows 95/98 может орга­низовать диспетчеризацию всех этих потоков в соответствии с алгоритмами вы­теснения, что представляет собой еще один аспект многозадачности в Windows. Несмотря на то что все эти потоки могут представлять принципиально разные типы программ, в системе они представлены в виде одинаковых структур данных. Вслед­ствие этого диспетчер и остальной 32-разрядный системный код, использующий эти внутренние структуры данных, и удалось реализовать так, что разработчи­кам не понадобилось учитывать особенности преобразований 16-разрядного кода в 32-разрядный.

Как известно, в основе диспетчеризации задач ныне уже почти всеми забытой Windows 3.x лежал принцип невытесняющей, или кооперативной, многозадачнос­ти (cooperative multitasking). При работе в среде Windows 95/98 кооперативная многозадачность используется только для диспетчеризации старых 16-разрядных приложений, в то время как работа приложений Win32 планируется в соответ­ствии с иным алгоритмом. Для 32-разрядных приложений система использует вытесняющую многозадачность (preemptive multitasking).

Поддержкой многозадачности занимается планировщик (scheduler). Он имеет дело главным образом с временем и событиями. Процессу в Windows 95/98 выделяется квант времени, который определяет, как долго данный процесс может использо­вать процессор. По окончании кванта времени планировщик определяет, следует

Операционные системы Windows 9x______________________________________ 371

ли передать процессор в распоряжение другого процесса. В отличие от Windows NT, Windows 95/98 не поддерживает мультипроцессорные системы, в которых планировщик может выделять процессам больше одного процессора.

Решения, принимаемые планировщиком, определяются событиями. Так, щелчок мыши является для планировщика событием. Это событие может привести к пе­редаче процессора в распоряжение процесса, «владеющего» окном, в котором про­изошел щелчок. Впрочем, планировщик может решить, что завершение передачи данных по сети заслуживает большего внимания, чем щелчок мыши, и тогда про­цессор будет передан в распоряжение процесса, обслуживающего сеть, а всем ос­тальным процессам придется подождать.

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

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

Диспетчер задач (потоков выполнения) использует следующие три механизма, с по­мощью которых он пытается равномерно распределять время процессора между всеми вычислениями в целях обеспечения бесперебойной и одновременно быст­рой реакции системы.

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

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

Наследование приоритета. Служит для быстрого повышения приоритета. Обыч­но это делается для того, чтобы позволить потоку с низким приоритетом быстро закончить работу с выделенным для монопольного использования ресурсом, который необходим потокам с высоким приоритетом. Windows 95/98 восста­навливает исходное значение унаследованного приоритета сразу же после удов­летворения конфликтного условия.

372 Глава 11. Операционные системы Windows

В операционных системах семейства Windows 9x имеется два модуля для диспет­черизации потоков выполнения: основной планировщик (primary scheduler) отве­чает за вычисление приоритетов потоков; планировщик квантования (timeslice scheduler) занимается расчетами, необходимыми для выделения квантов времени. По сути дела, модуль квантования решает, какой процент доступного процессор­ного времени какому потоку выделить. Если некий поток не получает времени на выполнение, значит, он находится в состоянии ожидания выполнения (suspended) и не будет работать, пока ситуация не изменится.

Основной планировщик просматривает все потоки выполнения и рассчитывает для каждого из них приоритет выполнения (execution priority), который представ­ляет собой целое число, находящееся в пределах от 0 до 31. Далее он переводит в состояние ожидания выполнения все потоки, приоритет выполнения которых мень­ше текущего наибольшего значения, имеющегося у одного из потоков. После того как поток переведен в состояние ожидания выполнения, основной планировщик более не обращает на него никакого внимания при дальнейших вычислениях при­оритетов на протяжении данного кванта времени. По умолчанию длительность кванта времени составляет 20 мс. Затем планировщик квантования рассчитывает процентную долю кванта времени, которую необходимо выделить каждому пото­ку. Для этого он использует значения приоритетов и информацию о текущем со­стоянии виртуальной машины.

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

Если в системе одновременно работают только 32-разрядные приложения, то бо­лее быструю реакцию системы и значительно менее конфликтный отклик программ пользователю обеспечивает так называемое упреждающее планирование. Как из­вестно, в диалоговых системах используется событийное программирование, при котором выполнение той или иной процедуры начинается после определенного события. Сама операционная система также функционирует по этому принципу. Управляющая (супервизорная) подсистема Windows 9x просматривает направля­емый ей подсистемой ввода-вывода поток сообщений, из которых она и узнает о но­вых событиях, таких, например, как щелчки мыши в одном из ее окон, запуск но­вых программ и т. д. В системах Windows 3.x все сообщения находились в одной системной очереди, вследствие чего одна некорректно работающая программа могла заблокировать поток сообщений, предназначенных всем остальным приложени­ям. Windows 95/98 дает системе возможность помещать сообщения, предназна­ченные приложениям Win32, в отдельные очереди, что снижает вероятность зави­сания системы в тех случаях, когда одно из приложений не обслуживает очередь сообщений должным образом.

Операционные системы Windows 9x______________________________________ 373

Дата добавления: 2020-09-20 ; просмотров: 399 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

Многозадачность (Операционные Системы)

Многозада́чность – понятие из теории операционных систем, под которым подразумевается обеспечение возможности параллельной (или псевдопараллельной) обработки нескольких процессов. Однако, идеальная многозадачность ОС возможна только в распределённых вычислительных системах.

Другими словами, многозадачностью можно назвать способ исполнения нескольких задач в один промежуток времени. При этом задачи распределяют между собой общие ресурсы (resources sharing), а также выполняют планирование (scheduling) задачи в очереди исполнения.

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

Содержание

Свойства многозадачной среды

Примитивные многозадачные среды обеспечивают чистое «разделение ресурсов», когда за каждой задачей закрепляется определённый участок памяти, и задача активизируется в строго определённые интервалы времени.

Более развитые многозадачные системы проводят распределение ресурсов динамически, когда задача стартует в памяти или покидает память в зависимости от её приоритета и от стратегии системы. Такая многозадачная среда обладает следующими особенностями:

  • Каждая задача имеет свой приоритет, в соответствии с которым получает процессорное время и память
  • Система организует очереди задач так, чтобы все задачи получили ресурсы, в зависимости от приоритетов и стратегии системы
  • Система организует обработку прерываний, по которым задачи могут активироваться, деактивироваться и удаляться
  • По окончании положенного кванта времени ядро временно переводит задачу из состояния выполнения в состояние готовности, отдавая ресурсы другим задачам. При нехватке памяти страницы невыполняющихся задач могут быть вытеснены на диск (своппинг), а потом, через определённое системой время, восстанавливаться в памяти
  • Система обеспечивает защиту адресного пространства задачи от несанкционированного вмешательства других задач
  • Система обеспечивает защиту адресного пространства своего ядра от несанкционированного вмешательства задач
  • Система распознаёт сбои и зависания отдельных задач и прекращает их
  • Система решает конфликты доступа к ресурсам и устройствам, не допуская тупиковых ситуаций общего зависания от ожидания заблокированных ресурсов
  • Система гарантирует каждой задаче, что рано или поздно она будет активирована
  • Система обрабатывает запросы реального времени
  • Система обеспечивает коммуникацию между процессами [Источник 1]


Трудности реализации многозадачной среды

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

Кроме надёжности, многозадачная среда должна быть эффективной. Затраты ресурсов на её поддержание не должны: мешать процессам проходить, замедлять их работу, резко ограничивать память. [Источник 1]

История многозадачных операционных систем

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

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

Впервые многозадачность операционной системы была реализована в ходе разработки операционной системы Multics (1964 год). Одной из первых многозадачных систем была OS/360 (1966), используемая для компьютеров фирмы IBM и их советских аналогов ЕС ЭВМ. Разработки системы были сильно затянуты, и на начальное время фирма IBM выдвинула однозадачный DOS, чтобы удовлетворить заказчиков до полной сдачи OS/360 в эксплуатацию. Система подвергалась критике по причине малой надёжности и трудности эксплуатации.

В 1969 году на основе Multics была разработана система UNIX с достаточно аккуратным алгоритмическим решением проблемы многозадачности. В настоящее время на базе созданы десятки операционных систем.

На компьютерах PDP-11 и их советских аналогах СМ-4 использовалась многозадачная система RSX-11 (советский аналог — ОСРВ СМ ЭВМ), и система распределения времени TSX-PLUS, обеспечивающая ограниченные возможности многозадачности и многопользовательский режим разделения времени, эмулируя для каждого пользователя однозадачную RT-11(советский аналог — РАФОС). Последнее решение было весьма популярно из-за низкой эффективности и надёжности полноценной многозадачной системы.

Аккуратным решением оказалась операционная система VMS, разработанная первоначально для компьютеров VAX (советский аналог — СМ-1700) как развитие RSX-11.

Первый в мире мультимедийный персональный компьютер Amiga 1000 (1984 год) изначально проектировался с расчётом на полную аппаратную поддержку вытесняющей многозадачности реального времени в ОС AmigaOS. В данном случае разработка аппаратной и программной части велась параллельно, это привело к тому, что по показателю квантования планировщика многозадачности (1/50 секунды на переключение контекста) AmigaOS долгое время оставалась непревзойдённой на персональных компьютерах.

Многозадачность обеспечивала также фирма Microsoft в операционных системах Windows. При этом Microsoft выбрала две линии разработок — на базе приобретённой ею Windows 0.9, которая после долгой доработки системы, изначально обладавшей кооперативной многозадачностью, аналогичной Mac OS, вылилась в линейку Windows 3.x, и на основе идей, заложенных в VMS, которые привели к созданию операционных систем Windows NT. Использование опыта VMS обеспечило системам существенно более высокую производительность и надёжность. По времени переключения контекста многозадачности (квантование) только эти операционные системы могут быть сравнимы с AmigaOS и UNIX(а также его потомками, такими, как ядро Linux).

Интересно, что многозадачность может быть реализована не только в операционной, но и языковой среде. Например, спецификации языков программирования Modula-2 и Ada требуют поддержки многозадачности вне привязки к какой-либо операционной системе. В результате, популярная в первой половине 1990-х годов реализация языка программирования TopSpeed Модула-2 от JPI/Clarion позволяляла организовывать различные типы многозадачности (кооперативную и вытесняющую — см. ниже) для потоков одной программы в рамках такой принципиально однозадачной операционной системы, как MS-DOS. Это осуществлялось путём включения в модуль программы компактного планировщика задач, содержащего обработчик таймерных прерываний . Языки программирования, обладающие таким свойством, иногда называют языками реального времени. [Источник 1]

Классификация

По типу наименьшего элемента управляемого кода

Процессная многозадачность.

Здесь программа — наименьший элемент управляемого кода, которым может управлять планировщик операционной системы. Известна большинству пользователей (одновременная работа в текстовом редакторе и прослушивание музыки). Многозадачная система позволяет двум или более программам выполняться одновременно.

Процесс — это понятие, относящееся к операционной системе. Каждый раз при запуске приложения создается и запускается новый процесс. С каждым процессом связаны следующие ресурсы, как:

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

Поточная многозадачность.

Многопоточность — специализированная форма многозадачности. Наименьший элемент управляемого кода — поток. Многопотоковая (multi-threaded) система предоставляет возможность одновременного выполнения одной программой 2 и более задач (потоков). Поток (thread) — это основной элемент системы, которому ОС выделяет машинное время. Поток может выполнять какую-то часть общего кода процесса, в том числе и ту часть, которая в это время уже выполняется другим потоком.

Потоки и процессы:

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

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

Параллельная многозадачность

Идеальным случаем многозадачности является параллельная многозадачность, когда каждая задача исполняется в своём аппаратном микропроцессорном ядре действительно одновременно друг с другом. Истинная многозадачность операционной системы возможна только в распределенных вычислительных системах. Реализация данного типа многозадачности требует больших материальных вложений (требуется отдельное аппаратное средство для каждой задачи), поэтому обычно её применение не является целесообразным. Ниже представлен пример системы , в которой реализована параллельная многозадачность.
Микроконтроллер Propeller от Parallax обеспечивает работу сразу 8 задач. Восемь встроенных процессоров-ядер, могут выполнять как совместные, так и независимые задачи, получая доступ к разделяемым ресурсам посредством центрального переключающего устройства. Разработчик полностью контроллирует, как и когда загружать каждое из ядер; ни компилятор, ни какая-либо операционная система не распределяет задачи между несколькими ядрами. Общий источник тактовой частоты обеспечивает всем процессорам единую временную базу и синхронизацию. Контроллер имеет два возможных языка программирования: легкий для освоения высокоуровневый язык Spin, а так же низкоуровневый Propeller Ассемблер (см. рис. 1). [Источник 2]

Рисунок 1 – Propeller Parallax

Альтернативой параллельной многозадачности является применение псевдопараллельной многозадачности или совокупности параллельной и псевдопараллельной многозадачности при наличии нескольких процессорных ядер.

Типы псевдопараллельной многозадачности

Невытесняющая многозадачность

16-и разрядная Windows уже стала поддерживать и вытесняющую многозадачность (non-preemptive multitasking). Такой тип многозадачности стал возможен благодаря основанной на сообщениях архитектуре Windows.Windows – программа может находиться в памяти и не выполняться до тех пор, пока не получила сообщение. Ранее, эти сообщения часто являлись прямым или косвенным результатом ввода информации пользователем с клавиатуры или мыши. Сейчас, механизм посылки сообщений широко используется и для обмена данными, инициации какого-либо действия приложения и т.п.

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

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

Частично преодолеть последнее ограничение, можно, опять таки используя таймер для периодической смене выполняемых программ. Другим решением по преодолению невытесняющей многозадачности является вызов функции PeekMessage . Обычно программа использует вызов функции GetMessage для извлечения сообщений из очереди. Однако, если в данный момент времени очередь сообщений пуста, то функция GetMessage будет ждать поступления сообщения в очередь, а затем возвратит его. Функция PeekMessage работает иначе – она возвращает управление программе даже в том случае, если сообщений в очереди нет. Таким образом, выполнение работы, требующей больших затрат времени, будет продолжаться до того момента, пока в очереди не появятся сообщения для данной или любой другой программы.

Плюсы Минусы
простота реализации затруднена оперативная реакция на внешние события
предсказуемость в поведении, исключение некоторых нежелательных ситуаций, таких как голодание (starvation),гонка (race condition) незащищенность задач друг от друга, снижение надёжности системы — как правило одна неправильно работающая задача блокирует или нарушает работу остальных
минимальные требования к системе и минимизация затрат ресурсов
Совместная или кооперативная многозадачность

Первые операционные системы, реализованные на персональных компьютерах, сильно уступали в концептуальном плане и по своим реальным возможностям системам с разделением времени, давно реализованным в mainframe- компьютерах. В Win 16, например, тоже существует понятие многозадачности. Реализовано оно следующим образом: обработав очередное сообщение, приложение передает управление операционной системе, которая может передать управление другому приложению. Такой вид многозадачности, при котором операционная система передает управление от одного приложения другому не в любой момент времени, а только когда текущее приложение отдает управление системе, получил, как было упомянуто, название кооперативной многозадачности (cooperative multi-tasking).

Плюсы Минусы
отсутствие необходимости защищать все разделяемые структуры данных, что упрощает разработку, особенно перенос кода из однозадачных сред в многозадачные. неспособность всех приложений работать в случае ошибки в одном из них, приводящей к отсутствию вызова операции «отдать процессорное время»
затрудненная возможность реализации многозадачной архитектуры ввода-вывода в ядре ОС, позволяющей процессору исполнять одну задачу в то время, как другая задача инициировала операцию ввода-вывода и ждет её завершения
Вытесняющая, или приоритетная, многозадачность (режим реального времени)

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

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

  1. Работа основной программы пользователя.
  2. Возникновение прерывания.
  3. Сохранение параметров работающей программы (регистров процессора).
  4. Переход по адресу процедуры обработки прерывания.
  5. Выполнение процедуры обработки прерывания.
  6. Восстановление параметров работающей программы.
  7. Переход по адресу следующей команды основной программы.

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

Реализация вытесняющей многозадачности в Windows 2000 дает не только возможность плавного переключения задач, но и устойчивость среды к зависаниям, так как ни одно приложение не может получить неограниченные права на процессорное время и другие ресурсы. Так система создает эффект одновременного выполнения нескольких приложений. Если компьютер имеет несколько процессоров, то системы Windows NT/2000 могут действительно совмещать выполнение нескольких приложений. Если процессор один, то совмещение остается иллюзией. Когда заканчивается квант времени, отведенный текущей программе, система ее прерывает, сохраняет контекст и отдает управление другой программе, которая ждет своей очереди. Величина кванта времени (time slice) зависит от ОС и типа процессора, в Windows NT она в среднем равна 20 мс. Следует отметить, что добиться действительно одновременного выполнения потоков можно только на машине с несколькими процессорами и только под управлением Windows NT/2000, ядра которых поддерживают распределение потоков между процессорами и процессорного времени между потоками на каждом процессоре. Windows 95 работает только с одним процессором. Даже если у компьютера несколько процессоров, под управлением Windows 95 задействован лишь один из них, а остальные простаивают. [Источник 3]

Рисунок 2 – Переключение потоков

Плюсы Минусы
переключение между задачами полностью возложено на диспетчер задач, и задача выполняется как в однозадачном окружении(пока от задачи не требуется взаимодействие с другими задачами или доступ к общим ресурсам) требуются специальные методы синхронизации задач друг с другом во избежание неопределённых ситуаций и конфликтов
задача может оперативно получить управление в случае необходимости вне зависимости от состояния других задач, что обеспечивает работу в реальном времени требуется поддержка со стороны аппаратного обеспечения (как минимум для сохранения и восстановления состояния микропроцесора при переключении)
возможности реализации защиты операционной системой задач от ошибок и атак требует больше системных ресурсов (память под стек и сохранение состояния для каждого процессора и время на переключение контекстов)

Диспетчеризация

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

Состояние задачи

Для понимания диспетчеризации важным является понятие состояния задачи. Основные состояния задач такие:

  • выполняется;
  • готова к исполнению;
  • заблокирована.

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

  • ожидание какого либо события ;
  • незавершённая инициализация (когда ещё не созданы другой задачей или системой начальные условия для запуска);
  • «заморозка» (явная остановка исполнения, обычно в отладочных целях);
  • завершение (состояние , когда исполнение уже закончено, но ресурсы ещё не освобождены);
  • специфические случаи.

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

Стратегии диспетчеризации

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

  • круговая (round-robin).Управление между задачами производится в в каком-либо фиксированном порядке через определённые промежутки времени;
  • случайная (random).Через каждый определённый промежуток времени управление передаётся на произвольную задачу;
  • приоритетная (priority-driven).Каждая задача имеет уровень приоритета и управление получает незаблокированная задача имеющая наибольший уровень;
  • управляемая дедлайнами (deadline-driven). Передача управления производится в порядке, обеспечивающем выполнение задач в определённый срок. [Источник 1]

Программная реализация многозадачности

Когда пользователь запускает программу, Windows создает в памяти компьютера экземпляр программы, называемый процессом. Процесс не является точной копией *.ехе – файла, как это было, например в операционной системе DOS. Процесс содержит в себе копию *.ехе – файла, а также некоторую другую информацию о функционировании данного приложения. В этой дополнительной информации хранятся, например, границы выделенной приложению памяти, что помогает отслеживать корректность обращения к оперативной памяти со стороны приложения. Так как Windows поддерживает механизм виртуальной памяти, то среди этой информации находятся сведения о расположении сегментов программы. Здесь же содержится командная строка, формируемая при запуске программы.

Запустить процесс можно как при помощи командной строки системного меню Windows, при помощи программы Проводника, так и программно, из другого приложения. Это можно выполнить при помощи функций API :

Для 16-битных приложений используется функция WinExec :

Первый параметр является командной строкой, в которой указывается имя файла и параметры, указываемые после имени загружаемого файла.

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

В среде Windows 32 следует использовать другой способ порождения процессов:

Первый параметр является указателем на имя запускаемого файла. Имя может содержать полный путь к файлу (диск:\каталог\…\файл). Если имя не содержит пути, то операционная система ищет файл в текущем каталоге, затем в системных каталогах и в каталогах, указанных в разделе PATH при загрузке системы.

Второй параметр указывает на командную строку.

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

bInheritHandles и dwCreationFlags содержит дополнительные флаги управления созданием и приоритетом процесса.

lpEnvironment содержит указатель на буфер памяти, в котором будет создаваться служебная информация по процессу. Если равен NULL, то операционная система сама отводит место в памяти под эту информацию.

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

lpStartupInfo определяет структуру STARTUPINFO , которая описывает окно, создаваемое для запускаемого процесса (в ней содержится информация, похожая на ту, которая передается в процедуру CreateWindow).

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

Многопоточность в программе реализовать можно несколькими путями.

Непосредственное использование системного таймера для указание процедуры, вызываемой периодически. Данный способ был рассмотрен в лекции «Использование Таймера». Это типичный представитель вытесняющей многозадачности. К достоинствам этого способа можно отнести то, что программа может устанавливать и изменять период вызова функции.

Использование системного таймера для организации посылки синхронных сообщений выбранному окну (порядок организации описан в лекции «Использование Таймера»). С помощью данного способа реализуется невытесняющая многозадачность. Достоинство – изменяемая периодичность посылки сообщений. Недостаток – природа синхронных сообщений не гарантирует четкое выполнение периода прихода сообщений от таймера.

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

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

Второй параметр определяет начальный адрес потока (фактически — имя процедуры потока), например:

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

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

Последний параметр является адресом переменной, в которую возвращается идентификатор потока.

Использование функции Sleep

Итак, поток – это часть программы, запускаемая параллельно другим задачам процесса. Поток сам определяет как долго ему находится в памяти и какие действия надо совершать. Если поток должен периодически совершать одни и те же действия (например, обновлять экран или проверять почту), то самым естественным способом сделать это является организация бесконечного цикла (подобного циклу обработки сообщений). Однако, в этом случае не определено время цикличности, т.к. временные периоды выполнения потока определены операционной системой. Кроме того, как только одна итерация цикла заканчивается, начинается другая. Как же вызвать приостановку выполнения потока? Для этих целей существует функция Sleep, которая в качестве единственного параметра имеет время, задаваемое в миллисекундах. Функция не осуществляет возврата до тех пор, пока не истечет указанное время. При этом другие потоки и процессы работают в обычных режимах. Если параметр этой функции равен нулю, то операционная система просто лишает текущий поток оставшегося кванта времени.

Следует отметить, что данная функция не освобождает полностью процессор от исполнения потока. Действительно, процессор периодически должен проверять истекло ли время, заданное в функции. То есть, речь идет не о приостановке периодического выполнения потока, а лишь о задержке выполнения алгоритма потока на одной его команде (Sleep). [Источник 4]

Критические разделы


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

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

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

Данный участок потока называется критическим разделом. Существует четыре функции работы с критическим разделом. Чтобы их использовать необходимо определеить объект типа критический раздел:

Объект типа критический раздел сначала должен быть инициализирован одним из потоков программы с помощью функции:

Эта функция создает критический раздел с именем cs.После инициализации объекта «критический раздел» поток входит в критический раздел, вызывая функцию:

В этот момент поток становиться владельцем объекта. Два различных потока не могут быть владельцами одного объекта одновременно. Следовательно, если один поток вошел в критический раздел, то следующий поток, вызывая функцию EnterCriticalSection(&cs) ; с тем же самым объектом, будет задержан внутри функции. Возврат из функции произойдет только тогда, когда первый поток покинет критический раздел, вызвав функцию:

В этот момент второй поток, задержанный в функции EnterCriticalSection(&cs) , станет владельцем критического раздела, и его выполнение будет возобновлено.

Когда критический раздел больше не нужен вашей программе, его можно удалить с помощью функции:

Это приведет к освобождению всех ресурсов системы, задействованных для поддержки объекта критический раздел.

Программа может создавать несколько критических разделов. Существенное ограничение при использовании критических разделов состоит в том, что таким образом можно синхронизировать только потоки одного процесса и нельзя осуществить синхронизацию процессов (действительно, ведь переменная cs объявлена в процессе и не видна из других процессов). [Источник 4]

Использование событий

Альтернативным вариантом синхронизации является использование событий. Объект событие может быть либо свободным (signaled) или установленным (set), либо занятым (non-signaled) или сброшенным (reset). Вы можете создать объект «событие» с помощью функции:

Первый параметр — указатель на структуру SECURITY_ATTRIBUTES, устанавливающую параметры использования события потоками и процессами.

Параметр fInitial устанавливается в TRUE, если вы хотите, чтобы объект Событие был изначально свободным, или в FALSE, чтобы он был занятым.

Параметр psz Name определяет имя события. По этому имени разные процессы могут использовать одно событие.

Для того, чтобы сделать свободным существующий объект Событие, надо вызвать функцию:

Чтобы сделать объект Событие занятым, вызывается функция:

Для синхронизации используется функция:

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

Если параметр fManual имеет значение FALSE при вызове функции CreateEvent , то объект Событие автоматически становится занятым, когда осуществляется возврат из функции WaitForSingleObject . Эта особенность позволяет избежать использования функции ResetEvent . [Источник 4]

Проблемные ситуации в многозадачных системах

Рисунок 3 – Взаимосвязь потоков и процессов

Голодание (starvation)

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

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

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

Любое голодание вне 100 % загрузки процессора может быть устранено повышением приоритета голодающей нити, возможно — временным.

Как правило, для предотвращения голодания ОС автоматически вызывает на исполнение готовые к нему низкоприоритетные потоки даже при наличии высокоприоритетных, при условии, что поток не исполнялся в течение долгого времени (

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

Гонка (race condition)

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

Устраняется добавлением необходимых блокировок и примитивов синхронизации. Обычно является легко устраняемым дефектом (забытая блокировка).

Инверсия приоритета

Поток L имеет низкий приоритет, поток M — средний, поток H — высокий. Поток L захватывает mutex, и, выполняясь с удержанием mutex’а, прерывается потоком M, который пробудился по какой-то причине, и имеет более высокий приоритет. Поток H пытается захватить mutex.

В полученной ситуации поток H ожидает завершения текущей работы потоком M, ибо, пока поток M исполняется, низкоприоритетный поток L не получает управления и не может освободить mutex.

Устраняется повышением приоритета всех нитей, захватывающих данный mutex, до одного и того же высокого значения на период удержания mutexa. Некоторые реализации mutex’ов делают это автоматически. [Источник 4]

Процессы в Windows и потоковая многозадачность

Рисунок 4 – Пример работы планировщика

Windows — это многозадачная операционная система, то есть она может одновременно выполнять две и более программ. Конечно, программы используют единственный процессор и, строго говоря, выполняются не одновремен­но. Однако высокое быстродействие компьютера создает такую иллюзию. Windows поддерживает два типа многозадачности: процессную и потоковую (см. рис. 3).

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

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

Windows — это не только многозадачная, но и многопоточная операционная система. Это означает, что в действительности про­граммы состоят из ряда более простых потоков выполнения. Выполнение этих потоков планируется так же, как и выполнение более мощных процессов. [Источник 5]

Многозадачность в Linux

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

Одни процессы могут порождать другие процессы, образовывая древовидную структуру. Порождающие процессы называются родителями или родительскими процессами, а порожденные — потомками или дочерними процессами. На вершине этого «дерева» находится процесс init, который порождается автоматически ядром в процесссе загрузки системы.

К каждому процессу в системе привязаны идентификатор процесса PID (Process IDentifier) и идентификатор родительского процесса PPID (Parent Process IDentifier). Для каждого процесса PID является уникальным (в конкретный момент времени), а PPID равен идентификатору процесса-родителя.

Использование getpid() и getppid()

Процесс может узнать свой идентификатор (PID), а также родительский идентификатор (PPID) при помощи системных вызовов getpid() и getppid().

Системные вызовы getpid() и getppid() имеют следующие прототипы: pid_t getpid (void) ; pid_t getppid (void) ;

Для использования getpid() и getppid() в программу должны быть включены директивой #include заголовочные файлы unistd.h и sys/types.h (для типа pid_t). Вызов getpid() возвращает идентификатор текущего процесса (PID), а getppid() возвращает идентификатор родителя (PPID). pid_t — это целый тип, размерность которого зависит от конкретной системы. Значениями этого типа можно оперировать как обычными целыми числами типа int.

Рассмотрим теперь простую программу, которая выводит на экран PID и PPID, а затем «замирает» до тех пор, пока пользователь не нажмет .

Проверим теперь, как работает эта программа. Для этого откомпилируем и запустим ее:

Теперь, не нажимая , откроем другое терминальное окно и проверим, правильность работы системных вызовов getp >[Источник 4]

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

1. Основные понятия. Запуск Windows-95. Выход из Windows-95.

2. Версии Windows-95.

3. Преимущества и недостатки Windows-95.

4. Требования к компьютеру для установки Windows-95.

5. Основные элементы рабочего стола.

6. Окна Windows-95 и работа с окнами.

7. Папки и ярлыки. Создание папок и ярлыков.

Смена пиктограммы ярлыка. Библиотеки пиктограмм.

Редактор пиктограмм IconEdit.

8. Панель задач и меню кнопки Пуск. Редактирование

меню нопки Пуск. Поиск файлов и папок на диске.

9. Работа с файлами, папками и дисками при помощи Мой Компьютер.

10. Копирование файлов и папок при помощи Проводника.

11. Важнейшие приложения Windows-95 (WordPad, Paint, Калькулятор,

Буфер обмена и др.). Сетевые и мультимедийные возможности

12. Особенности файловой системы Windows-95.

13. Утилиты для обслуживания дисков Windows-95.

14. Панель управления Windows-95. Мастер установки устройств.

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

15. Связь Windows-95 с Windows 3.1. Диспетчер программ и

16. Режим эмуляции DOS. Сеанс связи с DOS.

Особенности запуска приложений DOS.

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

(ОС) и графической многооконной оболочки.

Операционная система Windows-95, как и любая DOS, загружается

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

Windows-95 и на экране монитора появляется Рабочий стол (Desk-

top). Это первоначальное (главное) окно Windows-95, в котором

расположены все другие окна и значки.

Для автоматического запуска Windows-95 при загрузке компьютера

надо в конце файла autoexec.bat поместить команду win. Этой же

командой win можно всегда запустить оболочку Windows-95, в том

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

или приглашения DOS C:\>. Если компьютер загружается в Norton

Commander (в конце файла autoexec.bat стоит команда NC), то для

запуска оболочки Windows-95 достаточно просто выйти из Norton

Commander — F10, Enter. Выйти из ОС Windows-95 полностью при


включённой машине нельзя, можно лишь выйти из её графической обо-

лочки в режиме эмуляции MS-DOS.

Если при загрузке ОС Windows-95 при появлении на мониторе слов

«Starting Windows-95» быстро нажать клавишы Shift-F5, то файлы

config.sys и autoexec.bat исполняться не будут и загрузка сразу

закончится появлением приглашения DOS C:\>. Это следует делать,

если в файлах config.sys и autoexec.bat есть грубые ошибки и заг-

рузка прерывается. Тогда надо вручную загрузить Norton Commander

и исправить ошибки, отредактировав указанные файлы. Можно также

при ошибках в загрузке нажать клавишы Shift-F8 и просматривать

директивы файлов config.sys и autoexec.bat, давая команду на их

исполнение (Yes) или пропуск (No). Если при загрузке нажать кла-

вишу F5, то Windows-95 будет загружаться в защищённом режиме (Sa-

fe Mode) и можно исправить ошибки в настройке Windows-95 при по-

мощи Панели управления. При нажатии клавиши F8 можно самому выб-

рать режим загрузки Windows-95 из предложенного меню.

Преимущества ОС Windows-95:

1) Практически полная 32-битная операционная система, что ускоря-

ет работу многих программ по сравнению с 16-битной операцион-

ной системой MS-DOS 6.22 и операционной оболочкой Windows 3.1;

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

3) Возможность создания на Рабочем столе Ярлыков и Папок важней-

ших программ для их быстрого запуска. Внутри Папок могут нахо-

диться другие Папки и Ярлыки, что создаёт удобство в работе.

4) Запуск прикладных программ и возможность создания Меню при на-

жатии кнопки Пуск (Start) в Панели задач.

5) Самонастраивающаяся система драйверов поддержки аппаратной

части компьютера (технология «Plug and Play» — «Подключай и

6) Настоящая многозадачность (по сравнению с Windows 3.1);

7) Развитые сетевые функции, включая Internet;

8) Большой выбор прикладного программного обеспечения и поддержка

большинства 16-битных приложений;

9) Хорошая поддержка Multimedia;

10) Ориентация большинства современных производителей компьютерной

техники и программного обеспечения на Windows-95.

Недостатки ОС Windows-95

1) Высокие требования к аппаратной части компьютера (процессору,

ОЗУ, жесткому диску).

2) Недостаточная устойчивость в работе особенно у русскоязычных

версий. При сбоях в работе Windows-95 автоматически запускает-

ся программа Scandisk, которая, как правило, устраняет сбои и

восстанавливает нормальную работу Windows-95.

3) При выключении или перезагрузке компьютера с ОС Windows-95 на-

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

Выключить (Перезагрузить) компьютер, или клавиши Alt-F4, Enter.

Это по сути дела есть парковка компьютера в Windows-95. При

этом сохраняется текущая конфигурация и очищаются внутренние

буфера. Только после этого пользователь имеет право выключить

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

противном случае возможны сбои и потеря важной информации!

4) Для обслуживания диска на компьютере с ОС Windows-95 надо ис-

пользовать только собственные средства Windows-95 (ScanDisk и

Defrag для Windows-95) или специальные утилиты NU-9 для Win-

dows-95, и ни в коем случае нельзя использовать старые утилиты

(NU-6,7,8) SpeeDisk, Norton Disk Doctor, особенно для русскоя-

зычной версии Windows-95. Иначе можно повредить файловую сис-

1) Пан-американская. Не содержит поддержки русскоязычных докумен-

тов, хотя можно использовать русификатор для Windows-95.

2) Пан-европейская. Содержит поддержку русского языка, но меню и

справочная система выполнены на английском языке.

3) Русскоязычная (локализованная) версия. Она полностью русифици-

рована (меню, справка, диалоги) и лучше подходит для начинающих.

Требования к компьютеру

Для нормальной работы Windows-95 необходимо, чтобы компьютер

имел следующую конфигурацию:

1) Процессор — 486DX4-100 МГц (минимум 386DX) и выше (Pentium-100).

2) Оперативная память — не менее 8 Мб.

3) Жесткий диск — не менее 540 Мб.

4) Видеопамять — не менее 1 Мб (минимум 512 Кб).

5) Монитор — SVGA.

6) Мышь — обязательна.

7) Желательно иметь дисковод CD-ROM для быстрой инсталляции Win-

dows-95 и прикладных программ (Word, Excel и т.д.) с лазерных

В противном случае, при устаревшей конфигурации компьютера,

программы будут работать очень медленно.

Основные элементы Рабочего стола

Панель задач (Task Bar) Windows-95 — представляет собой горизон-

тальную линейку, расположенную в нижней части Рабочего стола.

Назначение Панели задач — размещение главной кнопки Пуск (Start),

кнопки активных приложений, индикатора (и переключателя) клавиа-

туры (Русского/Английского языка) Ru/En и др. Переключение

Рус./Англ. чаще всего производится клавишами Alt-Shift или

Ctrl-Shift, расположенными слева. Панель задач позволяет реализо-

вать многозадачный режим работы, но при выходе из Windows-95 на-

до закрыть все активные приложения!

Кнопка Пуск открывает доступ к Главному меню (Start Menu), то

есть ко всем основным рабочим программам. Для настройки Главного

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

бавить, Удалить и Дополнительно, затем производят введение или

удаление программ в разделы меню.

На Рабочем столе лежат следующие основные значки: Мой компьютер,

Сетевое окружение, MicroSoft Network (Глобальная сеть), Входящие


(Inbox), Корзина (Recycle Bin), Портфель (My BriefCase).

Мой компьютер (My Computer) -представляет собой средство доступа

ко всем ресурсам компьютера пользователя (диски С:, A:, диск

CD-ROM, Панель управления, Принтеры). Благодаря этому, пользова-

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

ние, переименование, перемещение), запускать все программы, соз-

давать папки и ярлыки. Если указать мышью значок диск С:, то мож-

но увидеть все Папки, в которых размещены файлы (документы). Най-

дя внутри Папки значок прикладной программы (командный файл),

можно запустить программу. С помощью инструмента Мой компьютер

можно форматировать дискеты, создавать системную дискету, делать

точную копию дискеты.

Для запуска программ и работы с файлами в Windows-95 также при-

меняется Проводник (Explorer), который является оболочкой или

улучшенным менеджером файлов Windows-95. Доступ к нему осущест-

вляется кнопкой Пуск, пункт Программы.

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

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

Сетевое окружение — этот значок есть только у компьютера, вклю-

ченного в локальную компьютерную сеть (и имеющего сетевую карту).

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

определяет, какие компьютеры работают в сети вместе с вами.

Глобальная сеть — дает доступ в Internet. Разумеется, если

компьютер имеет модем и подключен к глобальной сети Internet.

Входящие — предназначен для работы с электронной почтой, приема

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

имеет факс-модем и подключен к электронной почте E-mail или In-

Корзина — служит для удаления значков, файлов, документов. Воз-

можно восстановление удаленных объектов. При необходимости Корзи-

ну очищают, но тогда восстановление удаленных объектов невозможно.

Портфель — служит для поочередной работы пользователя то на од-

ном компьютере (стационарном), то на другом (переносном NoteBook).

Файлы и документы копируются в Портфель переносного компьютера.

Возможна и обратная процедура.

Кроме указанных основных, на Рабочем столе могут находиться

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

ватель, например Word, Excel, Works и др. Эти значки пользователь

создает и размещает на столе сам.

По аналогии с компьютерами Macintosh, в Windows-95 введены поня-

тия Папки (Folder) и Ярлыка (ShortCut).

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

программ Windows. Внутри папки, как и каталога, размещаются файлы

и другие папки (подкаталоги). Папка-это контейнер для файлов. По

внешнему виду она напоминает папку. Папка с документами может ле-

жать на Рабочем столе. Внутри Папки,лежащей на Рабочем столе, мо-

гут находиться Ярлыки программ, другие Папки с документами. В

этом случае Папка играет роль группы программ.

Ярлык — это командный файл, с помощью которого можно осуществить

доступ к какому-либо объекту. Например, запустить программу, отк-

рыть файл, открыть документ и т.д. Ярлык программы (её значок)

может лежать на Рабочем столе или в Папке.

В Windows-95 можно создавать Папки и Ярлыки, переименовывать и

перемещать их, копировать и удалять. Можно менять внешний вид яр-

лыка (значка, иконы).

Для создания Папки надо с помощью инструмента Мой компьютер отк-

рыть окно диска С:, затем указать мышью меню Файл, Создать Папку,

затем ввести имя Папки. По умолчанию, если не ввести имя Папки, в

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

Для создания Ярлыка программы надо с помощью инструмента Мой

компьютер открыть окно диска С:, открыть Папку с нужной програм-

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

стол. На столе появится Ярлык программы. Его можно переименовать

и сменить значок (Свойства), нажав правую кнопку мыши. Можно для

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

Файл, Создать ярлык, предварительно выделив командный файл прог-

раммы, затем скопировать ярлык, и вставить его на Рабочем столе.

Можно создать Ярлык наиболее общим способом, щёлкнув правой кноп-

кой мыши, затем указать в Контекстном меню Создать, Ярлык, Коман-

дная строка, Обзор, выбрать Папку, указать командный файл прог-

раммы, Далее, Готово. Новый Ярлык появится на Столе или в папке.

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

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

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

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

ет. Для этих целей также можно использовать Пункты меню Правка,

Копировать(Вырезать), Правка,Вставить в инструменте Мой компьютер.

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

строки меню кнопки Пуск (Start), то откройте Проводник (Explo-

rer), или Мой компьютер, найдите командный (исполняемый) файл

программы, ухватитесь за него мышью и перетащите на изображение

кнопки Пуск и отпустите.

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

ки и Ярлыки. Для этого необходимо указать пункт Настройка, Панель

задач, Настройка меню, Дополнительно, Программы. Технология соз-

дания Папок и Ярлыков не отличается от ранее описанной.

Для удаления Папки, документа или ярлыка надо выделить удаляемый

объект мышью, нажать клавишу Delete и ответить ОК. Удаляемый объ-

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

ляемый объект в Корзину. При необходимости можно извлечь из Кор-

зины удаленный объект, до тех пор, пока Корзина не очищена. При

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

чтобы случайно не удалить важную информацию!


Создавая ярлыки и папки на Рабочем столе Windows-95, пользова-

тель персонифицирует Windows-95 для решения своих собственных за-

Смена пиктограммы ярлыка

Все папки имеют одинаковый вид и отличаются только подписями, а

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

чок). Можно сменить пиктограмму ярлыка, если щёлкнуть по нему

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

вившемся окне. Затем надо указать пункт Ярлык, нажать кнопку Сме-

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

щий пиктограммы, выбрать подходящую пиктограмму и нажать 2 кнопки

ОК в верхней и нижней частях окна диалога «Свойства».

Какие же файлы содержат пиктограммы?

1. Программы, работающие только в Windows (иногда содержат не

один, а несколько значков).

2. Библиотеки пиктограмм. Их в Windows-95 как минимум 4:

1). moricons.dll (c:\windows\)

2). progman.exe (c:\windows\)

3). shell32.dll (c:\windows\system\)

4). pifmgr.dll (c:\windows\system\)

3. Файлы-иконы *.ico. Их можно при необходимости самому создать в

графическом редакторе пиктограмм IconEdit из комплекта Norton

Desk Top. В этом редакторе можно создавать целые библиотеки пик-

тограмм (файлы *.nil).

Окна Windows-95 и их основные элементы.

Окно — это графически выделенная часть экрана, принадлежащая ка-

кой-либо программе, с которой работает пользователь.

Кроме основного окна — Рабочего стола, существуют окна диалога.

В верхней строке — строке заголовка имеется название приложения и

документа, которое в него загружено. Слева в строке заголовка

имеются следующие 3 кнопки:

— кнопка сворачивания; После сворачивания окно будет представ-

лено кнопкой в Панели задач и его можно будет развернуть вновь.

— кнопка разворачивания. Эта кнопка разворачивает окно на весь экран.

— кнопка восстановления. Она восстанавливает неполное открытие окна.

Кнопки разворачивания и восстановления — это два вида одной и той же кнопки.

— кнопка закрытия. Она убирает окно с экрана.

Ниже находится строка меню, которое имеет 4 пункта: Файл, Прав-

ка, Вид, ?. Ниже строки меню расположена Панель инструментов с

соответствующими кнопками (Копировать, Вставить, Вырезать и др.).

Эта панель инструментов может быть убрана с экрана (меню Вид, Па-

Вид содержимого внутри окна можно изменить с помощью пункта меню

Вид в соответствии с подпунктами: Крупные значки, Мелкие значки,

Список, Таблица или кнопками в Панели инструментов.

Документо-ориентированный принцип Windows-95.

Основан на двух основных положениях:

1. Под документом Windows-95 понимают не только текстовый файл

(как это было в Windows-3.1), но и практически любой другой файл,

содержащий данные: текст, графическое изображение, электронную

таблицу, базу данных, звук, видеоклипп и др.

2. Документ является первичным по отношению к приложению, в кото-

ром он был создан или может быть использован. Если дважды щелк-

нуть левой кнопкой мыши по значку документа, то это приведет к

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

Особенности файловой системы в Windows-95.

Файлы и каталоги (папки) в Windows-95 могут иметь длинные имена

длиной до 255 символов, включая пробелы. Файлы — документы могут

иметь русские имена в русскоязычной версии Windows-95. Это сильно

отличает Windows-95 от традиционной MS-DOS, где действует правило

8+3 (8 символов в имени файла и три в расширении, разделенных

точкой) и где русские буквы в имени не применяются. Если Вы

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

используйте при переносе этих файлов на другой компьютер с ОС

Windows-95 только средства Windows-95. Но лучше,во избежание неп-

риятностей при копировании файлов в Norton Commander, в сеансе

связи с DOS, использовать традиционную систему имён файлов 8+3 и

не использовать русские имена файлов.

Сеанс связи с MS-DOS.

В режиме эмуляции MS-DOS (кнопка Пуск, Завершение работы) откры-

вается прямой доступ к диску С:. В этом режиме запускают некото-

рые программы DOS, которые из-под Windows-95 не работают. Возвра-

щение назад в Windows-команда Exit. При этом происходит перезаг-

рузка Windows-95. Кроме того, возможен Сеанс связи с MS-DOS без

перезагрузки Windows-95 (кнопка Пуск, Программы, Сеанс MS-DOS). В

этом режиме тоже можно запускать ряд программ DOS. Для возвраще-

ния в Windows-95 надо ввести команду Exit.

Работа с файлами и папками.

Для копирования файлов и Папок (каталогов) в инструменте Мой

Компьютер, их надо выделить, нажав Ctrl и щелкнув мышью по фай-

лам, затем указать мышью меню Правка, Копировать, затем открыть

другой Диск или Папку и указать пункт меню Правка, Вставить. При

переносе файлов или папок используют пункт меню Правка, Вырезать,

затем на другом Диске или в другой Папке-Правка, Вставить. Можно

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

вить, Диск A:. Для выделения сразу всех файлов (или папок) выде-

лите щелчком мыши один файл (папку), затем нажмите Ctrl-A. Для

отмены выделения всех файлов (папок) щёлкните мышью рядом с фай-

Для поиска файла или папки на диске С: надо указать мышью кнопку

Пуск в Панели задач, Поиск, Файлы и Папки, ввести имя файла или

папки и Найти. Для повторного поиска указать Сброс.

Чтобы узнать параметры файла (размер, дату создания, атрибут и

т.д.) в Моём Компьютере или Проводнике надо выделить файл мышью,

затем взять пункт меню Файл и указать пункт меню Свойства. Можно


также щёлкнуть правой кнопкой мыши (Свойства). При необходимости

можно сменить атрибут файла.

Для помещения содержимого активного окна Windows-95 в буфер об-

мена следует нажать Alt-PrintScreen. Затем скопированный в буфер

фрагмент изображения можно вставить в графический редактор и сох-

ранить как графический файл.

Windows-95, как и Windows 3.1, имеет ряд собственных приложений.

Важнейшими приложениями Windows-95 являются:

1. Блокнот (NotePad) — простейший текстовый редактор (notepad.exe).

2. Калькулятор (вид: обычный и научный, calc.exe).

3. Paint — графический редактор, аналог PaintBrush (pbrush.exe).

4. WordPad -текстовый редактор (улучшенный аналог Write, write.exe).

5. Часы (clock.exe).

6. Медиаплеер (универсальный проигрыватель, mplayer.exe) — служит

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

7. Проводник (Explorer, explorer.exe)-играет роль оболочки или

8. Буфер обмена (Clip Board, clipbrd.exe).

9. ScanDisk для Windows (scandskw.exe) — основной инструмент исп-

равления ошибок в файловой системе Windows-95 при сбоях.

10. Defrag (defrag.exe) — используется для дефрагментации жесткого

11. Лазерный проигрыватель (cdplayer.exe) для проигрывания Аудио CD.

Есть ещё много других приложений Windows-95 (номеронабиратель

телефона, календарь, фонограф для записи и воспроизведения звука,

терминал, игры и др.).

Работа с Буфером обмена (Clip Board)

Использование Буфера обмена позволяет производить обмен информа-

цией между различными приложениями Windows. Например, рисунок или

диаграмму, созданные в Excel, WinWord или MS Works можно помес-

тить в Буфер обмена (меню Правка, Копировать), а затем загрузить

в графический редактор PaintBrush и сохранить в виде файла форма-

та *.bmp, который можно затем конвертировать в другие графические

форматы. Можно наоборот, вставить рисунок Paint Brush (его надо

предварительно выделить в PaintBrush и скопировать) в Excel, Win-

Word или MS Works (меню Правка, опция Специальная вставка или

Shift-Insert). Находящуюся в Буфере обмена информацию можно сох-

ранить в виде файла *.clp и затем использовать в различных прило-

жениях Windows. Буфер обмена реализует технологию OLE — связь и

внедрение объектов Windows. (OLE — Object Linking and Embedding).

Связь Windows-95 с Windows 3.1

В составе Windows-95 имеются Диспетчер программ (progman.exe) и

Диспетчер файлов (winfile.exe), по своим свойствам аналогичные

Windows 3.1. Запустив указанный Диспетчер программ из-под Win-

dows-95, можно работать практически также, как в Windows 3.1,

например, создавать Программные группы (Окна) и внутри них Прог-

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

сается и Диспетчера файлов. Пиктограмму Диспетчера программ можно

разместить на Рабочем столе Windows-95 по аналогии с экраном Win-

dows 3.1. Панель задач Windows-95 в этом режиме сохраняется. При

выходе из Диспетчера программ Вы попадаете опять на Рабочий стол

Особенности многозадачности в среде Windows 2003

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

Появление вытесняющей многозадачности в Windows 2003 резко повысило надежность оболочки. Теперь в девяносто девяти случаях из ста «неработоспособную» программу можно корректно снять с выполнения, не затрагивая при этом другие программы. Конечно, если программа «подвисает», то принудительное удаление ее из системы бесследно не проходит и в дальнейшем может привести к краху всей системы. Но в любом случае после снятия такой программы появляется возможность корректного завершения других программ и перезапуска системы без потери данных.

Основные понятия многозадачности в Windows 2003 — процесс (задача) и поток (нить). Под процессом понимается выполнение программы в целом (WinWord, Excel, Visual C++ и т. д.) Потоками в свою очередь являются части процесса, выполняющиеся параллельно.
Любой процесс имеет хотя бы один поток. В этом случае его можно отождествить с потоком. Процессы интересны с точки зрения взаимодействия одновременно выполняющихся программ, потоки (участки кода, выполняющиеся параллельно в одном процессе) — с точки зрения их синхронизации.

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

Есть еще одна особенность при работе с объектами синхронизации. Дело в том, что Windows 2003 довольно «тяжело» взаимодействует со своей графической системой в многозадачном режиме. Это объясняется тем, что в Windows 2003 графическая подсистема частично осталась 16-разрядной и обращение к такому коду приводит к захвату системного исключающего семафора Win16Mutex, который предотвращает одновременный доступ нескольких процессов (потоков) к такому коду.

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

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

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

Самая распространенная в мире многозадачная операционная система для ПК – это MicrosoftWindows, которая приобретает все большую популярность с каждым годом. В версии ОС Windows используются возможности увеличения производительности сети, обеспечения повышенной надежности и эффективности. [2, c. 145]

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

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

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

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

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

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

9.Понятие папки и файла. Файловая структура. Требования к именам файлов в Windows. Виды(форматы) файлов, расширение имени файла. Атрибуты файла. Путь к файлу.

Файл — блок информации на запоминающем устройстве, имеющий собственное уникальное имя, логическое представление и определенный набор атрибутов.

Папка — объект файловой системы, упрощающий структурирование файлового массива.
Отличие файла от папки заключается в следующем:

  1. Файл — самостоятельный блок информации , папка — системный объект.
  2. Папка содержит имена файлов, которые в ней находятся.
  3. В системе значки папок единообразны, значки файлов — нет.
  4. Файлы требуют расширения имени в соответствии с типом.

Манипуляции с папкой влияют на вложенные в нее файлы.

О многозадачности Windows

Что ответит неискушенный пользователь персонального компьютера, не понаслышке знакомый как с отечественными ЕС18xx, так и с современными вычислительными системами, на вопрос: «А чем же все-таки отличается операционная система Microsoft Windows от MS DOS (той же самой Microsoft)»?
Скорее всего, мы услышим о замечательном графическом интерфейсе, об удобстве «щелканья и перетаскивания» мышью, о длинных именах файлов, о мультимедийных возможностях, об Internet. Возможно, кто-то вспомнит о том, что Windows позволяет запускать несколько программ одновременно и дает возможность оперативно переключаться между ними.
Темой этой статьи является рассмотрение той особенности Windows, которая скрыта от глаз, но является свойством, которое ставит эту операционную систему в один ряд с такими продуктами, как UNIX и OS/2. Мы будем говорить о многозадачности.
Раньше, когда «мониторы были маленькие, а дискеты — большие», первоочередной задачей операционной системы (ОС) персональной ЭВМ (ПЭВМ) являлось обеспечение хранения информации на внешних носителях. Функции, отвечающие за управление периферийными устройствами и обеспечивающие среду выполнения программ, находились на элементарном уровне развития.
Но времена меняются, появляются все более быстрые процессоры и все более емкая память, что позволяет, наконец, разработчикам ОС ПЭВМ позаботиться об удобствах пользователей, а не бездушного железа. Одним словом, восторженная публика встречает линейку операционных систем Windows.
Наряду с шокирующим по тем временам внешним отличием от операционных систем предыдущего поколения (рабочий стол с пиктограммами действовал на пользователей, привыкших к черной бездне экрана в DOS или, в лучшем случае, к голубизне NC, как чайное ситечко на Эллочку-людоедку), Windows предоставляла мощные механизмы, которые оценили, прежде всего, программисты.
Переходя к рассмотрению многозадачности, разберемся с ее основными понятиями, общими для множества многозадачных ОС.
Приложение, выполняемое в среде многозадачной ОС, называется процессом. Другими словами, процесс (process) — это программа, загруженная в память и подготовленная к исполнению. Windows позволяет выполнять несколько процессов одновременно, причем каждый процесс имеет свое собственное виртуальное адресное пространство, защищенное от посягательств других процессов (то есть от воздействия выполняющихся в это же время программ).
Если бы история Windows прервалась на третьей версии, то к сказанному почти нечего было бы добавить. Кстати, в Windows 3.1 ответственность за реализацию многозадачности во многом возлагалась на совесть приложений. Суть этого высказывания заключается в том, что операционная система после передачи управления приложению терпеливо ожидала разрешения продолжить выполнять свои диспетчерские функции. При этом «недобросовестная» программа могла монополизировать ресурсы центрального процессора и не пожелать делиться ими с «конкурентами».
Но 95-й год прошлого века ознаменовался выходом одноименной версии Windows. Новый продукт претерпел серьезную переработку, не был забыт и механизм реализации многозадачности.
Теперь базовой единицей многозадачности является не процесс, а нить (thread) — исполняемая часть кода приложения. Каждый процесс начинается единственной нитью, но во время работы приложения по мере необходимости могут создаваться дополнительные нити. Каждая нить может выполнять любую часть программного кода приложения, все нити имеют доступ к виртуальному адресному пространству своего процесса, к его глобальным переменным и ресурсам ОС. В свою очередь, любая нить может запустить дочернюю нить или процесс.
В отличие от Windows 3.1, последующие версии реализуют механизм вытесняющей многозадачности. Инициатива полностью принадлежит ОС: именно ОС разделяет время центрального процессора между нитями. По истечении выделенной порции времени нить останавливается, и управление передается конкурирующей нити. Для обеспечения переключения между нитями каждая нить поддерживает набор структур, в которых сохраняются машинные регистры, стек, окружение нити. При получении управления нить восстанавливает свое окружение и продолжает выполнять работу с того места, где была прервана в прошлый раз.
Квант времени, предоставляемый отдельной нити операционной системой, достаточно мал (порядка 20 мс), и столь быстрое переключение между нитями создает впечатление их одновременного выполнения. Тем не менее, на однопроцессорных системах каждая нить отрывает свою долю из общего времени центрального процессора, что приводит к замедлению каждой нити в отдельности.
Вряд ли имеет смысл долго говорить о возможностях, которые предоставляет многозадачность. В общем случае многопроцессный подход может оказаться полезным в ситуации, когда функции системы размещены в отдельных исполняемых модулях, но могли бы быть объединены в одном приложении. В документации по WIN32 API рекомендуется использовать многонитевой подход для создания отдельной нити, отвечающей за интерфейс с пользователем, при «конкурентном» выполнении нескольких задач, для управления многооконными приложениями. И все же каждому программисту самому предстоит решать, где в его области применить возможность параллельного исполнения участков кода.
Отметим только, что наряду с очевидными в некоторых случаях преимуществами, многозадачность имеет и свои отрицательные стороны. Для хранения структур с информацией о состояниях нитей и процессов расходуется память, большое количество выполняемых нитей загружают центральный процессор, во избежание конфликтов необходимо заботиться о синхронизации выполнения нитей.
В завершение разговора о многозадачности нельзя не затронуть некоторые смежные вопросы.
С одной стороны, все выглядит просто замечательно: приложение выполняется, нисколько не заботясь о своих соседях, использует память по своему усмотрению. С другой стороны, в ряде случаев может возникнуть необходимость обмена информацией между параллельно выполняющимися процессами. Как быть?
К счастью, разработчики ОС Windows предусмотрели специальные средства «межпроцессного» взаимодействия, как то «дыры» pipes, «почтовые щели» mailslots, файлы, объекты синхронизации (некоторые из этих объектов удобно использовать для блокировки выполнения нити до наступления события, другие применяются для защиты разделяемых ресурсов от одновременного использования).
Приступая к работе над программой и принимая решение об использовании в ней многозадачности, следует убедиться, а нет ли альтернативного подхода к решению проблемы? Дело в том, что WIN32 предоставляет некоторые дополнительные возможности выполнения множества задач без организации многонитевого процесса.
Так, например, асинхронный ввод/вывод (overlapped I/O) позволяет одной нити инициировать множество требующих времени запросов ввода/вывода, которые выполняются конкурентно.
Интересной возможностью является способность Windows останавливать выполнение нити до наступления одного или нескольких событий. Примерами таких событий могут служить изменение содержимого каталога на диске (создания/удаления файла) или изменение свойств файла, консольный ввод, завершение процесса или нити. Поэтому, перед тем как бросаться в бой и создавать нить или процесс с помощью функций CreateThread () или CreateProcess (), стоит оценить возможности «ждущих» функций WaitForSingleObject () и WaitForMultipleObjects (), которые позволяют организовать мониторинг над событиями проще и с более экономным использованием времени центрального процессора.
Подводя итог, вспомним, о чем говорилось в этой статье. Рост возможностей персональных вычислительных систем послужил толчком к развитию ОС ПЭВМ, в том числе позволил полноценно реализовать в них механизм многозадачности (ОС больших ЭВМ уже давно были ориентированы на выполнение множества задач и, кроме того, множеством пользователей). На примере ОС Windows были рассмотрены понятия процесса и нити, вытесняющей и не вытесняющей многозадачности, затронуты вопросы практического использования многозадачных возможностей этой ОС при разработке программ.
Игорь Орещенков

Организация многозадачности

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

Мы уже знаем, что многозадачность, в общем случае, означает способность опера­ционной системы обеспечивать совместное использование процессора нескольки­ми программами. Большинство разработчиков операционных систем называют работающие программы задачами, поэтому задачей можно считать загруженную в память программу, которая что-то делает. В большинстве операционных систем, в том числе и в Windows NT, и в UNIX, выполнение приложения называется про­цессом. Однако в уже упомянутых операционных системах Windows 3.x почти все­гда использовался термин «задача», и лишь изредка — «процесс». Имейте в виду, что в операционных системах Windows 9x используется исключительно термин «процесс», а понятие задачи было официально исключено из терминологии Win­dows. Вкладывая совершенно такой же смысл в слово «процесс», разработчики Microsoft тем самым попытались поставить операционные системы семейства Windows 9x как бы на один уровень с другими операционными системами, таки­ми, например, как Windows NT. В большей части документации по Windows 3.1 мы можем обнаружить оба упомянутых слова. Основная причина изменения тер­минологии — реализация мультизадачности при сохранении мультипрограммно­го режима работы. Другими словами, речь идет о поддержке в этих операционных системах возможности многопоточного выполнения приложений. Поэтому поми­мо отхода от термина задача и использования термина процесс, мы должны отме­тить, что во всех этих операционных системах стал использоваться термин поток выполнения, или тред (thread).

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

370 Глава 11. Операционные системы Windows

выполнения (а именно содержимое рабочих регистров процессора). Потоки ис­пользуют память совместно с процессом-родителем. Когда Windows 95/98 загру­жает приложение и создает необходимые ему структуры данных, система настраи­вает процесс в виде отдельного потока. Потоки могут использовать весь код и глобальные данные процесса-родителя. Это означает, что создание нового потока требует минимальных затрат памяти. Один процесс может породить множество параллельно выполняющихся потоков. Многие приложения на протяжении всего времени своей работы используют единственный поток, хотя могут (а многие так и делают) использовать еще несколько потоков для выполнения определенных кратковременных операций в фоновом режиме, что позволяет либо увеличить ско­рость выполнения приложений, либо дать возможность пользователю выполнять следующую операцию в своей программе, не дожидаясь завершения текущей опе­рации.

Термин «задача» мы все же будем использовать и дальше, поскольку с точки зре­ния распределения процессорного времени требуется все то же: выполнять вычис­ления, то есть выполнять некий конкретный код с конкретными данными.

В Windows 95/98 работа с потоками доступна только 32-разрядным приложениям и виртуальным драйверам устройств. Виртуальные машины MS DOS и старые 16-разрядные приложения Windows не могут обращаться к функциям API, ко­торые поддерживают потоки. Каждая виртуальная машина MS DOS работает в отдельном потоке. Аналогично, каждое 16-разрядное приложения Windows при своем исполнении образует процесс, который использует всего один поток, что позволяет обеспечить для старых приложений Windows модель кооперативной многозадачности. Любое 32-разрядное приложение или виртуальный драйвер ус­тройства может создавать дополнительные потоки, a Windows 95/98 может орга­низовать диспетчеризацию всех этих потоков в соответствии с алгоритмами вы­теснения, что представляет собой еще один аспект многозадачности в Windows. Несмотря на то что все эти потоки могут представлять принципиально разные типы программ, в системе они представлены в виде одинаковых структур данных. Вслед­ствие этого диспетчер и остальной 32-разрядный системный код, использующий эти внутренние структуры данных, и удалось реализовать так, что разработчи­кам не понадобилось учитывать особенности преобразований 16-разрядного кода в 32-разрядный.

Как известно, в основе диспетчеризации задач ныне уже почти всеми забытой Windows 3.x лежал принцип невытесняющей, или кооперативной, многозадачнос­ти (cooperative multitasking). При работе в среде Windows 95/98 кооперативная многозадачность используется только для диспетчеризации старых 16-разрядных приложений, в то время как работа приложений Win32 планируется в соответ­ствии с иным алгоритмом. Для 32-разрядных приложений система использует вытесняющую многозадачность (preemptive multitasking).

Поддержкой многозадачности занимается планировщик (scheduler). Он имеет дело главным образом с временем и событиями. Процессу в Windows 95/98 выделяется квант времени, который определяет, как долго данный процесс может использо­вать процессор. По окончании кванта времени планировщик определяет, следует

Операционные системы Windows 9x______________________________________ 371

ли передать процессор в распоряжение другого процесса. В отличие от Windows NT, Windows 95/98 не поддерживает мультипроцессорные системы, в которых планировщик может выделять процессам больше одного процессора.

Решения, принимаемые планировщиком, определяются событиями. Так, щелчок мыши является для планировщика событием. Это событие может привести к пе­редаче процессора в распоряжение процесса, «владеющего» окном, в котором про­изошел щелчок. Впрочем, планировщик может решить, что завершение передачи данных по сети заслуживает большего внимания, чем щелчок мыши, и тогда про­цессор будет передан в распоряжение процесса, обслуживающего сеть, а всем ос­тальным процессам придется подождать.

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

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

Диспетчер задач (потоков выполнения) использует следующие три механизма, с по­мощью которых он пытается равномерно распределять время процессора между всеми вычислениями в целях обеспечения бесперебойной и одновременно быст­рой реакции системы.

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

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

Наследование приоритета. Служит для быстрого повышения приоритета. Обыч­но это делается для того, чтобы позволить потоку с низким приоритетом быстро закончить работу с выделенным для монопольного использования ресурсом, который необходим потокам с высоким приоритетом. Windows 95/98 восста­навливает исходное значение унаследованного приоритета сразу же после удов­летворения конфликтного условия.

372 Глава 11. Операционные системы Windows

В операционных системах семейства Windows 9x имеется два модуля для диспет­черизации потоков выполнения: основной планировщик (primary scheduler) отве­чает за вычисление приоритетов потоков; планировщик квантования (timeslice scheduler) занимается расчетами, необходимыми для выделения квантов времени. По сути дела, модуль квантования решает, какой процент доступного процессор­ного времени какому потоку выделить. Если некий поток не получает времени на выполнение, значит, он находится в состоянии ожидания выполнения (suspended) и не будет работать, пока ситуация не изменится.

Основной планировщик просматривает все потоки выполнения и рассчитывает для каждого из них приоритет выполнения (execution priority), который представ­ляет собой целое число, находящееся в пределах от 0 до 31. Далее он переводит в состояние ожидания выполнения все потоки, приоритет выполнения которых мень­ше текущего наибольшего значения, имеющегося у одного из потоков. После того как поток переведен в состояние ожидания выполнения, основной планировщик более не обращает на него никакого внимания при дальнейших вычислениях при­оритетов на протяжении данного кванта времени. По умолчанию длительность кванта времени составляет 20 мс. Затем планировщик квантования рассчитывает процентную долю кванта времени, которую необходимо выделить каждому пото­ку. Для этого он использует значения приоритетов и информацию о текущем со­стоянии виртуальной машины.

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

Если в системе одновременно работают только 32-разрядные приложения, то бо­лее быструю реакцию системы и значительно менее конфликтный отклик программ пользователю обеспечивает так называемое упреждающее планирование. Как из­вестно, в диалоговых системах используется событийное программирование, при котором выполнение той или иной процедуры начинается после определенного события. Сама операционная система также функционирует по этому принципу. Управляющая (супервизорная) подсистема Windows 9x просматривает направля­емый ей подсистемой ввода-вывода поток сообщений, из которых она и узнает о но­вых событиях, таких, например, как щелчки мыши в одном из ее окон, запуск но­вых программ и т. д. В системах Windows 3.x все сообщения находились в одной системной очереди, вследствие чего одна некорректно работающая программа могла заблокировать поток сообщений, предназначенных всем остальным приложени­ям. Windows 95/98 дает системе возможность помещать сообщения, предназна­ченные приложениям Win32, в отдельные очереди, что снижает вероятность зави­сания системы в тех случаях, когда одно из приложений не обслуживает очередь сообщений должным образом.

Операционные системы Windows 9x______________________________________ 373

Дата добавления: 2020-09-20 ; просмотров: 400 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Илон Маск рекомендует:  MessageDlgPos - Функция Delphi
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL