Сетевые ОС являются многопользовательскими (в отличие от многозадачной Windows). При этом приходится следить за тем, кто запустил конкретную программу и кто пользуется открытым в системе файлом. Важную часть сетевой операционной системы являются проблемы доступа. Эти проблемы решаются с двух сторон: со стороны доступа к данным и со стороны привилегий пользователя. И в Windows NT, и в UNIX есть механизм кодирования уровня доступа к данным и кодирования привилегий пользователя таким образом, что система имеет возможность определить, имеет ли данный пользователь доступ к данному диску, каталогу или отдельному файлу. Кроме того, используются различные системы паролей, которые обеспечивают доступ к данным только того пользователя, который является владельцем этих данных или которому разрешено испоьзовать эти данные польностью или ограниченным образом (например, только для чтения).
3.2. Принципы работы операционной системы.
Любая операционная система предполагает, что всеми ее действиями управляет основная программа операционной системы – ядро операционной системы. Ее также называют диспетчером операционной системы. Эта программа всегда хранится в специальной области внешнего носителя (на ПК – на винчестере). При включении компьютера начинают работать зашитые в ПЗУ программы начальной загрузки компьютера, которые после тестирования основных устройств компьютера считывают диспетчер в оперативную память и передают ему управление. С этого момента вплоть до выключения компьютера его работа определяется диспетчером. Механизм этого управления однотипен.
Диспетчер операционной системы получает команды из внешней среды. Это могут быть текстовые команды, набранные на клавиатуре (как в случае системы MS DOS), или щелчки мышью, как в Windows, или сообщения, полученные от работающих программ. В любом случае диспетчер анализирует команду (или сообщение), находит субъекта этой команды или сообщения (а именно: служебную программу операционной системы (утилиту) или какую-либо пользовательскую программу) и определяет характеристики команды, передающие особенности ее выполнения.
После этого диспетчер команд запускает соответствующую служебную программу ОС или пользовательскую программу, передав ей полученные характеристики в качестве параметров. Термин «запускает» означает следующее. Сначала диспетчер, пользуясь своими таблицами состояния вычислительной системы, определяет, загружена ли эта программа уже в оперативную память или еще нет. Если нет, то в оперативной памяти ищется незанятое место, выделяется участок необходимого размера и затем программа (или ее фрагмент) считывается из внешней памяти в данный участок ОЗУ. Для этого используются таблицы размещения файлов (и в том числе программ) на внешних носителях. При этом загруженная программа снабжается дополнительными программными блоками, которые должны обеспечить возвращение управления к диспетчеру операционной системы после временного или окончательного прекращения работы программы. После этого управление передается на загруженную программу (с технической точки зрения для этого необходимо всего лишь занести в счетчик команд процессора адрес начала участка, где была размещена загруженная команда).
Подавляющее большинство действий операционная система выполняет по запросам работающих программ. Схема выполнения такого запроса следующая. В том месте программы, где ей необходимо выполнить, например, операцию ввода – вывода или выделения дополнительной оперативной памяти, ставится специальная команда, посылающая процессору так называемое программное прерывание. После этого процессор передает управление на блок обработки прерываний, который входит в состав диспетчера операционной системы, и последний в свою очередь, передает управление собственно диспетчеру. Диспетчер выполняет все вспомогательные действия (поиск или загрузка нужной утилиты, формирование параметров вызова, заполнение стека возврата), после чего передает управление утилите. Утилита выполняет нужные операции, после чего возвращает управление диспетчеру операционной системы. Диспетчер заканчивает операцию (при этом модифицируются таблицы описания текущего состояния вычислительного процесса и файловой системы) и передает управление основной программе, которая продолжает свою работу.
8th Май 2011
|
Теги:
|