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

ОС с микроядром

Микроядро — это минимальная реализация функций ядра операционной системы.

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

Сюда относятся:

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

Виртуальные машины

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

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

ОС Unix:

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

Особенности UNIX, отличающие данное семейство от других ОС:

  • Файловая система древовидная, чувствительная к регистру символов в именах, очень слабые ограничения на длину имён.
  • Нет поддержки структурированных файлов ядром ОС, на уровне системных вызовов файл есть поток байт.
  • Командная строка находится в адресном пространстве запускаемого процесса, а не извлекается системным вызовом из процесса интерпретатора команд .
  • Запуск процессов вызовом fork(), то есть возможность клонирования текущего процесса со всем состоянием.
  • Понятия stdin/stdout/stderr.
  • Ввод/вывод только через дескрипторы файлов.
  • Традиционно крайне слабая поддержка асинхронного ввода/вывода, по сравнению с VMS и Windows NT.

3. Архитектура современных ОС. Структура ОС Windows NT.

Архитектура Windows NT имеет модульную структуру и состоит из двух основных уровней — компоненты, работающие в режиме пользователя и компоненты режима ядра. Программы и подсистемы, работающие в режиме пользователя имеют ограничения на доступ к системным ресурсам. Режим ядра имеет неограниченный доступ к системной памяти и внешним устройствам. Ядро системы NT называют гибридным ядром или макроядром. Архитектура включает в себя само ядро, уровень аппаратных абстракций (HAL), драйверы и ряд служб (Executives), которые работают в режиме ядра (Kernel-mode drivers) или в пользовательском режиме (User-mode drivers).

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

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

Windows API (application programming interfaces) — общее наименование целого набора базовых функций интерфейсов программирования приложений операционны систем семейств Windows и Windows NT корпорации «Майкрософт». Является самым прямым способом взаимодействия приложений с Windows.

4. Архитектура современных ОС. Системы с монолитным ядром и с микроядром.

Ядро́ — центральная часть операционной системы (ОС), обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память и внешнее аппаратное обеспечение. Также обычно ядро предоставляет сервисы файловой системы и сетевых протоколов.

1) Процессы используются для группирования ресурсов, а потоки являются объектами, поочередно исполняющимися на центральном процессоре. - student2.ru Монолитные ОС

Пользовательский режим >>> режим процессора >>> оборудование

Моноли́тное ядро́ — классическая и, на сегодняшний день, наиболее распространённая архитектура ядер операционных систем. Монолитные ядра предоставляют богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве.

Ранние Unix, Novell Netware, Mac OS, IBM OS/370

ОС с микроядром

Микроядро — это минимальная реализация функций ядра операционной системы.

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

Сюда относятся:

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

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

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

5. Архитектура современных ОС. ОС с множественными интерфейсами прикладных программ на примере ОС Windows NT.

См. 3

6. Процессы и потоки в ОС. Понятие процесса. Атрибуты процесса. Создание нового процесса в различных ОС.

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

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

· удобство работы пользователей: они имеют возможность интерактивно работать одновременно с несколькими приложениями на одной машине;

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

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

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

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

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

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

Process:

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

Примерами описателей процесса являются блок управления задачей (ТСВ — Task Control Block) в OS/360, управляющий блок процесса (РСВ — Process Control Block) в OS/2, дескриптор процесса в UNIX, объект-процесс (object-process) в Windows NT.

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

Unix: fork() позволяет создать нов пр(копию процесса) – единственный!. После выполнения запроса fork() двум пр – родительскому и дочернему – соотв одинаковые образы памяти, строки окружения и открытые файлы. Обычно дочерний пр выполняет сист вызов execve для изменения своего образа памяти и запуска нов проги. Начальное адресное пр-во дочернего процесса явл копией родительского, но сами адресн пр-ва различны, и перезаписываемая память совместно не используется.

