Операционные системы

85
Операционные системы

description

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

Transcript of Операционные системы

Page 1: Операционные системы

Операционные системы

Page 2: Операционные системы

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

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

Page 3: Операционные системы

Функции ОС:

• Загрузка приложений в оперативную память и их выполнение.

• Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).

• Управление оперативной памятью (распределение между процессами, виртуальная память).

• Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, компакт-диск и т. д.), организованным в той или иной файловой системе.

• Пользовательский интерфейс.• Сетевые операции, поддержка стека протоколов.

Page 4: Операционные системы

Дополнительные функции:• Параллельное или псевдопараллельное

выполнение задач (многозадачность).• Взаимодействие между процессами: обмен

данными, взаимная синхронизация.• Защита самой системы, а также пользовательских

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

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

Page 5: Операционные системы

Операционные системы, нужны если• вычислительная система используется для

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

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

Page 6: Операционные системы

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

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

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

Page 7: Операционные системы

Поколения ВС• 1-е поколение, 50-е годы: ЭВМ на электронных вакуумных лампах.• 2-е поколение, 60-е годы: ЭВМ на дискретных полупроводниковых

приборах (транзисторах).• 3-е поколение, 70-е годы: компьютеры на полупроводниковых

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

• 4-е поколение, 80-90 годы: компьютеры на больших и сверхбольших интегральных схемах, основная из которых – микропроцессор (сотни тысяч - десятки миллионов активных элементов в одном кристалле).

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

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

Page 8: Операционные системы

История ОС• Первые (1945-1955г.г.) компьютеры работали без операционных

систем, как правило, на них работала одна программа. • Системы пакетной обработки (1955-1965г.г.), которые просто

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

• Многозадачность (1965-1980) - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько задач. Пока одна задача выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при последовательном выполнении задач , а выполняет другую задачу.

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

Page 9: Операционные системы

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

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

• Эта работа в дальнейшем развилась в систему UNIX.• Появилось много разновидностей несовместимых UNIX,

основные из них были System V и BSD. Чтобы было возможно писать программы, работающие в любой системе UNIX, был разработан стандарт POSIX. Стандарт POSIX определяет минимальный интерфейс системного вызова, который должны поддерживать системы UNUX.

• В 1974г. был выпущен центральный процессор Intel 8080, для него была создана операционная система CP/M. В 1977г. она была переработана для других процессоров, например Zilog Z80.

• В начале 80-х была разработана система MS-DOS, и стала основной системой для микрокомпьютеров.

Page 10: Операционные системы

• В 80-х годах стало возможным реализовать графический интерфейс пользователя (GUI - Graphical User Interface). Первой реализовала GUI корпорация Macintosh.

• С 1985 года стала выпускаться Windows, в то время она была графической оболочкой к MS-DOS вплоть до 1995г., когда вышла Windows 95.

• IBM и Microsoft начинали совместно разрабатывать операционную систему OS/2. Она должна была поддерживать вытесняющую многозадачность, виртуальную память, графический пользовательский интерфейс, виртуальную машину для выполнения DOS-приложений. Первая версия вышла 1987г.

• В дальнейшем Microsoft отошла от разработки OS/2, и стала разрабатывать Windows NT. Первая версия вышла в 1993г.

Page 11: Операционные системы

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

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

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

• В 1987г. была выпущена операционная система MINIX (прототип LINUX), она была построена на схеме микро ядра.

• В 1991г. была выпущена LINUX, в отличии от микроядерной MINIX она стала монолитной.

• Чуть позже вышла FreeBSD (основой для нее послужила BSD UNIX).

Page 12: Операционные системы

Классификация ОСПо организации доступа

• Пакетные (OS 360)• Интерактивные (Windows, Unix)• Реального времени (QNX)

Page 13: Операционные системы

Классификация ОС по выполнению программ• Однопрограммные

– выполняют одну программу (первые версии DOS);• Многопрограммные

– в памяти находится несколько программ, но выполняется только одна из них (активная программа) (последние версии DOS, Win3.x);

• Многозадачные

– выполняют несколько программ одновременно (Win 95 и старше, UNIX).

Программа – последовательность машинных команд; хранится как файл на диске.

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

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

