рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Занятие №1 Введение

Занятие №1 Введение - раздел Образование, Занятие №1 Введение ...

Занятие №1 Введение

Цели и задачи дисциплины.

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

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

Этапы развития операционных систем ПК.

Появление первых операционных систем

С середины 50-х годов начался новый период в развитии вычислительной техники, связанный с появлением новой технической базы - полупроводниковых… Для организации эффективного совместного использования трансляторов,… Но как бы быстро и надежно ни работали операторы, они никак не могли состязаться в производительности с работой…

Появление мультипрограммных операционных систем для мэйнфреймов

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

Операционные системы и глобальные сети

В 1969 году Министерство обороны США инициировало работы по объединению суперкомпьютеров оборонных и научно-исследовательских центров в единую сеть.…

Операционные системы мини-компьютеров и первые локальные сети

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

Развитие операционных систем в 80-е годы

Рабочий вариант стека протоколов TCP/IP был создан в конце 70-х годов. Этот стек представлял собой набор общих протоколов для разнородной… Внедрение протоколов TCP/IP в ARPANET придало этой сети все основные черты,… Начало 80-х годов связано с еще одним знаменательным для истории операционных систем событием - персональных…

Единицы работы вычислительных систем

- задание; - пункт задания; - задача.

WIMP – интерфейс

1. Вся работа с программами, файлами и документами происходит в окнах - определенных очерченных рамкой частях экрана. 2. Все программы, файлы, документы, устройства и другие объекты представляются… 3. Все действия с объектами осуществляются с помощью меню. Хотя меню появилось на первом этапе становления…

Речевая технология

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

Биометрическая технология

 

Семантический (общественный) интерфейс

Типы интерфейсов

1) процедурно-ориентированные: -примитивные -меню

МЕТОДЫ И СРЕДСТВА РАЗРАБОТКИ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

Интерфейс имеет важное значение для любой программной системы и является неотъем-лемой ее составляющей, ориентированной, прежде всего, на… 1. Языковой, когда применяются специальные языки для задания синтаксиса… 2. Графическая спецификация связана с определением интерфейса, как правило, средствами визуального программирования,…

Обзор современного ПО-Операционные системы

Операционная система MS-DOS является ОС реального режима микропроцессора Intel, а потому здесь не может идти речи о разделении оперативной памяти… Семейство операционных систем Windows 95, 98, Millenium – это клоны,… Поколение операционных систем Windows NT, 2000 уже значительно более надежная разработка компании MicroSoft. Они…

Одноранговые сетевые ОС и ОС с выделенными серверами

(а)

ОС для рабочих групп и ОС для сетей масштаба предприятия

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

Выводы

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

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

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

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

Супервизор обеспечивает выполнение как одной задачи, так и нескольких одновременно. Управление задачами основывается на формальном представлении их в системе. Каждой задаче присваивается приоритет и определяется ее состояние. Если задача ожидает завершения какого-либо события, она находится в состоянии ожидания. Задача может ожидать, например, окончания операции ввода-вывода, загрузки подпрограммы, выполнения какой-либо функции Супервизора. Задача, имеющая все ресурсы, кроме времени центрального процессора, находится в состоянии готовности. http://www.ngpedia.ru/id493711p1.html

Надо отметить, что самые первые программисты работали непосредственно за пультом ЭВМ (т.е.

в так называемом диалоговом режиме). Затем из экономических соображений это стало нерациональ-

ным, так как программисты слишком долго искали и исправляли ошибки в своих программах или

анализировали результаты расчётов, и в это время ЭВМ простаивала. Тогда и появился новый, па-

кетный режим работы, и программистов перестали пускать в машинный зал за пульт ЭВМ. Это на-

