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

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

Введение в операционные системы. Определение, назначение, состав и функции операционных систем

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

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

«ТОЛЬЯТТИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СЕРВИСА»

 

Кафедра «Прикладная информатика в экономике»

 

 

УТВЕРЖДАЮ Протокол УМС №_________ от «__» _____________2008 г. Проректор по УМР ___________ В.М. Ямашев УТВЕРЖДАЮ   Проректор по УРиКО   ___________ О.Н. Наумова

 

УЧЕБНОЕ ПОСОБИЕ

  Составитель: ассистент Раченко Т.А.  

Содержание

Глава 1. Введение в операционные системы. Определение, назначение, состав и функции операционных систем.. 5

1.1. Эволюция ОС.. 5

1.2. Определение, назначение, функции и состав ОС.. 10

1.3. Классификация ОС.. 12

1.4. Особенности областей использования ОС.. 14

Выводы.. 15

Тесты.. 17

Глава 2. ОС как система управления ресурсами. 19

2.1.Основные понятия ОС: программа, процессы и ресурсы.. 19

2.2. Управление ресурсами ЭВМ посредством ОС.. 19

2.3. Управление процессами. Состояние процессов. Очереди. Диспетчеризация процессов. 21

2.4. Тупики и способы борьбы с ними. 24

2.5. Управление памятью.. 27

2.6. Управление файлами и внешними устройствами. 35

Выводы.. 36

Тесты.. 37

Глава 3. Архитектура операционной системы.. 40

3.1. Определение, состав и функции архитектуры ОС.. 40

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

3.3. Многослойная структура ОС.. 46

3.4. Аппаратная зависимость и переносимость ОС.. 49

Выводы.. 54

Тесты.. 55

Глава 4. Файловые системы.. 56

4.1. Общие сведения о файлах. Организация файлов и доступ к ним. 56

4.2. Директории. Логическая структура файлового архива. 62

4.3. Персонификация и защита данных в операционной системе. 65

Выводы.. 66

Глава 5. Планирование и установка системы Windows XP. 66

5.1. Подготовка процесса инсталляции. 66

5.2. Конфигурирование разделов на жестком диске. 68

5.3. Выбор файловой системы.. 70

5.4. Интерактивная установка Windows ХР. 70

5.5. Устранение проблем, возникающих во время установки Windows ХР. 74

Глава 6. Сетевые операционные системы.. 75

6.1. Структура сетевой операционной системы.. 75

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

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

Выводы.. 83

Тесты.. 84

Глава 7. Локальные и глобальные сети. 85

7.1. Определение, терминология и назначение компьютерных сетей. 85

7.2. Общие понятия. Сетевые топологии. 86

7.3. Классификация и характеристики компьютерных сетей. 87

7.4. Среды передачи данных. 87

7.5. Коммуникационное оборудование. 88

Выводы.. 89

Тесты.. 89

Глава 8. Защитные механизмы операционных систем. 91

8.1. Идентификация и аутентификация. 91

8.2. Авторизация. Разграничение доступа к объектам ОС.. 93

8.3. Матрица доступа. 95

8.4. Выявление вторжений. Аудит системы защиты.. 97

Выводы.. 98

Тесты.. 98

Библиографический список. 100


Предисловие

 

Данный курс рассматривает общие принципы организации, состав и структуру операционных систем и их оболочек, а так же ряд конкретных систем. Знакомит с современными концепциями организации и функционирования операционных систем. Особое внимание будет сосредоточено на управление информацией, процессами в ЭВМ и связи с оператором в рамках различных интерфейсов. В качестве примеров конкретных ОС персональных компьютеров будут рассмотрены: MS-DOS, Windows 95/98/ME/XP, NT/2000, ОC для многопользовательских ЭВМ – Unix, LINUX.

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

- назначение, классификацию ОС,

- принципы построения и функционирования ОС,

- программный интерфейс ОС,

- пользовательский интерфейс ОС,

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

- управление основными ресурсами ПК.

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

- осуществлять управление основными ресурсами и переферийными устройствами средствами языков программирования низкого уровня;

- исследовать логическую структуру диска, таблицы размещения файлов, систему прерываний BIOS и службы DOS, векторную таблицу связи MS-DOS;

- производить настройку DOS и WINDOWS;

- использовать командный язык ОС;

- осуществлять настройку сетевой ОС.

 

Глава 1. Введение в операционные системы. Определение, назначение, состав и функции операционных систем

 

Эволюция ОС

Первый период (1945 -1955)

Некоторый прогресс в создании цифровых вычислительных машин произошел после второй мировой войны. В середине 40-х были созданы первые ламповые…

