Logo GenDocs.ru

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


Загрузка...

Шпаргалки по Операционным системам, средам и оболочкам - файл 1.doc


Шпаргалки по Операционным системам, средам и оболочкам
скачать (1126.5 kb.)

Доступные файлы (1):

1.doc1127kb.12.12.2011 21:22скачать

содержание
Загрузка...

1.doc

  1   2   3
Реклама MarketGid:
Загрузка...
1)Операционная система: определение и классификация. Основные функции операционных систем.

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

1)по назначению (общего назначения, специального назначения (мини ЭВМ, микро ЭВМ, ЭВМ реального времени));

2)по режиму обработки задач (однопрограммные, многопрограммные); 3)по архитектурным особенностям (микроядерные, монолитные);

4)по организации работы (однотерминальные, многотерминальные).

основные функции операционных систем.

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

2)Загрузка в оперативную память подлежащих исполнению программ.

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

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

5)Идентификация всех программ и данных.

6)Прием и исполнение различных запросов от выполняющихся приложений. Операционная система умеет выполнять очень большое количество системных функций (сервисов), которые могут быть запрошены из выполняющейся программы. Обращение к этим сервисам осуществляется по соответствующим правилам, которые и определяют интерфейс прикладного программирования (Application Program Interface, API) этой операционной системы.

7)Обслуживание всех операций ввода-вывода.

8)Обеспечение работы систем управлений файлами (СУФ) и/или систем управления базами данных (СУБД), что позволяет резко увеличить эффективность всего программного обеспечения.

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

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

11)Организация механизмов обмена сообщениями и данными между выполняющимися программами.

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

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

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

15) Удовлетворение жестким ограничениям на время ответа в режиме реального времени (характерно для операционных систем реального времени).

16)Обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы.

17)Предоставление услуг на случай частичного сбоя системы.

^ 2) Архитектура операционной системы.

Простейшая структуризация ОС состоит в разделении всех компонентов ОС на модули, выполняющие основные функции ОС (ядро), и модули, выпол­няющие вспомогательные функции ОС. Вспомогательные модули ОС оформ­ляются либо в виде приложений (утилиты и системные обрабатывающие программы), либо в виде библиотек процедур. Вспомогательные модули за­гружаются в оперативную память только на время выполнения своих функ­ций, то есть являются транзитными. Модули ядра постоянно находятся в оперативной памяти, то есть являются резидентными. При наличии аппаратной поддержки режимов с разными уровнями полно­мочий устойчивость ОС может быть повышена путем выполнения функций ядра в привилегированном режиме, а вспомогательных модулей ОС и прило­жений — в пользовательском. Это дает возможность защитить коды и данные ОС и приложений от несанкционированного доступа. ОС может выступать в роли арбитра в спорах приложений за ресурсы. Ядро, являясь структурным элементом ОС, в свою очередь, может быть логи­чески разложено на следующие слои (начиная с самого нижнего): 1)машинно-зависимые компоненты ОС; 2)базовые механизмы ядра; 3)менеджеры ресурсов; 4)интерфейс системных вызовов. В многослойной системе каждый слой обслуживает вышележащий слой, вы­полняя для него некоторый набор функций, которые образуют межслойный интерфейс. На основе функций нижележащего слоя следующий вверх по иерархии слой строит свои функции — более сложные и более мощные, ко­торые, в свою очередь, оказываются примитивами для создания еще более мощных функций вышележащего слоя. Многослойная организация ОС суще­ственно упрощает разработку и модернизацию системы. Любая ОС для решения своих задач взаимодействует с аппаратными средст­вами компьютера, а именно: средствами поддержки привилегированного ре­жима и трансляции адресов, средствами переключения процессов и защиты областей памяти, системой прерываний и системным таймером. Это делает ОС машинно-зависимой, привязанной к определенной аппаратной платформе. Переносимость ОС может быть достигнута при соблюдении следующих пра­вил. Во-первых, большая часть кода должна быть написана на языке, транс­ляторы которого имеются на всех компьютерах, куда предполагается пере­носить систему. Во-вторых, объем машинно-зависимых частей кода, которые непосредственно взаимодействуют с аппаратными средствами, должен быть по возможности минимизирован. В-третьих, аппаратно-зависимый код дол­жен быть надежно локализован в нескольких модулях. Микроядерная архитектура является альтернативой классическому способу построения операционной системы, в соответствии с которым все основные функции операционной системы, составляющие многослойное ядро, выполня­ются в привилегированном режиме. В микроядерных ОС в привилегирован­ном режиме остается работать только очень небольшая часть ОС, называемая микроядром. Все остальные высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме. Микроядерные ОС удовлетворяют большинству требований, предъявляемых к современным ОС, обладая переносимостью, расширяемостью, надежностью и создавая хорошие предпосылки для поддержки распределенных прило­жений. За эти достоинства приходится платить снижением производительно­сти, что является основным недостатком микроядерной архитектуры. Прикладная программная среда — совокупность средств ОС, предназначен­ная для организации выполнения приложений, использующих определенную систему машинных команд, определенный тип API и определенный формат исполняемой программы. Каждая ОС создает как минимум одну прикладную программную среду. Проблема состоит в обеспечении совместимости несколь­ких программных сред в рамках одной ОС. При построении множественных прикладных сред используются различные архитектурные решения, концеп­ции эмуляции двоичного кода, трансляции API.

^ 3) Ядро операционной системы в привилегированном режиме.

Для надежного управления ходом выполняемого приложения ОС должна иметь по отношению к приложениямопределенные привилегии, иначе не корректно работающее приложение может вмешаться в работу ОС и разрушить часть ее кодов. Обеспечение привилегии ОС невозможно без специальных средств аппаратной поддержки. Аппаратура компьютера должна поддерживать 2 режима работы: 1)пользовательский режим (user mode); 2)привилегированный режим (kernel mode). Так как ядро выполняетвсе основные функции ОС, то именно оно с работает в привилегированном режиме, именно это свойство – работа в привилегированном режиме служит основным определением понятия ядро.

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



