
- •1. Состав компьютерной системы
- •6 Уровней:
- •2. Функции операционной системы. . Операционная система как расширенная машина и менеджер ресурсов
- •3. Этапы развития операционных систем
- •4. Ос реального времени. Распределенные и сетевые ос
- •5. Принципы разработки современных ос
- •12. Основные понятия, концепция ос
- •13. Ядро ос. Основные понятия (монолитные системы, многоуровневые системы, виртуальные машины)
- •14. Ядро ос. Микроядро//модуль клиент-сервер
- •15. Классификация ос
- •16. Мультипрограммирование или многозадачность, критерии организации мультизадачности
- •17. Многопроцессорность: сложность планирования загрузки процессоров, конфликты доступа к общим ресурсам
- •18. Процессы. Основные понятия, состояния процессов
- •19. Обработка прерываний, вектор прерывания
- •20. Алгоритмы планирования процессов
- •21. Создание процессов
- •Процессы Windows
- •22. Идентификаторы
- •23. Системные вызовы для управления процессами
- •24. Форматы исполняемых файлов
- •25. Основные команды Unix для управления процессами
- •26. Память. Типы адресов
- •27. Методы распределения памяти между процессами без использования внешнего накопителя
- •28. Методы распределения памяти между процессами с использованием внешнего накопителя
- •29. Виртуальная память. Способы организации виртуальной памяти. Страничная организация виртуальной памяти. Сегментная и странично - сегментная организация виртуальной памяти.
- •34. Файловая система Unix, виртуальная файловая система vfs
- •35. Файловые ситемы fat, ntfs. Поддержка длинных имен
- •49. Сравнение вариантов организации взаимодействия сетей
- •51. Программирование сокетов
- •52. Открытая система. Стандартные платформы.
- •53. Интерфейс пользователя ос unix. Метасимволы в именах файла.
34. Файловая система Unix, виртуальная файловая система vfs
Виртуальная файловая система VFS
В UNIX System V Release 3 был реализован механизм переключения файловых систем (File System Switch, FSS), позволяющий операционной системе поддерживать различные типы файловых систем. В соответствии с этим подходом информация о файловой системе и файлах разбивается на две части - зависимую от типа файловой системы и не зависимую. FSS обеспечивает интерфейс между ядром и файловой системой, транслируя запросы ядра в операции, зависящие от типа файловой системы. При этом ядро имеет представление только о независимой части файловой системы. Однако большее распространение получила схема, реализованная фирмой Sun Microsystems, использующая аналогичный подход. Эта схема называется переключателем виртуальной файловой системы - Virtual File System (VFS). В UNIX System V Release 4 реализован именно этот механизм.
VFS не ориентируется на какую-либо конкретную файловую систему, механизмы реализации файловой системы полностью скрыты как от пользователя, так и от приложений. В ОС нет системных вызовов, предназначенных для работы со специфическими типами файловой системы, а имеются абстрактные вызовы типа open, read, write и другие, которые имеют содержательное описание, обобщающее некоторым образом содержание этих операций в наиболее популярных типах файловых систем (например, s5, ufs, nfs и т.п.). VFS также предоставляет ядру возможность оперирования файловой системой, как с единым целым: операции монтирования и демонтирования, а также операции получения общих характеристик конкретной файловой системы (размера блока, количества свободных и занятых блоков и т.п.) в единой форме. Если конкретный тип файловой системы не поддерживает какую-то абстрактную операцию VFS, то файловая система должна вернуть ядру код возврата, извещающий об этом факте.
В VFS вся информация о файлах разделена на две части - не зависящую от типа файловой системы, которая хранится в специальной структуре ядра - структуре vnode, и зависящую от типа файловой системы - структура inode, формат которой на уровне VFS не определен, а используется только ссылка на нее в структуре vnode. Имя inode не означает, что эта структура совпадает со структурой индексного дескриптора inode файловой системы s5. Это имя используется для обозначения зависящей от типа файловой системы информации о файле, как дань традиции.
Виртуальная файловая система VFS поддерживает следующие типы файлов:
• обычные файлы,
• каталоги,
• специальные файлы,
• именованные конвейеры,
• символьные связи.
Содержательное описание обычных файлов, каталогов и специальных файлов и связей не отличается от их описания в файловой системе s5.
35. Файловые ситемы fat, ntfs. Поддержка длинных имен
Кратко о файловой системе FAT
Файловая система FAT появилась на заре развития персональных компьютеров и первоначально предназначалась для хранения файлов на дискетах.
Информация хранится на дисках и дискетах порциями, в секторах размером 512 байт. Все пространство дискеты разделялось на области фиксированной длины, называемые кластерами. Кластер может содержать один или больше секторов.
Каждый файл занимает один или несколько кластеров, возможно несмежных. Названия файлов и другая информация о файлах, такая как размер и дата создания, располагается в начальной области дискеты, выделенной для корневого каталога.
Что же касается расположения кластеров файла на диске, то эта информация хранится в начальной области дискеты, называемой таблицей размещения файлов (File Allocation Table, FAT) .Таким образом, таблица размещения файлов - это массив, содержащий информацию о кластерах. Размер этого массива определяется общим количеством кластеров на диске.
В каталоге хранится номер первого кластера, распределенного файлу или вложенному каталогу. Номера остальных кластеров можно найти при помощи таблицы размещения файлов FAT.
Таблица FAT содержит критически важную информацию о расположении каталогов и файлов. Если в результате сбоя аппаратуры, программного обеспечения или вредоносного воздействия вирусов таблица FAT окажется поврежденной, доступ к файлам и каталогам будет потерян. Поэтому с целью подстраховки на диске обычно создаются две копии таблицы FAT.
Ограничения файловой системы FAT
Максимальный размер логического диска FAT-16 составляет 4 Гбайт/ Теоретически максимальный размер диска FAT-32 может составлять 8 Тбайт, что должно хватить для развертывания любых современных приложений. Что же касается новых операционных систем Microsoft Windows 2000/XP, то они не способны создавать разделы FAT-32 с объемом, превышающим 32 Гбайт. Если Вам нужны разделы такого или большего объема, компания Microsoft предложит Вам использовать файловую систему NTFS. Другое существенное ограничение FAT-32 накладывается на размер файлов - он не может превышать 4 Гбайт. В каталоге FAT-32 может хранить не более 65534 файлов.
Файловая система NTFS
Современная файловая система NTFS, разработанная компанией Microsoft для своей операционной системы Microsoft Windows NT, лишена ограничений и недостатков FAT. В файловой системе NTFS все атрибуты файлов (имя, размер, расположение экстентов файла на диске и т.д.) хранятся в скрытом системном файле $MFT. Файлы небольшого размера (порядка сотен байт) хранятся непосредственно в $MFT, что существенно ускоряет доступ к ним.
Ограничения NTFS
Максимальный размер логического диска NTFS составляет примерно 18 446 744 Тбайт, что, очевидно, достаточно для всех современных приложений, а также приложений, которые появятся в ближайшем будущем. Максимальный размер файла еще больше, так что это ограничение также несущественно. Количество файлов, хранящихся в одном каталоге NTFS, ничем не ограничено, так что здесь тоже есть преимущество перед FAT.
FAT – плюсы: • Для эффективной работы требуется немного оперативной памяти. • Быстрая работа с малыми и средними каталогами. • Диск совершает в среднем меньшее количество движений головок (в сравнении с NTFS). • Эффективная работа на медленных дисках.
FAT - минусы: • Катастрофическая потеря быстродействия с увеличением фрагментации, особенно для больших дисков (только FAT32). • Сложности с произвольным доступом к большим (скажем, 10% и более от размера диска) файлам. • Очень медленная работа с каталогами, содержащими большое количество файлов.
NTFS - плюсы: • Фрагментация файлов не имеет практически никаких последствий для самой файловой системы - работа фрагментированной системы ухудшается только с точки зрения доступа к самим данным файлов. • Сложность структуры каталогов и число файлов в одном каталоге также не чинит особых препятствий быстродействию. • Быстрый доступ к произвольному фрагменту файла (например, редактирование больших .wav файлов).