![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Управление файлами и внешними устройствами осуществляется совместной работой двух подсистем - файловой системы и подсистемы ввода-вывода.
Файловая система (ФС), экранирует сложности взаимодействия с реальной аппаратурой при работе с данными. ФС виртуализирует для пользователя набор данных на внешнем накопителе в виде файла - последовательности байтов, имеющей символьное имя. Файлы группируются в каталоги. Пользователь может с помощью ОС выполнять над каталогами и файлами такие действия как создание, изменение, удаление, вывод содержимого, поиск по имени.
Файловая система выполняет преобразование символьных имен файлов в физические адреса данных на диске, организует совместный доступ к файлам, защищает их от несанкционированного доступа.
Подсистема ввода-вывода, или подсистема управления внешними устройствами, осуществляет передачу данных между дисками и оперативной памятью по запросам файловой системы. Эта подсистема, располагая набором драйверов различных устройств, обеспечивает также интерфейс между компьютером и устройствами, подключенными к нему.
Таким образом, ОС поддерживает высокоуровневый унифицированный интерфейс для написания прикладных программ. Со времени появления ОС Unix этот интерфейс в большинстве систем строится на концепции файлового доступа: обмен с внешним устройством выглядит как обмен с файлом. В качестве файла может выступать как реальный файл на диске, так и алфавитно-цифровой терминал, принтер или сетевой адаптер. Реальная аппаратура подменяется удобными для пользователя и программиста абстракциями.
Интерфейс прикладного программирования и пользовательский интерфейс.
Под интерфейсом прикладного программирования понимаются средства, предоставляемые операционной системой для обращения к ее возможностям при написании приложений. Традиционно термин «прикладное программирование» использовался как противоположный «системному программированию». Относительное различие системного и прикладного программирования заключается в том, что путем создания программ первое предполагает расширение возможностей операционной системы, а второе - решение задач из конкретной проблемной области. В данном случае это различие несущественно.
В программах обращения к ОС используются по крайней мере в следующих случаях:
- для выполнения действий с особым статусом, которым обладает только ОС (например, для управления аппаратными средствами компьютера); обычно это необходимо для более эффективного использования аппаратных ресурсов;
- для упрощения написания приложений посредством использования готовых отлаженных сервисных функций ОС, реализующих часто требующиеся универсальные действия.
Возможности ОС доступны программисту в виде набора функций, называющегося API (Application Programming Interface, интерфейс прикладного программирования). При этом для разработчика приложений все особенности конкретной ОС представлены особенностями ее API, поэтому операционные системы с различной внутренней организацией, но с одинаковым набором функций API представляются на этом уровне как одна ОС. Это упрощает стандартизацию ОС и обеспечивает переносимость приложений в рамках Ос одного стандарта. Например, следование общим стандартам API Unix позволяет говорить о некоторой обобщенной ОС Unix при существенных различиях внутренней организации версий этой ОС от разных производителей.
Приложения обращаются к функциям API с помощью системных вызовов. Способ организации системных вызовов зависит от структурной организации ОС, связанной с аппаратной платформой, и от языка программирования.
Так, в MS-DOS обращение к системным функциям осуществляется из программы на языке ассемблера путем вызова программного прерывания. Предварительно в регистры заносятся код системной функции и адрес размещения входных данных либо сами данные. Выходные данные возвращаются функцией в зависимости от ее назначения на устройство вывода либо через регистр. Термин API применительно к средствам вызова системных функций MS-DOS не использовался (он введен позже) и может быть применен только задним числом.
ОС Windows поддерживает объектно-ориентированный стиль программирования. Объектами являются окна. Поэтому работа с системными функциями Windows может осуществляться по тем же правилам, что и с пользовательскими функциями. Например, программу с использованием системных функций Windows можно реализовать в среде Delphi или на С++.
Функции WinAPI находятся в системных загружаемых библиотеках, таких как system32.dll, kernel32.dll, user32.dll, gdi32.dll и др. (каталог g:\WINDOWS\system32). Эти библиотеки используются самой ОС, поэтому они всегда находятся в памяти. Каждое приложение должно самостоятельно подключать библиотеки, содержащие необходимые ему функции.
Описания функций WinAPI на языке Си можно посмотреть через меню Пуск/Про- граммы/Borland Delphi 7/Help/MS SDK Help Files/Win32 Developer's References.
В ОС Unix вызов системных функций аналогичен вызову пользовательских; необходимые описания функций организованы в системных заголовочных файлах.
- Под пользовательским интерфейсом понимается совокупность средств, предоставляемая человеку, работающему в интерактивном режиме за терминалом. Это может быть конечный пользователь, администратор ОС или тот же программист, но взаимодействующий с программой «извне». От такого пользователя функции API скрыты за оболочкой текстового (алфавитно-цифрового) или графического интерфейса.
Современные ОС поддерживают функции пользовательского интерфейса двух типов:
- командный язык для работы с терминалом; команды вводятся по одной с терминала либо их последовательность считывается из командного файла и выполняются командным интерпретатором (разновидности Unix в их исходном варианте);
- графический пользовательский интерфейс (GUI); выполнению нужного действия соответствует выбор с помощью мыши пункта меню или пиктограммы, либо иные операции с визуальными элементами на экране.
К графическому интерфейсу можно отнести и нестандартные устройства ввода, образующих «физический» интерфейс (рули, панели различных устройств типа сканера и т.п.) в ОС Windows и разновидностях Unix, располагающих GUI.
- Защита данных и администрирование
Безопасность данных обеспечивается:
- средствами отказоустойчивости ОС (защита от сбоев и отказов аппаратуры и ошибок программного обеспечения);
1.4. средствами защиты от несанкционированного доступа (защита от ошибочного или злонамеренного поведения пользователей системы.
Функции защиты тесно связаны с функциями администрирования, так как именно администратор определяет права и возможности пользователей, отслеживает события, от которых зависит безопасность системы, и поддерживает отказоустойчивость (например, посредством утилит регулярно выполняя операции резервного копирования).
Рассмотрим функциональные компоненты сетевой ОС
Дата публикования: 2015-10-09; Прочитано: 4305 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!