Приложения ставятся в подчиненное положение за счет выполнения некоторых критических команд в пользовательском режиме, связанных с переключением процессора с задачи на задачу, с управлением устройствами ввода – вывода, с доступом к механизмам распределения и защиты памяти. Условия разрешения выполнения критических инструкций находятся под полным контролем ОС. Этот контроль обеспечивается за счет того, что набор инструкций безусловно запрещен для пользовательского режима. Механизмы защиты памяти используются ОС не только для защиты своих областей памяти от приложений, но и для защиты областей памяти, выделенных ОС какому либо приложению от остальных приложений. Говорят, что каждое приложение работает в своем адресном пространстве. Это свойство позволяет локализовать некорректно работающее приложение в собственной области памяти так, что его ошибки не оказывают влияния на остальные приложения ОС. Между количеством уровней привилегий, реализуемых аппаратно и количеством уровней привилегий, поддерживаемых ОС, нет прямого соответствия. Например, на базе 4х уровней, обеспечиваемых процессорами фирмы Intel, ОС OS/2 строит 3х уровневую систему привилегий, а Unix, Win NT/2000/XP ограничиваются 2х уровневой системой. Повышение устойчивости ОС, обеспечиваемая переходом ядра в привилегированный режим, достигается за счет некоторого замедления выполнения систем вызовов.

^ 4)Управление заданиями. Классификация процессов.

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

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

2) ^ По генеалогическому признаку различают порождающие и порожденные процессы.

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

4) ^ По связности: взаимосвязанные, которые имеют какую-то связь (пространственно-временную, управляющую, информационную); изолированные — слабо связанные; информационно-независимые, которые используют совместные ресурсы, но имеют собственные информационные базы; взаимодействующие - имеют информационные связи и разделяют общие структуры данных; взаимосвязанные по ресурсам; конкурирующие.

^ 5) По времени развития: последовательные, параллельные, комбинированные.

6)По месту развития: внутренние ( на ЦП), внешние ( на внешних процессорах).

^ 7)По принадлежности ОС: системные и пользовательские.

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

^ 5)Управление процессами. Диаграмма состояний процесса.

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

В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:

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

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

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

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

В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ - несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов. Жизненный цикл процесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ждет своей очереди. При активизации процесс переходит в состояние ВЫПОЛНЕНИЕ и находится в нем до тех пор, пока либо он сам освободит процессор, перейдя в состояние ОЖИДАНИЯ какого-нибудь события, либо будет насильно "вытеснен" из процессора, например, вследствие исчерпания отведенного данному процессу кванта процессорного времени. В последнем случае процесс возвращается в состояние ГОТОВНОСТЬ. В это же состояние процесс переходит из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет.



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

1)операционная система прекращает его деятельность;

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

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

Из состояния ожидание процесс попадает в состояние готовность после того, как ожидаемое событие произошло, и он снова может быть выбран для исполнения.

^ 6) Планирование процессов. Понятие очереди. Планировщики.

В зависимости от состояния процесса ему должен быть предоставлен тот или иной ресурс, например новый процесс, необходимо разместить в основной памяти, следовательно, ему необходимо выделить часть адресного пространства. Процессу в состоянии «готовый» должно быть предоставлено процессорное время. Выполненный процесс может потребовать оборудование ввода-вывода. Распределение процессов между имеющимися ресурсами носит название планирование процессов. Одним из методов планирования процессов, ориентированных на эффективную загрузку ресурсов, является метод очередей. Новые процессы, находящиеся во входной очереди, часто называются очередью работ (заданий). Входная очередь располагается во внешней памяти. Во входной очереди процессы ожидают освобождения ресурса – адресного пространства основной памяти. Готовые к выполнению процессы располагаются в основной памяти и связаны очередью готовых процессов. Процесс в состоянии ожидания завершения операции ввода – вывода находится в одной из очередей к оборудованию. Таким образом, процесс мигрирует между различными очередями под управлением программы, которая называется планировщик. Операционная система, обеспечивающая режим мультипрограммирования обычно включает 2 планировщика: долгосрочный и краткосрочный. Например, в ОС/360 долгосрочный планировщик называется планировщиком заданий, а краткосрочный – супервизором задач. На уровень долгосрочного планирования выносятся редкие системные действия, требующие больших затрат системных ресурсов, на уровень краткосрочного планирования – частые и более короткие процессы. Основное отличие между долгосрочным и краткосрочным планировщиками заключается в частоте запуска, например, краткосрочный может запускаться каждые 100 мл секунд, долгосрочный – 1 раз за несколько минут или больше. Долгосрочный планировщик (ДП) решает какой из процессов, находящихся во входной очереди должен быть переведен в очередь готовых процессов в случае освобождения ресурсов памяти. ДП выбирает процесс из входной очереди с целью создания неоднородной мультипрограммной смеси. Это означает, что в очереди готовых процессов должны находится в разной пропорции как процессы, ориентированные на ввод – вывод, так и процессы, ориентированный преимущественно на работу с ЦПУ. На уровне долгосрочного планирования объектом является не отдельный процесс, а некоторое объединение процессов по функциональному назначению, которые называются работой или приложением. По мере порождения новых работ создается собственная виртуальная машина для их выполнения. Краткосрочный планировщик (КП) решает какой из процессов, находящихся в очереди готовых процессов должен быть передан на выполнение в ЦПУ. В некоторых ОС ДП может отсутствовать, например, в системах разделения времени. На уровне КП объектом управления являются процессы, которые выступают как потребители ЦП для внутренних процессов или внешнего процессора для внешних процессов. Предметом порождения процессов могут быть процессы на том же уровне или сигналы ДП. Выделение процессора процессу производится с целью достижения эффекта мультипрограммирования. Такой процесс называется диспетчеризацией.

^ 7)Взаимодействие процессов. Транспортеры, очереди, сигналы, семафоры.

Взаимодействие процессов удобно рассматривать в схеме производитель – потребитель, например, программа вывода на печать производит последовательность символов, которые потребляются драйвером принтера, или компилятор производит текст ассемблера, который потребляется ассемблером. Для взаимодействия процесса производителя и процесса потребителя создается совместный буфер, заполняемый процессами производителя и потребителя. Буфер имеет фиксированные размеры, следовательно, процессы могут находиться в состоянии ожидания, когда: 1)буфер заполнен, ожидает процесс производитель; 2)буфер пуст, ожидает процесс потребитель. Буфер может предоставляться и поддерживаться самой ОС, например, с помощью средств межпроцессной коммуникации, либо должен быть организован программистом, при этом оба процесса производитель и потребитель используют общий участок памяти. Взаимодействие процессов заключается в передаче данных между процессами или совместном использовании некоторых ресурсов и обычно реализуется с помощью таких механизмов как транспортеры, очереди, сигналы и семафоры.

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

