Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamen_GOS.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
8.21 Mб
Скачать

24. Управление памятью в Windows nt. Стратегии выборки, размещения и замещения страниц.

Windows NT поддерживает сегментно-страничную модель виртуальной памяти(В схемах виртуальной памяти сегмент – это линейная последовательность адресов, начинающаяся с 0. При организации виртуальной памяти размер сегмента может быть велик, например, может превышать размер оперативной памяти. Повторяя все ранее приведенные рассуждения о размещении в памяти больших программ, приходим к разбиению сегментов на страницы и необходимости поддержки своей таблицы страниц для каждого сегмента. На практике, однако, появления в системе большого количества таблиц страниц стараются избежать, организуя неперекрывающиеся сегменты в одном виртуальном пространстве, для описания которого хватает одной таблицы страниц. Таким образом, одна таблица страниц отводится для всего процесса).

Менеджер вирт. памяти обеспечивает для процессов след ф-ции: 1) Управление вирт. адресным пространством процесса; 2) Разделение памяти между процессами; 3) Защита вирт памяти

Средства защиты памяти осущ в 4х формах:

1) Отдельное адресное пространство для каждого процесса;

2) Два режима работы: режим ядра, в кот разрешен доступ к системным данным и пользовательский режим, в кот это запрещено;

3) Страничный механизм защиты. Каждая вирт страница имеет набор признаков, кот определяет разрешенные типы доступа в пользовательском режиме и в режиме ядра;

4) Объектно-ориентированная защита памяти. Каждый раз, когда процесс обращается к памяти, монитор ссылок безоп-ти проверяет, разрешён ли доступ процесса к данному объекту.

Каждый процесс имеет вирт адресное пространство размером 4Gb , из которых 2Gb резервируются для системных нужд.

Стратегии. Процесс принятия решений о замене страниц обычно включают в себя 3 этапа: выборки, размещения и замещения.

1. Этап выборки. Связан с выбором условия, при выполнении кот страницы перемещаются с диска в память. Менеджер вирт. память Windows NT использует стратегию выборки с кластеризацией, т е при возникновении страничного прерывания менеджер вирт памяти загружает в память требуемую страницу, а также небольшое кол-во окруж её страниц. Эта стратегия минимизирует кол-во страничных прерываний.

2. Этап размещения. Включает набор правил, используемых для определения места размещения новых страниц в память. В Windows NT менеджер вирт памяти выбирает 1ю страницу из списка свободных страниц.

3. Этап замещения. Если при загрузке новых страниц в физич памяти нет свободных страниц, то используется стратегия замещения, кот определяет, какую вирт страницу нужно удалить из памяти, чтобы освободить место для вновь поступающей страницы. Менеджер вирт памяти в Windows NT использует локальный алгоритм FIFO. В соответствии с этим алгоритмом из памяти удаляется та страница, кот дольше всего там находятся

25. Язык Java. Особенности языка. Средства для разработки приложений. (jdk). Пакеты. Простейшая программа, компиляция и запуск.

Создавая программы на языке Java, можно не задумываться в какой ОС будет работать данная программа. Java включает собственный набор машинно-независимых библиотек, которые называются пакетами. Причины платформонезависимости заключаются в том, что компилятор не генерирует непосредственно инструкции процессору или ОС, он создает промежуточный код (байт-код) для некоторой абстрактной виртуальной машины java: JVM. Поскольку ядро виртуальной машины Java реализовано для всех типов компьютеров и всех ОС, то файлы байт-кода можно рассматривать, как независимые от платформы приложения.

Компилятор файл java – кода

Особенность языка. 1) Платформонезависима

2) На языке Java можно создавать: приложения (самостоятельные java - программы); апплеты (программы, работающие под управлением браузера); сервлеты (программы, работающие на стороне сервера).

3) Объектно-ориентированный язык. Объектно-ориентированные программы не представляются в виде последовательности инструкций, рассматриваются как набор структур данных (классов), содержащих как данные (поля или атрибуты) класса, так и программные инструкции (методы). Файл называется также, как класс. На этапе объектно-ориентированного анализа приложение представляется в виде набора взаимосвязанных классов, например, приложение, моделирующее транспортные перевозки, будет состоять из таких классов, как автомобиль, груз, дорога, водитель и т.д. Т.е. перечень классов можно составить, исходя из описания задачи, выделяя существительные. В процессе работы приложения на основе класса создается множество его экземпляров (объектов). На этапе объектно-ориентированной разработки окончательно определяются все необходимые классы, их методы и данные, и они располагаются в порядке иерархии. Объект представляется как инкапсулированная структура, имеющая атрибуты и методы. Внешний вид объекта называется интерфейсом, который состоит из атрибутов и методов, которые являются видимыми для других объектов. Объекты могут наследоваться от других объектов.

4) Свойство полиморфизма. Позволяет переписывать методы у дочерних классов, которые были унаследованы от родительских.

5) Поддержка клиент-серверных технологий.

6) Поддержка многопоточности (поддержка потоков встроена в язык java). Поток представляет собой облегченную версию процесса, который не имеет абсолютной защиты, но функционирует быстрее, чем процесс.

Средства для разработки приложений JDK (Java Development Kit) - это один из программных инструментов для полноценной работы с языком Java, который, наряду с компилятором, интерпретатором, отладчиком и другими инструментами, включает в себя обширнейшую библиотеку классов Java.

Набор программ и классов JDK в основном содержит:

  • компилятор javac из исходного текста в байт-коды;

  • интерпретатор java, содержащий реализацию JVM;

  • облегченный интерпретатор jre (в последних версиях отсутствует);

  • программу просмотра апплетов appletviewer, заменящую броузер;

  • отладчик jdb;

  • диcассемблер javap;

  • программу архивации и сжатия jar;

  • программу сбора документации javadoc;

  • программу javah генерации заголовочных файлов языка С;

  • программу javakey добавления электронной подписи;

  • программу native2ascii, преобразующую бинарники в текстовые файлы;

  • программы rmic и rmiregistry для работы с удаленными объектами;

  • программу serialver, определяющую номер версии класса;

  • библиотеки и заголовочные файлы "родных" методов;

  • библиотеку классов Java API.

Пакеты. Пакет представляет собой набор родственных классов. В Java пакеты играют ту же роль, что и библиотеки в других языках программирования. Для помещения или определения класса к пакету необходимо написать в начале класса оператор package ru.vgtu.util. Имя пакета отражает иерархию и соответствует структуре каталогов, т.е. файлы пакета ru.vgtu.util располагаются в каталогах \ru\vgtu\util. Для работы с классами какого либо пакета необходимо его импортировать: import java.awt.*; Можно импортировать и конкретный класс import java.awt.Frame;

Простейшая программа на языке Java будет представлять собой простой класс с одним методом. Это главный метод с именем main, который должен быть обязательно public и static, а также иметь в качестве параметра массив строк, в который заносятся параметры принимаемые из командной строки.

public class Hello

{ public static void main(String[] arg)

{System.out.println(“Hello”); } }

Строка System.out.println(“Hello”) выводит текст на консоль.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]