Второй период (1955 - 1965)

В эти годы появились первые алгоритмические языки, а следовательно и первые системные программы - компиляторы. Стоимость процессорного времени…

Третий период (1965 - 1980)

Для этого периода характерно также создание семейств программно-совместимых машин. Первым семейством программно-совместимых машин, построенных на… Программная совместимость требовала и совместимости операционных систем. Такие… Однако, несмотря на необозримые размеры и множество проблем, OS/360 и другие ей подобные операционные системы машин…

Четвертый период (1980 - настоящее время)

Компьютеры стали широко использоваться неспециалистами, что потребовало разработки "дружественного" программного обеспечения, это положило… На рынке операционных систем доминировали две системы: MS-DOS и UNIX.… В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или…

Современное развитие ОС

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

Определение, назначение, функции и состав ОС

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

Рис. 1.1. Основные функции ОС

 

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

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

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

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

Ниже, на рисунке 1.2 приведена классификация ОС по нескольким наиболее основным признакам.

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

- однозадачные (например, МS-DOS, MSX);

- многозадачные (ОС ЕС, ОS/2,UNIX, Windows 95).

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

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

- на однопользовательские (МS-DOS, Windows 3.x, ранние версии ОS/2);

- многопользовательские (UNIX, Windows NТ).

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

3. По типу доступа пользователя к ЭВМ. Различают: пакетные (OS 360), интерактивные (Windows, Unix), системы реального времени (RSX, Neutrino, QNX).

4. Многопроцессорная обработка. Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки - мулътипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами. В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Ореп Sегvег 3.x компании Santa Cruz Operations, ОS/2 фирмы IВМ, Windows NT фирмы Microsoft, Netware 4.1 фирмы Novell. Многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные ОС и симметричные ОС. Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам. Симметричная ОС полностью децентрализована и использует весь пул процессоров (обычно существует главный процессор – master и подчиненный-slave), разделяя их между системными и прикладными задачами.

 

Рис. 1.2. Схема формализации типов ОС (классификация)

 

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

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

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

Особенности областей использования ОС

1. системы пакетной обработки (например, ОС ЕС); 2. системы разделения времени (UNIX, VMS); 3. системы реального времени (QNX, RТ/11).

Выводы

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

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

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

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

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

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

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

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

В конце 70-х годов был создан рабочий вариант стека протоколов TCP/IP. В 1983 году стек протоколов TCP/IP был стандартизован. Независимость от производителей, гибкость и эффективность, доказанные успешной работой в Интернете, сделали протоколы TCP/IP не только главным транспортным механизмом Интернета, но и основным стеком большинства сетевых ОС.

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

В 80-е годы были приняты основные стандарты на коммуникационные технологии для локальных сетей: в 1980 году — Ethernet, в 1985 — Token Ring, в конце 80-х — FDDI. Это позволило обеспечить совместимость сетевых ОС на нижних уровнях, а также стандартизовать интерфейс ОС с драйверами сетевых адаптеров.

К началу 90-х практически все ОС стали сетевыми, способными поддерживать работу с разнородными клиентами и серверами. Появились специализированные сетевые ОС, предназначенные исключительно для выполнения коммуникационных задач, например система IOS компании Cisco Systems, работающая в маршрутизаторах.

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

Тесты

 

1. Какие события в развитии технической базы вычислительных машин стали вехами в истории операционных систем?

a) создание первых ламповых вычислительных устройств;

b) появление полупроводниковых элементов;

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

2. Может ли компьютер работать без операционной системы?

a) да;

b) нет.

3. Для какого периода были характерны: ламповые машины и отсутствие операционных систем?

a) для первого;

b) для второго.

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

a) полупроводниковая;

b) лампы;

c) интегральные микросхемы.

5. К чему относится термин спулинг?

a) к сбору заданий с одинаковым набором ресурсов в пакеты заданий;

b) к организации реального ввода пакета заданий и вывода результатов на отдельных специализированных ЭВМ;

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

6. Подумайте и ответьте на вопрос: в чем состоят современные тенденции развития ОС?

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

a) систем пакетной обработки;

b) систем разделения времени;

c) мультипрограммных вычислительных систем.

8. Разделение персонала, участвующего в разработке и эксплуатации ЭВМ, на разработчиков, специалистов по эксплуатации, операторов и программистов произошло:

a) в первый период развития вычислительной техники (1945-1955гг.);

b) во второй период развития вычислительной техники (1955-1965гг.);

c) в третий период развития вычислительной техники (1965-1980гг.);