звание подразумевает, что подлежащие счёту программы собираются в некоторый "пакет" (для ЭВМ

первых поколений это был деревянный или металлический ящик, наполненный программами, каждая

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

Одним из принципов Фон Неймана, как мы знаем, является принцип последовательного выпол-

нения команд программы. Более того, архитектура машин Фон Неймана предполагает, что последо-

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

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

гружается в память и не начинает выполняться. Именно так и работали первые ЭВМ (вспомним, как

работала наша учебная трёхадресная ЭВМ УМ-3).

Сейчас мы познакомимся с новым и весьма важным понятием – мультипрограммным (иногда го-

ворят, многопрограммным) режимом работы ЭВМ. Мультипрограммный режим работы означает, что

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

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

Заметим

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

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

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

данными в процессе счёта.

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

режим работы появился только на ЭВМ, начиная с 3-го поколения, на первых компьютерах его не

было [3]. Сейчас нам сначала предстоит разобраться, а для чего вообще может потребоваться, чтобы

в памяти одновременно находилось несколько программ пользователей. Этот вопрос вполне естест-

венный, так как раньше у большинства компьютеров был только один центральный процессор, так

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

это время будут просто занимать место в оперативной памяти.

Частично мы уже обосновали необходимость присутствия в оперативной памяти нескольких

программ, когда изучали систему прерываний. Как правило, при возникновении прерывания цен-

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

которая тоже, конечно, должна при этом находиться в оперативной памяти. Здесь, однако, можно

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

нии, являются системными программами (входят в операционную систему),

а при определении

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

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

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

режим работы. Во-первых, может потребоваться одновременно выполнять несколько программ. На-

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

лями (программисты Вася и Петя одновременно с разных терминалов, подключённых к одной ЭВМ,

отлаживают свои программы, см. рис. 13.1).

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

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

ма Васи, или программа Пети (ну, или служебная программа операционной системы при обработке

 

Эти программы, вообще говоря, могут присутствовать в оперативной памяти не целиком. Во-первых, они

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

виртуальной памяти, при этом некоторые части программы могут временно отсутствовать в оперативной памя-

ти, находясь в так называемом файле подкачки (swap file) на внешней памяти.

На ЭВМ первых поколений "обычным" пользователям разрешалось писать свои собственные процедуры-

обработчики прерываний, однако в операционных системах современных ЭВМ это, как правило, запрещено.

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

ЭВМ. 2

прерывания). Эта трудность преодолевается введением специального режима работы ЭВМ – режима

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

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

служебная процедура-диспетчер переключает центральный процессор с одной задачи пользователя

на другую по истечении определённого кванта времени (обычно порядка единиц или десятков мил-

лисекунд). В таком режиме разделения времени (в русскоязычной литературе этот режим иногда

метко называли коммунальным использованием ЭВМ) и у Васи, и у Пети создаётся иллюзия, что

только его программа всё время считается на компьютере (правда, почему-то медленно ☺).

Оперативная память

Программа Васи

Программа Пети

. . .

Программы операци-

онной системы

Рис. 13.1. Одновременное нахождение в памяти

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

На рис. 13.2 показана временная диаграмма переключения времени работы центрального процес-

сора ЭВМ между находящимися в памяти программами.

Программа Васи

Программа Пети

Программа ОС

Рис. 13.2. Диаграмма загрузки центрального процессора ЭВМ

Если отвлечься от несколько шутливого примера с Васей и Петей, то можно заметить, что по-

требность в таком псевдо-одновременном счёте нескольких программ на компьютере с одним цен-

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

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

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

процессоров на компьютере несколько (наиболее широко сейчас распространены так называемые

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

ше, чем процессоров, поэтому этот вопрос по-прежнему актуален.

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

дующем. Наряду с главной частью – центральным процессором и оперативной памятью – в компью-

тере существует и большое количество так называемых периферийных (внешних) устройств, это дис-

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

рис. 13.3). Все эти периферийные устройства предназначены для связи центральной части машины с

"внешним миром", и работают значительно более медленно, чем центральный процессор и оператив-

ная память. Имеется в виду, что все они значительно медленнее манипулируют данными. Например,

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

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

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

Сеть

Клавиатура

Диски

Мышь

Оперативная

Память

Дисплей

Центральный

процессор

Печать

Рис. 13.3. Центральная и периферийная части компьютера.

Из этих соображений, очевидно, что в то время, когда по запросу некоторой программы произво-

дится обмен данными с медленными внешними устройствами, центральный процессор, как правило,

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

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

Read(MyFile,X); Y:=X+1

Очевидно, что оператор присваивания Y:=X+1 не сможет начать выполняться, пока из файла не

будет прочитано значение переменной X. Вот здесь нам и пригодится способность программы-

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

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

тральном процессоре, другая может выводить свои данные на принтер, третья – читать массив с дис-

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

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

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

сительно независимо от центрального процессора. Действительно, вспомните, что в машине Фон

Неймана всеми операциями с внешними устройствами управлял именно центральный процессор по

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

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

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

Итак, мы обосновали полезность режима мультипрограммирования. Как уже говорилось, на пер-

вых ЭВМ этого режима работы не было. Сейчас мы сформулируем необходимые требования, кото-

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

вать мультипрограммный режим работы.

Сначала заметим, что требование параллельной работы центрального процессора и периферий-

ных устройств не является совершенно необходимым для режима разделения времени, который, как

мы уже говорили, является частным случаем мультипрограммного режима работы. Поэтому мы не

будем включать это требование в перечень обязательных свойств аппаратуры ЭВМ для обеспече-

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

устройств и центрального процессора сильно повышает производительность компьютера и реализо-

вана практически на всех современных ЭВМ и на всех больших и супер-ЭВМ.

13.1. Требования к аппаратуре для обеспечения возможности работы в

мультипрограммном режиме

Итак, сформулируем необходимые требования к аппаратуре ЭВМ для обеспечения возможности

мультипрограммной работы. Особо подчеркнём, что это требования именно к аппаратуре ЭВМ, а не

к программному обеспечению.

Система прерываний. Система прерываний необходима как для режима разделения времени,

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

так как она обеспечивает саму возможность реакции на события и автоматического переключения с

одной программы на другую.

Механизм защиты памяти. Этот механизм обеспечивает безопасность одновременного нахож-

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

на программа не сможет случайно или же предумышленно обратиться в память другой программы4

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

режим просто невозможен. Даже если не принимать во внимание "вредных" программистов, которые

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

большая вероятность таких действий из-за семантических ошибок в программах даже у "добропоря-

дочных" программистов (например, при выходе индекса за границу массива). Незаконное обращение

к чужым ресурсам (в частности, к чужой оперативной памяти) "по научному" называется несанкцио-

нированным доступом.

Механизм защиты оперативной памяти на современных ЭВМ устроен весьма сложно, и часто

связан с механизмом так называемой виртуальной памяти, который в полном объёме изучается в кур-

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

механизма защиты памяти, так эта защита была сделана на некоторых первых ЭВМ 3-го поколения,

способных работать в мультипрограммном режиме.

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

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

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

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

адресами от 20000010 до 50000010 включительно. Тогда загрузчик, перед передачей управления на

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

защиты памяти соответственно значения

Анач:=20000010 и Акон:=50000010

Далее, в центральный процессор добавлена способность, перед каждым обращением в опера-

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

Анач ≤ Афиз ≤ Акон

Если условие истинно, т.е. программа обращается в свою область памяти, выполняется требуе-

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

память не производится, и центральный процессор вырабатывает сигнал прерывания по событию

"попытка нарушения защиты памяти".

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

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

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

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

ЭВМ это ограничение несущественно, так как на них реализован уже упоминавшейся механизм вир-

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

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

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

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

Аппарат привилегированных команд. Сейчас мы рассмотрим ещё одно необходимое свойст-

во аппаратуры, без которого невозможно реализовать мультипрограммный режим работы ЭВМ. Это

свойство иногда называется аппаратом привилегированных команд, а иногда – защищённым режи-

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

выполнять центральный процессор, разбиваются на два класса. Команды из одного класса называют-

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

рованными или запрещёнными командами.

Далее, в центральном процессоре располагается специальный одноразрядный регистр режима

работы, который может, естественно, принимать только два значения: 0 и 1. Значение этого регист-

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

режим (или режим пользователя) или привилегированный режим.

В привилегированном режиме

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

теля – только обычные (не привилегированные) команды. При попытке выполнить привилегирован-

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

 

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

значения 0, 1, 2 и 3. Практически всегда, однако, для указанных выше целей реализации защищённого режима

работы используются только два из этих четырёх значений (0 и 3). 5

вания, а сама команда, естественно, не выполняется. Из этого правила выполнения команд легко по-

нять и другое название для привилегированных команд – запрещённые команды, так как их выпол-

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

команд невозможно реализовать мультипрограммный режим работы ЭВМ.

Легко понять, что, например, команды, которые для рассмотренного выше механизма защиты

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

Действительно, если бы это было не так, то любая программа могла бы занести на эти регистры адре-

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

в любые области памяти. Ясно, что при этом и описанный выше механизм защиты памяти становится

совершенно бесполезным.

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

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

диск – это тоже общая память для всех программ, только внешняя, и одна программа может испор-

тить на диске данные (файлы), принадлежащие другим программам. То же самое относится и к печа-

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

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

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

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

вателя, не выводятся сразу на печать, а записываются в специальный файл, который будет выводить-

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

чать данные Васи и Пети не перепутаются.

Итак, в мультипрограммном режиме программе пользователя запрещается выполнять многие

"опасные" команды, в частности команды, работающие с внешними устройствами (дисками, принте-

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

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

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

рую сама программа пользователя сделать не в состоянии. Эти служебные процедуры, естественно,

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

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

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

занного файла.

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

некоторой (не привилегированной) машинной команде. Значительно сложнее обстоит дело с такой

опасной операцией, как переключение центрального процессора из обычного режима работы в при-

вилегированный режим. Это переключение невозможно выполнить по какой-либо машинной коман-

де (чтобы это понять, достаточно задаться вопросом, должна ли сама эта команда переключения быть

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

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

обработчик прерывания уже начинает свою работу в привилегированном режиме. Иногда переклю-

чение в привилегированный режим производится центральным процессором при вызове специаль-

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

Таймер. Встроенные в компьютер электронные часы (таймер) появились ещё до возникновения

мультипрограммного режима работы. Тем не менее, легко понять, что без таймера мультипрограмм-

ный режим тоже невозможен. Действительно, это единственное внешнее устройство, которое гаран-

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

налов некоторые программы могли бы войти в выполнение бесконечного цикла (как говорят про-

граммисты – зациклиться), и ничто не могло бы вывести компьютер из этого состояния.

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

ного режима работы ЭВМ. Остальные аппаратные возможности ЭВМ, которые часто называются при

 

Обычно при счёте в мультипрограммном режиме программа пользователя может сообщить операцион-

ной системе своё максимальное время счёта. Это не физическое время, а сумма всех квантов времени централь-

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

котором выставляется время окончания её работы. По истечению этого максимального времени счёта програм-

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

ответе на этот вопрос (такие, как большая оперативная память, высокое быстродействие центрально-

го процессора, большая ёмкость дисков и другие) являются, конечно, желательными, но не являются

необходимыми.

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

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

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

примерно на порядок более сложной, чем её предшественницы – операционные системы, не поддер-

живающие мультипрограммный режим работы. Всё это, однако, тема отдельного курса, а мы про-

должаем изучать архитектуру современных ЭВМ.

Вопросы и упражнения

1. Что называется пакетным режимом работы ЭВМ?

2. Дайте определение мультипрограммного режима работы ЭВМ. Когда этот режим необходим?

3. Что такое режим разделения времени и для чего он нужен?

4. Для чего нужна параллельная работа центрального процессора и устройств ввода/вывода?

5. Что такое аппарат привилегированных команд и почему он необходим для мультипрограммного режима работы ЭВМ?

6. Какие команды машины необходимо делать привилегированными?

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

8. Что такое таймер и почему он необходим в мультипрограммном режиме работы?

9. Объясните, почему на рис. 13.2 между любыми двумя программами пользователя центральный процессор обязательно на некоторое время переключается на программу операционной cистемы. http://arch.cs.msu.su/Text/Chapter_13.pdf

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

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

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

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

Основой мультипрограммирования является совмещение операций центрального процессора с операциями ввода-вывода. Такое совмещение возможно в связи с тем, что центральный процессор не занимается выполнением операций ввода-вывода, а только инициирует их. После этого операции ввода-вывода выполняются каналами или процессорами ввода-вывода по самостоятельным программам параллельно с другими каналами и центральным процессором. http://www.electriz.ru

 

 

Т е м а 1.6 Система прерываний как средство организации многопрограммной работы ОС.

Виды прерываний. Алгоритмы обработки прерываний. Слово состояния процессора, векторы прерываний. Управление обработкой прерываний по маске и приоритету. Система обработки прерываний в микропроцессорах Intel. Программные прерывания, системные вызовы.

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

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

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

Механизм обработки прерываний независимо от архитектуры вычислительной системы подразумевает выполнение некоторой последовательности шагов:

1. Установление факта прерывания (прием сигнала запроса на прерывание) и идентификация прерывания (в операционных системах идентификация прерывания иногда осуществляется повторно, на шаге 4).

2. Запоминание состояния прерванного процесса вычислений. Состояние процесса выполнения программы определяется, прежде всего, значением счетчика команд (адресом следующей команды, который, например, в 180x86 определяется регистрами CS и IP — указателем команды), содержимым регистров процессора, и может включать также спецификацию режима (например, режим пользовательский или привилегированный) и другую информацию.

3. Управление аппаратно передается на подпрограмму обработки прерывания. В простейшем случае в счетчик команд заносится начальный адрес подпрограммы обработки прерываний, а в соответствующие регистры — информация из слова состояния. В более развитых процессорах, например в 32-разрядных микропроцессорах фирмы Intel (начиная с i80386 и включая последние процессоры Pentium IV) и им подобных, осуществляются достаточно сложная процедура определения начального адреса соответствующей подпрограммы обработки прерывания п не менее сложная процедура инициализации рабочих регистров процессора.

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

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

6. Восстановление информации, относящейся к прерванному процессу (этап, обратный шагу 4).

7. Возврат на прерванную программу.

Шаги 1-3 реализуются аппаратно, шаги 4-7 — программно.

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

Итак, главные функции механизма прерываний — это:

· распознавание или классификация прерываний;

· передача управления соответствующему обработчику прерываний;

· корректное возвращение к прерванной программе.

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

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

Внешние прерывания вызываются асинхронными событиями, которые происходят вне прерываемого процесса, например:

· прерывания от таймера;

· прерывания от внешних устройств (прерывания по вводу-выводу);

· прерывания по нарушению питания;

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

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

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

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

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

· при делении на ноль;

· вследствие переполнения или исчезновения порядка;

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

 

 

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

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

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

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

 

 

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

Программное управление специальными регистрами маски (маскирование сигна­лов прерывания) позволяет реализовать различные дисциплины обслуживания:

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

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

· По принципу стека, или, как иногда говорят, по дисциплине LCFS (Last Come First Served — последним пришел, первым обслужен), то есть запросы с более низким приоритетом могут прерывать обработку прерывания с более высоким приоритетом. Дли этого необходимо не накладывать маску ни на один из сиг­налов прерывания и не выключать систему прерываний.

Следует особо отметить, что для правильной реализации последних двух дисциплин нужно обеспечить полное маскирование системы прерываний при выполнении шагов 1-4 и 6-7. Это необходимо для того, чтобы не потерять запрос и правильно его обслужить. Многоуровневое прерывание должно происходить на этапе собственно обработки прерывания, а не на этапе перехода с одного процесса вычислений на другой.

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

Как мы уже знаем, при появлении запроса на прерывание система прерываний идентифицирует сигнал и, если прерывания разрешены, то управление передается на соответствующую подпрограмму обработки. Из рис. 1.2 видно, что в подпрограмме обработки прерывания имеется две служебные секции. Это — первая секция, в которой осуществляется сохранение контекста прерываемых вычислений, который не смог быть сохранен на шаге 2, и последняя, заключительная секция, в которой, наоборот, осуществляется восстановление контекста. Для того чтобы система прерываний не среагировала повторно на сигнал запроса на прерывание, она обычно автоматически «закрывает» (отключает) прерывания, поэтому необходимо потом в подпрограмме обработки прерываний вновь включать систему прерываний. В соответствии с рассмотренными режимами обработки прерываний (с относительными и абсолютными приоритетами и по правилу LCFS) установка этих режимов осуществляется в конце первой секции подпрограммы обработки. Таким образом, на время выполнения центральной секции (в случае работы в режимах с абсолютными приоритетами и по дисциплине LCFS) прерывания разрешены. На время работы заключительной секции подпрограммы обработки система прерываний вновь должна быть отключена и после восстановления контекста опять включена. Поскольку эти действия необходимо выполнять практически в каждой подпрограмме обработки прерываний, во многих операционных системах первые секции подпрограмм обработки прерываний выделяются в уже упоминавшийся специальный системный программный модуль, называемый супервизором прерываний.

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

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

 

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

 

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

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

- выбора очередной задачи для определения приоритета задачи;

- сохранения информации о статусе задачи при ее прерывании

- недопущения и устранения конфликтов между задачами (координации и синхронизации выполнения задач).

 

Классификация видов прерывания

ПРЕРЫВАНИЯ

 

Пользовательские Системные Справочные

 
 


Прикладные Внутренние Внешние Псевдопрерывания

 
 


Планируемые Непланируемые Аппаратные

       
   


Программные BIOS Программные DOS Технические Логические

 

 

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

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

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

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

- базовой системы ввода-вывода - прерывания BIOS;

- операционной системы - прерывания DOS.

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

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

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

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

Всего предусмотрено 256 типов (0-255) прерываний. Из них только 5 жестко закреплены в МП, остальные используются системами BIOS и DOS.

 

Т е м а 1.7 Управление памятью.

Многоуровневое распределение памяти. Защита памяти. Организация работы виртуальной памяти. http://www.electriz.ru

 

Управление памятью заключается в:

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

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

− настройке адресно-зависимых частей кодов процесса на физические адреса выделенной области,

− защите областей памяти каждого процесса.

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

При перемещении кодов и данных между оперативной памятью и диском подсистема виртуальной памяти выполняет преобразование (трансляцию) виртуальных адресов, полученных в результате компиляции и компоновки программы, в физические адреса ячеек оперативной памяти. Очень важен тот факт, что все операции по перемещению кодов и данных между оперативной памятью и диском, а также трансляцию адресов выполняются операционной системой прозрачно для программиста. http://window.edu.ru

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

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

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

3. уровень запросов, самый нижний. Запрос на выделение участка памяти выражается макрокомандойGETMAIN; на освобождение участка памяти — макрокомандой FREEMAIN. Участки памяти выделяются для загрузочных модулей, буферов, рабочих областей и т. д. Минимальный размер запроса — 8 байт (определяется размером FQE).

 

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

ошибки, либо имеется злой умысел. Подсистема защиты памяти операционной системы должна пресекать попытки несанкционированного доступа процессов к чужим областям памяти. От того, насколько удачно реализована подсистема защиты памяти, во многом зависит стабильность операционной системы. http://window.edu.ru

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

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

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

Память и отображения, виртуальное адресное пространство.

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

Алгоритмы распределения памяти

С использованием внешней памяти.

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

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

Страничный способ организации

Виртуальной памяти.

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

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

Из рисунка сразу видно, что этот способ организации виртуальной памяти вносит… Оценим достоинства сегментно-страничного способа. Разбиение программы на сегменты позволяет размещать сегменты в…

Утилиты используются для

§ Управления параметрами оборудования — ограничение максимальной скорости вращения CD-привода; изменение скорости вращения вентиляторов. § Контроля показателей — проверка ссылочной целостности; правильности записи… § Расширения возможностей — форматирование и/или переразметка диска с сохранением данных, удаление без возможности…

Типы утилит

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

Резервирование клонированием

Клонирование позволяет скопировать целый раздел или носитель (устройство) со всеми файлами и директориями в другой раздел или на другой носитель. Если раздел является загрузочным, то клонированный раздел тоже будет загрузочным[1].

Резервирование в виде образа

Образ — точная копия всего раздела или носителя (устройства), хранящаяся в одном файле[2].

Резервное копирование в режиме реального времени

Резервное копирование в режиме реального времени позволяет создавать копии файлов, директорий и томов, не прерывая работу, без перезагрузки компьютера.[3]

Схемы ротации

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

Одноразовое копирование

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

Простая ротация

«Дед, отец, сын» Данная схема имеет иерархическую структуру и предполагает использование… «Ханойская башня»

Загружаемые драйверы устройств.

- возможность чтения текущего положения курсора. - установка цвета символов и фона, - позиционирование курсора,

Управление вводом-выводом.

Стандартные устройства ввода-вывода.

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

MS-DOS предусматривает средства, позволяющие назначать нестандартные устройства ввода или вывода, Такие устройства называются периферийными устройствами ввода/вывода, т. к. они являются внешними по отношению к машине.

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

• блок начальной загрузки; • модуль взаимодействия с BIOS (io.sys для версии 5.0 и выше); • модуль обработки прерываний (msdos.sys для версии 5.0 и выше);

Начальная загрузка MS-DOS.

После тестирования и других действий процедура POST (Power On Self Testing — самотестирование после включения питания — из модуля BIOS) осуществляет… Блок начальной загрузки производит поиск в корневом каталоге системной дискеты… Блок начальной загрузки производит загрузку файла io.sys и передает ему управление.

Файловые системы MS-DOS.

В качестве имени логического диска используются буквы английского алфавита от А до Z (включительно). Количество логических дисков, таким образом, не… Для обеспечения доступа к файлам — файловая система MS-DOS организует и… Физическое размещение ОС MS-DOS: 0-й сектор — загрузчик, 1 —18-й секторы — основная и дублирующая таблицы FAT, 19—20-й…

Управление оперативной памятью.

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

Доступ к памяти.

Способ объединения регистров для определения адреса ячейки памяти не накладывает ограничений на количество доступной памяти. Верхнее ограничение… Позже появились усовершенствованные процессоры CPU 80286 и 80386 и… Доступ к памяти организуется соединением содержимого одного из регистров сегмента с содержимым одного из оставшихся…

Логическая структура дисков

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

Стандартное форматирование гибкого диска

В поле Метка можно ввести название диска. Для получения сведения о результатах форматирования установить флажок Вывести отчет о результатах.…  

Нестандартное форматирование гибкого диска

2. Ввести команду нестандартного форматирования гибкого диска А:, на котором будет 79 дорожек и 19 секторов на каждой дорожке: Информационная емкость гибких дисков. Рассмотрим различие между емкостью… Заявленная емкость неформатированного гибкого магнитного диска формата 3,5" составляет 1,44 Мбайт.

Дефрагментация диска

2. Диалоговая панель Выбор диска позволяет выбрать диск, нуждающийся в процедуре дефрагментации. После нажатия кнопки ОК появится петель… 3. Процесс дефрагментации диска можно визуально наблюдать, если щелкнуть по…  

Функции файловой системы и иерархия данных

Специальное системное программное обеспечение, реализующее работу с файлами по принятым спецификациям файловой системы, часто называют системой… Назначение системы управления файлами — предоставление более удобного доступа… Благодаря системам управления файлами пользователям предоставляются следующие возможности:

Файловая система FAT

§ непосредственно адресуемые участки логического диска, отведенные для размещения в них файлов или их фрагментов; § свободные области дискового пространства; § дефектные области диска (эти области содержат дефектные участки и не гарантируют чтение и запись данных без…

Таблица размещения файлов

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

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

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

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

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

§ прежде всего, уменьшается размер самой таблицы FAT; а уменьшается возможная фрагментация файлов;

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

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

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

Из рисунка видно, что файл MYFILE.TXT размещается, начиная с восьмого кластера. Всего файл MYFILE.TXT занимает 12 кластеров. Цепочка (chain) кластеров для на­шего примера может быть записана следующим образом: 8,9, ОА, 0В, 15,16,17,19


1А, 1В, 1C, ID. Кластер с номером 18 помечен специальным кодом F7 как плохой (bad), он не может быть использован для размещения данных. При форматировании обычно проверяется поверхность магнитного диска, и те сектора, при контрольном чтении с которых происходили ошибки, помечаются в FAT как плохие. Кластер 1D помечен кодом FF как конечный (последний в цепочке) кластер, принадлежащий данному файлу. Свободные (незанятые) кластеры помечаются кодом 00; при выделении нового кластера для записи файла берется первый свободный кластер. Возможные значения, которые могут приписываться элементам таблицы FAT, приведены в табл.

Таблица. Значения элементов FAT.

Значение Описание
0000h Свободный кластер
fff0h-fff6h Зарезервированный кластер
fff7h Плохой кластер
fff8h-ffffh Последний кластер
0002h-ffefh Номер следующего кластера в цепочке

 

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

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

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

Корневой каталог отличается от обычного файла-каталога тем, что он помимо размещения в фиксированном месте логического диска имеет еще и фиксированное число элементов. Для каждого файла и каталога в файловой системе хранится информация в соответствии со структурой, представленной в табл. Для работы с данными на магнитных дисках в системах DOS, которые имеют файловую систему FAT, удобно использовать широко известную утилиту Disk Editor из комплекта утилит Питера Нортона. Основными недостатками этой программы на сегодняшний день являются ограничения на размеры диска и разделов и отсутствие поддержки работы с такими распространенными файловыми системами, как FAT32 и NTFS.

Таблица. Структура элементов каталога.

Размер поля данных, байт Содержание поля
Имя файла или каталога
Атрибуты файла
Резервное поле
Время создания
Дата создания
Дата последнего доступа
Зарезервировано
Время последней модификации
Дата последней модификации
Номер начального кластера в FAT
Размер файла

 

Т е м а 2.3 Внутренние и внешние команды MS-DOS

Команды для работы с файлами, каталогами, дисками. Форматы команд. Создание файла в MS-DOS.

 

Команды DOS для работы с каталогами

Формат команды: cd [дисковод:][путь] Примеры: cd - переход в корневой каталог текущего диска; cd exe - переход в… Просмотр каталога

Удаление пустого каталога

Формат команды:
rd [дисковод:][путь]имя-каталога

Примеры:
rd abc - удалить каталог abc из текущего каталога;
rd c:usersmy - удалить каталог my из подкаталога users корневого каталога диска c:.

 

Удаление каталога со всем содержимым

Команда deltree может удалять как каталоги, так и файлы. В имени файла-или-каталогаможно использовать символы * и ?. Примеры: deltree temp - удалить каталог или файл с именем temp из текущего…  

Команды DOS для работы с файлами

Формат команды: copy con имя-файла Ctrl+Z, F6 - признак конца файла. Enter - признак конца строки. Примеры: copy con work.txt - создать в текущем каталоге текстовый файл work.txt.

Команды DOS для работы с дисками

Формат команды: Имя-дисковода: Примеры: С: - установить текущим диск с:; a: - установить текущим диск a:. … Режим проверки при записи на диски

Программы и команды DOS общесистемного назначения

Формат команды: date Примеры: date Запрос: Введите новую дату (дд-мм-гг): (Enter new date…  

Драйверы MS-DOS.

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

Загружаемые драйверы устройств.

- возможность чтения текущего положения курсора. - установка цвета символов и фона, - позиционирование курсора,

– Конец работы –

Используемые теги: занятие, Введение0.048

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Занятие №1 Введение

Что будем делать с полученным материалом:

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

Еще рефераты, курсовые, дипломные работы на эту тему:

ЛЕКЦИЯ–ВВЕДЕНИЕ Тема лекции: Введение в дисциплину Безопасность жизнедеятельности . Взаимодействие человека и окружающей среды
Тема лекции Введение в дисциплину Безопасность жизнедеятельности... Цель лекции изучить источники возникновения развитие науки Безопасность жизнедеятельности е исторические основы...

Рабочая учебная программа Введение в специальность
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ... МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ... ТЕХНОЛОГИЙ И УПРАВЛЕНИЯ...

Занятие №2. Рефлекторно-двигательная сфера
Вводная часть... Экзаменационные вопросы... Пирамидный путь центральный двигательный нейрон анатомия физиология симптомы поражения...

ВВЕДЕНИЕ В СЛАВЯНСКУЮ ФИЛОЛОГИЮ
Государственное образовательное учреждение... высшего профессионального образования... САМАРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ...

ДИСЦИПЛИНЫ МОДУЛЯ УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС Введение в профессию «Социальная работа»
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ... Федеральное государственное бюджетное образовательное... Высшего профессионального образования...

Введение в предмет В торговле – торгово-технологический процесс
Организация любого коммерческого предприятия основана на построении... В торговле торгово технологический процесс...

ВВЕДЕНИЕ В профессиональную деятельность
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования... Хабаровская государственная академия экономики и права...

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

Занятие №5. Экстрапирамидная система. Мозжечок
Вводная часть... Экзаменационные вопросы... Мозжечок анатомия физиология симптомы поражения Стриопаллидарная система анатомия физиология симптомы поражения...

Тема 1. ВВЕДЕНИЕ В ИНФОРМАТИКУ
На сайте allrefs.net читайте: Тема 1. ВВЕДЕНИЕ В ИНФОРМАТИКУ.

0.035
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам