Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Часть операционной системы, которая определяет интерфейс между операционной системой и пользователем, часто называется оболочкой (shell). Задача оболочки состоит в том, чтобы взаимодействовать с пользователем машины. Современные оболочки выполняют эту задачу с помощью графического пользовательского интерфейса (GUI – graphical user interface), в котором объекты, такие как файлы и программы, представлены на экране компьютера в виде значков. Эти системы позволяют пользователям отдавать команду одним щелчком мыши на значке. Более ранние оболочки общались с пользователем с помощью текстовых сообщений, которые вводились с клавиатуры и отображались на экране. Такой способ общения называется интерфейс командной строки (CLI – command line interface).
Хотя оболочка операционной системы играет важную роль в обеспечении функциональных возможностей машины, она все же является просто интерфейсом между пользователем и основным компонентом операционной системы. Разделение на оболочку и внутреннюю часть операционной системы подчеркивается тем фактом, что некоторые системы позволяют пользователю самому выбирать оболочку, с которой ему удобно работать. Например, пользователи операционной системы UNIX имеют возможность выбирать среди разных оболочек, таких как оболочки Borne, С и Korne. Ранние версии Microsoft Windows были, в сущности, оболочками замещения для MS-DOS. Во всех этих случаях операционная система остается такой же, меняется только способ общения с пользователями.
Главным компонентом современного графического пользовательского интерфейса является устройство управления окнами (window manager), которое размещает окна на экране компьютера и отслеживает, какому приложению принадлежит данное окно. Когда приложению нужно что-то вывести на экран, оно извещает об этом программу управления окнами, которая и помещает необходимое изображение в окно данного приложения. Точно так же, когда пользователь щелкает кнопкой мыши, именно программа управления окнами вычисляет местоположение указателя на экране и сообщает соответствующему приложению о совершенном действии.
В отличие от оболочки, внутренняя часть операционной системы называется ядром (kernel). Ядро операционной системы содержит программы, обеспечивающие функционирование компьютера. Один из таких элементов называется программой управления файлами (file manager), которая координирует использование запоминающих устройств машины. Точнее говоря, программа управления файлами ведет учет всех файлов, хранящихся в машине, включая информацию о том, где они находятся, каким пользователям разрешено с ними работать, какие участки накопителя свободны для записи новых или расширения имеющихся файлов.
Для того чтобы пользователю было удобно работать с файлами, большинство программ управления файлами позволяют группировать файлы в каталоги (directory) или папки (folder). Такой подход помогает пользователям организовывать файлы согласно своим собственным целям. Более того, благодаря тому что каталоги могут включать в себя другие каталоги, называемые подкаталогами, можно создавать иерархические структуры файлов.
Доступ к файлу других программ осуществляется с помощью программы управления файлами. Процедура начинается с того, что у программы управления файлами запрашивается доступ к файлу с помощью процесса, который называется открытием файла. Если программа управления файлами разрешает доступ, она дает информацию, необходимую для нахождения и обработки файла. Эта информация хранится в области памяти, которая называется описателем файла (file descriptor). Именно с помощью обращения к описателю файла выполняются отдельные операции над файлом.
Другим компонентом ядра операционной системы является набор драйверов устройств (device drivers), которые представляют собой программы, взаимодействующие с контроллерами (или иногда непосредственно с периферийными устройствами) для выполнения устройствами заданий, назначенных машине. Каждый драйвер разрабатывается специально для определенного устройства (такого как принтер, дисковод или монитор) и преобразует общие запросы в набор более формальных шагов, понятных устройству, подключенному к этому драйверу. Например, драйвер принтера содержит программы для чтения и расшифровывания слова, состояния этого принтера. Поэтому другим элементам программного обеспечения не нужно обладать сведениями о технических формальностях, чтобы распечатать файл. Таким образом, другие программы не зависят от характеристик отдельного устройства. В результате мы имеем операционную систему, которую можно настроить для работы с разными периферийными устройствами, просто установив соответствующий драйвер.
Еще один компонент ядра операционной системы называется модулем управления памятью (memory manager). Он отвечает за управление тем, как машина использует оперативную память. Эти обязанности сводятся к минимуму в условиях, когда от машины требуется выполнение только одного задания единовременно. В этих случаях программа текущей задачи помещается в оперативную память, выполняется, а затем заменяется программой, исполняющей следующую задачу. Однако в условиях коллективного использования машины или многозадачности, когда машина должна выполнять несколько заданий одновременно, модуль управления памятью имеет более широкий круг обязанностей. В этих случаях программы и совокупности данных должны размещаться в оперативной памяти одновременно, каждая в своей области, выделенной модулем управления памятью. По мере выполнения разных заданий модуль управления памятью должен удовлетворять их требованиям к памяти и отслеживать, какие области памяти в данный момент свободны.
Задача модуля управления памятью еще более усложняется, когда область памяти, необходимая для выполнения задачи, превышает пространство, доступное в машине. В этом случае модуль управления памятью может создать иллюзию дополнительного пространства, перемещая программы между оперативной памятью и запоминающим устройством. Предположим, например, что требуется 256 Мбайт памяти, а доступно только 128 Мбайт. Для того чтобы создать иллюзию области памяти большего размера, модуль управления памятью разбивает требуемое пространство на элементы, которые называются страницами (pages) и сохраняет их содержимое на запоминающем устройстве. (Обычно размер одной страницы не превышает нескольких килобайтов.) Поскольку в определенный момент времени требуются не все страницы, модуль управления памятью помещает в оперативную память только необходимые страницы; таким образом, задача выполняется, как если бы все 256 Мбайт памяти были доступны. Такая память называется виртуальной (virtual memory). Также в ядро операционной системы входят планировщик (scheduler) и диспетчер (dispatcher), которые мы рассмотрим в следующем разделе. Сейчас же следует заметить, что в системах с разделением времени планировщик определяет, какие действия будут выполняться, а диспетчер распределяет кванты времени между этими действиями.
Дата публикования: 2014-11-03; Прочитано: 405 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!