Windows: CreateProcess(8 параметров) управляет и созданием пр и запуском в нем нужной программы. Есть еще около 100 ф-ий для управления пр. адресные пространства отличаются с самого начала.

Атрибуты (Unix):

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

Назначает ОС:

  • идентификатор (номер) процесса PID (Process Identifier)
  • идентификатор родительского процесса PPID (Parent Process ID).

К атрибутам также относятся:

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

· Реальный и эффективный идентификаторы пользователя и группы.
Каждый пользователь, зарегистрированный в ОС, имеет идентификаторы пользователя UID и группы GID, которые хранятся в файлах /etc/passwd и /etc/group.

7. Процессы и потоки в ОС. Понятие процесса. Жизненный цикл процесса. Различные состояния процесса.

Состояния процесса:

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

Состояния (по лекции):

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

Переходы: к 1 – new, из 2 в 1 – по ОС, из 1 в 3 – по планировщику, из 3в1, из 3 в 2, из 3 в 4 – окончание проги (или по ошибке), из 4 удален. <--- жизненный цикл процесса.

8. Процессы и потоки в ОС. Понятие нити (Thread). Основные отличия нити от процесса.

Любой поток (нить) состоит из двух компонентов:

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

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

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

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

Взаимоисключения (mutex, мьютекс) — это объект синхронизации, который устанавливается в особое сигнальное состояние, когда не занят каким-либо потоком. Только один поток владеет этим объектом в любой момент времени, одновременный доступ к общему ресурсу исключается. После всех необходимых действий мьютекс освобождается, предоставляя другим потокам доступ к общему ресурсу. Состояние описывается: владельцем и кратностью(целое >=0). Операции: Lock(), Unlock(). Достоинства: автоматич освобождение(если владелец «помер»),более быстр чем семафор.

Мьютекс используется для блокировки доступа к к-л уникальному ресурсу.

Стратегия вытеснения

-если есть свободная, то исп-ть ее

-если нет, то вытесняется некоторая страница

Алгоритмы определения устаревших страниц:

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

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

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

Наиболее распространенными традиционными алгоритмами (как в глобальном, так в локальном вариантах) являются алгоритмы FIFO (First In First Out) и LRU (Least Recently Used). При использовании алгоритма FIFO для замещения выбирается страница, которая дольше всего остается приписанной к виртуальной памяти. Алгоритм LRU предполагает, что замещать следует ту страницу, к которой дольше всего не происходили обращения.

18. Логическая файловая система ОС Windows NT.

В Windows много всего скрыто, нет жестких ссылок, логические тома (f:\...\).

Каталоги на разных дисках могут образовывать несколько отдельных деревьев – DOS/Windows. На самом деле, в DOS/Windows системах также, как и в UNIX-подобных существует один корневой каталог со вложенными директориями, имеющими названия «c:», «d:» и т. д. В эти каталоги монтируются разделы жёсткого диска. То есть, c:\ — это всего лишь ссылка на file:///c:/. Однако, в отличие от UNIX-подобных файловых систем, в Windows запись в корневой каталог запрещена, как и просмотр его содержимого.

Файловые системы Windows: FAT16, FAT32, NTFS.

Windows NT в своей новой файловой системе NTFS устанавливает, что имя файла может содержать до 255 символов, не считая завершающего нулевого символа.

Требования к NTFS (New Technology File System):

· Надежность и самосогласованность

· Высокая скорость работы

· Поддержка различных ЛФС

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

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

19. Логическая файловая система ОС UNIX.

Структура – дерево. Корневой каталог root ( /).

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

В UNIX существует только один корневой каталог, а все остальные файлы и каталоги вложены в него. Чтобы получить доступ к файлам и каталогам на каком-нибудь диске, необходимо примонтировать этот диск командой mount. Эту команду может вызывать только root.

Метаинформация находится в специальной таблице.

Основные каталоги:

Bim – все системные программные утилиты