9. Планирование заданий стало возможным:

a) с появлением предварительной записи пакета заданий на магнитный диск;

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

c) с появлением систем пакетной обработки.

10. Что такое мультипрограммная вычислительная система?

a) система, в которой реализован спулинг;

b) система, в памяти которой находится несколько программ, чье исполнение чередуется по прошествии определенного промежутка времени;

c) система. В памяти которой одновременно находится несколько программ. Когда одна из программ ожидает завершения операции ввода-вывода, другая программа может исполняться..

 


Глава 2. ОС как система управления ресурсами

2.1.Основные понятия ОС: программа, процессы и ресурсы

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

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

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

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

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

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

Программа – набор услуг, освобождающий программиста от кодирования многочисленных операций. Программа — это статический объект, представляющий собой файл с кодами и данными.[16]

Ресурс – любой потребляемый (расходуемый) объект. Потребителями ресурсов являются процессы. Ресурс – средство вычислительной системы, которое может быть выделено процессу на определенный интервал времени.[17]

Процессор – любое устройство в составе ЭВМ, способное автоматически выполнять допустимые для него действия.[11]

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

Управление ресурсами ЭВМ посредством ОС

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

Управление процессами. Состояние процессов. Очереди. Диспетчеризация процессов

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

Рис.2.1. Состояние процесса

 

 

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

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

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

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

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

Диспетчеризация процессов. Очереди

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

Тупики и способы борьбы с ними

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

Условия возникновения тупиков

Условия возникновения тупиков были сформулированы Коффманом, Элфиком и Шошани в 1970 г.

1. Условие взаимоисключения (Mutual exclusion). Одновременно использовать ресурс может только один процесс.

2. Условие ожидания ресурсов (Hold and wait). Процессы удерживают ресурсы, уже выделенные им, и могут запрашивать другие ресурсы.

3. Условие неперераспределяемости (No preemtion). Ресурс, выделенный ранее, не может быть принудительно забран у процесса. Освобождены они могут быть только процессом, который их удерживает.

4. Условие кругового ожидания (Circular wait). Существует кольцевая цепь процессов, в которой каждый процесс ждет доступа к ресурсу, удерживаемому другим процессом цепи.

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

Основные направления борьбы с тупиками

Ключевые направления борьбы с тупиками: 1. Игнорирование проблемы в целом 2. Предотвращение тупиков

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

В ранних ОС управление памятью сводилось просто к загрузке программы и ее данных из некоторого внешнего накопителя (перфоленты, магнитной ленты или… Функциями ОС по управлению памятью в мультипрограммной системе являются: - отслеживание свободной и занятой памяти;

Простейшие схемы управления памятью

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

Схема с фиксированными разделами

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

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

Эта схема была реализована в IBM OS/360 (MFT), DEC RSX-11 и ряде других систем.

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


Рис. 2.3. Схема с фиксированными разделами:

(a) – с общей очередью процессов, (b) – с отдельными очередями процессов

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

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

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

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

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

Оверлейная структура

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

Потребность в таком способе загрузки появляется, если логическое адресное пространство системы мало, например 1 Мбайт (MS-DOS) или даже всего 64 Кбайта (PDP-11), а программа относительно велика. На современных 32-разрядных системах, где виртуальное адресное пространство измеряется гигабайтами, проблемы с нехваткой памяти решаются другими способами.


Рис. 2.4. Организация структуры с перекрытием. Можно поочередно

Загружать в память ветви A-B, A-C-D и A-C-E программы

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

Динамическое распределение. Свопинг

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

Схема с переменными разделами

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


Рис. 2.5. Динамика распределения памяти между процессами

(серым цветом показана неиспользуемая память)

В какой раздел помещать процесс? Наиболее распространены три стратегии.

1) Стратегия первого подходящего (First fit). Процесс помещается в первый подходящий по размеру раздел.

2) Стратегия наиболее подходящего (Best fit). Процесс помещается в тот раздел, где после его загрузки останется меньше всего свободного места.

3) Стратегия наименее подходящего (Worst fit). При помещении в самый большой раздел в нем остается достаточно места для возможного размещения еще одного процесса.

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

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

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

Статистический анализ показывает, что пропадает в среднем 1/3 памяти! Это известное правило 50% (два соседних свободных участка в отличие от двух соседних процессов могут быть объединены).

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

Страничная память

В самом простом и наиболее распространенном случае страничной организации памяти (или paging) как логическое адресное пространство, так и физическое… Логический адрес в страничной системе – упорядоченная пара (p,d), где p –… Описываемая схема позволяет загрузить процесс, даже если нет непрерывной области кадров, достаточной для размещения…

