- •1.Определение ос. Ос как виртуальная машина и как диспетчер аппаратных и прораммных ресурсов.
- •2.Назначение и основные функции ос. Классификация ос. Варианты классификации.
- •5.Многопроцессорные ос. Симметричная и несимметричная параллельная обработка.
- •3.Эволюция ос. Современные ос, их характеристики и области применения.
- •4.Однозадачные и многозадачные ос. Преимущества многозадачности и ее реализация в ос.
- •Сетевые компоненты ос.
- •Оc с разделением времени. Основные свойства, классы решаемых задач. Примеры современных реализаций.
- •Ос реального времени. Жесткие и нежесткие системы. Интерфейс с внешней средой.
- •Операционные системы unix. Основные линии развития (at&t и bsd unix). Современные реализации для пэвм.
- •Операционные системы Microsoft Windows. Основные версии и реализации, их характеристики и свойства.
- •Современные типы ос для пэвм. Назначение, характеристики и свойства.
- •Функциональная организация (структура) типовой многозадачной ос. Базовые функциональные подсистемы. Ядро и пользовательский слой ос.
- •Архитектурные принципы (принципы разработки и организации) современной мультипрограммной ос. Модульная структура ос.
- •Подсистема планирования (управления) процессов и потоков в ос. Понятие процесса, потока и ресурса. Типы ресурсов. Информационные структуры процесса (потока).
- •Жизненный цикл процесса. Диаграмма состояний. Переходы между состояниями. Диаграмма состояний потоков в ос ms Windows (2000/xp).
- •16. Алгоритмы планирования. Квантование времени (вытеснение). Планирование на основе приоритетов. Приоритетное планирование потоков в ms Windows (2000/xp).
- •Организация взаимодействия (синхронизация) параллельных процессов и потоков. Эффект гонок. Критическая секция. Типовые задачи синхронизации.
- •Системные механизмы для синхронизации потоков. Блокирующие переменные, мьютексы, семафоры.
- •Подсистема управления памятью. Основные функции. Сегментная и страничная программные модели памяти.
- •Концепция виртуальной памяти. Трансляция виртуальных адресов.
- •Иерархическая организация памяти эвм. Принцип кэширования. Устройство кэш-памяти (созу) на процессоре. Алгоритмы работы кэш-памяти.
- •Алгоритмы распределения основной памяти эвм.
- •Страничный обмен (замещение), как метод реализации виртуальной памяти. Таблицы страниц процесса. Свопинг процессов.
- •Структура виртуального адресного пространства процесса в ms Windows nt (2000/xp).
- •Архитектура (модель) ос ms Windows nt (2000/xp). Компоненты ядра и компоненты пользовательского режима. Файловое дерево ос ms Windows на загрузочном томе.
- •Порядок и основные процедуры для загрузки ос на аппаратной платформе ibm-совместимых пэвм. Мультисистемная организация, диспетчеры загрузки ос.
- •Подсистема ввода-вывода ос. Буферизация обмена данными между внешней и основной памятью. Дисковый (системный) кэш.
- •Управление устройствами (аппаратурой) в ос. Независимость программ от устройств. Типы устройств. Драйверная подсистема ос. Модель драйвера в ос Windows.
- •Файловая система ос (fs). Внешняя модель (архитектура) fs. Правила именования и пространства имен в ос Windows. Элементы полного имени. Типы файловых объектов и их атрибуты.
- •Внутренняя организация файловой системы (fs). Системные данные fs на томе. Типы файловых систем.
- •Множественность файловых систем (fs) современных ос. Файловые системы ос Windows: fat12, fet16, fat32, cdfs, ntfs (ntfs5), сетевые fs. Диспетчер файловых систем (ifs ), драйверы fs.
- •Файловая система faTхх. Назначение и организация таблицы распределения файлов. Типы записей в fat.
- •Структура элемента каталога в файловой системе faTхх. Опорные и дополнительные элементы. Метка тома.
- •Поддержка и внутренняя организация длинных имен в ос Windows для файловых систем faTxx. Псевдоним длинного имени в пространстве имен dos.
- •Система операций над файлами. Типы доступа к данным файла. Защита файлов и данных в ос. Обеспечение целостности fs. Восстанавливаемость после сбоев ос и аппаратуры.
- •Файловая система ntfs. Основные свойства и возможности. Обеспечение целостности и отказоустойчивости ntfs. Управление доступом к данным и защита данных в ntfs.
- •Внутренняя организация ntfs на логическом томе. Метафайлы и их назначение. Структура главной таблицы файлов (мfт).
- •Интерфейс прикладного программирования в ос. Библиотеки функций api, системные вызовы. Назначение и реализация в инструментальных системах (системах программирования).
- •Командный (консольный) интерфейс ос. Виртуальная машина ms-dos, интерпретатор команд и его функции. Синтаксис консольных команд. Система команд и их классификация.
- •Внутренние команды командного интерфейса ос. Формат вызова, механизм внутренней реализации. Примеры внутренних команд vdm.
- •Команды-фильтры. Конвейеризация (потоковое сцепление) команд в командном интерфейсе. Перенаправление стандартного ввода-вывода в файлы и другие устройства.
- •Конфигурационные, диагностические и информационные команды ос.
- •Среда окружения командного интерфейса и ее назначение. Команды формирования окружения. Системные переменные.
- •Система команд ос для операций с файлами. Команды для работы с каталогами.
- •Программирование в среде командного интерфейса. Пакетные командные файлы: - внутренние команды, передача параметров.
- •Графический интерфейс конечного пользователя (gui). Концепция рабочего стола. Стандартные элементы оформления и управления в gui. Способы запуска приложений.
- •Защита данных и программ в ос. Модель безопасности ос ms Windows (2000/xp). Механизм учетных записей пользователей, регистрация в системе. Права доступа.
- •Инструменты конфигурирования и настройки ос ms Windows (2000/xp). Панель управления. Системное администрирование.
- •Системная база данных ос ms Windows - реестр. Общая организация, типы параметров. Утилиты для работы с реестром. Экспорт и импорт данных реестра.
- •51. Развертывание (инсталляция) ос на аппаратной платформе. Дистрибутив ос. Утилиты для установки.
- •52. Поддержка сетей в ос ms Windows. Сетевые компоненты, конфигурирование стека сетевых протоколов. Сетевые утилиты ос. Прикладные пользовательские сетевые сервисы.
Множественность файловых систем (fs) современных ос. Файловые системы ос Windows: fat12, fet16, fat32, cdfs, ntfs (ntfs5), сетевые fs. Диспетчер файловых систем (ifs ), драйверы fs.
Существует несколько типов файловых систем, которые в полной мере поддерживают все возможности, необходимые для полноценной работы Linux (все необходимые типы и атрибуты файлов, в том числе права доступа).
Ext2/3 - Этот тип файловой системы разработан специально для Linux и традиционно используется на большинстве Linux-систем. Фактически в названии «Ext2/3» объединены названия двух вариантов этой файловой системы. Ext3 отличается от Ext2 только поддержкой журналирования, в остальном они одинаковы и легко могут быть преобразованы одна в другую в любой момент без потери данных. Обычно предпочтителен вариант с журналированием (Ext3) в силу его большей надёжности. При высокой параллельной дисковой загрузке производительность Ext3 снижается, что выражается в снижении скорости операций с диском и повышении значения нагрузки на систему (Load Average).
ReiserFS - Файловая система этого типа похожа скорее на базу данных: внутри неё используется своя собственная система индексации и быстрого поиска данных, а представление в виде файлов и каталогов — только одна из возможностей использования такой файловой системы. Традиционно считается, что ReiserFS отлично подходит для хранения огромного числа маленьких файлов. Поддерживает журналирование.
XFS - Файловая система, наиболее подходящая для хранения очень больших файлов, в которых постоянно что-нибудь дописывается или изменяется. Поддерживает журналирование. Лишена недостатков Ext3 по производительности, но при её использовании выше риск потерять данные при сбоях питания (в том числе и по причине принудительного обнуления повреждённых блоков в целях безопасности; при этом метаданные файла обычно сохраняются и он выглядит как корректный). Рекомендуется использовать эту файловую систему с проверенным аппаратным обеспечением, подключенным к управляемому источнику бесперебойного питания (UPS).
SWAPFS - Этот тип файловой системы находится на особом положении — он используется для организации на диске области подкачки (swap). Область подкачки используется в Linux для организации виртуальной памяти: когда программам недостаточно имеющейся в наличии оперативной памяти, часть рабочей информации временно размещается на жёстком диске.
JFS - Разработана IBM для файловых серверов с высокой нагрузкой: при разработке особый упор делался на производительность и надёжность, что и было достигнуто. Поддерживает журналирование.
В Linux поддерживается, кроме собственных, немало форматов файловых систем, используемых другими ОС. Если способ записи на эти файловые системы известен и не слишком замысловат, то работает и запись, и чтение, в противном случае — только чтение (чего нередко бывает достаточно). Файловые системы перечисленных ниже типов обычно присутствуют на разделах диска, принадлежащих другим операционным системам.
FAT12/FAT16/FAT32 - Эти файловые системы используются в MS-DOS и разных версиях Windows, а также на многих съёмных носителях (в частности, на дискетах и USB-flash). Linux поддерживает чтение и запись на эти файловые системы.
NTFS - Файловая система NTFS изначально появилась в системах Windows NT, но может использоваться и другими версиями Windows (например, Windows 2000). В Linux NTFS поддерживается на чтение и на запись.
Драйверы файловых систем - При эксплуатации ОС может возникнуть необходимость монтировать файловыесистемы, отличающиеся от ``родной'' ФС. Особенно часто она возникает ворганизациях, где используются ОС нескольких разных типов.Да и в организациях, работающих с монокультурой MS DOS/MS Windows,такая потребность возникает все чаще. Во-первых, доступ к файлам на файловомсервере осуществляется существенно иными способами, чем к файлам на локальномдиске, даже если на сервере стоит та же ДОС с той же ФС типаFAT. Во-вторых, дисководы для CD-ROM становятся все дешевле ираспространяются все шире. При этом стандартная ФС на CD-ROM - вовсе неFAT.
Решение этой проблемы приходит в голову сразу - необходим драйвер файловойсистемы со стандартным интерфейсом, подобный драйверу внешнего устройства.Естественно, набор функций такого драйвера должен быть существенно иным:
mount - монтирование ФС.В зависимости от типа ФС параметры этой функции должны различаться.Для ФС на локальных дисках достаточно передать системный идентификатормонтируемого диска. Для ФС на удаленной машине мы должныпередать сетевой адрес этой машины и имя требуемой файловой системы.Во многих случаях проводится различие между монтированием ФС длячтения/модификации или только для чтения: при монтировании с модификациейустанавливается флаг загрязнения (dirty flag) ФС);
umount - размонтирование ФС;
GetFreeSpace или df - получение информации о ФС: общее пространство,свободное пространство, количество файлов и т.д;
FindFirst/FindNext или opendir/readdir - функции для чтения изкаталога. Считанную информацию необходимо привестик формату, принятому в данной ОС. В частности, может оказаться необходимымсократить и/или преобразовать считанные имена файлов. Например, драйверHPFS, используемый в эмуляторе MS DOS, в системеOS/2 не выполняет такого преобразования. В результатеDOS-овские программы не видят файлов и каталогов с длинными именами;
access - проверить существование файлаи возможность доступа к нему в заданном режиме, например, для чтения или длязаписи;
stat - функция для получения информациио файле с заданным именем. Драйвер ФС должен считать доступную информацию офайле и привести ее к принятому в ОС формату. При этом, возможно,придется проигнорировать часть считанной информации, а другую часть, напротив,драйвер вынужден сочинять сам. Так драйвер файловой системы FATв ОС семейства Unix вынужден сочинять идентификатор хозяина файла,права доступа и т.д.;
open - открыть существующий или создать новый файл с заданным именем;
read и write - функции считывания данных из файла и записив него;
lseek - позиционирование в файле;
lock - функция (в действительности, набор функций) блокировки длясинхронизации доступа к файлу или его участкам. Подробнее о них см. вп. 4.3.3. При работе с локальными ФС операции блокировки могутпрослеживаться ядром системы и не доходить до драйвера ФС, но при работес разделяемыми по сети ФС блокировки необходимо отслеживать на уровнепротокола разделения файлов, поэтому драйвер сетевой ФС обязанзнать о блокировках.
close - закрыть файл;
delete или unlink - удалить файл или его имя;
link - создать связь с файлом (новое имя). Далеко не все ОС иФС поддерживают эту операцию;
mkdir - создать каталог;
rmdir - удалить каталог. Обычно разрешено удаление только пустыхкаталогов.
Кроме собственно драйвера ФС, для ее полноценной поддержки нужны следующиепрограммы:
• программа создания ФС - mkfs или FORMAT;
• программа контроля и починки ФС - fsck или CHKDSK;
• программа fstyp, которая смотрит на диск и пытается определить,``ее" это диск или не ее. Она полезна при монтировании ФС савтоматическимопределением ее типа;
• программа mount, которая принимает из командной строки зависящиеот типа ФС параметры, проверяет их допустимость и инициализируетдрайвер ФС.
Например, дистрибутив ОС UnxiWare 2.0 фирмы SCO,основанной на UNIX System V R4.2,содержит драйверы следующих файловых систем:
memfs - файловая система, размещающая файлы в оперативной памяти.Может рассматриваться как эквивалент виртуального диска в MS DOS.
dosfs - файловая система FAT.
XENIX - файловая система, используемая ОС Xenix.Эта ФС по структуре похожа на остальные ФС ОС семейства Unix,но не поддерживает символических связей и ограничивает длину имени файла12 символами. Неустойчива к сбоям.
s5 - ``классическая'' ФС, сохранившаяся почти без измененийс самых ранних версий системы - s5, по-видимому, означаетUnix System 5. Ограничивает имя файла 14 символами.Неустойчива к сбоям.
ufs - файловая система, разработанная в университете Беркли,известная также как FFS (Fast File System) и Berkley FS.Является основной ФС в большинстве версий BSD UNIX и поддерживаетсямногими другими ОС семействаUnix.Имеет более высокую производительность, чем s5, в первую очередьза счет разбиения таблицы инодов и списка свободных блоковна участки (группы цилиндров). Такое разбиение уменьшаетперемещение головки дисковода при обращении к системным ипользовательским данным. Поддерживает дисковые квоты -ограничения на объем дискового пространства, занятого файламитого или иного пользователя.Ограничивает имя файла размером блока (обычно 512 символов).Неустойчива к сбоям.
bfs - Boot File System - загрузочная файловая система.Эта ФС имеет очень простую структуру, отчасти похожую на файловую системуRT-11: все файлы в ней обязаны занимать непрерывноепространство. Такая структура упрощает первичный загрузчик системы,которому теперь не нужно разбираться в каталогах и инодах.bfs имеет довольно низкую производительность и требует длительнойпроцедуры размонтирования, если в нее были записаны новые данные.Фактически, при таком размонтировании происходит операция сжатия ФС,эквивалентная команде SQEESE в RT-11. Используется дляхранения ядра системы, и нескольких конфигурационных файлов, используемыхпри загрузке. Все эти данные считываются только при загрузке системы иперезаписываются только при изменениях конфигурации ядра, поэтому высокаяпроизводительность от этой ФС не требуется.
vxfs - устойчивая к сбоям ФС Veritas с регистрациейнамерений.Версия, входящая в стандартную поставку системы, журналирует толькосистемные структуры данных.За отдельную плату можно приобрести ``продвинутую'' версиюVeritas, которая обеспечивает журналирование пользовательскихданных.
cdfs - Файловая система ???, используемая на CD-ROM.
nfs - Network File System - драйвер файловой системы, обеспечивающийразделение файлов с использованием сетевого протокола TCP/IP.Протокол NFS был предложен фирмой Sun Microsystemsв середине 80-х гг. и в настоящее время поддерживается практически всемичленами семейства Unix.NFS-клиенты и NFS-серверы реализованы также дляVMS, Windows NT, Novell Netware,OS/2, MacOS, MS/DR DOS иWindows 3.x/95.
rfs - Remote File Sharing - использование удаленной UNIX-системы вкачестве файлового сервера. Этот протокол был разработан фирмойAT&T в 80-е гг. и пригоден только для соединения системUNIX System V.
nucfs - NetWare Unix Client File System. Этот драйвер предназначендля присоединения к файловым серверам Novell Netware. Он входитв состав системы UnixWare, поставляемой фирмой SCO,но не в остальные версии UNIX SVR4.
Любопытно, что даже MS/DR DOS версий выше 3.30 имеют возможностьустанавливать драйвер файловой системы. Такой драйвер может быть реализованпутем перехвата недокументированных функций прерывания 0x2F -группы функций ``Network Redirector'' и ``IFS''. Таким образом реализованряд сетевых клиентов для MS/DR DOS.К сожалению, авторы не смогли найти полноценного описания этих функций.