Urs – юзеры

Tmp – временные файлы

Dev – устройства

Etc – конфигурация ОС

В Unix основные понятия: процесс, пользователь, файл.

Типы файлов в Unix:

  • Обычный файл
  • Каталог
  • Символическая ссылка (symlink) – в имени файла содержится имя другого файла
  • Именованный канал (named pipe)
  • Файлы устройств (байтовые или блочные устройства)
  • Сокеты

20. Физическая организация файловой системы. Файловая система FAT.

FAT от file allocation table таблица размещения файлов.

Переход с FAT16 на FAT32 вызван тем, что при использовании FAT16 размер дискового раздела не может быть больше 4 Гбайт (при кластере 64 Кбайт), FAT32 поддерживает разделы до 32 Гбайт (при кластере 16 Кбайт).

boot sector - загрузочный сектор обычно это первый сектор нулевой дорожки системной дискеты либо загрузочного раздела жёсткого диска (сектор 1, головка 0, цилиндр 0. Содержит начальный загрузчик (bootstrap loader) и данные о физической и логической организации диска (MBR ), необходимые для загрузки.

(Википедия) Раздел диска, отформатированный в системе FAT, имеет следующую структуру:

· загрузочный сектор;

· таблица размещения файлов — собственно FAT (обычно в двух экземплярах);

· корневой каталог;

· файлы.

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

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

21. Физическая организация файловой системы. Файловая система System V (s5fs).

Unix System V file system. Термины: PRU - физич блок (512б), LRU - логич блок. Структура: нулевой(загрузочный) блок, super block (содержит инф о ФС в целом: тип ФС (s5fs ), размер, размер логич блока, размер структуры iList, кол-во свободных блоков, кол-во свободных узлов…), inodes - область индексных дескрипторов, порядок расположения индексных дескрипторов в которой соотв их номерам(содержит тип файла и права доступа, число ссылок, размер, список номеров блоков входящих в файл…), блоки файлов.

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

+ простота (но сложнее FAT)

+эффективное исп-е диска

- крайне неустойчивая (из-за большого кол-ва списков)

- фиксированный размер iList

- проблема нулевого сектора

- медленные файловые операции как в FAT

22. Физическая организация файловой системы. Файловая система NTFS.

(New Technology File System, NT File System) файловая система NTFS файловая система Windows NT и Windows 2000, разработанная Microsoft. Поддерживает объектно-ориентированные приложения, рассматривая файлы как объекты с атрибутами, определёнными пользователями или системой. Подразумевает также метод логической разметки диска, управления дисковой памятью и организации доступа к файлам.

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

NTFS поддерживает систему метаданных и использует специализированные структуры данных для хранения информации о файлах для улучшения производительности, надёжности и эффективности использования дискового пространства. NTFS хранит информацию о файлах в главной файловой таблице - Master File Table (MFT). NTFS имеет встроенные возможности разграничивать доступ к данным для различных пользователей и групп пользователей (списки контроля доступа - Access Control Lists (ACL)), а также назначать квоты (ограничения на максимальный объём дискового пространства, занимаемый теми или иными пользователями). NTFS использует систему журналирования для повышения надёжности файловой системы.

Каждый файл на томе NTFS представлен записью в специальном файле, называемом главной файловой таблицей (MFA - master file table). NTFS резервирует первые 16 записей таблицы для специальной информации. Первая запись этой таблицы описывает непосредственно главную файловую таблицу;

за ней следует зеркальная запись (mirror record) MFT. Если первая запись MFT разрушена, то NTFS читает вторую запись для отыскания зеркального файла MFT, первая запись которого идентична первой записи MFT. Местоположения сегментов данных MFT и зеркального файла MFT записаны в секторе начальной загрузки. Дубликат сектора начальной загрузки находится в логическом центре диска.

Третья запись MFT - файл регистрации (log file); используется для восстановления файлов. Файл регистрации подробно описан в настоящей главе ниже. Семнадцатая и последующие записи главной файловой таблицы используются собственно файлами и каталогами (также рассматриваются как файлы NTFS) на томе. Каждый файл и каталог NTFS сост из набора атрибутов. Каждый атрибут файла сост из полей: тип атрибута, длина атр, значение атр и имя.

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

23. Управление вводом/выводом. Понятие аппаратного прерывания и его обработка.

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

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

Устройства ввода-вывода делятся на два типа: блок-ориентированные устройства и байт-ориентированные устройства. Блок-ориентированные устройства хранят информацию в блоках фиксированного размера, каждый из которых имеет свой собственный адрес. Самое распространенное блок-ориентированное устройство - диск. Байт-ориентированные устройства не адресуемы и не позволяют производить операцию поиска, они генерируют или потребляют последовательность байтов. Примерами являются терминалы, строчные принтеры, сетевые адаптеры. Электронный компонент называется контроллером устройства или адаптером. Операционная система имеет дело с контроллером. Контроллер выполняет простые функции, осуществляет контроль и исправляет ошибки. Каждый контроллер имеет несколько регистров, которые используются для взаимодействия с центральным процессором. ОС выполняет ввод-вывод, записывая команды в регистры контроллера. Контроллер гибкого диска IBM PC принимает 15 команд, таких как READ, WRITE, SEEK, FORMAT и т.д. Когда команда принята, процессор оставляет контроллер и занимается другой работой. При завершении команды контроллер организует прерывание для того, чтобы передать управление процессором операционной системе, которая должна проверить результаты операции. Процессор получает результаты и статус устройства, читая информацию из регистров контроллера.

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

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

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

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

Для решения поставленных проблем целесообразно разделить программное обеспечение ввода-вывода на четыре слоя (рисунок 2.30):

  • Обработка прерываний,
  • Драйверы устройств,
  • Независимый от устройств слой операционной системы,
  • Пользовательский слой программного обеспечения.

Права доступа к файлу

Каждому файлу сопоставлены три набора атрибутов доступа: для владельца, для группы и для всех остальных.

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

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

· создание файла,

· уничтожение файла,

· открытие файла,

· закрытие файла,

· чтение файла,

· запись в файл,

· дополнение файла,

· поиск в файле,

· получение атрибутов файла,

· установление новых значений атрибутов,

· переименование,

· выполнение файла,

· чтение каталога,

и другие операции с файлами и каталогами.

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

Различают два основных подхода к определению прав доступа:

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

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

26. Управление безопасностью. Задача администрирования вычислительной системы и компьютерной сети.

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

Обязанности сетевого администратора:

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

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

Администратор сети концентрируется на проектировании сети, проверке эффективности её использования и продумывании политики защиты информации.

(с) Wiki

27. Управление доступом к файлам в ОС UNIX.

http://www.lcard.ru/~nail/unix/glava_2.html

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

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

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

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

Каждый каталог и файл файловой системы имеет уникальное полное имя (в ОС UNIX это имя принято называть full pathname - имя, задающее полный путь, поскольку оно действительно задает полный путь от корня файловой системы через цепочку каталогов к соответствующему каталогу или файлу; мы будем использовать термин "полное имя", поскольку для pathname отсутствует благозвучный русский аналог). Каталог, являющийся корнем файловой системы (корневой каталог), в любой файловой системе имеет предопределенное имя "/" (слэш). Полное имя файла, например, /bin/sh означает, что в корневом каталоге должно содержаться имя каталога bin, а в каталоге bin должно содержаться имя файла sh. Коротким или относительным именем файла (relative pathname) называется имя (возможно, составное), задающее путь к файлу от текущего рабочего каталога (существует команда и соответствующий системный вызов, позволяющие установить текущий рабочий каталог).

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

Принципы защиты

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

Защита файлов

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

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

Наши рекомендации