- •1. Задачи и функции операционной системы компьютера. Классификация ос. Основные современные ос.
- •2, 4. Архитектура современных ос. Структура ос unix.
- •3. Архитектура современных ос. Структура ос Windows nt.
- •4. Архитектура современных ос. Системы с монолитным (макро-) ядром и с микроядром.
- •5. Архитектура современных ос. Ос с множественными интерфейсами прикладных программ на примере ос Windows nt.
- •6. Процессы и потоки в ос. Понятие процесса. Атрибуты процесса. Создание нового процесса в различных ос.
- •7, 6. Процессы и потоки в ос. Понятие процесса. Жизненный цикл процесса. Различные состояния процесса.
- •8. Процессы и потоки в ос. Понятие нити (thread). Основные отличия нити от процесса.
- •9, 11, 12. Процессы и потоки в ос. Необходимость синхронизации при работе с общими ресурсами. Способы синхронизации.
- •10. Механизмы синхронизации. Понятие семафора (semaphore) и основные операции с ним. Двоичный семафор.
- •11. Механизмы синхронизации. Понятие мьютекса (mutex) и основные операции с ним. Пример использования мьютекса для синхронизации нитей.
- •12. Механизмы синхронизации. Сравнение мьютекса и двоичного семафора.
- •13. Управление оперативной памятью. Способы защиты оперативной памяти процесса от случайного или злонамеренного вторжения из другого процесса. Сегментная организация памяти. Виртуальная память.
- •14, 13, 15. Управление оперативной памятью. Понятие виртуальной памяти. Поддержка вп со стороны процессора (на примере процессора Intel x86). Перевод виртуального адреса в адрес реальной памяти.
- •15. Управление оперативной памятью в современных ос. Виртуальная память процесса и ее отображение в реальную оперативную память компьютера. Файл подкачки.
- •16. Цели и задачи файловой системы ос. Многоуровневая организация файловой системы. Логическая и физическая фс.
- •17. Управление виртуальной памятью в современных ос. Алгоритмы подкачки и вытеснения.
- •18. Логическая файловая система ос Windows nt.
- •19. Логическая файловая система ос unix.
- •20. Физическая организация файловой системы. Файловая система fat.
- •21. Физическая организация файловой системы. Файловая система System V (s5fs).
- •22. Физическая организация файловой системы. Файловая система ntfs.
- •23. Управление вводом/выводом. Понятие аппаратного прерывания и его обработка.
- •24. Управление вводом/выводом. Синхронный и асинхронный ввод/вывод.
- •25. Управление безопасностью. Пользователь, его атрибуты и права доступа.
- •26. Управление безопасностью. Задача администрирования вычислительной системы и компьютерной сети.
- •27. Управление доступом к файлам в ос unix.
- •28. Управление доступом к файлам в ос Windows nt. Списки прав доступа.
- •29. Язык программирования Java. Виртуальная машина Java. Технология Java.
- •30. Платформа .Net. Основные идеи и положения. Языки программирования .Net.
- •31. Функциональные компоненты ос. Управление файлами
- •32. Функциональные компоненты ос. Управление процессами.
- •33. Функциональные компоненты ос. Безопасность и защита данныx.
- •34. Функциональные компоненты ос. Пользовательский интерфейс.
- •35. Функциональные компоненты ос. Управление оперативной памятью.
- •36. Компьютерные сети. Сетевые ос и их задачи.
- •37. Компьютерные сети. Протоколы tcp/ip. Интернет.
- •38. Переносимость программного обеспечения. Стандарты операционных систем.
- •1. Стандарт cp/m
- •2. Операционные системы типа dos
- •3. Стандарт msx
- •4. Операционные системы, основанные на графическом интерфейсе
- •6. Операционные системы семейства unix
26. Управление безопасностью. Задача администрирования вычислительной системы и компьютерной сети.
Системные администраторы — сотрудники, в обязанности которых входит не только слежение за сетевой безопасностью организации, но и создание оптимальной работоспособности компьютеров и программного обеспечения для пользователей, часто связанных между собой общей работой на определенный результат.
Обязанности сетевого администратора:
установка, конфигурирование и поддержание в рабочем состоянии сетевого оборудования;
мониторинг сети и своевременное обнаружение и устранение «узких мест»;
определение и назначение сетевых адресов компьютерам и устройствам сети;
выбор и конфигурирование сетевых протоколов;
настройка таблиц маршрутизации;
управление доступом к разделяемым ресурсам;
Иногда, к этим обязанностям добавляется установка и поддержка сетевых сервисов, таких как файловый сервер, шлюз VPN и т. п.
Администратор сети концентрируется на проектировании сети, проверке эффективности её использования и продумывании политики защиты информации.
27. Управление доступом к файлам в ос unix.
Человек, зарегистрированный в учетных файлах системы, и, следовательно, имеющий учетное имя, называется зарегистрированным пользователем системы. Регистрацию новых пользователей обычно выполняет администратор системы. Пользователь не может изменить свое учетное имя, но может установить и/или изменить свой пароль. Пароли хранятся в отдельном файле в закодированном виде. Не забывайте свой пароль, снова узнать его не поможет даже администратор!
Все пользователи ОС UNIX явно или неявно работают с файлами. Файловая система ОС UNIX имеет древовидную структуру. Промежуточными узлами дерева являются каталоги со ссылками на другие каталоги или файлы, а листья дерева соответствуют файлам или пустым каталогам. Каждому зарегистрированному пользователю соответствует некоторый каталог файловой системы, который называется "домашним" (home) каталогом пользователя. При входе в систему пользователь получает неограниченный доступ к своему домашнему каталогу и всем каталогам и файлам, содержащимся в нем. Пользователь может создавать, удалять и модифицировать каталоги и файлы, содержащиеся в домашнем каталоге. Потенциально возможен доступ и ко всем другим файлам, однако он может быть ограничен, если пользователь не имеет достаточных привилегий.
Реально на каждом логическом диске (разделе физического дискового пакета) располагается отдельная иерархия каталогов и файлов. Для получения общего дерева в динамике используется "монтирование" отдельных иерархий к фиксированной корневой файловой системе.
Замечание: в мире ОС UNIX по историческим причинам термин "файловая система" является перегруженным, обозначая одновременно иерархию каталогов и файлов и часть ядра, которая управляет каталогами и файлами. Видимо, было бы правильнее называть иерархию каталогов и файлов архивом файлов, а термин "файловая система" использовать только во втором смысле. Однако, следуя традиции ОС UNIX, мы будем использовать этот термин в двух смыслах, различая значения по контексту.
Каждый каталог и файл файловой системы имеет уникальное полное имя (в ОС UNIX это имя принято называть full pathname - имя, задающее полный путь, поскольку оно действительно задает полный путь от корня файловой системы через цепочку каталогов к соответствующему каталогу или файлу; мы будем использовать термин "полное имя", поскольку для pathname отсутствует благозвучный русский аналог). Каталог, являющийся корнем файловой системы (корневой каталог), в любой файловой системе имеет предопределенное имя "/" (слэш). Полное имя файла, например, /bin/sh означает, что в корневом каталоге должно содержаться имя каталога bin, а в каталоге bin должно содержаться имя файла sh. Коротким или относительным именем файла (relative pathname) называется имя (возможно, составное), задающее путь к файлу от текущего рабочего каталога (существует команда и соответствующий системный вызов, позволяющие установить текущий рабочий каталог).
В каждом каталоге содержатся два специальных имени, имя ".", именующее сам этот каталог, и имя "..", именующее "родительский" каталог данного каталога, т.е. каталог, непосредственно предшествующий данному в иерархии каталогов.
Принципы защиты
Поскольку ОС UNIX с самого своего зарождения задумывалась как многопользовательская операционная система, в ней всегда была актуальна проблема авторизации доступа различных пользователей к файлам файловой системы. Под авторизацией доступа мы понимаем действия системы, которые допускают или не допускают доступ данного пользователя к данному файлу в зависимости от прав доступа пользователя и ограничений доступа, установленных для файла. Схема авторизации доступа, примененная в ОС UNIX, настолько проста и удобна и одновременно настолько мощна, что стала фактическим стандартом современных операционных систем (не претендующих на качества систем с многоуровневой защитой).
Идентификаторы пользователя и группы пользователей
С каждым выполняемым процессом в ОС UNIX связываются реальный идентификатор пользователя (real user ID), действующий идентификатор пользователя (effective user ID) и сохраненный идентификатор пользователя (saved user ID). Все эти идентификаторы устанавливаются с помощью системного вызова setuid, который можно выполнять только в режиме суперпользователя. Аналогично, с каждым процессом связываются три идентификатора группы пользователей - real group ID, effective group ID и saved group ID. Эти идентификаторы устанавливаются привилегированным системным вызовом setgid.
При входе пользователя в систему программа login проверяет, что пользователь зарегистрирован в системе и знает правильный пароль (если он установлен), образует новый процесс и запускает в нем требуемый для данного пользователя shell. Но перед этим login устанавливает для вновь созданного процесса идентификаторы пользователя и группы, используя для этого информацию, хранящуюся в файлах /etc/passwd и /etc/group. После того, как с процессом связаны идентификаторы пользователя и группы, для этого процесса начинают действовать ограничения для доступа к файлам. Процесс может получить доступ к файлу или выполнить его (если файл содержит выполняемую программу) только в том случае, если хранящиеся при файле ограничения доступа позволяют это сделать. Связанные с процессом идентификаторы передаются создаваемым им процессам, распространяя на них те же ограничения. Однако в некоторых случаях процесс может изменить свои права с помощью системных вызовов setuid и setgid, а иногда система может изменить права доступа процесса автоматически.
И для идентификатора пользователя, и для идентификатора группы реальный ID является истинным идентификатором, а действующий ID - идентификатором текущего выполнения. Если текущий идентификатор пользователя соответствует суперпользователю, то этот идентификатор и идентификатор группы могут быть переустановлены в любое значение системными вызовами setuid и setgid. Если же текущий идентификатор пользователя отличается от идентификатора суперпользователя, то выполнение системных вызовов setuid и setgid приводит к замене текущего идентификатора истинным идентификатором (пользователя или группы соответственно).
Защита файлов
Как принято в многопользовательской операционной системе, в UNIX поддерживается единообразный механизм контроля доступа к файлам и справочникам файловой системы. Любой процесс может получить доступ к некоторому файлу в том и только в том случае, если права доступа, описанные при файле, соответствуют возможностям данного процесса.
Защита файлов от несанкционированного доступа в ОС UNIX основывается на трех фактах. Во-первых, с любым процессом, создающим файл (или справочник), ассоциирован некоторый уникальный в системе идентификатор пользователя (UID - User Identifier), который в дальнейшем можно трактовать как идентификатор владельца вновь созданного файла. Во-вторых, с каждый процессом, пытающимся получить некоторый доступ к файлу, связана пара идентификаторов - текущие идентификаторы пользователя и его группы. В-третьих, каждому файлу однозначно соответствует его описатель - i-узел.
На последнем факте стоит остановиться более подробно. Важно понимать, что имена файлов и файлы как таковые - это не одно и то же. В частности, при наличии нескольких жестких связей с одним файлом несколько имен файла реально представляют один и тот же файл и ассоциированы с одним и тем же i-узлом. Любому используемому в файловой системе i-узлу всегда однозначно соответствует один и только один файл. I-узел содержит достаточно много разнообразной информации (большая ее часть доступна пользователям через системные вызовы stat и fstat), и среди этой информации находится часть, позволяющая файловой системе оценить правомощность доступа данного процесса к данному файлу в требуемом режиме.
Общие принципы защиты одинаковы для всех существующих вариантов системы: Информация i-узла включает UID и GID текущего владельца файла (немедленно после создания файла идентификаторы его текущего владельца устанавливаются соответствующими действующим идентификатором процесса-создателя, но в дальнейшем могут быть изменены системными вызовами chown и chgrp). Кроме того, в i-узле файла хранится шкала, в которой отмечено, что может делать с файлом пользователь - его владелец, что могут делать с файлом пользователи, входящие в ту же группу пользователей, что и владелец, и что могут делать с файлом остальные пользователи. Мелкие детали реализации в разных вариантах системы различаются.
