Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2_teoria.doc
Скачиваний:
2
Добавлен:
25.09.2019
Размер:
687.62 Кб
Скачать

4.2.Понятия «процесс» и «поток»

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

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

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

11. Файловая система. Форматирование диска и создание разделов. Загрузочная запись. Таблица размещения файлов. Директория (каталог, папка, folder), файл (file).

Дерево файловой системы, корневой каталог, текущая директория. Прямой и последовательный доступ к файлам. Символическая связь файлов. Типы файлов. Атрибуты файлов. Распределенные файловые системы. NFS. Монтирование сетевых директорий и дисков в DOS, Win, UNIX. Файловая система FAT. Таблица размещения файлов. Системная область и область данных. Структура логического диска. FAT16, FAT32, HPFS, NTFS. Производительность, надежность, емкость. Линейная структура и бинарные деревья для поиска файлов. Транзакция и откат.

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

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

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

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

Таблица размещение файлов

Сама таблица размещение файлов не является файлом. Она может

быть считана при помощи функций DOS или BIOS непосредственно чи-

тающих определенные сектора диска. В пункте [5.1.1] содержится

вся информация необходимая для нахождения и чтения FAT. К счастью,

операционная система обеспечивает функцию, которая возвращает

идентификационный байт диска.

Директория (каталог, папка, folder), файл (file)

КАТАЛОГ, директорий, папка [directory, folder]. 1. Список файлов и подкаталогов. В файловой системе — файл, предназначенный для регистрации имен других файлов и обеспечения к ним доступа по зарегистрированным именам. К. содержит данные, описывающие группу файлов, размещенных на устройстве памяти с прямым доступом (обычно, на магнитном или лазерном диске). Например, в персональных IBM-совместимых компьютерах в К. хранятся имена файлов, сведения об их типе (исполняемый, текстовый и т. п.), размере и времени последнего обновления, а также указатели места их расположения на диске. Если в К. хранится имя файла, то говорят, что этот файл находится или содержится в данном К. В любом К. кроме файлов могут содержаться другие К., называемые подкаталогами. На каждом диске имеется один главный или корневой К. Корневой К. обычно не имеет имени (считается, что его имя совпадает с именем диска, на котором он расположен) и занимает на этом диске специальное место. Все остальные К. являются файлами специального вида и имеют имена, состоящие из 8 символов, и могут иметь расширение (3 символа), отделенное от имени точкой. В корневом К. регистрируются файлы и подкаталоги (К. 1-го уровня). В К. 1-го уровня регистрируются файлы и К. 2-го уровня и т. д. Получается многоуровневая древообразная структура К. на диске.

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

Для внешних файлов определены два сорта доступа: последовательный доступ и прямой доступ. В настраиваемых пакетах SEQUENTIAL_IO и DIRECT_IO описаны соответствующие файловые типы и связанные с ними операции. Объект файлового типа, используемый для последовательного доступа, называется последовательным файлом, а используемый для прямого доступа — прямым файлом.

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

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

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

Для прямых файлов допустимы все три вида файла. Для последовательных файлов допустимы только виды IN_FILE и OUT_FILE.

Символическая связь файлов

Символическая связь (symbolic link) - это специальный файл, который содержит путь к другому файлу. Указание на то, что данный элемент каталога является символической связью, находится в индексном дескрипторе. Поэтому обычные команды доступа к файлу вместо получения данных из физического файла, берут их из файла, имя которого приведено в связи. Этот путь может указывать на что угодно: это может быть каталог, он может даже находиться в другой физической файловой системе, более того, указанного файла может и вовсе не быть

Каждый файл принадлежит какому-нибудь типу. Условно файлы можно разделить на программы, документы и служебные файлы, используемые другими программами или системой Windows. На тип файла указывает его расширение – три буквы, цифры или их сочетание, находящиеся после точки в имени файла.

Расширение

Тип файла

Пример

com

Программы

Command.com

exe

Word.exe

doc

документы программы Word

My biography.doc

xls

документы программы Excel

My budget.xls

eml

Письма

Letter from friend.eml

txt

текстовые документы

Text.txt

ppt

презентации программы PowerPoint

My presentation.ppt

htm

документы (гипертекст) для Interenet

My school.htm

html

My class.html

hlp

Справка

Windows.hlp

bmp

графический файл (рисунок)

My cat.bmp

tif

My photo.tif

jpg

My photo.jpg

gif

My animation.gif

mp3

Музыка

Song.mp3

zip

архив ZIP

My archive.zip

rar

архив WinRAR

My archive.rar


Атрибуты Файла

Когда Вы применяете 'ls -l' команду оболочки на файле, это дает Вам информацию относительно размера файла, кто его хозяин, когда было последнее изменение, и т.п.. Этот вид информации называется атрибутами файла; они связаны с файлом непосредственно и не часть одного из имен.

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

Распределенные файловые системы

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

NFS

NFS – это самый известный механизм совместного доступа к файлам для Linux и других Unix-систем, потому что он присутствует во многих Unix-подобных системах и очень прост в настройке. NFS поддерживается ядром Linux, и утилиты, связанные с NFS, присутствуют в каждом дистрибутиве. Но в мире Linux существуют и более современные механизмы для совместного использования файлов и каталогов. Каждый из них имеет определенные преимущества в настройке или в использовании.

