Лекция №1


Скачать 0.77 Mb.
Название Лекция №1
страница 1/5
Тип Лекция
rykovodstvo.ru > Руководство эксплуатация > Лекция
  1   2   3   4   5




Лекция №1.
ОПЕРАЦИОННЫЕ СИСТЕМЫ И СРЕДЫ.

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

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


Прикладные

Программы






Утилиты




Операционная

система




Аппаратное обеспечение

компьютера


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

1) приём от пользователя заданий или команд, формулированных на соответствующем языке и их обработка;

2) приём и исполнение программы запроса на запуск/приостановку других программ;

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

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

5) идентификация программ;

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

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

8) обеспечение функции по организации и управления всеми операциями ввода и вывода;

9) удовлетворение жёстким ограничениям на время в режиме реального времени;

10) распределение памяти:

а) организация виртуальной памяти;

б) в большинстве современных систем.

11) планирование и диспетчеризация в соответствии с заданием;

12) организация м-ма обмена сообщениями и данными между выполняющимися программами;

13) защита одной программы от влияния других программ, обеспечение сохранение данных;

14) предоставление услуг на случай частичного сбоя системы;

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

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

Например, известная файловая система FAT.

File

Allocation

Table

Имеет множество реализации как система управления файлами, например, FAT 16 под систему MS-DOS или Super FAT для OS/2 или FAT для Windows.

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

  1. X Windows в системах семейства Unix;

  2. KDE – K Desktop Environment;

  3. PM Shell;

  4. Object Desktop.

Существуют различные варианты интерфейса для семейства операционной системы Windows, которые заменяют Explover, в файле system.ini.

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

Application

Program

Interface

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

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

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

К утилитам относится программа разбиения накопителя на магнитных дисках на разделы и программу форматирования, программу переноса основных системных файлов самой операционной системой. Утилиты могут работать только в соответствующей операционной системе.
Лекция №2.
ПОНЯТИЕ ОПЕРАЦИОННОЙ СРЕДЫ.
Операционная система выполняет функции управления вычислительными процессами в вычислительной системе, распределяет ресурсы вычислительной системы между различными вычислительными процессами и образует программную среду, в которой выполняются прикладные программы пользователя. Такая среда называется операционной.

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

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

Программисты могут вообще не знать многих деталей управления ресурсами вычислительной системы, а должны обращаться к некоторой программной подсистеме с соответствующими выводами и получить необходимые функции сервиса. Эта программная подсистема и есть операционная система, а набор её функций сервиса и привело обращение к ней и образует базовое понятие, которое называется операционной средой, т.е. термин операционная среда означает необходимые интерфейсные программы пользователя для обращения к операционной системе с целью получить определённый сервис. Параллельное существование терминов “операционная система” и “операционная среда” вызвано тем, что операционная система может поддержать несколько операционных сред. Например, операционная система OS/2 Warp может выполнять следующие программы:

  1. так называемые нативные (Native) программы, созданные с учётом 32-разрядного операционного интерфейса;

  2. 16-битные программы, созданные для OS/2 первого поколения;

  3. 16-битные программы, разработанные для MS-DOS PS и DOS.

  4. 16-битовые программы для операционной среды Windows.

  5. Сама операционная оболочка Windows 3.X и уже в ней, созданные для неё, программы.


ПРЕДНАЗНАЧЕНИЕ И ФУНКЦИИ ОПЕРАЦИОННОЙ СИСТЕМЫ.
Операционная система – это программа, контролирующая работу пользовательской программы и систем приложений и исполняемая роль интерфейса между приложениями и аппаратным обеспечением компьютера. Её предназначения можно разделить на три основные составляющие:

  1. удобство: операционная система делает исполнение компьютера простым и удобным;

  2. эффективность: операционная система позволяет эффективно использовать ресурсы компьютерной системы;

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



ОПЕРАЦИОННАЯ СИСТЕМА КАК ИНТЕРФЕЙС МЕЖДУ ПОЛЬЗОВАТЕЛЕМ И КОМПЬЮТЕРОМ.
Пользователь, как правило, не интересуется деталями устройства аппаратного обеспечения компьютера, он видится ему как набор приложений. Приложение можно написать на каком-то из языков программирования. Чтобы упростить эту задачу имеется набор системных программ, некоторые из которых называют утилитами, с их помощью реализуется часто исполнение Функции, которые помогают при создании пользовательских программ в работе с файлами и управление устройствами ввода/вывода. Программист использует эти средства при разработке этих программ, а приложения во время выполнения обращаются к утилитам для выполнения определённых функций. Наиболее важной из системных программ являются операционные системы, которые скрывает от программиста детали аппаратного обеспечения и предоставляет удобный интерфейс для исполнения системы операционной среды. Может включать несколько интерфейсов:

  1. пользовательский;

  2. программный