Организации памяти

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

Управление файлами и внешними устройствами

Чтобы представить большое количество наборов данных, разбросанных случайным образом по цилиндрам и поверхностям дисков различных типов, в виде… При выполнении своих функций файловая система тесно взаимодействует с… Подсистема управления внешними устройствами, называемая также подсистемой ввода-вывода, исполняет роль интерфейса ко…

Выводы

 

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

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

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

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

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

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

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

Тесты

1. Выберете верное определение ОС:

a) ОС – это программа, предназначенная для управления компонентами системного программного обеспечения;

b) ОС – это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом;

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

2. Что из ниже перечисленного можно отнести к числу основных ресурсов, управление которыми осуществляет ОС?

a) процессоры, основная память, таймеры, наборы данных;

b) диски, накопители на магнитных лентах, принтеры, сетевые устройства и некоторые другие;

c) оба выше причисленных варианта.

3. Какие из перечисленных состояний процессов верны?

a) потупивший, готовый, ожидающий, выполняющийся, законченный;

b) новый, выполнение, ожидание, готовность, завершенность.

4. В чем заключается диспетчеризация по отношению к управлению процессами?

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

b) в переключении процессора с одного потока на другой.

5. Что такое выделенный ресурс?

a) устройство, монопольно используемое процессов;

b) устройство или данные, к которым процесс имеет эксклюзивный доступ;

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

6. Что необходимо сделать для предотвращения возникновения тупика?

a) нарушить три первые условия из раздела «Условия возникновения тупиков»;

b) нарушить условие 1 из раздела «Условия возникновения тупиков»;

c) нарушить любое из первых трех условий из раздела «Условия возникновения тупиков».

7. Что необходимо сделать для обнаружения тупика?

a) нарушить условие 4 из раздела «Условия возникновения тупиков»;

b) проверить наличие в системе первых трех условий из раздела «Условия возникновения тупиков» и проверить выполнение условия 4;

c) проверить выполнение в системе всех четырех условий из раздела «Условия возникновения тупиков» и нарушить условие 4.

8. Как можно вывести систему из тупиковой ситуации?

a) завершить выполнение одного из процессов;

b) нарушить одно из условий возникновения тупика;

c) организовать в системе средства отката и перезапуска с контрольной точки.

9. Какая из ОС больше подвержена тупикам и почему?

a) система пакетной обработки;

b) система жесткого реального времени;

c) система с разделением времени.

10. В чем состоит сущность диспетчеризации:

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

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

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

11. Какому процессу принадлежит следующая характеристика: пассивное состояние, процесс заблокирован в связи с внутренними обстоятельствами:

a) ожидание;

b) выполнение;

c) готовность.

12. Основными понятиями в управлении процессами являются:

a) задача, работа, очередь;

b) программа, работа, ресурс;

c) оба варианта.

13. Процесс – это:

a) любой потребляемый объект;

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

c) заявка на потребление ресурсов.

14. Важнейшей частью операционной системы, влияющей на выполнение процессов, является:

a) подсистема управления процессами, управления памятью, управление файлами;

b) распределение ресурсов;

c) состояние процесса.

15. Что представляет собой ресурс:

a) минимальный программный объект;

b) любой потребляемый, расходуемый объект;

c) любой используемый операционной системой объект.

16. Сколько процессов может находиться в состоянии ожидания готовности в однопроцессорной операционной системе:

a) один;

b) два;

c) несколько.

17. Что представляет собой информационная структура:

a) данные о потребностях в ресурсах оперативной памяти;

b) данные о потребностях процесса в ресурсах вычислительной системы;

c) данные о состоянии процесса.

18. Что называется адресным пространством:

a) место процесса в очереди заявок процессов на ресурс;

b) совокупность заявок процессу на ресурсы;

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

19. Что подразумевается под динамическим типом планирования потока:

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

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

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

20. Отличие динамического планирования от статического:

a) по способу выполнения задач;

b) по качеству исполнения задач;

c) по количеству потребляемых ресурсов.

 

 


Глава 3. Архитектура операционной системы

 

Определение, состав и функции архитектуры ОС

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

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

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

Рис. 3.2. Взаимодействие между ядром и вспомогательными модулями ОС

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

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

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

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

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

Рис. 3.3. Архитектура операционной системы с ядром

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

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

Рис. 3.4. Смена режимов при выполнении системного вызова

К привилегированному ядру

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

Рис. 3.5. Упрощенная архитектура операционной системы NetWare