Page 14: Операционные системы

Основные виды интерфейсов ОС

• Командная строка– Команды вводят с клавиатуры

• Меню– Команды выбирают из списка

• Графический интерфейс– Значки перетаскивают мышью

Каждый новый интерфейс наследует

возможности предшествующих

Page 15: Операционные системы

Перспективные интерфейсы

• Чувствительный экран – Touch Screen• Распознавание рукописного текста• Речевой (голосовой) интерфейс: ввод-вывод• Автоматический перевод речи• Виртуальная реальность• Интерфейс для инвалидов.• Комбинированные устройства: цифровой

фотоаппарат/сканер+ распознавание текста+голос+ перевод

• Проект Киборг (вживление микросхем)

Page 16: Операционные системы

Требования, предъявляемые к ОС • Расширяемость. Код должен быть написан таким образом, чтобы

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

• Переносимость. Код должен легко переноситься с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную платформу другого типа.

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

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

• Безопасность. ОС должна обладать средствами защиты ресурсов одних пользователей от других.

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

Page 17: Операционные системы

Управление процессами

Page 18: Операционные системы

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

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

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

• а также занимается созданием и уничтожением процессов,

• обеспечивает процессы необходимыми системными ресурсами,

• поддерживает взаимодействие между процессами.

Page 19: Операционные системы

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

• загрузка программы в память, подготовка ее к запуску и запуск на выполнение;

• выполнение системных вызовов процесса;• обработка ошибок, возникших в ходе

выполнения;• нормальное завершение процесса;• прекращение процесса в случае ошибки

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

Page 20: Операционные системы

В многозадачном режиме добавляются задачи:

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

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

• исключение возможности несанкционированного вмешательства одного процесса в выполнение другого;

• предотвращение или устранение тупиковых ситуаций, возникающих при конкуренции процессов за системные ресурсы;

• обеспечение синхронизации процессов и обмена данными между ними.

Page 21: Операционные системы

Создать процесс - это значит:

• создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст;

• включить дескриптор нового процесса в очередь готовых процессов;

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

Page 22: Операционные системы

Состояние процессов• ВЫПОЛНЕНИЕ - активное состояние процесса, во время

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

• ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;

• ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

Page 23: Операционные системы
Page 24: Операционные системы

Планирование процессов включает в себя решение следующих задач

• определение момента времени для смены выполняемого процесса;

• выбор процесса на выполнение из очереди готовых процессов;

• переключение контекстов "старого" и "нового" процессов.

Page 25: Операционные системы

смена активного процесса происходит, если

• процесс завершился и покинул систему, • произошла ошибка, • процесс перешел в состояние ОЖИДАНИЕ, • исчерпан квант процессорного времени,

отведенный данному процессу

Page 26: Операционные системы

два основных типа процедур планирования процессов

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

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

Page 27: Операционные системы

Требования к алгоритмам планирования

• Справедливость- гарантировать каждому процессу доступ к процессору

• Эффективность- постараться занять процессор на 100%, не позволяя ему простаивать в ожидании процессов готовых к исполнению

• Сокращение полного времени выполнения• Сокращение времени ожидания• Сокращение времени отклика

программ(процессов)

Page 28: Операционные системы

Алгоритмы планирования

• First –Come, First-Served- первым пришел, первым обслужен.

• Round Robin• Shortest –Job-First• Приоритетное планирование

Page 29: Операционные системы

Способы обмена информацией между процессами

• Сигнальные• Канальные• Разделяемая память

Page 30: Операционные системы

Механизмы синхронизации• Критические секции-объект синхронизации

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

• Семафоры-объект, позволяющий войти в заданный участок кода не более чем n процессам

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

Page 31: Операционные системы

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

захваченных самими этими процессамиПроцесс 1 Процесс 2

Хочет захватить A и B, начинает с A Хочет захватить A и B, начинает с B

Захватывает ресурс A

Захватывает ресурс B

Ожидает освобождения ресурса A

Ожидает освобождения ресурса B

Взаимная блокировка

Page 32: Операционные системы

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

Page 33: Операционные системы

Функции ОС по управлению памятью:

• отслеживание свободной и занятой памяти;• выделение памяти процессам и освобождение