Очереди могут обеспечить передачу или использование общих данных без перемещения данных, а с передачей элемента очереди, содержащего указатель данных и объем массива данных. Очередь используется вместе с механизмом общей памяти. Элемент очереди может быть считан с уничтожением или без уничтожения этого элемента. Чтение элемента может осуществляться в соответствии с механизмом очереди, например, fifo или стека. Чтение элементов очереди осуществляется только процессом, создавшим очередь. Все другие процессы могут только записать элемент в очередь. Создающий очередь процесс может выполнять следующие действия над очередью: 1)создание очереди; 2)просмотр очереди; 3)чтение очереди; 4)закрытие очереди. Записывающий процесс осуществляет действия: 1)открыть очередь; 2)записать в очередь; 3)закрыть очередь. Имя очереди, которое присваивается создающим процессом, имеет вид полной спецификации файла. Ожидание элемента в очередь организуется с помощью семафора, сигнализирующего о записи элемента в очередь. Дополнительные функции для работы с очередью: 1)определение количества элементов в очереди в текущий момент; 2)очистка очереди, создавшим ее процессом. Преимущества очереди: 1)передача данных осуществляется по указателю без копирования; 2)гибкие изменения порядка передачи и доступа; 3)возможность просмотра элементов очереди без их удаления.

Сигналы – это механизм передачи требования от одного процесса к другому на немедленное выполнение действия. Обработчик сигнала создается процессом с перемещается в начало первого потока процесса. При передаче управления обработчику передается адрес возврата и тип принятого сигнала. Процесс, посылающий сигнал типа флаг может передавать дополнительную информацию обработчику сигналов. Характер выполняемых действий при выполнении сигнала: 1)обработка системной ошибки при появлении сигнала; 2)блокирование сигнала; 3)передача управления подпрограмме.

Семафоры являются механизмом передачи сообщения от одного потока к другому о наступлении некоторого события. Различают семафоры системные и оперативной памяти. Семафоры оперативной памяти – двойное слово в памяти системы, его описатель (адрес, место в памяти), такие семафоры не создаются, а устанавливаются в определенном состоянии. Процессы, использующие семафоры оперативной памяти, должны иметь доступ к соответствующему сегменту памяти. ОС такие семафоры не обслуживает и не сообщает об их освобождении или захвате. При создании семафора или его открытии возвращается описатель семафора, включающий его имя. ОС контролирует завершение каждого процесса, владеющего системным семафором, и освобождает его для процессов. Если семафор свободен, то он захватывается, вызывающими его процессами. Если семафор занят, то вызывающий его поток переходит в режим ожидания освобождения семафора и ожидает истечения времени. Если семафор освобожден всеми использующими его процессами, то он удаляется из системы. Управление семафором реализуется с помощью функций: 1)установки семафора с целью сигнализации; 2)ожидания, вызывающим потоком, пока семафор не будет выключен; 3)ожидания потоков выключения одного из нескольких семафоров.

ОС использует разные термины для определения способов межпроцессорного взаимодействия. В OS/2, MS Windows существует специальный термин (механизм) для взаимодействия процессов в реальном времени (DDE – Dynamic Data Exchange). Этот интерфейс позволяет хранить объекты, созданные одной программой, в объектах, созданных другой программой, а также редактировать, печатать их без нарушения целостности информации и связей. Одним из наиболее простых, удобных и интуитивно понятных интерфейсов межпрограммного взаимодействия является буфер обмена.

^ 8)Планирование работы процессора. Стратегии планирования процессора.

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

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

  1. утилизация CPU (использование) CPU utilization. Утилизация CPU теоретически может находиться пределах от 0 до 100%. В реальных системах утилизация CPU колеблется в пределах 40% для легко загруженного CPU, 90% для тяжело загруженного CPU.

  2. пропускная способность CPU throughput. Пропускная способность CPU может измеряться количеством процессов, которые выполняются в единицу времени.

  3. время оборота (turnaround time) для некоторых процессов важным критерием является полное время выполнения, то есть интервал от момента появления процесса во входной очереди до момента его завершения. Это время названо временем оборота и включает время ожидания во входной очереди, время ожидания в очереди готовых процессов, время ожидания в очередях к оборудованию, время выполнения в процессоре и время ввода - вывода.

  4. время ожидания (waiting time). Под временем ожидания понимается суммарное время нахождения процесса в очереди готовых процессов.

  5. время отклика (response time) для сугубо интерактивных программ важным показателем является время отклика или время, прошедшее от момента попадания процесса во входную очередь до момента первого обращения к терминалу.

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

1)^ Первый пришел - первый обслуживается FIFO. first come - first served (FCFS).

Операционная система использует process control block для переключения процессора с одного процесса на другой. FCFS является наиболее простой стратегией планирования процессов и заключается в том, что процессор передается тому процессу, который раньше всех других его запросил. Когда процесс попадает в очередь готовых процессов, process control block присоединяется к хвосту очереди. Среднее время ожидания для стратегии FCFS часто весьма велико и зависит от порядка поступления процессов в очередь готовых процессов. Стратегии FCFS присущ так называемый “эффект конвоя”. В том случае, когда в компьютере имеется один большой процесс и несколько малых, то все процессы собираются в начале очереди готовых процессов, а затем в очереди к оборудованию. Таким образом, “эффект конвоя” приводит к снижению загруженности как процессора, так и периферийного оборудования.

2)^ Стратегия - наиболее короткая работа! SJF

SJF — Shortest Job First. Одним из методов борьбы с “эффектом конвоя” является стратегия, позволяющая процессу из очереди выполняться первым.

Легко посчитать, что при использовании FCFS - стратегии среднее время ожидания для тех же процессов равно 10.25 мс, таким образом стратегия SJF снижает время ожидания очереди. Наибольшая трудность в практической реализации SJF заключается в невозможности заранее определить величину времени последующего обслуживания. Поэтому стратегия SJF часто применяется в долгосрочных планировщиках, обслуживающих пакетный режим. В этом случае вместо величины времени последующего обслуживания используется допустимое максимальное время выполнения задания, которое программист должен специфицировать перед отправкой задания в пакет.

3)Приоритетное планирование.