Например, система Linux им. для пользователя как интерфейсные команды (различные оболочки): C-Shell, K-Shell, B-Shell, bash-shell.

ИНТЕРФЕЙС ТИПА Midnight Commander.
Так и графические интерфейсы (X Windows). В нём могут быть различные менеджеры окон (KDE Grome).

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

Типичные операционные системы предоставляют следующие сервисы:

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

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

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

  4. контролируем доступ к файлам. При работе с файлами, управление его стороны операционной системы предназначено не только понимание природы устройств ввода/вывода и знание структур данных записанные в файлах. Многопользовательские операционные системы, кроме того, обеспечивают работу механизмов защиты при обращении к файлам;

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

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

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



ОПЕРАЦИОННАЯ СИСТЕМА КАК ДИСПЕТЧЕР РЕСУРСОВ.
Компьютер представляет собой набор ресурсов, поддерживающих выполнение задач, накопление, хранение, перемещение и обработки данных, также контролирует работу этих и других функций. Именно операционная система управляет ресурсами компьютера и контролирует его основные функции. Однако это управление имеет следующие особенности:

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

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


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

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

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

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

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

Процессор также является ресурсом, которому операционная система должна определить, сколько времени он должен уделить исполнению той или иной пользовательской программы. Многопроцессорные системы: решение должно быть принято по каждому процессу.
ВОЗМОЖНОСТИ РАЗВИТИЯ ОПЕРАЦИОННОЙ СИСТЕМЫ.
Большинство операционных систем постоянно развиваются. Происходит это в силу следующих причин:

а) обновление и возникновение новых видов аппаратного обеспечения;

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

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

Принятые условные обозначения:

  • I/O - ввод/вывод;

  • АО - аппаратное обеспечение;

  • БД - база данных;

  • ОЗУ - оперативное запоминающее устройство;

  • ОС - операционная система;

  • ПЗУ - постоянное запоминающее устройство;

  • ПК - персональный компьютер;

  • ПО - программное обеспечение;

  • РВ - реальное время;

  • СУ - система управления;

  • СУБД - система управления базами данных;

  • УВВ - устройство ввода/вывода;

  • ФС - файловая система;

  • ЦП - процессор (центральный процессор).

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


Развитие компьютеров привело к развитию ОС. Сейчас насчитывается более 100 ОС.

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

1. Мэйнфреймы (mainframe)

У них отличаются от ПК возможности I/O. Обычно мэйнфреймы содержат тысячи дисков и терабайты ОЗУ. Они используются в виде мощных web-серверов, серверов для крупномасштабных коммерческих сайтов и серверов для транзакций в бизнесе. ОС для мэйнфреймов ориентированы на обработку множества одновременных заданий, большинству из которых требуется огромное количество операций I/O. Обычно они предполагают три вида обслуживания:

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

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

  3. разделение времени. Системы, работающие в режиме разделения времени, позволяют множеству удаленных пользователей выполнять свои задания на одной машине, например, работать с большой БД. Все эти функции тесно связаны между собой и часто ОС мэйнфрейма выполняет их все. Примером ОС для мэйнфрейма является OS/390 (от IBM).

2. Серверные (сетевые) ОС

Работают на серверах, которые представляют собой или очень большие ПК, или рабочие станции, или даже мэйнфреймы. Они одновременно обслуживают множество пользователей и позволяют им делить программные и аппаратные ресурсы. Серверы представляют возможность работать с печатающими устройствами, файлами и Internet. Internet-провайдеры обычно запускают в работу несколько серверов, чтобы поддерживать одновременный доступ к сети множества клиентов. На серверах хранятся страницы web-сайтов и обрабатываются входные запросы. Типичные серверные ОС: Windows 2000 и Unix. В этих целях в настоящее время стала использоваться и ОС Linux.

3. Многопроцессорные ОС (кластеры)

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

4. ОС для ПК

Работа этих ОС заключается в представлении удобного интерфейса для одного пользователя. Такие ОС широко используются для работы с текстом, электронными таблицами и доступа к Internet. Яркие примеры: Windows 98, 2000, MacOS, Linux.

5. ОС РВ