Файловая Система FAT:

Так называемая файловая система FAT использовалась во всех версиях МСДОС и в первых двух выпусках OS/2 (версии 1.0 и 1.1). Каждый логический том имеет собственный FAT, который выполняет две функции: содержит информацию распределения для каждого файла в томе в форме списка связей модулей распределения (кластеров) и указывает, какие модули распределения свободны.

Когда FAT был изобретен, это было превосходное решение для управления дисковым пространством, главным образом потому что гибкие диски, на которых он использовался, редко были размером более, чем несколько Mb. FAT был достаточно мал, чтобы находиться в памяти постоянно, позволял обеспечивать очень быстрый произвольный доступ к любой части любого файла. Когда FAT был применен на жестких дисках, он стал слишком большим для резидентного нахождения в памяти и ухудшал производительность системы. Кроме того, так как информация относительно свободного дискового пространства рассредотачивалась "поперек" большого количества секторов FAT, он был непрактичен при распределении файлового пространства, и фрагментация файлов оказалась препятствием высокой эффективности.

Транзакция и откат

Откат индивидуальной транзакции может быть инициирован либо самой транзакцией путем подачи команды ROLLBACK, либо системой. СУБД может инициировать откат транзакции в случае возникновения какой-либо ошибки в работе транзакции (например, деление на нуль) или если эта транзакция выбрана в качестве жертвы при разрешении тупика .

FAT16, FAT32, HPFS, NTFS

Если при установке используется раздел с файловой системой FAT16, то обычно требуется иметь 100 - 200 МБ дополнительного дискового пространства по сравнению с FAT32 или NTFS из-за размера кластеров, используемых файловой системой FAT16 на разделах объемом больше 2 ГБ. NTFS является рекомендуемой файловой системой для любых серверных реализаций Windows.

"Преимуществ", заставляющих использовать FAT на компьютерах с операционной системой Windows XP Professional:

MS-DOS, Windows 95, Windows 98, Windows NT, Windows 2000 и некоторые из операционных систем UNIX могут использовать FAT16. Если по некоторой причине вам необходима система с двойной загрузкой, FAT16 позволяет использовать широкий выбор доступных опций;

Существует множество программных инструментов, позволяющих разрешать проблемы и восстанавливать данные на томах FAT16;

Если у вас произошел сбой при запуске, вы можете запустить компьютер с помощью загрузочной дискеты, чтобы заняться выявлением неисправностей;

FAT16 является эффективной по скорости и хранению файловой системой на томах, меньших, чем 256 МБ (Те 50 файлов, упоминавшиеся мною ранее, размером по 1024 байт (1KB), будут занимать 409600 байт на 400 МБ разделе с FAT16 и "только" 204800 байт на разделе объемом 250 МБ).

Недостатки файловой системы FAT16:

Корневой каталог (обычно диск С:\) имеет ограничение в 512 записей. Использование длинных имен файлов может значительно сократить это число;

FAT16 ограничен 65536 кластерами, но, поскольку определенные кластеры резервируются, практически этот лимит равен 65524 кластерам. Наибольший том FAT16 на Windows 2000 и Windows XP Professional ограничен 4 ГБ и использует кластеры размером 64 КБ. Чтобы поддерживать совместимость с MS-DOS, Windows 95 и Windows 98, том не может превышать объем в 2 ГБ (50 файлов, упомянутых выше, размером 1024 байта (1 КБ), будут использовать 3276200 байт пространства жесткого диска для хранения 51200 байт фактических данных на 4 ГБ разделе FAT16 в этом сценарии);

FAT16 не эффективен при больших объемах томов, поскольку увеличивается размер кластеров. Это мы увидели в приведенном выше примере;

На разделе с FAT16 не выполняется резервное копирование загрузочного раздела. Поскольку тома FAT16 не содержат резервные копии критических структур данных, они чувствительны к проблемам единой точки отказа, более чем другие файловые системы;

Не существует собственной безопасности на уровне файлов, сжатия или шифрования в файловой системе FAT16.

Файловая система FAT32 является полностью самостоятельной 32-разрядной файловой системой и содержит многочисленные усовершенствования и дополнения по сравнению с предыдущими реализациями FAT . Отличие в том, что FAT32 намного эффективнее расходует дисковое пространство. FAT32 использует дисковые кластеры меньшего размера по сравнению с предыдущими версиями. В результате по сравнению с дисками FAT16 экономится в среднем 10-15% дискового пространства. Для эффективной работы требуется немного оперативной памяти. Быстрая работа с малыми и средними каталогами. Эффективная работа на медленных дисках. Однако по сравнению с NTFS есть сложности с произвольным доступом к большим файлам и довольно медленная работа с каталогами, содержащими большое количество файлов.

ОБЗОР ФАЙЛОВОЙ СИСТЕМЫ NTFS

