- •Мультиметр
- •Генератор слов
- •Логический анализатор
- •Логический преобразователь
- •Осциллограф.
- •Разработка схем цифровых устройств
- •5.1. Вывод элементов схем на рабочую поверхность
- •Монтаж схем
- •Синхронные символьно-ориентированные и бит-ориентированные протоколы
- •Передача с установлением соединения и без установления соединения
- •Максимальная производительность сети Ethernet
- •Форматы кадров технологии Ethernet
- •Глобальные связи на основе сетей с коммутацией каналов
- •Типы адресов стека tcp/ip
- •Источники и типы записей в таблице маршрутизации:
- •Фрагментация ip-пакетов
- •5.9. Приклад обробки пеpеpивань в захищеному режимi
- •5.9.1. Опис програми p_int
- •Времянезависимые способы защиты от копирования Инженерные дорожки
- •Нестандартная длина сектора
- •Способы защиты, опирающиеся на временные параметры
- •Проверка чередования секторов на дорожке
- •Монолитные системы
- •Многоуровневые системы
- •Модель клиент-сервер и микроядра
- •Технические характеристики системной платы
- •Пятие цветовой гармонии :
- •Транзакции и целостность баз данных
- •Журнализация изменений бд
Способы защиты, опирающиеся на временные параметры
Все PC оснащаются относительно хорошим чипом таймера, Intel 8253 или его функциональным эквивалентом. Работая с частотой 1 193 180 Гц, он позволяет измерять интервалы времени с разрешением 840 наносекунд (т.е. он может измерить время выполнения ОДНОЙ команды деления на 16 МГц-ном 386, которое может составлять до 2.4 мс). Такой таймер более чем соответствует требованиям измерения интервалов времени для гибкого дисковода (передача одного байта данных на самой быстрой из возможных скоростей (500 KBS) занимает 16 мс), так что точность подобных измерений ограничивается не разрешением таймера, а случайными колебаниями скорости вращения диска.
Форматирование отдельных дорожек с использованием фактора чередования секторов и с последующим анализом времени доступа к секторам для обычных стандартных дорожек и для нестандартных дорожек. Нарушение последовательности секторов. Этот подход заключается в нарушении стандартной последовательности секторов, т. е. сектора на дорожке в процессе форматирования нумеруются не последовательно, начиная с единицы, а в другом порядке (вообще номера секторов могут выбираться произвольно). Можно нарушать и другие значения в параметрах CHRN сектора. Нарушение последовательности секторов и другие нарушения в параметрах CHRN проверяются при выполнении команды «Чтение идентификатора».
Нарушение стандартного значения поля N позволяет читать/записывать данные за пределами реального сектора. Следует отметить, что программа COPYIIPC неверно копирует дорожку, на которой последний сектор имеет N, большее или равное 6. При копировании разрушаются первые сектора на дорожке.
Более интересный способ защиты дискет от копирования связан с использованием при форматировании нестандартного чередования секторов на дорожке.
Проверка чередования секторов на дорожке
Измерение времени завершения последовательно выполненных команд чтения дорожки может указать точную позицию каждого сектора на дорожке. В отношении бит данных Вы можете определить позицию сектора с точностью по меньшей мере в один бит. Поскольку контроллер при выполнении команды форматирования дорожки управляет позицией с разрешением в байт, то при этом невозможно воспроизвести так точно, как нужно, расположение секторов. Таким образом, одно только расположение секторов можно использовать как метку защиты. Однако проверка такой метки очень чувствительна к скорости процессора и стабильности вращения дисковода и часто такая проверка бракует и оригинальный ключевой диск. Таким образом, позиция сектора обычно используется как дополнение к другой (другим) меткам защиты.
3.2. СИСТЕМИ ЗАХИСТУ ВІД КОПІЮВАННЯ. ПРИНЦИПИ ПОБУДОВИ, ВИМОГИ ТА ЕЛЕМЕНТИ СИСТЕМ. ЗАСОБИ ЗАХИСТУ НОСІЇВ ІНФОРМАЦІЇ. ЗАСОБИ ЗАХИСТУ ІНФОРМАЦІЇ НА ЖОРСТКОМУ ДИСКУ. СПЕЦІАЛЬНІ ОПЕРАЦІЇ. ВИКОРИСТАННЯ ОКРУГЛЕННЯ СЕКТОРІВ. BAD-СЕКТОРИ.
Система защиты от копирования или система защиты авторских прав — комплекс программных или программно-аппаратных средств, обеспечивающих затруднение или запрещение нелегального распространения, использования и/или изменения программных продуктов.
Требования:
1) некопируемость дискет автоматическими копировщиками,
2) невозможность применения стандартных отладочных средств при изучении ими логики работы защищенных программ без дополнительных манипуляций с кодом программы или без платы аппаратного отладчика,
3) некорректное дисассемблирование защищенной программы или ее существенно важных фрагментов при применении стандартных пакетов.
4) невозможность трассировки по существенно важным прерываниям при помощи стандартных средств. При атом будет скрыт обмен программы с «внешним миром» — диском, DOS и т. д.
5) затрудненность изучения структуры распознавания индивидуальных параметров ПЭВМ или технологического анализа применяемых аппаратных средств защиты.
Принципы построения:
1) Модуль проверки недублируемой или оригинальной информации — проверяет наличие некопируемых признаков на дискете или оригинальную для данной ПЭВМ информацию.
1.1) системы с «навесным» проверочным модулем, созданным по технологии файлового;
1.2) системы с внешним проверочным модулем, вынесенным в отдельную программу;
1.3) системы с внутренними функциями проверки.
2) Модуль защиты от просмотра и анализа логики системы.
3) Модуль согласования с защищенными структурами — обеспечивает правильную работу защищенных программ и адекватное восприятие защищенных данных в случае легальных копий.
Защита информации на НЖМД может осуществляться с помощью:
1. защиты по ключевой дискете (хороший уровень секретности, но ключ на дискете может быть утерян);
2. используя метку на жёстком диске (есть две неиспользуемые области на жёстком диске – в начале (все сектора, кроме первого под таблицу разделов, не используются) и конце (состоит из пользовательского диагностического цилиндра, который является следующим после последнего цилиндра диска на AT и последним на машинах типа находится PS/2) но эти области могут использоваться низкоуровневыми программами). С помощью операции длинного чтения/записи (функция 0Аh/0Bh прерывания 13h) можно произвести чтение/запись 516 байтов (512+4) длиной сектора. При обычном чтении 4 дополнительных байта будут не прочитаны, а при записи они не будут перезаписаны. Странная накладка в DOS, которая позволяет просмотреть (функция DOS 42h) данные за концом файла, делает доступ к этому хвосту файла достаточно простым для высокоуровневых языков.) Привязка к местоположению BAD-кластеров (пометка ложных BAD-кластеров). Для привязки к местоположению BAD-кластеров на винчестере необходимо определить тип FAT-таблицы и найти в ней элементы, соответствующие BAD-кластерам, после чего запомнить их положение, а в дальнейшем проверять их наличие на фиксированных местах.
3.3. СИСТЕМИ ЗАХИСТУ ВІД КОПІЮВАННЯ. ПРИНЦИПИ ПОБУДОВИ, ВИМОГИ ТА ЕЛЕМЕНТИ СИСТЕМ. ЗАСОБИ ЗАХИСТУ НОСІЇВ ІНФОРМАЦІЇ. ВИКОРИСТАННЯ ХАРАКТЕРИСТИК ПК ДЛЯ ЗАХИСТУ ІНФОРМАЦІЇ. КОНФІГУРАЦІЯ. ПЕРИФЕРІЙНІ ПРИСТРОЇ. ЧАСОВІ ХАРАКТЕРИСТИКИ.
Система защиты от копирования или система защиты авторских прав — комплекс программных или программно-аппаратных средств, обеспечивающих затруднение или запрещение нелегального распространения, использования и/или изменения программных продуктов.
Требования:
1) некопируемость дискет автоматическими копировщиками,
2) невозможность применения стандартных отладочных средств при изучении ими логики работы защищенных программ без дополнительных манипуляций с кодом программы или без платы аппаратного отладчика,
3) некорректное дисассемблирование защищенной программы или ее существенно важных фрагментов при применении стандартных пакетов.
4) невозможность трассировки по существенно важным прерываниям при помощи стандартных средств. При атом будет скрыт обмен программы с «внешним миром» — диском, DOS и т. д.
5) затрудненность изучения структуры распознавания индивидуальных параметров ПЭВМ или технологического анализа применяемых аппаратных средств защиты.
Принципы построения:
1) Модуль проверки недублируемой или оригинальной информации — проверяет наличие некопируемых признаков на дискете или оригинальную для данной ПЭВМ информацию.
1.1) системы с «навесным» проверочным модулем, созданным по технологии файлового;
1.2) системы с внешним проверочным модулем, вынесенным в отдельную программу;
1.3) системы с внутренними функциями проверки.
2) Модуль защиты от просмотра и анализа логики системы.
3) Модуль согласования с защищенными структурами — обеспечивает правильную работу защищенных программ и адекватное восприятие защищенных данных в случае легальных копий.
Характеристики ПК для защиты:
1. данные (BIOS, Энергонезависимая память, серийные номера процессора (в Intel 8086, Intel 80286 их нельзя получить программными средствами), микросхемы BIOS, аппаратная конфигурация ПЭВМ(по адресу 0410h:0000))
2. Временные параметры (временная характеристика ввода/вывода, CPU и памяти). Конфигурация: ; 0 бит-наличие дисковых устройств; 1 бит-наличие сопроцессора; 2-3 биты - размер RAM; 4-5 биты текущий видеорежим; 6-7 биты - число дисководов; 8 бит -наличие DMA контроллера; 9-11 биты- число RS232 портов; 12 бит -наличие игрового адаптера; 14-15 биты- число установленных принтеров.
3.4. СИСТЕМИ ЗАХИСТУ ВІД КОПІЮВАННЯ. ПРИНЦИПИ ПОБУДОВИ, ВИМОГИ ТА ЕЛЕМЕНТИ СИСТЕМ. ЗАСОБИ ЗАХИСТУ НОСІЇВ ІНФОРМАЦІЇ. ЗАСОБИ ЗАХИСТУ ВІД ЗАСТОСУВАННЯ ПРОГРАМ-ВІДЛАГОДНИКІВ ТА ДЕЗАСЕМБЛЮВАННЯ. КОНВЕЄР КОМАНД. ПЕРЕРИВАННЯ. РЕГІСТР ПРАПОРІВ. ПЕРЕТВОРЕННЯ ТА ЗАМІНА КОМАНД.
Система защиты от копирования или система защиты авторских прав — комплекс программных или программно-аппаратных средств, обеспечивающих затруднение или запрещение нелегального распространения, использования и/или изменения программных продуктов.
Требования:
1) некопируемость дискет автоматическими копировщиками,
2) невозможность применения стандартных отладочных средств при изучении ими логики работы защищенных программ без дополнительных манипуляций с кодом программы или без платы аппаратного отладчика,
3) некорректное дисассемблирование защищенной программы или ее существенно важных фрагментов при применении стандартных пакетов.
4) невозможность трассировки по существенно важным прерываниям при помощи стандартных средств. При атом будет скрыт обмен программы с «внешним миром» — диском, DOS и т. д.
5) затрудненность изучения структуры распознавания индивидуальных параметров ПЭВМ или технологического анализа применяемых аппаратных средств защиты.
Принципы построения:
1) Модуль проверки недублируемой или оригинальной информации — проверяет наличие некопируемых признаков на дискете или оригинальную для данной ПЭВМ информацию.
1.1) системы с «навесным» проверочным модулем, созданным по технологии файлового;
1.2) системы с внешним проверочным модулем, вынесенным в отдельную программу;
1.3) системы с внутренними функциями проверки.
2) Модуль защиты от просмотра и анализа логики системы.
3) Модуль согласования с защищенными структурами — обеспечивает правильную работу защищенных программ и адекватное восприятие защищенных данных в случае легальных копий.
Программы, защищенные только от дисассемблирования, могут легко трассироваться, и наоборот — программы, защищенные только от трассировки, могут быть дисассемблированы. В следствие этого для противодействия изучению алгоритмов систем защиты необходимо иметь средства, препятствующие как дисассемблированию, так и трассировке. Базисом для построения любого отладчика служат методы покомандного выполнения (флаг TF=1) программы и контрольной точки (INT 3). Для защиты дизассемблирования используется совмещение стекового и кодового сегментов, замена одной последовательности команд на эквивалентную. Для I80386 конвейер команд составляет 16 байт. После очистки (командами JMP, INT, CALL, RET, IRET) конвейер заполняется следующими командами, которые выполняются уже с нового адреса. Но при работе отладчика в режиме трассировки конвейер очищается после каждой команды.
test proc
mov bx,offset xxx ; ds=cs
jmp short clr ;очищаем конвейер
clr: mov byte ptr [bx],0c3h ; код команды ret
xxx:mov ah,9
mov dx,offset msg
int 21h
ret
msg db 'Отладочные средства не используются$'
test endp
Для противодействия отладчикам использующим прерывания 1(вызывает очистку очереди команд конвейера, загружает очередную команду и выполняет её) и 3 (останавливает работу программы в заданной точке) можно изменить вектора этих прерываний на свою подпрограмму. Т.к. отладчик берёт на себя прерывания 8 (таймер) и 9 (клавиатура), то программа защиты перехватив эти прерывания, может в своём обработчике проверять состояние флага IF(флаг прерывания). Если IF=1, то можно производить действия по предотвращению отладки. Аналогично с флагом TF.
|
Команда |
Эквивалентная |
Команда |
Эквивалентная |
Команда |
Эквивалентная |
|
mov op1,op2 |
push op2 pop op1 |
xchg op1,op2 |
push op1 push op2 pop op1 pop op2 |
inc op |
add op,1 |
|
lds r,dword ptr op |
mov r,word ptr op mov ds,word ptr op+2 |
add op1,op2 |
xchg op2,ax add op1,ax xchg op2,ax |
dec op |
sub op,1 |
|
les r,dword ptr op |
mov r,word ptr op mov es,word ptr op+2 |
and,or,xor, adc,sub,sbb и др. |
аналогично add |
not op |
xor op,0ff(ff)h |
|
jmp dword ptr addr |
push addr+2 push addr retf |
call addr |
push m jmp addr m: ... |
lodsb |
mov al,[si] inc si |
|
loop loc |
dec cx jne loc |
jmp addr |
push addr ret |
stosb |
mov es:[di],al inc di |
|
rep movsb |
push ax m: mov al,[si] mov es:[di],al inc si inc di loop m pop ax |
repe(repne) cmpsb |
push ax m: mov al,[si] cmp al, es:[di] jne(je) m1 inc si inc di loop m m1: pop ax |
shift op,cnt |
push cx mov cx,cnt m: shift op,1 loop m pop cx |
3.5. ПРОЦЕСИ. КОНТЕКСТ ПРОЦЕСУ. СТАНИ ПРОЦЕСІВ ТА ПЕРЕХОДИ МІЖ НИМИ. СИСТЕМНІ ВИКЛИКИ ДЛЯ ЗАБЕЗПЕЧЕННЯ ЖИТТЄВОГО ЦИКЛУ ПРОЦЕСУ.
Процесс (или по-другому, задача) - абстракция, описывающая выполняющуюся программу. Для операционной системы процесс - единица работы, заявка на потребление системных ресурсов. В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний: ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором; ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса; ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса. В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе. В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ - несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов. Жизненный цикл процесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ждет своей очереди. При активизации процесс переходит в состояние ВЫПОЛНЕНИЕ и находится в нем до тех пор, пока либо он сам освободит процессор, перейдя в состояние ОЖИДАНИЯ какого-нибудь события, либо будет насильно "вытеснен" из процессора, например, вследствие исчерпания отведенного данному процессу кванта процессорного времени. В последнем случае процесс возвращается в состояние ГОТОВНОСТЬ. В это же состояние процесс переходит из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет. На протяжении существования процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса. Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация, такого рода информацию называют дескриптором процесса. load ( filename ) – порождение нового процесса и выполнение в нём программы (возвращает идентификатор процесса); exit ( exitcode ) –выход из процесса; setprty ( pid, priority ) – изменить приоритет; getpid ( selfpid, parentpid ) –получение идентификаторов; kill ( pid ) – принудительное завершение;
3.6. КЕРУВАННЯ ПАМ’ЯТТЮ. ОСНОВНІ ЗАДАЧІ. МОДЕЛІ ПАМ’ЯТІ. СИСТЕМНІ ВИКЛИКИ ДЛЯ РОБОТИ З ПАМ’ЯТТЮ.
Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы. Распределению подлежит вся оперативная память, не занятая операционной системой. Обычно ОС располагается в самых младших адресах, однако может занимать и самые старшие адреса. Функциями ОС по управлению памятью являются: отслеживание свободной и занятой памяти, выделение памяти процессам и освобождение памяти при завершении процессов, вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место, а также настройка адресов программы на конкретную область физической памяти. Все методы управления памятью могут быть разделены на два класса: методы, которые используют перемещение процессов между оперативной памятью и диском, и методы, которые не делают этого. Самым простым способом управления оперативной памятью является разделение ее на несколько разделов фиксированной величины(без использования внешней памяти). Это может быть выполнено вручную оператором во время старта системы или во время ее генерации. Очередная задача, поступившая на выполнение, помещается либо в общую очередь (рисунок 2.9,а), либо в очередь к некоторому разделу. Подсистема управления памятью в этом случае выполняет следующие задачи: сравнивая размер программы, поступившей на выполнение, и свободных разделов, выбирает подходящий раздел; осуществляет загрузку программы и настройку адресов. Распределение памяти разделами переменной величины(без использования внешней памяти). В этом случае память машины не делится заранее на разделы. Сначала вся память свободна. Каждой вновь поступающей задаче выделяется необходимая ей память. Если достаточный объем памяти отсутствует, то задача не принимается на выполнение и стоит в очереди. После завершения задачи память освобождается, и на это место может быть загружена другая задача. Таким образом, в произвольный момент времени оперативная память представляет собой случайную последовательность занятых и свободных участков (разделов) произвольного размера.Перемещаемые разделы(без использования внешней памяти). Одним из методов борьбы с фрагментацией является перемещение всех занятых участков в сторону старших либо в сторону младших адресов, так, чтобы вся свободная память образовывала единую свободную область (рисунок 2.11 Сжатие может выполняться либо при каждом завершении задачи, либо только тогда, когда для вновь поступившей задачи нет свободного раздела достаточного размера. В первом случае требуется меньше вычислительной работы при корректировке таблиц, а во втором - реже выполняется процедура сжатия. Страничное распределение(с использованием внешней памяти). Виртуальное адресное пространство каждого процесса делится на части одинакового, фиксированного для данной системы размера, называемые виртуальными страницами. В общем случае размер виртуального адресного пространства не является кратным размеру страницы, поэтому последняя страница каждого процесса дополняется фиктивной областью.
Вся оперативная память машины также делится на части такого же размера, называемые физическими страницами (или блоками).
Размер страницы обычно выбирается равным степени двойки: 512, 1024 и т.д., это позволяет упростить механизм преобразования адресов. При загрузке процесса часть его виртуальных страниц помещается в оперативную память, а остальные - на диск. При загрузке операционная система создает для каждого процесса информационную структуру - таблицу страниц, в которой устанавливается соответствие между номерами виртуальных и физических страниц для страниц, загруженных в оперативную память, или делается отметка о том, что виртуальная страница выгружена на диск. Кроме того, в таблице страниц содержится управляющая информация, такая как признак модификации страницы, признак невыгружаемости (выгрузка некоторых страниц может быть запрещена), признак обращения к странице (используется для подсчета числа обращений за определенный период времени) и другие данные, формируемые и используемые механизмом виртуальной памяти. При активизации очередного процесса в специальный регистр процессора загружается адрес таблицы страниц данного процесса. При каждом обращении к памяти происходит чтение из таблицы страниц информации о виртуальной странице, к которой произошло обращение. Если данная виртуальная страница находится в оперативной памяти, то выполняется преобразование виртуального адреса в физический. Если же нужная виртуальная страница в данный момент выгружена на диск, то происходит так называемое страничное прерывание. Выполняющийся процесс переводится в состояние ожидания, и активизируется другой процесс из очереди готовых. Параллельно программа обработки страничного прерывания находит на диске требуемую виртуальную страницу и пытается загрузить ее в оперативную память. Если в памяти имеется свободная физическая страница, то загрузка выполняется немедленно, если же свободных страниц нет, то решается вопрос, какую страницу следует выгрузить из оперативной памяти. Сегментное распределение(с использованием внешней памяти).
Виртуальное адресное пространство процесса делится на сегменты, размер которых определяется программистом с учетом смыслового значения содержащейся в них информации. Отдельный сегмент может представлять собой подпрограмму, массив данных и т.п. Иногда сегментация программы выполняется по умолчанию компилятором. При загрузке процесса часть сегментов помещается в оперативную память (при этом для каждого из этих сегментов операционная система подыскивает подходящий участок свободной памяти), а часть сегментов размещается в дисковой памяти. Во время загрузки система создает таблицу сегментов процесса (аналогичную таблице страниц), в которой для каждого сегмента указывается начальный физический адрес сегмента в оперативной памяти, размер сегмента, правила доступа, признак модификации, признак обращения к данному сегменту за последний интервал времени и некоторая другая информация. Если виртуальные адресные пространства нескольких процессов включают один и тот же сегмент, то в таблицах сегментов этих процессов делаются ссылки на один и тот же участок оперативной памяти, в который данный сегмент загружается в единственном экземпляре. Недостатком данного метода распределения памяти является фрагментация на уровне сегментов и более медленное по сравнению со страничной организацией преобразование адреса. Странично-сегментное распределение(с использованием внешней памяти).Как видно из названия, данный метод представляет собой комбинацию страничного и сегментного распределения памяти и, вследствие этого, сочетает в себе достоинства обоих подходов. Виртуальное пространство процесса делится на сегменты, а каждый сегмент в свою очередь делится на виртуальные страницы, которые нумеруются в пределах сегмента. Оперативная память делится на физические страницы. Загрузка процесса выполняется операционной системой постранично, при этом часть страниц размещается в оперативной памяти, а часть на диске. Для каждого сегмента создается своя таблица страниц, структура которой полностью совпадает со структурой таблицы страниц, используемой при страничном распределении. Для каждого процесса создается таблица сегментов, в которой указываются адреса таблиц страниц для всех сегментов данного процесса. Адрес таблицы сегментов загружается в специальный регистр процессора, когда активизируется соответствующий процесс.
3.7. ОПЕРАЦІЙНІ СИСТЕМИ. СКЛАД ОС. ВИМОГИ ДО СУЧАСНИХ ОС. АРХІТЕКТУРНІ НАПРЯМКИ ПОБУДОВИ ОС.
Операционная система является сердцевиной сетевого программного обеспечения, она создает среду для выполнения приложений и во многом определяет, какими полезными для пользователя свойствами эти приложения будут обладать. В связи с этим рассмотрим требования, которым должна удовлетворять современная ОС.
Очевидно, что главным требованием, предъявляемым к операционной системе, является способность выполнения основных функций: эффективного управления ресурсами и обеспечения удобного интерфейса для пользователя и прикладных программ. Современная ОС, как правило, должна реализовывать мультипрограммную обработку, виртуальную память, свопинг, поддерживать многооконный интерфейс, а также выполнять многие другие, совершенно необходимые функции. Кроме этих функциональных требований к операционным системам предъявляются не менее важные рыночные требования. К этим требованиям относятся:
1) Расширяемость. Код должен быть написан таким образом, чтобы можно было легко внести дополнения и изменения, если это потребуется, и не нарушить целостность системы.
2).Переносимость. Код должен легко переноситься с процессора одного типа на процессор другого типа и с аппаратной платформы (которая включает наряду с типом процессора и способ организации всей аппаратуры компьютера) одного типа на аппаратную платформу другого типа.
3).Надежность и отказоустойчивость. Система должна быть защищена как от внутренних, так и от внешних ошибок, сбоев и отказов. Ее действия должны быть всегда предсказуемыми, а приложения не должны быть в состоянии наносить вред ОС.
4).Совместимость. ОС должна иметь средства для выполнения прикладных программ, написанных для других операционных систем. Кроме того, пользовательский интерфейс должен быть совместим с существующими системами и стандартами.
5).Безопасность. ОС должна обладать средствами защиты ресурсов одних пользователей от других.
6).Производительность. Система должна обладать настолько хорошим быстродействием и временем реакции, насколько это позволяет аппаратная платформа.