Главным параметром ОС РВ является время. Например, в СУ производством компьютеры, работающие в режиме РВ, собирают данные о промышленном процессе и используют их для управления машинами. Такие процессы должны удовлетворять жестким временным требованиям. Так, если автомобиль передвигается по конвейеру, то каждое действие должно быть осуществлено в строго определенный момент времени. Если сварочный робот сварит шов слишком рано/поздно, то он нанесет непоправимый вред. Если некоторое действие должно произойти в какой-то момент времени или внутри заданного диапазона времени, то говорят о жесткой системе РВ. Существует гибкая система РВ, в которой допустимы случающиеся время от времени пропуски сроков выполнения операций. В эту категорию попадает цифровое аудио и multimedia-системы. Примеры ОС: VxWorks, QNX.

6. Встроенные ОС

Карманный компьютер, или PDA (Personal Digital Assistant), - маленький компьютер, помещающийся в кармане брюк и выполняющий некоторые функции (записная книжка, блокнот). Примеры ОС: PalmOS, Windows CE (Consumer Electronics - бытовая техника).

7. ОС для Smart-карт (smart-cards - разумные карты)

Самые маленькие ОС работают на Smart-картах, представляющих собой устройство с ЦП. На такие ОС накладываются крайне жесткие ограничения по мощности ЦП и памяти. Некоторые из них могут управлять только одной операцией, но другие ОС на тех же самых Smart-картах выполняют сложные функции. Некоторые ОС являются Java-ориентированными, т.е. ПЗУ содержит интерпретатор виртуальной машины Java (ROM - Read Only Memory). Апплеты Java загружаются на карту и выполняются интерпретатором JVM (Java Virtual Machine). Некоторые из этих карт могут одновременно управлять несколькими Java-апплетами, что приведет к многозадачности и необходимости планирования. Также возникает необходимость в защите. Эти задачи обычно выполняет крайне примитивная ОС.

 

АО компьютера


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



ЦП, память, устройства I/O соединены системной шиной, по которой они обмениваются информацией. "Мозгом" компьютера является ЦП (CPU - Central Processing Unit). Он выбирает из памяти команды и выполняет их. Обычный цикл работы ЦП выглядит так: он читает первую команду из памяти, декодирует ее для определения ее типа и операндов, выполняет команду, затем считывает, декодирует последующие команды. Т.о. образом осуществляется выполнение программ.

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

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

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

Следующий регистр называется "слово состояния ЦП" (PSW - Processing Status Word). Этот регистр содержит биты кода состояний, которые задаются командами сравнения, приоритетом ЦП, режимом (пользовательский или режим ядра) и другую служебную информацию.

Пользовательские программы могут читать весь регистр PSW, но писать могут только в некоторых из его полей. Регистр PSW играет важную роль в системных вызовах и операциях I/O. При временном мультиплексировании ЦП ОС останавливает работающую программу для запуска другой. Каждый раз при таком прерывании ОС должна сохранять все регистры ЦП, чтобы позже, когда прерванная программа продолжит свою работу, их можно было восстановить. Для повышения быстродействия ЦП их разработчики отказались от простой модели, когда за один такт может быть считана, декодирована, выполнена только одна команда. Современные ЦП обладают возможностью выполнения нескольких команд одновременно. Например, у ЦП могут быть отдельные модули, занимающиеся выборкой, декодированием и выполнением команд, и во время выполнения команды с номером n он может декодировать команду с номером n+1 и считывать команду с номером n+2. Такая организация называется конвейером, и три его стадии можно проиллюстрировать схемой.

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



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

Большинство ЦП имеет два режима работы: режим ядра и пользовательский режим. Режимы задаются битом слова состояния ЦП, т.е. регистра PSW. Если ЦП запущен в режиме ядра, он может выполнять все команды из набора инструкций и использовать все возможности АО. ОС работает в режиме ядра, предоставляя доступ ко всему АО. В противоположность этому прерыванию пользователи работают в пользовательском режиме, разрешающем выполнение подмножества программ и делающем доступным лишь часть аппаратных средств. Как правило, все команды, включая I/O данных и защиту памяти, запрещены в пользовательском режиме. Установка бита режима ядра в регистре PSW программным способом недоступна. Для связи с ОС пользовательская программа должна сформировать системный вызов, который обеспечивает переход в режим ядра и активирует функции ОС.

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

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

 

Память


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

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



Верхний слой состоит из внутренних регистров ЦП, поэтому при доступе к ним не возникает задержек. Внутренние регистры хранят 32 нс 32 бита на 32-разрядном ЦП или 64x64 бита на 64-разрядном, это составляет менее 1 Кб в обоих случаях. Программы могут управлять регистрами без вмешательства.

