Представление о структуре операционной системы

16.4.1. Операционная система в виде набора функций

Обобщенная структура операционной системы представлена на рис. 16.6. Любая операционная система, независимо от ее структуры, имеет определенный набор функциональных компонентов.

Рис. 16.6. Обобщенная структура операционной системы

 

Управление процессами

Понятие процесса является одним из наиболее важных в операционной систе­ме. Процесс — выполнение в процессоре компьютера инструкций программы. До тех пор, пока набор команд процессора записан на диск в виде файла, он является программой. Когда же этот набор команд загружается в память компьютера и на­чинает последовательно выполняться, он становится процессом. Поскольку мы говорим о многозадачных системах, то в памяти компьютера одновременно на­ходится и выполняется несколько таких последовательностей. Причем процессор, согласно заданным параметрам, периодически останавливает выполнение одной последовательности команд и переходит к другой, к третьей. Та последовательность команд, которая в данный момент не выполняется, должна хранить свое состояние, чтобы процессор мог продолжить ее выполнение с места ее остановки. Таким об­разом, любой процесс связан с памятью, которую он занимает, с точкой выполнения (счетчиком команд), пользователем и связанными ресурсами (открытыми файла­ми, соединениями или устройствами компьютера). Вся совокупность этих данных описывает состояние процесса и хранится в таблице процесса. Операционная система должна быть способна:

□ создавать или уничтожать системные и пользовательские процессы;

□ приостанавливать и возобновлять выполнение процесса;

□ поддерживать механизм синхронизации, взаимодействия и взаимного блоки­рования процессов.

Управление основной памятью

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

Операционная система отвечает за следующие аспекты управления основной памятью:

□ следит за тем, какая часть памяти каким процессом или устройством исполь­зуется;

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

□ выделяет и освобождает память.

Управление файлами

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

Логическая единица хранения данных — это файл. Файловая система определяет формат содержимого и физического хранения файлов. Для облегчения работы с файлами файлы объединяют в каталоги (папки). Для манипуляции с файлами операционная система должна предоставлять следующую функциональность:

□ создание и удаление файлов;

□ создание и удаление каталогов;

□ поддержка базовых команд для манипулирования файлами и каталогами;

□ осуществление резервного копирования.

Управление системой ввода-вывода

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

□ общий интерфейс с драйверами устройств ввода-вывода;

□ драйверы для некоторых устройств;

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


 

Смысл буферизации — избавление от взаимозависимости двух устройств (про­цессов) при вводе и выводе данных.

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

Управление дисковой памятью

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

□ управление свободным пространством на диске;

□ выделение дисковой памяти для хранения программ и данных;

□ планирование использования дисковой памяти.

Управление сетевыми соединениями

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

Обеспечение безопасности

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

Интерпретатор команд

Операционная система нуждается в средствах общения с пользователем (опе­ратором). Как уже отмечалось, общее название этого средства — оболочка. В ка­честве оболочки может выступать программа с интерфейсом командной строки (командный интерпретатор MS-DOS, UNIX или Linux) или оконная оболочка (так называемый дружественный пользователю интерфейс), позволяющая манипули­ровать графическими объектами (окнами) на экране при помощи мыши. Оконную оболочку на сегодняшний день имеют практически все известные операционные системы, предназначенные для использования в персональных компьютерах.

16.4.2. Системные службы операционной системы

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

□ Выполнение программ. Операционная система должна уметь загружать про­грамму в основную память и запускать ее. Программе должна быть предостав­лена возможность завершить работу нормально или же с ошибкой в случае внутреннего сбоя.

□ Операции ввода-вывода. Когда прикладная программа запущена, у нее может возникнуть потребность в осуществлении операций ввода-вывода как со стан­дартных системных устройств (дисплей и клавиатура), так и с дополнительных устройств хранения, передачи или обработки данных. Операционная система

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

□ Взаимодействие с файловой системой. Операционная система должна предо­ставлять возможность программе осуществлять операции с файлами и ката­логами; программа должна получить механизм для создания, записи, чтения, поиска, удаления или изменения файлов.

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

□ Обработка ошибок. Работающим программам, как и создающим их людям, свой­ственно время от времени допускать ошибки. Операционная система должна уметь обнаруживать эти ошибки и правильно их обрабатывать (не допуская потери устойчивости, блокирования каналов ввода-вывода или других коммуни­кационных каналов, бесполезного расходования областей основной памяти ОС). Для каждого типа возможных ошибок в операционной системе должны быть предусмотрены действия, обеспечивающие изоляцию ошибки и продолжение дальнейшей работы операционной системы в нормальном устойчивом режиме.

□ Распределение ресурсов. Поскольку современные операционные системы явля­ются многопользовательскими и многозадачными, операционная система долж­на уметь распределять ресурсы системы между несколькими пользователями и заданиями с наибольшей эффективностью.

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

16.4.3. Представление операционной системы в виде слоев

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


Пятый слой: пользовательские программы Третий слой: взаимодействие с консолью и оператором

 

Второй слои упршттъ памятью Первый слои управление центральным процессором Нуяе&ои сяои аппаратное обеспечение компьютера

Рис. 16.7. Разделение на слои в операционной системе THE








Дата добавления: 2016-04-14; просмотров: 3310;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.