Особенности алгоритмов управления ресурсами

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

Поддержка многозадачности.

По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:

· однозадачные (например, MS-DOS, MSX);

· многозадачные (ОС ЕС, OS/2, UNIX, Windows).
Однозадачные ОС в основном выполняют функцию предос­тавления пользователю виртуальной машины, делая более про­стым и удобным процесс взаимодействия пользователя с ком­пьютером. Однозадачные ОС включают средства управления пе­риферийными устройствами, средства управления файлами, средства общения с пользователем.

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

Поддержка многопользовательского режима.

По числу одновременно работающих пользователей ОС де­лятся на:

· однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2, фактически Windows 9x/Me);

· многопользовательские (UNIX, Windows NT/2000/XP).

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

Вытесняющая и невытесняющая многозадачность.

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

· невытесняющая многозадачность (NetWare, Windows 3.x, Windows 9x/Me);

· вытесняющая многозадачность (Windows NT/2000/XP, OS/2, UNIX).
Основным различием между вытесняющим и невытесняю­щим вариантами многозадачности является степень централи­зации механизма планирования процессов. В первом случае ме­ханизм планирования процессов целиком сосредоточен в опе­рационной системе, а во втором - распределен между систе­мой и прикладными программами. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление опе­рационной системе для того, чтобы та выбрала из очереди дру­гой готовый к выполнению процесс. При вытесняющей много­задачности решение о переключении процессора с одного про­цесса на другой принимается операционной системой, а не са­мим активным процессом.

Поддержка многонитевости.

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

Многопроцессорная обработка.

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

В наши дни становится общепринятым введение в ОС функ­ций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT/2000/XP фирмы Microsoft и NetWare 4.1 фирмы Novell.

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

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

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

 

Файловые системы

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

В широком смысле понятие "файловая система" включает:

· совокупность всех файлов на диске,

· наборы структур данных, используемых для управления файлами, такие, например, как каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске,

· комплекс системных программных средств, реализующих управление файлами, в частности: создание, уничтожение, чтение, запись, именование, поиск и другие операции над файлами.

Имена файлов

Файлы идентифицируются именами. Пользователи дают файлам символьные имена, при этом учитываются ограничения ОС как на используемые символы, так и на длину имени. До недавнего времени эти границы были весьма узкими. Так в популярной файловой системе FAT длина имен ограничивается известной схемой 8.3 (8 символов - собственно имя, 3 символа - расширение имени), а в ОС UNIX System V имя не может содержать более 14 символов. Однако пользователю гораздо удобнее работать с длинными именами, поскольку они позволяют дать файлу действительно мнемоническое название, по которому даже через достаточно большой промежуток времени можно будет вспомнить, что содержит этот файл. Поэтому современные файловые системы, как правило, поддерживают длинные символьные имена файлов. Например, Windows NT/2000 в своей файловой системе NTFS устанавливает, что имя файла может содержать до 255 символов, не считая завершающего нулевого символа.

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

Длинные имена поддерживаются не только новыми файловыми системами, но и новыми версиями хорошо известных файловых систем. Например, в ОС Windows 95 используется файловая система VFAT (FAT32), представляющая собой существенно измененный вариант FAT. Среди многих других усовершенствований одним из главных достоинств VFAT является поддержка длинных имен. Кроме проблемы генерации эквивалентных коротких имен, при реализации нового варианта FAT важной задачей была задача хранения длинных имен при условии, что принципиально метод хранения и структура данных на диске не должны были измениться.

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

Типы файлов

Файлы бывают разных типов: обычные файлы, специальные файлы, файлы-каталоги.

Обычные файлы в свою очередь подразделяются на текстовые и двоичные. Текстовые файлы состоят из строк символов, представленных в ASCII-коде. Это могут быть документы, исходные тексты программ и т.п. Текстовые файлы можно прочитать на экране и распечатать на принтере. Двоичные файлы не используют ASCII-коды, они часто имеют сложную внутреннюю структуру, например, объектный код программы или архивный файл. Все операционные системы должны уметь распознавать хотя бы один тип файлов - их собственные исполняемые файлы.

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

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

В разных файловых системах могут использоваться в качестве атрибутов разные характеристики, например:

· информация о разрешенном доступе,

· пароль для доступа к файлу,

· владелец файла,

· создатель файла,

· признак "только для чтения",

· признак "скрытый файл",

· признак "системный файл",

· признак "архивный файл",

· признак "двоичный/символьный",

· признак "временный" (удалить после завершения процесса),

· признак блокировки,

· длина записи,

· указатель на ключевое поле в записи,

· длина ключа,

· времена создания, последнего доступа и последнего изменения,

· текущий размер файла,

· максимальный размер файла.

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

Иерархия каталогов может быть деревом или сетью. Каталоги образуют дерево, если файлу разрешено входить только в один каталог, и сеть - если файл может входить сразу в несколько каталогов. В MS-DOS каталоги образуют древовидную структуру, а в UNIX'е - сетевую. Как и любой другой файл, каталог имеет символьное имя и однозначно идентифицируется составным именем, содержащим цепочку символьных имен всех каталогов, через которые проходит путь от корня до данного каталога.

Рис. 4.5. Структура каталогов:

а - структура записи каталога MS-DOS (32 байта);

б - структура записи каталога ОС UNIX

 

 

 

Рис. 4.6. Логическая организация файловой системы

а - одноуровневая; б - иерархическая (дерево); в - иерархическая (сеть)

 








Дата добавления: 2015-12-22; просмотров: 1998;


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

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

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

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