Описанные ранее стратегии могут рассматриваться как частные случаи стратегии приоритетного планирования. Эта стратегия предполагает, что каждому процессу приписывается приоритет, определяющий очередность предоставления ему CPU. Например, стратегия FCFS предполагает, что все процессы предполагает, что все процессы имеют одинаковые приоритеты, а стратегия SJF предполагает, что приоритет есть величина, обратная времени последующего обслуживания. Приоритет — это целое положительное число, находящееся в некотором диапазоне, например от 0 до 7, от 0 до 4095. Будем считать, что чем меньше значение числа, тем выше приоритет процесса. Приоритеты определяются исходя из совокупности внутренних и внешних по отношению к операционной системе факторов.

Внутренние факторы:

  1. требования к памяти

  2. количество открытых файлов

  3. отношение среднего времени ввода - вывода к среднему времени CPU и так далее

Внешние факторы:

  1. важность процесса

  2. тип и величина файлов, используемых для оплаты

  3. отделение, выполняющее работы и так далее

Внутренние факторы могут использоваться для автоматического назначения приоритетов самой операционной системой, а внешние для принудительного, с помощью оператора. Главный недостаток приоритетного планирования заключается в возможности блокирования на неопределенно долгое время низкоприоритетных процессов. Известен случай, когда в 1973 году в Массачусетском технологическом институте MIT при остановке компьютера IBM 7094 в очереди готовых процессов были обнаружены процессы, представленные в 1967 и все еще не выполненные. Для устранения отмеченного недостатка используются следующие методы: процессы, время ожидания которых превышает фиксированную величину, например 15 минут, автоматически получают единичное приращение приоритета.

4) “Карусельная” стратегия планирования. RR-Round Robin.

Round Robin стратегия применяется в системах разделения времени. Определяется небольшой отрезок времени, названный квантом времени (10..100 мс). Очередь готовых процессов рассматривается как кольцевая. Процессы циклически перемещаются по очереди, получая CPU на время, равное одному кванту. Новый процесс добавляется в хвост очереди. Если процесс не завершился в пределах выделенного ему кванта времени, его работа принудительно прерывается, и он перемещается в хвост очереди. Свойства Round Robin стратегии сильно зависят от величины временного кванта q. Чем больше временной квант, тем дольше Round Robin стратегия приближается к FCFS стратегии (для рассмотренного примера, если q>24 мс, то -> FCFS). При очень малых значениях временного кванта Round Robin стратегия называют разделением процессора — processor sharing. Теоретически это означает, что каждый из N процессов работает со своим собственным процессором, производительность процессора равна 1/N от производительности физического процессора.

5)планирование с использованием многоуровневой очереди.(Multilevel queue scheduling).

Эта стратегия разработана для ситуации, когда процессы могут быть легко классифицированы на несколько групп, например, часто процессы разделяют на две группы: интерактивные (процессы переднего плана) и пакетные (фоновые). Интерактивные и пакетные процессы имеют различные требования к краткосрочному планировщику, например по отношению ко времени отклика. Стратегия многоуровневой очереди разделяет очередь готовых процессов на несколько очередей, в каждой из которых находятся процессы с одинаковыми свойствами, и каждый из которых может планироваться индивидуальной стратегией, например Round Robin стратегия для интерактивных процессов и FCFS для пакетных процессов. Взаимодействие очередей осуществляется по следующим правилам: ни один процесс с более низким приоритетом не может быть запущен, пока не выполнятся процессы во всех очередях с более высоким приоритетом. Работа процесса из очереди с более низким приоритетом может быть приостановлена, если в одной из очередей с более высоким приоритетом появился процесс.

6)Программирование с использованием многоуровневой очереди с обратными связями (multilevel feedback queue sheduling).

Обычная многоуровневая очередь не допускает перемещения процессов между очередями. Многоуровневая очередь с обратными связями предполагает, что процессы при определенных условиях могут перемещаться между очередями. Процессы первоначально попадают в очередь 0, где каждому из них предоставляется квант времени, равный 8 мс. Те процессы, которые не успели выполниться в течение этого времени, перемещаются в очередь 1. Процессы из очереди 1 начинают обрабатываться только тогда, когда очередь 0 становиться пустой. Те процессы, которые не выполнились в очереди 1 (q=16 мс) перемещаются в очередь 2. Процессы из очереди 2 будут обрабатываться только в том случае, если становятся пустыми очереди 0 и 1.

^ 9) Средства аппаратной поддержи операционной системы. Переносимость операционных систем.

Четкой границы между программной и аппаратной реализацией функций ОС не существует - решение о том, какие функции ОС будут выполняться про­граммно, а какие аппаратно, принимается разработчиками аппаратного и про­граммного обеспечения компьютера. Тем не менее практически все современные аппаратные платформы имеют некоторый типичный набор средств аппаратной поддержки ОС, в который входят следующие компонента:1)средства поддержки привилегированного режима; 2)средства трансляции адресов; 3)средства переключения процессов; 4)система прерываний; 5)системный таймер; 6)средства зашиты областей памяти. Средства поддержки привилегированною режима обычно основаны на системном регистре процессора, часто называемом «словом состояния» машины или про­цессора. Этот регистр содержит некоторые признаки, определяющие режимы работы процессора, в том числе и признак текущего режима привилегий. Средства трансляции адресов выполняют операции преобразования виртуаль­ных адресов, которые содержатся в кодах процесса, в адреса физической памяти. Средства переключения процессов предназначены для быстрого сохранения кон­текста приостанавливаемого процесса и восстановления контекста процесса, который становится активным. Система прерываний позволяет компьютеру реагировать на внешние события, синхронизировать выполнение процессов и работу устройств ввода-вывода, бы­стро переходить с одной программы на другую. Механизм прерываний нужен для того, чтобы оповестить процессор о возникновении в вычислительной систе­ме некоторого непредсказуемого события или события, которое не синхронизи­ровано с циклом работы процессора. Системный таймер часто реализуемый в виде быстродействующего регистра-счетчика, необходим операционной системе для выдержки интервалов времени. Средства защиты областей памяти обеспечивают на аппаратном уровне про­верку возможности программного кода осуществлять с данными определенной области памяти такие операции, как чтение, запись или выполнение (при пере­дачах управления). Рис: перенос ОС на разные аппаратные платформы

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

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

^ 10)Алгоритмы распределения памяти. Свопинг и виртуальная память.

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



Рис. 5.7. Классификация методов распределения памяти

Распределение памяти фиксированными разделами

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