В одном режиме работают также ядро и приложения тех операционных систем, которые разработаны для процессоров, вообще не поддерживающих привилегированного режима работы. Наиболее популярным процессором такого типа был процессор Intel 8088/86, послуживший основой для персональных компьютеров компании IBM. Операционная система MS-DOS, разработанная компанией Microsoft для этих компьютеров, состояла из двух модулей msdos.sys и io.sys, составлявших ядро системы (хотя название «ядро» для этих модулей не употреблялось, по своей сути они им являлись), к которым с системными вызовами обращались командный интерпретатор command.com, системные утилиты и приложения. Архитектура MS-DOS соответствует архитектуре ОС, приведенной на рис. 3.2. Некорректно написанные приложения вполне могли разрушить основные модули MS-DOS, что иногда и происходило, но область использования MS-DOS (и многих подобных ей ранних операционных систем для персональных компьютеров, таких как MSX, СР/М) и не предъявляла высоких требований к надежности ОС.

Многослойная структура ОС

Рис. З.6. Трехслойная схема вычислительной системы  

Аппаратная зависимость и переносимость ОС

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

Типовые средства аппаратной поддержки ОС

- средства поддержки привилегированного режима; - средства трансляции адресов; - средства переключения процессов;

Выводы

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

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

Ядро, являясь структурным элементом ОС, в свою очередь, может быть логически разложено на следующие слои (начиная с самого нижнего):

- машинно-зависимые компоненты ОС;

- базовые механизмы ядра;

- менеджеры ресурсов;

- интерфейс системных вызовов.

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

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

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

Тесты

Какие из приведенных ниже терминов являются синонимами? привилегированный режим;

a) защищенный режим;

b) режим супервизора;

c) пользовательский режим;

d) реальный режим;

e) режим ядра.

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

a) да;

b) нет.

В чем состоят отличия в работе процессора в привилегированном и пользовательском режимах?

 

Глава 4. Файловые системы

 

 

Общие сведения о файлах. Организация файлов и доступ к ним

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

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

Основные свойства файлов

2. Независимость файла от расположения. Для работы с конкретным файлом не требуется иметь информацию о местоположении этого файла на внешнем… 3. Набор функций ввода/вывода. Практически каждая операционная система… 1) Открыть файл для работы. Открыть можно либо уже существующий, либо новый файл. Может возникнуть вопрос - зачем…

Списки прав доступа

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

Имена файлов

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

Правила именования файлов зависят от ОС. Многие ОС поддерживают имена из двух частей (имя+расширение), например progr.c (файл, содержащий текст программы на языке Си) или autoexec.bat (файл, содержащий команды интерпретатора командного языка). Тип расширения файла позволяет ОС организовать работу с ним различных прикладных программ в соответствии с заранее оговоренными соглашениями. Обычно ОС накладывают некоторые ограничения, как на используемые в имени символы, так и на длину имени файла. В соответствии со стандартом POSIX, популярные ОС оперируют удобными для пользователя длинными именами (до 255 символов).

Типы файлов

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

Атрибуты файлов

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

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

Организация файлов и доступ к ним

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

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

Последовательный файл

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

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

Файл прямого доступа

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

Другие формы организации файлов

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

Директории. Логическая структура файлового архива

Каждый каталог содержит список каталогов и/или файлов, содержащихся в данном каталоге. Каталоги имеют один и тот же внутренний формат, где каждому… Рис. 4.3. Директории  

Разделы диска. Организация доступа к архиву файлов.

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

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

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

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

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

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

Персонификация и защита данных в операционной системе

Персонификация - это возможность операционной системы идентифицировать конкретного пользователя и в соответствии с этим принимать те или иные… Если мы с вами посмотрим на любимую нами операционную систему MS-DOS, то там… Второй уровень операционных систем - это операционные системы, которые позволяют регистрировать пользователей, но все…

Выводы

 

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

 

Глава 5. Планирование и установка системы Windows XP

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

Подготовка процесса инсталляции

Вряд ли вас приведет в восторг ситуация, когда, приступив к установке Windows XP и выполнив большую часть работы, вы вдруг обнаружите, что все… Усвоение изложенного в этой главе материала не представит никакой труд­ности…

Требования к аппаратным ресурсам

- требования к минимальной аппаратной конфигурации; - список совместимых аппаратных средств (Hardware Compatibility List, HCL). … В первую очередь необходимо ознакомиться со списком требований, кото­рые Windows XP предъявляет к оборудованию. Состав…

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

Windows XP на платформе Intel

Конфигурирование разделов на жестком диске