памяти при завершении процессов;• вытеснение процессов из оперативной памяти на

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

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

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

Page 34: Операционные системы

Распределение памяти

• Выделение памяти для загрузки программ:– Статическое при компиляции программы– Динамическое во время выполнения программы

Page 35: Операционные системы

Логическое и физическоеадресное пространство

Обычно программист обращается к памяти через символьные переменные и не указывает физические адресаФизический адрес – номер ячейки в микросхеме памяти; выставляется на шине адреса. • Привязка к физическим адресам – при загрузке программы в память перед исполнением• Имена переменных связываются с адресами ячеек в 2 этапа:– система программирования (символьное имя – логический адрес)– ОС (логический адрес – физический адрес)

Page 36: Операционные системы

Схемы управления памятью

• Схема с фиксированными разделами• Один процесс в памяти –однозадачная ОС

(M-DOS)• Оверлейная структура• Свопинг• Схемы с переменными разделами• Страничная память• Сегментно-страничная память

Page 37: Операционные системы

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

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

• Реализована в IBM OS/360, DEC RSX-11• Недостаток- сильная фрагментация памяти, т.к

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

Page 38: Операционные системы

Оверлейная структура• Оверлей – перекрытие программных секций. – E. overlay = перекрытие, лежать поверх

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

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

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

Page 39: Операционные системы

Свопинг

• Свопинг – временное освобождение ОЗУ за счет сохранения информации на диске.

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

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

В отличие от оверлея, организацией свопингом занимается ОС.

Page 40: Операционные системы

Страничная организация памяти•  Память делится на страницы одинакового размера. • Память разбивается на физические страницы, программа – на

виртуальные. Часть виртуальных страниц находится в ОЗУ, часть – на диске, файле подкачки (paging file), или страничный файл, - место на диске. Иногда также называют swap file. В ОС UNIX - специальный раздел диска (swap).

• Физический адрес: (номер физической страницы и смещение).• Виртуальный адрес: (номер виртуальной страницы и смещение).• Проблема: замедление работы из-за частого обращения к диску:

– нарастить память

– меньше параллельных задач

– изменить дисциплину замещения (ОС)• Менее требовательные приложения

Page 41: Операционные системы

Сегментно-страничнаяорганизация памяти

• Программа делится на страницы объединенные в сегменты - логически завершенные части.

• Виртуальный адрес = сегмент + страница + индекс.• Достоинства:– сегменты в памяти целиком - реже подкачка– страницы россыпью - меньше фрагментация• Затраты:– таблица дескрипторов сегментов– таблицы адресов страниц по сегментам• Нужна аппаратная поддержка механизма.

Page 42: Операционные системы

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

Page 43: Операционные системы

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

• В настоящее время эта технология имеет аппаратную поддержку на всех современных процессорах.

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

Page 44: Операционные системы

• Менеджер виртуальной памяти — часть операционной системы, благодаря которой можно адресовать память большую, чем объем физической памяти (ОЗУ). Благодаря виртуальной памяти можно запускать множество ресурсоёмких приложений, требующих большого объёма ОЗУ. Максимальный объём виртуальной памяти, который можно получить, используя 24-битную адресацию, — 16 мегабайт. Физическая память при этом ограничена 8 мегабайтами. С помощью 32-битной адресации можно адресовать до 4 ГБ виртуальной памяти

Page 45: Операционные системы

Применение механизма виртуальной памяти позволяет:

• упростить адресацию памяти клиентским программным обеспечением;

• рационально управлять оперативной памятью компьютера (хранить в ней только активно используемые области памяти);

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

Page 46: Операционные системы

Стратегии управления виртуальной памятью

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

• Алгоритм размещения- в какой участок памяти разместить поступающую страницу

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

Page 47: Операционные системы

• Найти некоторую занятую страницу в основной памяти

• Переместить в случае необходимости ее содержимое во внешнюю память

• Переписать в этот страничный кадр содержимое нужной виртуальной страницы из внешней памяти

• Должным образом модифицировать необходимый элемент таблицы страниц

• Продолжить выполнение процесса, которому эта страница понадобилась

Последовательность операций при “page fault”

Page 48: Операционные системы