Очередной новый процесс, поступивший на выполнение, помещается либо в общую очередь (рис. 5.8, а), либо в очередь к некоторому разделу (рис. 5.8, 6).



Рис. 5.8. Распределение памяти фиксированными разделами: с общей очередью (а), с отдельными очередями (б)

Подсистема управления памятью в этом случае выполняет следующие задачи:

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

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

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

^ Распределение памяти динамическими разделами

В этом случае память машины не делится заранее на разделы. Сначала вся память, отводимая для приложений, свободна. Каждому вновь поступающему на выполнение приложению на этапе создания процесса выделяется вся необходимая ему память (если достаточный объем памяти отсутствует, то приложение не принимается на выполнение и процесс для него не создается). После завершения процесса память освобождается, и на это место может быть загружен другой процесс. Таким образом, в произвольный момент времени оперативная память представляет собой случайную последовательность занятых и свободных участков (разделов) произвольного размера. На рис. 5.9 показано состояние памяти в различные моменты времени при использовании динамического распределения. Так, в момент t0 в памяти находится только ОС, а к моменту t1 память разделена между 5 процессами, причем процесс П4, завершаясь, покидает память. На освободившееся от процесса П4 место загружается процесс П6, поступивший в момент t3.

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

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

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

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

4)После завершения процесса корректировка таблиц свободных и занятых областей.



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

^ Перемещаемые разделы

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



Рис. 5.10. Распределение памяти перемещаемыми разделами

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

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

^ Свопинг и виртуальная память

Виртуализация оперативной памяти осуществляется совокупностью программных модулей ОС и аппаратных схем процессора и включает решение следующих задач:

размещение данных в запоминающих устройствах разного типа, например часть кодов программы — в оперативной памяти, а часть — на диске;

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

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

Виртуализация памяти может быть осуществлена на основе двух различных подходов:

свопинг (swapping) — образы процессов выгружаются на диск и возвращаются в оперативную память целиком;

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

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

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

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

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

Сегментно-страничная виртуальная память использует двухуровневое деление: виртуальное адресное пространство делится на сегменты, а затем сегменты делятся на страницы. Единицей перемещения данных здесь является страница. Этот способ управления памятью объединяет в себе элементы обоих предыдущих подходов.

^ Страничное распределение

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

Вся оперативная память машины также делится на части такого же размера, называемые физическими страницами (или блоками, или кадрами). Размер страницы выбирается равным степени двойки: 512, 1024, 4096 байт и т. д. Это позволяет упростить механизм преобразования адресов.



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

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

^ Сегментное распределение

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


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

^ Сегментно-страничное распределение

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

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

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

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

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



Рис. 5.20. Два способа сегментации

11)Управление памятью. Функции операционной системы по управлению памятью. Типы адресов. Виртуальное адресное пространство.

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

Типы адресов

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

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

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



Рис. 2.7. Типы адресов

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

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

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

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

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

^ 12)Связь с пользователем. Графический интерфейс пользователя. Виджеты.

Связь с пользователем, сокращенно поименованная здесь как связь с оператором, - как говорят англичане, last but not least – последняя в списке, но не по важности функция ОС.

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

  • командный (или иной) интерфейс по управлению системными процессами в вычислительной системе (собственно функции оператора ОС). Пользователь (привилегированный) осуществляет запуск-останов программ, подключение-отключение устройств и прочие релевантные операции;

  • интерфейс по управлению пользовательскими процессами (контроль состояния процесса, ввод-вывод данных в процессе / из процесса).

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

  • администратор системы: лицо или группа, отвечающая за сопровождение данных, назначение уровней доступа, включение/исключение пользователей;

  • оператор системы, осуществляющий сопровождение вычислительного процесса;

  • прочие пользователи (не обладающие привилегиями доступа к данным), в том числе:

        • операторы подготовки данных (ОПД) – персонал, осуществляющий ввод данных с рабочих листов или документов, на основе соответствующих инструкций, в среде специальных программных интерфейсов;

        • интерактивные пользователи (ИП) – лица, имеющие доступ на ввод, коррекцию, обновление, уничтожение и чтение данных в рамках, как правило ограниченной области БД;

        • конечные пользователи (КП) – лица, использующие БД для получения справок и решения задач.

Интерфейс – это способ общения пользователя с персональным компьютером, пользователя с прикладными программами и программ между собой. Интерфейс служит для удобства управления программным обеспечением компьютера. Интерфейсы бывают однозадачные и многозадачные, однопользовательские и многопользовательские. Интерфейсы отличаются между собой по удобству управления программным обеспечением, то есть по способу запуска программ. Существуют универсальные интерфейсы, допускающие все способы запуска программ, например Windows 3.1, Windows 95. Например, Windows 95 позволяет реализовать несколько способов запуска программ, в том числе позволяет запускать программы при помощи меню кнопки Пуск.