В процессе инсталляции Windows ХР программа Setup предлагает пользователю выбрать раздел жесткого диска для установки системы. Создавать разделы на жестком диске можно следующими способами:

- Если на компьютере уже установлена Windows NT/2000 (например, Windows NT 4.0), то разделы на жестком диске можно создать с помощью административных средств самой операционной системы. В Windows NT 4.0 это утилита Disk Administrator (для ее вызова следует в меню Start выбрать команду Programs/ Administrator Tools (Common)/Disk Administrator. В Windows 2000 та же задача выполняется с помощью оснастки Disk Management.

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

- Наконец, программа windows ХР Setup также позволит вам создать новый раздел для Windows ХР (при условии, что на диске имеется свободное пространство).

Когда на жестком диске создается первый, основной, раздел, программа, используемая для этой цели, создает главную загрузочную запись (Master Boot Record, MBR) и записывает ее в первый сектор на жестком диске (цилиндр 0, головка 0, сектор 1). Главная загрузочная запись содержит таблицу разделов (Partition Table), в которой хранится информация обо всех разделах, определенных на диске. При внесении изменений в разделы, существующие на жестком диске (например, при их создании, удалении или форматировании), программа, используемая для этой цели, вносит изменения в таблицу разделов.

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

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

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

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

Загрузочный раздел — это раздел, который содержит системные файлы Windows ХР (имеется в виду папка %SystemRoot%), и этот раздел может как совпадать, так и не совпадать с системным.

Выбор файловой системы

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

Интерактивная установка Windows ХР

 

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

Запуск программы установки

В этом разделе будут описаны шаги, которые требуется предпринять для запуска программы Windows ХР Setup при использовании различных способов установки.

Установка с загрузочного компакт-диска

В каком случае можно выполнить инсталляцию файлов Windows ХР с использованием только дистрибутивного компакт-диска? Это возможно, если компьютер… 1. Чтобы начать установку Windows ХР, программа Setup в первую очередь… Windows ХР принимает управление и выполняет распознавание установленных на компьютере аппаратных средств. О том, что…

Общее описание процесса установки Windows ХР

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

Подготовка инсталляции

На данном этапе программа Setup выполняет следующее:

1. Копирует файлы на жесткий диск.

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

3. Позволяет указать раздел для установки Windows ХР и отформатировать его при необходимости.

4. Перезагружает компьютер.

Установка системы

Работа программы-мастера установки Windows продолжается довольно долго. Пользователю предлагается подождать, пока программа Setup выполняет… На данном этапе программа setup выполнит нижеприведенные задачи. - Устанавливает и конфигурирует устройства. Следует обратить внимание читателя на тот факт, что благодаря улучшенной…

Завершающие задачи установки

На данном этапе программа Setup выполняет следующее:

- сохраняет конфигурацию;

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

- перезагружает компьютер.

Постинсталляционные задачи

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

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

Устранение проблем, возникающих во время установки Windows ХР

В данном разделе будут рассмотрены проблемы, наиболее часто встречающиеся в процессе установки Windows ХР, а также даны рекомендации по их… 1. Если в процессе установки вы получаете сообщение о том, что объем… 2. Если программа Setup не распознает ваше устройство CD-ROM, то проверьте, включено ли ваше устройство в список…

Структура сетевой операционной системы

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

В сетевой операционной системе отдельной машины можно выделить несколько частей (рис. 6.1):

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

Рис. 6.1. Структура сетевой ОС

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

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

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

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

На рисунке 6.2 показано взаимодействие сетевых компонентов. Здесь компьютер 1 выполняет роль "чистого" клиента, а компьютер 2 - роль "чистого" сервера, соответственно на первой машине отсутствует серверная часть, а на второй - клиентская. На рисунке отдельно показан компонент клиентской части - редиректор. Именно редиректор перехватывает все запросы, поступающие от приложений, и анализирует их. Если выдан запрос к ресурсу данного компьютера, то он переадресовывается соответствующей подсистеме локальной ОС, если же это запрос к удаленному ресурсу, то он переправляется в сеть. При этом клиентская часть преобразует запрос из локальной формы в сетевой формат и передает его транспортной подсистеме, которая отвечает за доставку сообщений указанному серверу. Серверная часть операционной системы компьютера 2 принимает запрос, преобразует его и передает для выполнения своей локальной ОС. После того, как результат получен, сервер обращается к транспортной подсистеме и направляет ответ клиенту, выдавшему запрос. Клиентская часть преобразует результат в соответствующий формат и адресует его тому приложению, которое выдало запрос.

 

Рис. 6.2. Взаимодействие компонентов операционной системы при

Взаимодействии компьютеров

На практике сложилось несколько подходов к построению сетевых операционных систем (рисунок 6.3).

Рис. 6.3. Варианты построения сетевых ОС

 

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

Однако более эффективным представляется путь разработки операционных систем, изначально предназначенных для работы в сети. Сетевые функции у ОС такого типа глубоко встроены в основные модули системы, что обеспечивает их логическую стройность, простоту эксплуатации и модификации, а также высокую производительность. Примером такой ОС является система Windows NT фирмы Microsoft, которая за счет встроенности сетевых средств обеспечивает более высокие показатели производительности и защищенности информации по сравнению с сетевой ОС LAN Manager той же фирмы (совместная разработка с IBM), являющейся надстройкой над локальной операционной системой OS/2.

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

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

Рис. 6.4. (а) - Одноранговая сеть, (б) - Двухранговая сеть

 

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

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

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

В одноранговых сетях все компьютеры равны в правах доступа к ресурсам друг друга. Каждый пользователь может по своему желанию объявить какой-либо ресурс своего компьютера разделяемым, после чего другие пользователи могут его эксплуатировать. В таких сетях на всех компьютерах устанавливается одна и та же ОС, которая предоставляет всем компьютерам в сети потенциально равные возможности. Одноранговые сети могут быть построены, например, на базе ОС LANtastic, Personal Ware, Windows for Workgroup, Windows NT Workstation.

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

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

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

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

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

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

Общие понятия. Сетевые топологии

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

Некоторые важные понятия.

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

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

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

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

Классификация и характеристики компьютерных сетей

Диаметром сетиназывается расстояние между двумя наиболее удаленными друг от друга станциями данной сети.

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

1. локальные (1-3000 м) – объединяют компьютеры в пределах нескольких зданий;

2. кампусные (100-10000 м) – локальные сети масштаба «кампуса» – небольшого городка;

3. городские (5-20 км) – высокоскоростные каналы связи в пределах большого города;

4. региональные (территориальные) (100-1000 км) – объединяют компьютеры географической области;

5. глобальные (10000-20000 км) – объединение компьютеров в различных частях света (Интернет).

Важнейшая характеристика компьютерной сети – ее пропускная способность. Пропускная способность (битовая скорость передачи информации) – это количество информации, которое можно передать по данной сети за единицу времени. Пропускная способность измеряется в бит/с.1 бит/с равен 1 биту информации, переданному за 1 с. Используются кратные единицы: кбит/с, Мбит/с, Гбит/с.

В зависимости от характера распределения функций различают:

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

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

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

Среды передачи данных

В линиях связи используются 2 основные технологии: проводниковая и беспроводная. Проводники, используемые в компьютерных сетях, подразделяются на: 1) Медные электрические проводники.Наиболее распространенная среда передачи. В качестве носителя информации…