В следующем слое находится кэш-память, в основном контролируемая аппаратурой. Она разделена на кэш-строки по 64 байта с адресацией от 0 до 63 в нулевой строке, от 64 до 127 в первой строке и т.д. Наиболее часто используемые строки кэша хранятся в высокоскоростной кэш-памяти, расположенной внутри ЦП. Когда программа должна прочитать слово из памяти, кэш-микросхема определяет, есть ли нужная строка в кэше; если это так, то происходит результативное обращение к кэш-памяти. Запрос удовлетворяется целиком из кэша, и запрос к памяти на шину не выставляется. Удачное обращение к кэшу по времени занимает около двух тактов, а неудачных приводит к обращению к ОЗУ и существенной потере времени. Кэш-память ограничена в размере, что обусловлено ее высокой стоимостью. В некоторых машинах есть два или три уровня кэша, причем каждый последующий медленнее и больше предыдущего.

Далее следует ОЗУ (RAM - Random Acces Memory - память с произвольным доступом) - главная рабочая область запоминающего устройства машины. Все запросы ЦП, которые не могут быть выполнены кэш-памятью, поступают для обработки в ОЗУ.

Далее - магнитный диск. Дисковая память на два порядка дешевле ОЗУ в пересчете на бит и на два порядка больше по величине. У диска есть одна проблема - случайный доступ к данным на нем занимает примерно на три порядка больше времени. Причиной низкой скорости HDD - диск представляет собой механическую конструкцию, он состоит из одной или нескольких металлических пластин, вращающихся со скоростями 5400, 7200 или 10700 об/мин. Механическая вилка с магнитными головками поворачивается над дисками подобно звукоснимателю. Информация записывается на пластины в виде концентрических окружностей. Магнитная головка каждой данной позиции вилки может прочитать кольцо на пластине, называемое дорожкой. Все вместе дорожки для заданной позиции вилки формируют цилиндр. Каждая дорожка разделена на некоторое количество секторов, обычно по 512 байт на сектор. Внешние цилиндры содержат большее количество секторов, чем внутренние. Перемещение головки от одного цилиндра к другому занимает около 1 мс, а перемещение к произвольному цилиндру требует от 5 до 10 мс в зависимости от диска. Когда сектор уже находится под головкой, процесс чтения или записи происходит со скоростью 5 Мб/с для низкоскоростных дисков до 160 Мб/с для высокоскоростных.

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

Кроме описанных видов, в компьютерах есть небольшое количество постоянной памяти с произвольным доступом. В отличие от RAM, она не теряет свое содержимое при выключении питания. Она называется ПЗУ или ROM. ПЗУ программируется в процессе производства и после этого его содержимое нельзя изменить. Эта память достаточно быстра и дешева. Программы начальной загрузки компьютера, используемые при запуске, находятся в ПЗУ. Кроме этого, некоторые карты I/O содержат ПЗУ для управления низкоуровневыми устройствами.

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

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

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


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

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

  1. защищает программы друг от друга, а ядро ОС - от программ;

  2. управляет перемещением программ в памяти.

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

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

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

Из-за различий в количестве памяти, требующейся для разных программ, их трудно компактно разместить в ОЗУ. Поэтому разработаны системы со страничной организацией памяти, когда программа разбивается на блоки фиксированного размера - страницы (1 страница = 4 Кб). В этом случае обращение программы к ячейке памяти происходит по виртуальной памяти, адрес которой состоит из номера страницы и смещения относительно ее начала. Страницы одной и той же программы могут быть разбросаны по всему ОЗУ. Система разбивки на страницы обеспечивает динамическое соответствие между виртуальным адресом, использующимся программой, и реальным (физическим) адресом ОЗУ. Если программа обращается к странице, отсутствующей в ОЗУ, то диспетчер памяти обнаруживает это и загружает недостающую страницу.

На характеристики памяти в основном влияют два аспекта:

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

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

 

УВВ


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

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

Следующей частью является само устройство. Устройства имеют достаточно простые интерфейсы, потому что их возможности невелики и их нужно привести к единому стандарту, который необходим, чтобы каждый IDE контроллер диска  (Integrated Drive Electronics - встроенный интерфейс накопителя) мог управлять любым IDE диском. IDE интерфейс является стандартным для дисков на компьютерах с ЦП Pentium, а также на других компьютерах. Т.к. настоящий интерфейс устройства скрыт с помощью контроллера, ОС видит только интерфейс контроллера, который может сильно отличаться от интерфейса самого устройства.

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

  1. заново скомпоновать ядро вместе с новым драйвером и затем перезагрузить ОС (так работает множество ОС Unix);

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

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

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