• Алгоритм FIFO. Выталкивание первой пришедшей страницы (временные метки)

• Выталкивание дольше всего не использовавшейся страницы. Алгоритм LRU.

• Выталкивание редко используемой страницы. Алгоритм NFU.

Алгоритмы замещения страницы

Page 49: Операционные системы

Правила локального и глобального замещения страниц

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

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

Page 50: Операционные системы

Наиболее часто используемые критерии поиска:

• Less Recently Used. Удаляются те страницы, доступ к которым производился наиболее давно. Считается, что в последующем к таким страницам будет происходить минимум обращений.

• Last Recently Used. Удаляются недавно освободившиеся страницы. Подразумеваются страницы только что завершившихся процессов.

Page 51: Операционные системы

Методики эффективной организации файла подкачки

• Одним из способов выделения места для swap‐файла (раздела) является кратное выделение памяти, когда объём этого файла равен объёму оперативной памяти, умноженному на 1, на 2, на 3.

• Если на компьютере имеется более одного жёсткого диска, то для более быстрого обращения к файлу подкачки его желательно разместить на наименее нагруженном запросами чтения/записи физическом диске. Хорошим выбором будет физический диск, с которого не запускается ОС или приложения.

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

• В Windows скорость чтения из небольших разделов больше у FAT32 по сравнению с NTFS[2], однако, благодаря более высокой устойчивости NTFS к сбоям и значительным объёмам современных винчестеров, разделы с FAT32 ныне редко используются.

• При наличии на компьютере значительного объёма ОЗУ (1 и более гигабайт) и использовании большинства популярных ОС семейств GNU/Linux и MS Windows (кроме Windows Vista/7) можно полностью отключить подкачку. При использовании различных версий Windows Vista также можно отключить подкачку, однако, в силу ресурсоёмкости этой системы, желательно при этом иметь не менее 2 Гб физической памяти.

Page 52: Операционные системы

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

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

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

Page 53: Операционные системы

Основные функции файловой системы

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

• Распределние внешней памяти между файлами• Обеспечение надежности и отказоустойчивости• Обеспечение защиты от несанкционированого

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

Page 54: Операционные системы

Имя файла

• В FAT16и FAT12 размер имени файла ограничен 8 символами (3 символа расширения).

• В VFATограничение 255 байт.• В FAT32, HPFS имя файла ограниченно 255

символами• В NTFS имя ограничено 255 символами

UNICODE• В ext2/ext3 ограничение 255 байт.

Page 55: Операционные системы

Типы файлов

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

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

Page 56: Операционные системы

Логическая организация иерархической файловой системы

Page 57: Операционные системы

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

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

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

• Использование связанного списка индексов. С каждым блоком связывается некоторый элемент - индекс. Индексы располагаются в отдельной области диска (в MS-DOS это таблица FAT)

Page 58: Операционные системы
Page 59: Операционные системы

Операции над файлами

• Создание файла, не содержащего данных• Удаление файла и освобождение

занимаемого им дискового пространства• Открытие файла• Закрытие файла• Позиционирование• Чтение данных из файла• Запись данных в файл

Page 60: Операционные системы

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

• Создание директории• Удаление директории• Открытие директории для последующего

чтения• Закрытие директории• Поиск• Получение списка файлов в директории• Переименовывание директории

Page 61: Операционные системы

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

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

Page 62: Операционные системы

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

Page 63: Операционные системы
Page 64: Операционные системы

Понятие протокола.

Page 65: Операционные системы

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

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

• В настоящее время для сетевых протоколов используется модель OSI (Open System Interconnection — Взаимодействие Открытых Систем, ВОС).

Page 66: Операционные системы

Уровни OSI

• на физическом уровне определяются физические (механические, электрические, оптические) характеристики линий связи;

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

• сетевой уровень отвечает за адресацию и доставку сообщений;

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

Page 67: Операционные системы

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

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

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

Page 68: Операционные системы

• Протокол TCP/IP — это два протокола нижнего уровня, являющиеся основой связи в сети Интернет.

• Протокол TCP (Transmission Control Protocol) разбивает передаваемую информацию на порции и нумерует все порции.