Коммуникационное оборудование

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

Глава 8. Защитные механизмы операционных систем

 

Перейдем к описанию системы защиты операционных систем. Ее основными задачами являются идентификация, аутентификация, разграничение доступа пользователей к ресурсам, протоколирование и аудит самой системы. Более подробную информацию об этом можно найти в [Дейтел, 1987], [Столлингс, 2001], [Таненбаум, 2002] и ряде других источников.

Идентификация и аутентификация

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

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

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

Шифрование пароля

Например, в ряде версий Unix в качестве односторонней функции используется модифицированный вариант алгоритма DES. Введенный пароль длиной до 8… В ОС Windows NT преобразование исходного пароля также осуществляется… Хранятся только кодированные пароли. В процессе аутентификации представленный пользователем пароль кодируется и…

Авторизация. Разграничение доступа к объектам ОС

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

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

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

Желательно добиться того, чтобы процесс осуществлял авторизованный доступ только к тем ресурсам, которые ему нужны для выполнения его задачи. Это требование минимума привилегий, уже упомянутое в предыдущей лекции, полезно с точки зрения ограничения количества повреждений, которые процесс может нанести системе. Hапример, когда процесс P вызывает процедуру А, ей должен быть разрешен доступ только к переменным и формальным параметрам, переданным ей, она не должна иметь возможность влиять на другие переменные процесса. Аналогично компилятор не должен оказывать влияния на произвольные файлы, а только на их хорошо определенное подмножество (исходные файлы, листинги и др.), имеющее отношение к компиляции. С другой стороны, компилятор может иметь личные файлы, используемые для оптимизационных целей, к которым процесс Р не имеет доступа.

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

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

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

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

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

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

