- •Понятие операционной системы (ос), цели ее работы. Классификация компьютерных систем
- •Обеспечение удобства, эффективности, надежности,
- •История ос. Отечественные ос. Диалекты unix. Режимы пакетной обработки, мультипрограммирования, разделения времени
- •Особенности ос для различных классов компьютерных систем. Ос реального времени. Ос для облачных вычислений
- •Архитектура компьютерной системы
- •Управление процессами
- •Обзор функций ос: управление памятью, файлами, процессами, сетями, командными интерпретаторами, сервисы ос, системные вызовы. Уровни абстракции ос. Архитектура unix и ms-dos
- •Системные вызовы (system calls)
- •Уровни абстракции ос. Ос с архитектурой микроядра. Виртуальные машины. Цели проектирования и разработки ос. Генерация ос
- •Виртуальная машина Java (jvm)
- •Уровни абстракции ос
- •Управление процессами. Планирование и диспетчеризация процессов
- •Методы взаимодействия процессов
- •Потоки (threads) и многопоточное выполнение программ (multi-threading)
- •Стратегии и критерии диспетчеризации процессов
- •Методы синхронизации процессов
- •Тупики (deadlocks), методы предотвращения и обнаружения тупиков
- •Алгоритм банкира
- •Управление памятью
- •Схемы разделения памяти
- •Страничная организация памяти
- •Решаемые задачи:
- •Сегментная организация памяти
- •Виртуальная память
- •Системы файлов
- •Классификация файловых систем
- •Задачи файловой системы
- •Виртуальные файловые системы (vfs). Реализации файловых систем. Сетевая файловая система nfs Виртуальные файловые системы
- •Системы ввода-вывода
- •Сети и сетевые структуры Распределенные системы
- •Классические и современные сетевые коммуникационные протоколы Протоколы коммуникации
- •Безопасность операционных систем и сетей. Trustworthy Computing Безопасность (security) – защита от внешних атак.
- •Основная суть инициативы twc заключается в том, что безопасности необходимо уделять особое внимание при разработке программной системы, начиная с самых ранних этапов.
- •Обзор архитектуры и возможностей системы Linux: архитектура, ядро, распространение и лицензирование, принципы проектирования, управление процессами
- •Обзор архитектуры и возможностей системы Linux: управление памятью, ресурсами, файловые системы, драйверы устройств, сети, безопасность
- •Обзор архитектуры и возможностей систем Windows 2000/xp/2003/Vista/2008/7
- •Оболочка Norton Commander и ее графические аналоги для Windows:
- •29. Far Manager – текстовая оболочка
Системы файлов
Файловая система — порядок, определяющий способ организации, хранения и именования данных на носителях информации в компьютерах, а также в другом электронном оборудовании: цифровых фотоаппаратах, мобильных телефонах и т. п. Файловая система определяет формат содержимого и способ физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имен файлов и (каталогов), максимальный возможный размер файла и раздела, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов.
Файловая система связывает носитель информации с одной стороны и API для доступа к файлам — с другой. Когда прикладная программа обращается к файлу, она не имеет никакого представления о том, каким образом расположена информация в конкретном файле, так же, как и на каком физическом типе носителя (CD, жёстком диске, магнитной ленте, блоке флеш-памяти или другом) он записан. Всё, что знает программа — это имя файла, его размер и атрибуты. Эти данные она получает от драйвера файловой системы. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жёстком диске).
Классификация файловых систем
По предназначению файловые системы можно классифицировать на нижеследующие категории.
Для носителей с произвольным доступом (например, жёсткий диск): FAT32, HPFS, ext2 и др. Поскольку доступ к дискам в несколько раз медленнее, чем доступ к оперативной памяти, для прироста производительности во многих файловых системах применяется асинхронная запись изменений на диск. Для этого применяется либо журналирование, например в ext3, ReiserFS, JFS, NTFS, XFS, либо механизм soft updates и др. Журналирование широко распространено в Linux, применяется в NTFS. Soft updates — в BSD системах.
Для носителей с последовательным доступом (например, магнитные ленты): QIC и др.
Для оптических носителей — CD и DVD: ISO9660, HFS, UDF и др.
Виртуальные файловые системы: AEFS и др.
Сетевые файловые системы: NFS, CIFS, SSHFS, GmailFS и др.
Для флэш-памяти: YAFFS, ExtremeFFS, exFAT.
Немного выпадают из общей классификации специализированные файловые системы: ZFS (собственно файловой системой является только часть ZFS), VMFS (т. н. кластерная файловая система, которая предназначена для хранения других файловых систем) и др.
Задачи файловой системы
Основные функции любой файловой системы нацелены на решение следующих задач:
именование файлов;
программный интерфейс работы с файлами для приложений;
отображения логической модели файловой системы на физическую организацию хранилища данных;
организация устойчивости файловой системы к сбоям питания, ошибкам аппаратных и программных средств;
содержание параметров файла, необходимых для правильного его взаимодействия с другими объектами системы (ядро, приложения и пр.).
В многопользовательских системах появляется ещё одна задача: защита файлов одного пользователя от несанкционированного доступа другого пользователя, а также обеспечение совместной работы с файлами, к примеру, при открытии файла одним из пользователей, для других этот же файл временно будет доступен в режиме «только чтение».