С точки зрения пользователя файловая система NTFS организует файлы по каталогам и сортирует их так же, как и HPFS. Однако в отличие от FAT и HPFS на диске нет специальных объектов и отсутствует зависимость от особенностей установленного оборудования (например, сектор размером 512 байт). Кроме того, на диске отсутствуют специальные хранилища данных (таблицы FAT и суперблоки HPFS).

Целью файловой системы NTFS является следующее. • Обеспечение надежности, имеющей большое значение для высокопроизводительных систем и файловых серверов.

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

• Поддержка требований POSIX.

• Устранение ограничений, характерных для файловых систем FAT и HPFS.

Надежность

Для обеспечения надежности файловой системы NTFS особое внимание было уделено трем основным вопросам: способности к восстановлению, устранению неустранимых ошибок одного сектора и экстренному исправлению.

Для обеспечения способности к восстановлению NTFS отслеживает все транзакции в отношении файловой системы. Выполнение команды CHKDSK в файловой системе FAT или HPFS служит для проверки последовательности указателей в пределах каталога, размещения и таблицы файлов. Файловая система NTFS хранит журнал операций с этими компонентами. Таким образом, для восстановления связности системы необходимо с помощью команды CHKDSK выполнить «откат» транзакций до последней точки фиксации.

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

Подобно версиям HPFS для OS/2, NTFS поддерживает экстренное исправление.

Преимущества файловой системы HPFS

HPFS – оптимальный вариант файловой системы для использования с дисками размером 200–400 МБ. Более подробное описание преимуществ файловой системы HPFS можно найти в следующих источниках: • «Основные понятия и планирование Windows NT Server», глава 5, раздел «Выбор файловой системы»;

• пакет ресурсов Microsoft Windows NT Workstation 4.0 Resource Kit, глава 18, «Выбор файловой системы»;

• руководство «Resource Guide» в пакете ресурсов Microsoft Windows NT Server 4.0 Resource Kit, глава 3, раздел «Which File System to Use on Which Volumes».

Недостатки файловой системы HPFS

Дополнительные накладные расходы, связанные с использованием HPFS, снижают эффективность ее применения на дисках размером меньше 200 МБ. Кроме того, производительность также снижается при использовании дисков размером больше 400 МБ. При использовании HPFS под Windows NT нельзя установить параметры безопасности.

Файловая система HPFS поддерживается только операционной системой Windows NT версий 3.1, 3.5 и 3.51. Нельзя получить доступ к разделу HPFS с помощью Windows NT 4.0.

Описание других недостатков файловой системы HPFS можно найти в следующих источниках:

• «Основные понятия и планирование Windows NT Server», глава 5, раздел «Выбор файловой системы»;

• пакет ресурсов Microsoft Windows NT Workstation 4.0 Resource Kit, глава 18, «Выбор файловой системы»;

• руководство «Resource Guide» в пакете ресурсов Microsoft Windows NT Server 4.0 Resource Kit, глава 3, раздел «Which File System to Use on Which Volumes».

12. Сетевые функции ОС. Оборудование и ПО вычислительных сетей. Коаксиальный кабель, витая пара, оптоволокно, ИК канал. Сетевая карта (адаптер). Сравнение сетей Novell, Mac, Windows, UNIX. Сетевые операционные системы. Компоненты сети. Файловый сервер. Сетевые диски. Сетевая ОС. Разделение ресурсов. Разделение времени, дисков, памяти. Локальные сети. Глобальные сети. Корпоративные сети. Путеводители (проводники, браузеры, навигаторы). Глобальные и локальные сетевые технологии. Интернет и интранет. Распределенная файловая система. Семиуровневая модель ИСО. IP адрес. FTP. HTTP. Сервер печати, электронная почта, сервер базы данных, базы данных типа «клиент-сервер», SQL‑запросы. Эмуляция терминала, Telnet, X-Windows. Технология Web/DB.

Фирмой Novell была разработана операционная система NetWare. Она может использоваться в любой распространенной в настоящее время физической структуре локальной вычислительной сети: Token Ring, Ethernet или ARCnet. Поэтому сеть, поддерживаемая сетевой ОС NetWare, может иметь шинную, кольцевую и звездообразную топологии. Из-за большой популярности физической структуры сети Ethernet в дальнейшем рассматривается использование Novell Netware для этого типа топологии.

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

"Чистый" Ethernet использует толстый коаксиальный кабель, и для подключения к нему серверов и рабочих станций необходимы специальные устройства - трансиверы (приемопередатчики).

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

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

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

Рис. 1.1. Структура сетевой ОС

В сетевой операционной системе отдельной машины можно выделить несколько частей (рисунок 1.1):

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

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

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

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

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

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

- обеспечивает управление доступом к файлам и базам данных;

- предоставляет в общее пользование дисковое пространство, принтеры модемы и другие ресурсы.

Архитектура клиент-сервер

Модель клиент-сервер

Client-server architecture; Client-server model

Архитектура клиент-сервер - архитектура распределенной вычислительной системы, в которой приложение делится на клиентский и серверный процессы.

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

Разделение времени

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

Time sharing; Preemptive multitasking

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

Распределенная файловая система

Distributed file system

Распределенная файловая система - файловая система:

- функционирующая на нескольких компьютерах; и

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