Появление ОС и оболочек с развитыми диалоговыми и графическими средствами (Windows, Macintosh) и средств программирования, позволяющих создавать графический интерфейс (FoxPro for Windows), а особенно объектно-ориентированных систем программирования, привело к внедрению и широкому распространению элементов экранного интерфейса. Графические интерфейсы иногда обозначаются WIMPD (WIndows, Menu, Point Device) – окна, меню, указывающие устройство, как основные действующие элементы в подобном интерфейсе. Оболочка Microsoft Windows не была первоначально системой, т.к. она существовала «поверх» ОС MS-DOS. Она возникла в виде стандартизатора графического интерфейса и широкое распространение получила, потому что требовалась программа, с которой пользователю приходится часто работать, практичная, удобная, легкая в освоении и использовании. Для ОС UNIX также был создан специальный графический интерфейс XWindows. Фирма IBM выпустила вместе с ОС OS/2 свой вариант графического интерфейса пользователя – Presentation Manager. Функции, используемые программой пользователя при работе с графическим пользовательским интерфейсом, схожи, как и сами интерфейсы. ОС (оболочка), ориентированная на графический интерфейс пользователя, представляет не только функции, поддерживающие ввод-вывод, но и широкий спектр системных вызовов, позволяющих использовать различные графические объекты – от самых простых (точки, линии, дуги) до сложных (области, окна, курсоры). Основным преимуществом использования графического интерфейса ОС является то, что с его помощью программа может создавать графические изображения, которые будут выглядеть одинаково на всех устройствах, поддерживаемых ОС – WYSIWYG (What You See Is What You Get). Большое внимание в графическом интерфейсе ОС обычно уделяется шрифтам. Первое и долгое время единственными шрифтами для компьютеров использовались растровые (точечно-матричные) шрифты. Такие шрифты занимали малый объем памяти, однако их символы нельзя было вращать, наклонять, уменьшать без искажения или увеличивать можно было только в целое число раз. С появлением графического интерфейса ОС стали предоставлять системные средства для поддержки и использования векторных шрифтов (легко масштабируются, меняют наклон, толщину, выглядят одинаково на всех устройствах, поддерживаемых ОС). Каждая ОС поддерживает свой стандарт векторных шрифтов – для Windows – TrueType, OS/2 – Adobe Type Manager, LINUX – ChostScript. Графический интерфейс включает следующие понятия: рабочий стол, окна, пиктограммы, элементы графического интерфейса (виджеты - Widgets), указывающее устройство (курсор мыши). После запуска программа обычно создает окно, с которым она обычно ассоциируется и работает. Пользователь, работая с окном и находящимися объектами, заставляет ОС или программную оболочку посылать программе сообщения, активизирующие необходимые пользователю возможности программы. В процессе работы программа также может создавать другие окна и получать от них сообщения, таким образом, стандартизируются часто используемые элементы диалога с пользователем. Представление и расположение окон в значительной мере зависит от того, сколько приложений одновременно выполняется в среде. Если активно всего одно приложение, то целесообразно представить соответствующее окно в полноэкранном варианте. Интерфейс оболочки представляет собой набор наглядных, естественным образом организованных средств управления приложениями. Работая в графической среде, пользователь для вызова приложений не вводит имена и директивы с клавиатуры, а оперирует соответствующими пиктограммами.

Основные элементы графических интерфейсов (виджеты).

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

^ 13)Операционная система MS-DOS. Основные составные части. Основные команды.

1981г.

Основная версия 2.0 появилась в 1983г. – фирма Microsoft.

Основные возможности:

  • Иерархическая структура каталогов и группа команд ее поддержки (cd, md, rd);

  • Перенаправление ввода-вывода в конвейеры и фильтры;

  • Атрибуты файлов и их системная поддержка;

  • Метка тома и соответствующие команды;

  • Устанавливаемые драйверы внешних устройств;

  • Драйвер ANSI.SYS для расширения возможностей экрана и клавиатуры MS-DOS;

  • Файл конфигурации config.sys;

  • Динамическое выделение и освобождение памяти;

  • Поддержка национальных форматов;

  • Расширенные возможности командных файлов;

  • Утилита PRINT обеспечивает для вывода на печать в фоновом режиме, с возможностью выполнения любой программы.

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

Некоторые основные понятия, связанные с функционированием MS-DOS:

Наиболее употребительные команды:

Format – подготовка диска к работе (форматирование или инициализация) – команда внешняя, поэтому подразумевает наличие файла format.com. Ключи: v – форматирование с записью на диск метки тома; s – перенос ОС с резидентного на форматируемый диск.

Type – вывод файла на экран монитора

FDisc – разбиение жесткого диска на разделы

Find – поиск данных

Graphics – распечатка графических изображений

Cls – очистка экрана

GrafTable – команда загрузки дополнительных символов для графического режима

Country – установка формата даты и времени

Data – формата даты

Erase – удаление файлов

DiscComp – сравнение дисков

Join – логическое объединение каталога на одном диске с другим диском в один каталог

Mode – изменение режимов работы выходных устройств

More – постраничный вывод файлов на экран

Path – указание пути поиска

Prompt – изменение формата приглашения DOS

Sort – сортировка данных

Time – установка времени

XCopy – выборочное копирование групп файлов и каталогов.

Основные составные части MS-DOS:

  1. блок начальной загрузки

  2. модуль взаимодействия с BIOS (файл IO.SYS для DOS 5.0 и выше)

  3. модуль обработки прерываний (msdos.sys)

  4. командный процессор (command.com)

  5. внешние команды (программы)

  6. драйверы устройств (config.sys)

  7. autoexec.bat

14)Операционная оболочка Windows 3.1, Отличительные черты. Основные достоинства. Окна в Windows.

Операционная оболочка Windows 3.1 — это разработанная фирмой Microsoft надстройка над операционной системой DOS, обеспечивающая большое количество возможностей и удобств для пользователей и программистов. В отличие от оболочек типа Norton Commander, Windows не только обеспечивает удобный и наглядный интерфейс для операции с файлами, дисками и т.д., но и предоставляет новые возможности для запускаемых в среде Windows программ. Разумеется, для использования этих возможностей программы должны быть спроектированы по требованиям Windows. Такие программы не могут выполняться вне среды Windows, поэтому мы будем называть их Windows-программами или WincSows-приложенпями. Впрочем, Windows может выполнягь и обычные программы, разработанные для DOS, но при этом такие программы не используют никаких преимуществ Windows и работают медленнее, чем при непосредственном вызове из DOS.

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

Версия 3.0 оболочки Windows (и появившаяся следом 3.1) исповедует совершенно другие принципы в части интерфейса пользователя с ЭВМ. (Можно считать эти принципы новыми, но машины фирмы Apple строятся на этих принципах уже в течение нескольких лет.) Основная идея, заложенная в основу оболочки Windows, — естественность представления информации. Информация должна представляться в той форме, которая обеспечивает наиболее эффективное усвоение этой информации человеком. Несмотря на простоту (и даже тривиальность) этого принципа, его реализация в интерфейсах прикладных программ персональных ЭВМ по разным причинам оставляла желать лучшего. Да и реализация его в рамках Windows 3.1 тоже не лишена недостатков. Но эта оболочка представляет собой существенный шаг вперед по сравнению с предыдущими интерфейсами пользователя с ЭВМ. Наиболее важными отличительными чертами ее являются следующие: Windows представляет собой замкнутую рабочую среду. Практически любые операции, доступные на уровне операционной системы, могут быть выполнены без выхода из Windows. Запуск прикладной программы, форматирование дискет, печать текстов — все это можно вызвать из Windows и вернуться в Windows по завершении операции. Опыт работы в DOS пригодится и здесь; многие основополагающие принципы и понятия среды Windows не отличаются от соответствующих принципов и понятий среды DOS. Основными понятиями пользовательского интерфейса в среде Windows являются окно и пиктограмма. Все, что происходит в рамках оболочки Windows, в определенном смысле представляет собой либо операцию с пиктограммой, либо операцию с окном (или в окне) . Стандартизована в среде Windows и структура окон и расположение элементов управления ими. Стандартизованы наборы операций и структура меню для сервисных программ. Стандартны операции, выполняемые с помощью мыши для всех сервисных и прикладных программ.

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