Отметим, что данная модель разработана для хранения секретов, но не гарантирует целостности данных. Например, здесь лейтенант имеет право писать в файлы генерала. Более подробно о реализации подобных формальных моделей рассказано в [Столлингс, 2002], [Таненбаум, 2002].

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

Домены безопасности

Чтобы рассмотреть схему дискреционного доступа более детально, введем концепцию домена безопасности (protection domain). Каждый домен определяет набор объектов и типов операций, которые могут производиться над каждым объектом. Возможность выполнять операции над объектом есть права доступа, каждое из которых есть упорядоченная пара <object-name, rights-set>. Домен, таким образом, есть набор прав доступа. Hапример, если домен D имеет права доступа <file F, {read, write}>, это означает, что процесс, выполняемый в домене D, может читать или писать в файл F, но не может выполнять других операций над этим объектом. Пример доменов можно увидеть на рис.8.1.


Рис. 8.1. Специфицирование прав доступа к ресурсам

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

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

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

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

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

Матрица доступа

Модель безопасности, специфицированная в предыдущем разделе (см. рис. 8.1), имеет вид матрицы, которая называется матрицей доступа. Какова может быть эффективная реализация матрицы доступа? В общем случае она будет разреженной, то есть большинство ее клеток будут пустыми. Хотя существуют структуры данных для представления разреженной матрицы, они не слишком полезны для приложений, использующих возможности защиты. Поэтому на практике матрица доступа применяется редко. Эту матрицу можно разложить по столбцам, в результате чего получаются списки прав доступа (access control list - ACL). В результате разложения по строкам получаются мандаты возможностей (capability list или capability tickets).

Список прав доступа. Access control list

Каждая колонка в матрице может быть реализована как список доступа для одного объекта. Очевидно, что пустые клетки могут не учитываться. В результате для каждого объекта имеем список упорядоченных пар <domain, rights-set>, который определяет все домены с непустыми наборами прав для данного объекта.

Элементами списка могут быть процессы, пользователи или группы пользователей. При реализации широко применяется предоставление доступа по умолчанию для пользователей, права которых не указаны. Например, в Unix все субъекты-пользователи разделены на три группы (владелец, группа и остальные), и для членов каждой группы контролируются операции чтения, записи и исполнения (rwx). В итоге имеем ACL - 9-битный код, который является атрибутом разнообразных объектов Unix.

Мандаты возможностей. Capability list

Как отмечалось выше, если матрицу доступа хранить по строкам, то есть если каждый субъект хранит список объектов и для каждого объекта - список допустимых операций, то такой способ хранения называется "мандаты" или "перечни возможностей" (capability list). Каждый пользователь обладает несколькими мандатами и может иметь право передавать их другим. Мандаты могут быть рассеяны по системе и вследствие этого представлять большую угрозу для безопасности, чем списки контроля доступа. Их хранение должно быть тщательно продумано.

Примерами систем, использующих перечни возможностей, являются Hydra, Cambridge CAP System [Denning, 1996].

Другие способы контроля доступа

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

Смена домена

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

Недопустимость повторного использования объектов

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

Выявление вторжений. Аудит системы защиты

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

Библиографический список

1. Вычислительные системы, сети и телекоммуникации: Учебник. – 2-е изд., перераб.и доп. /А.П.Пятибратов, Л.П. Гудыно, А.а. Кириченко; Под ред.… 2. Готъе Р. Руководство по ОС UNIX – М.: Финансы и статистика 1990.- 232с. … 3. Доуб. С. Сетевая ОС UNIX, 1997.

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

Используемые теги: Введение, операционные, системы, определение, назначение, состав, Функции, операционных, систем0.111

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

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

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

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

Лекция 1. Тема: Операционная система. Определение. Уровни операционной системы. Функции операционных систем. 1. Понятие операционной системы
Понятие операционной системы... Причиной появления операционных систем была необходимость создания удобных в... Операционная система ОС это программное обеспечение которое реализует связь между прикладными программами и...

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

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

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

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

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

ОПЕРАЦИОННАЯ СИСТЕМА: НАЗНАЧЕНИЕ И СОСТАВ
На сайте allrefs.net читайте: ОПЕРАЦИОННАЯ СИСТЕМА: НАЗНАЧЕНИЕ И СОСТАВ.

ОПЕРАЦИОННАЯ СИСТЕМА: НАЗНАЧЕНИЕ И СОСТАВ
На сайте allrefs.net читайте: ОПЕРАЦИОННАЯ СИСТЕМА: НАЗНАЧЕНИЕ И СОСТАВ.

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

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