• С помощью протокола IP (Internet Protocol) все части передаются получателю.

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

Page 69: Операционные системы

Наиболее известные протоколы, используемые в сети Интернет:

• HTTP (Hyper Text Transfer Protocol) — это протокол передачи гипертекста. Протокол HTTP используется при пересылке Web-страниц с одного компьютера на другой.

• FTP (File Transfer Protocol) — это протокол передачи файлов со специального файлового сервера на компьютер пользователя. FTP дает возможность абоненту обмениваться двоичными и текстовыми файлами с любым компьютером сети. Установив связь с удаленным компьютером, пользователь может скопировать файл с удаленного компьютера на свой или скопировать файл со своего компьютера на удаленный.

• POP (Post Office Protocol) — это стандартный протокол почтового соединения. Серверы POP обрабатывают входящую почту, а протокол POP предназначен для обработки запросов на получение почты от клиентских почтовых программ.

Page 70: Операционные системы

• SMTP (Simple Mail Transfer Protocol) — протокол, который задает набор правил для передачи почты. Сервер SMTP возвращает либо подтверждение о приеме, либо сообщение об ошибке, либо запрашивает дополнительную информацию.

• UUCP (Unix to Unix Copy Protocol) — это ныне устаревший, но все еще применяемый протокол передачи данных, в том числе для электронной почты. Этот протокол предполагает использование пакетного способа передачи информации, при котором сначала устанавливается соединение клиент-сервер и передается пакет данных, а затем автономно происходит его обработка, просмотр или подготовка писем.

• TELNET— это протокол удаленного доступа. TELNET дает возможность абоненту работать на любой ЭВМ сети Интернет, как на своей собственной, то есть запускать программы, менять режим работы и так далее. На практике возможности лимитируются тем уровнем доступа, который задан администратором удаленной машины.

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

Page 71: Операционные системы

• Маршрутизация— процесс определения маршрута следования информации в сетях связи.

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

• Процесс маршрутизации в компьютерных сетях выполняется специальными программно-аппаратными средствами —маршрутизаторами.

Page 72: Операционные системы

Статическими маршруты

• маршруты, не изменяющиеся во времени• маршруты, изменяющиеся по расписанию• маршруты, изменяющиеся по ситуации —

административно в момент возникновения стандартной ситуации

Page 73: Операционные системы

Алгоритмы маршрутизации можно разделить на:

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

Page 74: Операционные системы

Требования

• Точность• простота• надёжность• стабильность• справедливость• оптимальность

Page 75: Операционные системы

Идентефикация и аутентификация. Авторизация.

Page 76: Операционные системы

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

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

• Идентификация и аутентификация являются взаимосвязанными процессами распознавания и проверки подлинности пользователей.

Page 77: Операционные системы

Методы аутентификации в ОС

• аутентификация с помощью пароля;• аутентификация с помощью внешних

носителей ключевой информации;• аутентификация с помощью

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

Page 78: Операционные системы

Администрирование - процесс управления доступом субъектов к ресурсам системы.

Данный процесс включает в себя:

• создание идентификатора субъекта (создание учётной записи пользователя) в системе;

• управление данными субъекта, используемыми для его аутентификации (смена пароля, издание сертификата и т. п.);

• управление правами доступасубъекта к ресурсам системы.

Page 79: Операционные системы

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

Page 80: Операционные системы

Основные механизмы безопасности подсистемы защиты операционной системы:

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

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

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

Page 81: Операционные системы

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

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

Page 82: Операционные системы

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

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

• Субъектом доступа (или просто субъектом) будем называть лю бую сущность, способную инициировать выполнение операций над объек тами (обращаться к объектам по некоторым методам доступа). Например, пользователи являются субъектами доступа.

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

Page 83: Операционные системы

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

Аудит системы защиты

Page 84: Операционные системы

Подсистема аудита операционной системы должна удовлетворять следующим

требованиям:

• Только сама операционная система может добавлять записи в журнал аудита.

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

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

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

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

Page 85: Операционные системы

В журнале аудита должны обя зательно регистрироваться

следующие события:

• попытки входа/выхода пользователей из системы;

• попытки изменения списка пользователей;• попытки изменения политики

безопасности, в том числе и политики аудита.