^ 15) Операционные системы Windows 95/98/ME. Объектно-ориентированный подход.

ОС Windows 95/98/МЕ базируются на принципе Plug&Play подключения новых устройств и не требуют серьезного администрирования. Серия NT ориентирована на использование в больших организациях и требует точного конфигурирования и постоянного администрирования. Объектно-ориентированный подход в полной мере реализован при создании Windows 95. Объектно-ориентированных систем не было, когда вычислительная мощность машин была не высока. Основой всего был программный код. Программисты записывали последовательности команд для вычисления тех или иных действий над данными, которые оформлялись в модуле и процедуре. Для работы с каждым объектом создавалась своя процедура. Метод - это способ воздействия на объект. Методы позволяют создавать и удалять объекты, а так же изменять их свойства. Объектно-ориентированные системы могут работать только на достаточно мощных вычислительных установках.

^ 16)ОС Windows 95. Основные особенности. Компоненты ядра. Основные достоинства.

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

^ Компоненты ядра W95. Ядро состоит из 3х компонент:

User – управляет вводом с клавиатуры, от мыши и других координатных устройств, а также выводом через интерфейс пользователя. В W95 используется модель асинхронного ввода.

Kernelобеспечивает базовые функциональные возможности ОС (поддержку файлового ввода/вывода, управление виртуальной памятью, планирование задач), загружает ехе и dll-файлы при запуске программы, обрабатывает исключения, обеспечивает взаимодействие 16 разрядного и 32 разрядного кода.

GDI – графическая система, управляющая всем, что появляется на экране дисплея, и поддерживающая графический вывод на принтер и другие устройства

Основные достоинства

  1. 32х битная ОС, что ускоряет работу многих программ, по сравнению с 16 битной системой MS-DOS и операционной оболочкой W 3.1

  2. удобный графический многооконный интерфейс для польз-ля (Desktop)

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

  4. самонастраивающаяся система драйверов поддержки аппаратной части ПК (Plug and Play)

  5. настоящая многозадачность (по сравнению с W 3.1)

  6. развитые сетевые функции, включая Internet

  7. большой выбор прикладного ПО и поддержка большинства 16 битных приложений

  8. хорошая поддержка multimedia

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

Недостатки

  1. высокие требования к аппаратной части ПК (процессору, ПЗУ, жесткому диску)

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

17)Основные достоинства ОС Windows 98.

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

  2. управление питанием – сокращает время запуска ПК

  3. шина USBуниверсальная последовательная шина облегчает использование ПК за счет расширенных возможностей самонастраивающихся (Plug and Play) устройств. Новый универсальный стандартный разъем позволяет добавлять устройства без необходимости перезагружать ПК

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

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

  6. проверка реестра. Это системная программа позволяет обнаруживать и устранять ошибки в реестре. При каждом запуске ПК программа проверка реестра автоматически проверяет реестр на наличие несогласованности структуры данных

  7. архивация данных. Программа архивации предоставляет расширенные возможности архивации и восстановления данных

  8. быстрая ОС. W98 включает средства, позволяющие ПК работать быстрее по сравнению с W95 без добавления нового оборудования. В состав W98 входит ряд программ совместное применение которых повышает производительность ПК

  9. мастера Windows. Это средства для проведения пользователя через последовательные этапы сложных процедур (например мастер обслуживания, мастер подключения к Internet)

  10. проверка диска – запускается автоматически после неверного выключения ОС

  11. преобразование диска – в систему FAT32 (File Allocation Table) позволяет форматировать как один диск диски с емкостью более 2х Гб. Преобразованные диски используют кластеры меньших размеров, чем на дисках FAT, в результате чего повышается эффективность использования объема диска

  12. дефрагментация диска – повышает скорость загрузки и выполнения программ

  13. полное объединение с Web – проводник W98 и Internet Explorer позволяют объединить ресурсы Web в едином представлении

  14. расширенные средства Web - W98 делает наиб продуктивным использование Web за счет применения всех возможностей ПК к интерактивному содержимому Internet:

а) автоматическое дополнение ранее вызывавшихся адресов Web по мере их ввода

б) улучшенные списки часто посещаемых Web-узлов

в) улучшенный журнал и возможности отслеживания посещаемых Web-узлов

г) поддержка всех основных стандартов Internet, в т ч ActiveX, Java

д) повышенная производительность динамического языка HTML, что позволяет сделать Web-страницы более разнообразными

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

  2. электронная почта

  3. NetMeetingразговоры по цифровым каналам связи

  4. расширенные возможности рабочего стола

18)Функции и состав операционной системы Windows 95.

  1. управление процессами. В W95 процесс – это либо виртуальная машина MS-DOS, либо работающее приложение Windows. Каждый процесс может порождать множество потоков. Поток – это последовательность команд в пределах процесса. Системный планировщик процессов (часть диспетчера виртуальной машины) управляет именно потоками.

  2. организация файловой системы. Основной файловой системой является VFAT. Пересмотренная версия W95 OSR2 (OEM Service Release2) поддерживает файловую систему FAT32, обеспечивающую поддержку жесткого диска более 2х Гб и более эффективное распределение дисковой памяти благодаря тому, что размер кластера в ней всего 4 Кб.

  3. поддержка технологии Plug-and-Playпредназначена для упрощения установки и конфигурирования новых устройств. Устройства, соответствующие данной технологии, обязаны уметь сообщать ОС о своем наличии и о требуемых для работы ресурсах. В W95 основным средством поддержки PNP является диспетчер конфигурации. Он осуществляет идентификацию всех устройств, загружает необходимые драйверы и, с целью выделения ресурсов, обращается к орбитам ресурсов. Функции управления ресурсами (распределение памяти, процессорного времени, управление доступом к устройствам ввода/вывода и т. д.) выполняются диспетчером виртуальной машины и ядром системы.

  4. реестр – это иерархическая БД, в которой централизованно хранится вся информация об аппаратных средствах, конкретных приложениях W95 и о настройках пользователя интерфейсной части ОС.

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

  6. диспетчер конфигурации – включен в архитектуру W95 для поддержки функциональных возможностей Plug-and-Play

  7. диспетчер виртуальной машины (VMM - virtual machine manager) – выделяет ресурсы каждому приложению и системному процессу выполняемому на ПК. Виртуальная машина представляет собой некую среду в памяти, которую приложение воспринимает как отдельный ПК с теми же ресурсами, что и у физического ПК

  8. н
    астраиваемые файловые системы.
    Файловая система W95 характеризуется многоуровневой архитектурой, поддерживающей несколько файловых систем (файловая система на основе FAT, файловая система CD-ROM, файловая система сторонних разработчиков). Особенностью файловой системы W95 является поддержка длинных имен файлов или каталогов. В именах файлов можно использовать до 255 символов, включая пробелы и знаки препинания. Запрещенные знаки \(обозначает путь), /(для подстановки ключей), >(для указания направления вывода), <, : (для имени диска), ?(в масках поиска), *, “(длинные имена файлов). Другая особенность – это динамическое кэширование, поддерживаемое файловой системой CD-ROM. Это обеспечивает оптимальный баланс между памятью, необходимой приложению, и памятью, выделяемой под дисковый кэш.




  1. ^ Операционные системы Windows NT/2000/XP.