I/O данных можно осуществлять тремя различными способами.

  1. Простейший способ: пользовательская программа выдает системный запрос, который ядро транслирует в вызов процедуры, соответствующей драйверу, затем драйвер начинает процесс I/O. В этом время он выполняет короткий программный цикл, постоянно опрашивая устройство, с которым он работает (есть бит, указывающий занятость устройства). При завершении операций I/O драйвер помещает данные туда, куда требуется, и возвращается в исходное состояние. Затем ОС возвращает управление программе, осуществлявшей вызов. Этот метод - ожидание готовности  (активное ожидание). Он имеет один недостаток: ЦП должен опрашивать устройство, пока оно не завершит работу.

  2. Драйвер запускает устройство и просит его выдать прерывания по окончании I/O; после этого драйвер возвращает управление ОС, и она начинает выполнять другие задания. Когда контроллер обнаруживает окончание передачи данных, он генерирует прерывание о завершении операции, Процесс I/O, использующий прерывания, состоит из четырех шагов (ступеней). На первом шаге драйвер передает команду контроллеру, записывая информацию в регистры устройств. Затем контроллер запускает устройство. Когда контроллер заканчивает чтение или запись того количества байтов, которое ему было указано передать, он посылает сигнал микросхеме контроллера прерываний, используя определенные провода шины. Это шаг второй. На третьем шаге если контроллер прерываний готов к обработке прерываний, то он подает сигнал на определенный контакт ЦП, информируя его таким образом. На четвертом шаге контроллер прерываний вставляет номер устройства на шину, чтобы ЦП мог узнать, какое устройство завершило работу.

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

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

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

Шины.
  1   2   3   4   5

Похожие:

Лекция №1 icon Лекция I и проблема языка и сознания лекция II 31 слово и его семантическое...
Монография представляет собой изложение курса лекций, про* читанных автором на факультете психологии Московского государственного...
Лекция №1 icon Лекция I и проблема языка и сознания лекция II 31 слово и его семантическое...
Монография представляет собой изложение курса лекций, про* читанных автором на факультете психологии Московского государственного...
Лекция №1 icon Лекция Предмет, задачи и методы перевода
Лекция Общая характеристика современной теории перевода. Лекция Переводческая эквивалентность
Лекция №1 icon Лекция Отечественная историография Гражданской войны в России Лекция...
Лекция Национальная политика советского государства: теория и практика вопроса
Лекция №1 icon Курс лекций Ставрополь, 2015 содержание стр. Введение лекция Введение...
Лекция 5: Приборы и приспособления для обнаружения и регистрации ионизирующих излучений
Лекция №1 icon Лекция Основы процесса тестирования по 3
Лекция Как протестировать неизвестную программу или наращиваемый подход к первичному функциональному тестированию по. 17
Лекция №1 icon Лекция Автоматическое и автоматизированное управление. 5
Лекция Основные требования к scada-системам и их возможности. Аппаратные и программные средства scada-систем 17
Лекция №1 icon Лекция Введение в курс «Компьютерные технологии в науке и образовании»
Лекция Классификация и характеристика программных средств информационной технологии обучения (ито) 18
Лекция №1 icon Литература См. Лекция 7,Лекция 8
Цель работы: Ознакомление с построением фильтров tcp/ip пакетов. Ознакомление с методами шифрования с открытым ключом на примере...
Лекция №1 icon Содержание Введение Лекция Базы данных и файловые системы Файловые системы 1 Структуры файлов
Лекция Ранние подходы к организации бд. Системы, основанные на инвертированных списках, иерархические и сетевые субд. Примеры. Сильные...
Лекция №1 icon Литература 58 Лекция №15 Понятия и сущность данных, информации, знаний....
Лекция № Поиск полных текстов научных документов в мировых издательских системах 33
Лекция №1 icon Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает...
Эти базы данных создаются и функционируют под управлением специальных программных комплексов, называемых системами управления базами...
Лекция №1 icon Лекция «Художественная литература о воспитании безнадзорных детей»,...
М 15 А. С. Макаренко. Публичные выступления (1936-1939 гг.). Аутентичное издание. Составитель, автор комментариев: Гётц Хиллиг. Серия:...
Лекция №1 icon Содержание
Лекция №
Лекция №1 icon Лекция «в защиту жизни» 9

Лекция №1 icon Руководство по Эффективному Использованию Апифитопродукции Источник...
Эта лекция входит в общеобразовательную программу всех вузов, имеющих и не имеющих отношение к медицине. В образовании начинается...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск