Поскольку размер основной памяти недостаточен для постоянного хранения всех программ и данных, в компьютерной системе должна быть предусмотрена вторичная (внешняя) память для откачки (back up, swapping) части содержимого основной памяти.
В большинстве компьютерных систем в качестве главной вторичной памяти для хранения программ и данных используются диски.
ОС отвечает за выполнение следующих действий, связанных с управлением дисками:
Управление свободной дисковой памятью; Выделение дисковой памяти; Диспетчеризация дисков (disk scheduling). При управлении вторичной памятью возникают проблемы, аналогичные проблемам распределения основной памяти. Всякая память, даже самая большая по объему, рано или поздно может исчерпаться, либо фрагментироваться на множество мелких областей свободной памяти. О методах управления основной и внешней памятью речь пойдет подробно ниже в специальных разделах курса.
Управление сетевыми (распределенными) системами.Как уже было сказано в более ранних лекциях, распределенная система – это совокупность процессоров, которые не используют общую память или часы (такты процессора). Каждый процессор имеет собственную локальную память. Процессоры в такой системе соединены в сеть. Сетевое взаимодействие выполняется по определенному протоколу(интерфейсу, набору операций). Наиболее распространенный сетевой протокол – TCP/IP, основанный на IP-адресахмашин (hosts); например, 190.100.125.1.
В распределенной системе ОС обеспечивает доступ пользователей к различным общим сетевым ресурсам– например, файловым системам или принтерам. Каждому общему ресурсу ОС присваивает определенное сетевое имя и управляет возможностью доступа к нему с различных компьютеров сети. ОС обеспечивает также удаленный запуск программна другом компьютере сети – возможность входа на другой компьютер и работы на нем, с использованием памяти, процессора и диска удаленной, как правило, более мощной машины, и использованием клиентского компьютера в качестве терминала. В Windows такая возможность называется удаленный рабочий стол (remote desktop connection),в UNIX, LINUX, Solaris – rsh (remote shell)и rlogin (remote login).
Доступ к общим ресурсам (shared resource) в распределенной системе позволяет:
Ускорить вычисления; Расширить границы доступа к данным; Обеспечить более высокую надежность. Система защиты (ptotection)
Термин защита (protection)используется для обозначения механизма управления доступом программ, процессов и пользователей к системным и пользовательским ресурсам.
Механизм защиты в ОС должен обеспечивать следующие возможности:
Различать авторизованный,или санкционированный (authorized)и несанкционированный (unauthorized)доступ. Под авторизациейпонимается предоставление операционной системой пользователю или программе какого-либо определенного набора полномочий (permissions),например, возможности чтения или изменения файлов в файловой системе с общим доступом.
Описывать предназначенные для защиты элементы управления (конфигурации). Например, в UNIX используются специальные текстовые конфигурационные файлы для представления информации о файловых системах, к которым возможен сетевой доступ, с указанием списка машин (хостов), с которых возможен доступ, и набора действий, которые могут быть выполнены.
Обеспечивать средства выполнения необходимых для защиты действий (сигналы, исключения, блокировка и др.). Например, система защиты ОС должна фильтровать сетевые пакеты, получаемые извне локальной сети, выбирать и отсеивать "неблагонадежные" (получаемые с подозрительных IP-адресов), сообщать пользователю об обнаруженных и ликвидированных попытках сетевых атак с целью "взлома" Вашего компьютера (что и происходит на практике, например, при работе в Windows, когда Вы выходите с Интернет с Вашего компьютера). Если Вы нарушили условия защиты (например, Ваша программа попыталась обратиться к файлу, работать с которым у Вас нет полномочий), ОС должна выдать понятное сообщение и прекратить работу программы. В современных системах это делается с помощью генерации исключений (exceptions),например, SecurityException.