OC WinNT/2000. Задачи, поставленные при создании WinNT.

WinNT – 32х разрядная ОС с приоритетной многозадачностью. В качестве фундаментальных компонент в состав ОС входят средства обеспечения безопасности и развитый сетевой сервис. WinNT обеспечивает совместимость со многими др. ОС и файл. сист-ми и сетями. Способна функционировать как на компах, оснащенных CISC-процессорами со сложной сист-ой команд, так и на компах с RISC. WinNT поддерживает высокопроизводительные сист-мы с мультипроцессорной конфигурацией. Задачи, поставленные при создании WinNT. Архитектура WinNT создавалась заново с учетом предъявляемых к современным ОС требованиям. Особенности сист-мы, разраб-ой на основе этих требований: совместимость любых ОС (файловых с-м, различных приложений); переносимость сист, кот. может работать как на CISC, так и на RISC-процессорах; масштабируемость означает, что WinNT не привязана к однопроцессорной архитектуре компов(с числом процессоров от 1 до 32), позволяет легко добавлять более мощные и производительные серверы и рабочие станции к корпоративной сети; однородную систему безопасности; распределенная обработка имеет встроенные в сист-му сетевые возможности. WinNT имеет поддержку разнообразных транспортных протоколов и исп-ние средств «клиент-сервер» высокого уровня; надежность и отказоустойчивость обеспечивается архитектурными особенностями, которые защищают прикл. программы от повреждения друг другом и ОС. WinNT исп-ет отказоустойчивую структурированную обработку особых ситуаций на всех архитектурных уровнях, которая включает восстанавливаемую файловую сист-му NTFS и обеспечивает защиту с help встроенной сист-мы безопасности и усовершенствованных методов упр-ния памятью; возможности локализации представляют средства для работы во многих странах мира на национ-х яз., что достигается применением стандарта Unicod; расширяемость WinNT достигается благодаря модульному построению с-мы.

^ Модель безопасности Win’NT

Модель без-ти – монитор без-ти, совместно с процем входа в с-му и защищенными подс-ми. В многозадачной ОС W’NT приложения совместно исп-ют ряд ресурсов в с-ме, включая память компа, уст-во ввода/вывода, файлы и процессоры с-мы. W’NT включает набор компонентов безопасности, к-й гарантирует, что приложения не смогут обратиться к этим ресурсам без соответствующего разрешения. Монитор безопасности отвечает за проведение проверки правильности доступа и контроля определенной локальной подс-мы безопасности. Монитор безопасности обеспечивает услуги по подтверждению доступа к объекта, проверки привилегий пользователя и генерации сообщений как д/привилегированного режима, так и д/режима пользователя. Защищенность ресурсов – одна из особенностей, предоставляемая моделью безопасности. Задачи не могут обращаться к чужим ресурсам иначе, чем ч/з применение спец. механизмов совместимого исп-ния. W’NT также предоставляет средства контроля, к-е позволяют администратору фиксировать действия пользователя.

^ Управление памятью W’NT.

Пред.собой ОС сервера д/исп-ния на раб станции. Надежность обеспечивается за счет высоких систем. затрат, поэтому д/получения приемлемой производительности необходимы быстродействующий ЦП и по меньшей мере 16 Мб ПЗУ. Собственным приклад. пр-мам выделяется 2 Гб особого адресного пространства. Приклад. пр-мы изолированы др. от др., хотя могут общаться ч/з буфер обмена и механизмы DDE и OLE. При вызове большинства ф-ций API из приклад. пр-мы библиотеки DDL клиентской стороны обращаются к локал. процедурам, к-е передают вызов и связанные с ним параметры в совершенно изолированное адресное пространство, где содержится систем. код. Этот сервер-процесс проверяет значения параметров, исполняет запрошенную ф-цию и пересылает результаты назад в адресное пространство приклад. пр-мы. W’NT дает возможность выполнять 16-тиразрядные приклад. пр-мы индивидуально в собственных пространствах памяти или совместно в разделяемом адресном пространстве. W’NT может также выполнять несколько сеансов Dos в многозадачном режиме. Собственные прикл. проги вып-ся в режиме вытесняющей многозадачности, основанной на упр-ии отд.потоками.

^ Основные отличия Win’2000.

W’2000 основана на W’NT, это полностью 32-хразрядн. ОС с приоритетной многозадачностью и улучшенной реализацией работы с памятью. Новые ср-ва упр-я польз-ми сетевыми ресурсами: Active Directory –облегчает работу админов больших сетей на базе W’2000. Вокруг него строится вся с-ма упр-я сетью и с-ма без-ти. Active Directory строится на принципах: единая регистрация в сети, без-ть инфы, централизованное упр-е, гибкий ин-с, масштабируемость, простота поиска; DFS- один

из инструментов Active Directory, позволяет создавать сетевые ресурсы, в которые м/входить мн-во файловых с-м на различных машинах; в стартовом меня вводится ф-я, когда при открытии показ-ся только наиболее часто употребляемые пункты; окошко св-в в стартовом меню позволяет редактировать строки, входящие в стартовое меню, расширять некоторые пункты; изменение цветовой гаммы и др. св-в ин-са.
  1   2   3



Скачать файл (1126.5 kb.)

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

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru