
Лекции / Лекция 7
.pdfТребования к операционным системам
1.Расширяемость
2.Переносимость
3.Надежность и отказоустойчивость
4.Совместимость
5.Безопасность
6.Производительность
Дополнительные требования:
1)Реализация мультипрограммной обработки
2)Реализация виртуальной памяти
3)Реализация свопинга
4)Поддержка многооконного интерфейса
1. Расширяемость
Код ОС должен быть написан таким образом, чтобы можно было легко внести дополнения и изменения и не нарушить целостность системы.
Это свойство требует открытого кода системы. Расширяемостью обладают все системы, поставляющиеся с открытым кодом. Расширяемость систем с закрытым кодом сильно ограничена.
2. Переносимость
Код ОС должен легко переноситься с процессора одного типа на процессор другого типа. То же касается аппаратной платформы.
Для переносимости необходимо учитывать следующие требования:
1)код должен быть написан на языке высокого уровня стандарта не ниже, чем ANSI X3 159-1989 (этому стандарту удовлетворяет классический С); аппаратные части реализуются на ассемблере, но без привязки к процессору (для увеличения скорости работы с устройствами);
2)изоляция процессора: низкоуровневые части ОС должны иметь доступ к процессорнозависимым структурам данных и регистрам; код, делающий это, должен содержаться в небольших модулях, которые могут быть заменены аналогичными для других процессов;
3)изоляция платформы; изоляцию достигают программным способом, вводя интерфейсный слой аппаратной абстракции (пишут универсальные вещи, которые создают потоки, КЭШи и т.п., в которые сливается информация).
3. Совместимость
ОС должна иметь средства для выполнения прикладных программ, написанных для других ОС, или иметь возможность обработки стандартных типов данных.
Различают двоичную совместимость (программа может быть запущена на разных платформах, на разных процессорах, на разных ОС) и текстовую совместимость (данные воспринимаются как определенный тип информации и обрабатываются встроенным в ОС обработчиком таких данных).
4. Надежность и отказоустойчивость
Система должна быть защищена как от внутренних, так и от внешних ошибок, сбоев и отказов. Ее действия должны быть предсказуемы, а приложения не должны быть в состоянии наносить вред ОС.
5. Производительность
Система должна обладать хорошим быстродействием и временем реакции, на сколько это позволяет аппаратная платформа.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
POSIX – это собрание международных стандартов интерфейсов ОС для UNIX-систем.
IEEE 1003.1 – 1988 год
API – 'application progtam interface'. Есть несколько стандартов API, совместимых между собой. Эти стандарты описывают правила написания интерфейсов программ и написания взаимодействия программ между собой.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6. Безопасность
NCSC – 'National Computer Security center'
«Orange Book» 1983 год – в нее вошел ряд стандартов в области безопасности систем, который получил название «критерий оценки надежных компьютерных систем».

По этим критериям «система считается безопасной, если она посредством специальных механизмов защиты контролирует доступ к информации таким образом, что только имеющие соответствующие полномочия лица или процессы, выполняющиеся от их имени, могут получить доступ на чтение, запись, создание или удаление информации»
Вправила безопасности включаются также:
1)установление квот по ресурсам;
2)предотвращение захвата всех ресурсов одним процессом.
Уровни безопасности:
1)Класс D – попадают системы, уровень безопасности которых не соответствует требованиям других классов.
2)Класс С – имеют подсистему учета событий и избирательный контроль доступа. Делятся на два подуровня: С1 (обеспечивает защиту данных от ошибок пользователей) и C2 (обеспечивает идентификацию пользователя, избирательный контроль доступа, т.е. ресурсы имеют своих владельцев; имеют средства учета и наблюдения, защиту памяти; ведется журналирование событий);
3)Класс B – системы основаны на помеченных данных и распределении пользователей по категориям. Реализуют мандатный контроль доступа. Каждому пользователю присваивается рейтинг защиты и он получает доступ к данным в соответствии с этим рейтингом.
4)Класс А – является самым высоким уровнем безопасности. Дополняется формальными и математически обоснованными доказательствами соответствия пользовательского уровня и уровня ресурсов требованиям безопасности. Обеспечение уровня безопасности типа А занимает до 90% процессорного времени.
Файловые системы
1.FAT
Впервом варианте – 12-разрядная. FAT – 'file location table'. Сейчас используется в 32разрядном варианте.
см. рис. 1
mbr – 'main boot record'. Здесь хранятся данные о том, какую ОС загружать и системная информация.
В FAT записана таблица файлов: имя, атрибуты, размер файла.

Copy FAT нужен для ситуаций, когда есть повреждения в FAT.
Плюс FAT – легко реализуемая файловая система.
Минус – очень сильно фаргментируется, не очень надежная.
2. HPFS – 'hight performance file system'
см. рисунок 2
Пришла из ОС OS/2
Super Block – также хранит загрузочные данные.
Spare Block – хранит информацию о Bit Map блоках и о том, на сколько каждый из них свободен.
Bit Map – (битовая карта) хранит информацию о ближайшем 8-мегабайтном разделе. +: удобство записи больших данных
-: при наличии большого количества маленьких файлов – медленный поиск.
3.NTFS – 'new technologies file system'
см. рисунок 3
logMFT – загрузочная информация
MFT – 'master file table' (12% от емкости диска). Туда записываются 1-килобайтные записи о файлах (имя, путь, атрибуты). Если файл имеет размер меньше 1 килобайта, он целиком помещается в MFT.
copyLog – копия загрузочной записи (точно в середине диска). В MFT помещается также журнал чтения и записи файлов.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
На следующей неделе лекции не будет.