- •Методические рекомендации по выполнению практических работ
- •Оп.04 «Операционные системы»
- •Практическая работа №1 Обзор аппаратного обеспечения компьютера: процессоры
- •Практическая работа №2 Обзор аппаратного обеспечения компьютера: память
- •Практическая работа №3 Обзор аппаратного обеспечения компьютера: устройства ввода-вывода
- •Практическая работа №4 Обзор аппаратного и программного обеспечения компьютерных сетей
- •Практическая работа №5 Обслуживание ввода-вывода
- •Практическая работа №6 Принцип уровней абстракции и его использование при разработке операционных систем
- •Практическая работа №7
- •Практическая работа №8 Оценка производительности системы
- •Практическая работа №9
- •Практическая работа №10
- •Практическая работа №11 Обзор многопоточности в unix
- •Практическая работа №12
- •Практическая работа №13 Обзор многопоточности в .Net
- •Практическая работа №14 Обзор многопоточности в Java
- •Практическая работа №15 Методы управления памятью в операционных системах
- •Практическая работа №16 Методы адресации в компьютерных системах
- •Практическая работа №17 Этапы обработки программы от исходного кода к исполняемому в операционных системах
- •Практическая работа №18
- •Практическая работа №19 Организация оверлейной структуры программ
- •Практическая работа №20 Реализация смежного распределения памяти
- •Методы распределения памяти без использования дискового пространства Распределение памяти фиксированными разделами
- •Распределение памяти разделами переменной величины
- •Перемещаемые разделы
- •Методы распределения памяти с использованием дискового пространства Страничное распределение
- •Сегментное распределение
- •Странично-сегментное распределение
- •Свопинг
- •Практическая работа №21
- •Практическая работа №22 Реализация хешированных таблиц страниц
- •Практическая работа №23 Создание резервных копий
- •Практическая работа №24 Восстановление данных
- •Практическая работа №25 Работа с антивирусными программами
- •Практическая работа №26 Основные правила и требования к парольной защите
- •Практическая работа №28 Осуществление мероприятий по защите персональных данных
- •Практическая работа №29
- •Приложение а
- •Практическая работа №30 Обеспечение работы системы регистрации и авторизации пользователей сети
- •Практическая работа №31 Осуществление системного администрирования локальных сетей
- •Практическая работа №32 Типы и решения сетевых проблем
- •Сети имеют сложную структуру
- •Средство устранения неполадок сети поможет решить проблему
- •Практическая работа №33 Установка контроллера домена и dns–сервера
- •Установка контроллера домена в существующий домен с использованием интерфейса Windows
- •Практическая работа №34 Добавление роли dhcp-сервера и его настройка
Практическая работа №14 Обзор многопоточности в Java
Цель работы: научиться проводить анализ преимуществ, недостатков, проблем многопоточностивJava.
Оборудование: Персональный компьютер с ОС Linux
Индивидуальное задание. Провести анализ многопоточности, выявить особенности, достоинства и недостатки многопоточности в Java
Теоретические сведения
Работа с процессами и потоками
Создание процессов
Класс java.lang.ProcessBuilder
После создания потока его можно принудительно завершить или послать ему данные
Создание потоков
Наследование от класса java.lang.Thread – основной
Способы синхронизации потоков
Ключевое слово synchronized – критическая секция, основной
Объявление метода, целиком являющегося критической секцией
Выделение критической секции в теле метода
Использование типов пакета java.util.concurrent
CyclicBarrier
CountDownLatch
ConcurrentMap<K,V>
BlockingQueue<E>
Модель работы с потоками
В JRE до версии 1.2 использовалась модель GreenThreads
GreenThreads – имитация потоков операционной системы
JVM берёт на себя заботу о переключении между разными GreenThreads
Для ОС все GreenThreads управляемого процесса являются единственным потоком
Даже при использовании GreenThreads для ОС JVM представляется в виде нескольких потоков, например, потока, в котором запускается сборщик мусора
Преимущества
Теоретически выше скорость переключения между GreenThreads (реально работает очень медленно)
Требуется меньше ресурсов
Возможность создания большего количества GreenThreads, по сравнению с потоками
Недостатки
Невозможно выполнить GreenThreads на разных процессорах
В единицу времени выполняется только один GreenThread
Начиная с версии 1.2 в JRE по умолчанию используется модель потоков ОС, но модель GreenThreads также поддерживается
Особенности работы с потоками Java в ОС Solaris
В ОС Solaris для Java начиная с версии 1.2 возможна использование модели MхN для работы с потоками
Управление задачами
java.util.concurrent.ThreadPoolExecutor – реализация пула потоков
java.util.concurrent.ScheduledThreadPoolExecutor – дополнительная возможность выполнять задания по расписанию или периодически
Ход работы:
1. Ознакомиться с теоретическими сведениями.
2. Провести анализ многопоточности, выявить особенности, достоинства и недостатки. Результаты оформить в таблице.
Содержание отчета
Отчет по практической работе должен содержать следующие пункты:
- название практической работы;
- цель работы;
- краткие теоретические сведения;
- индивидуальное задание для выполнения практической работы;
- краткое описание хода выполнения работы;
- результаты выполнения работы;
- выводы.
Практическая работа №15 Методы управления памятью в операционных системах
Цель работы: научиться определять и анализировать основные характеристики памяти компьютера.
Индивидуальное задание
Провести анализ использования памяти в операционных системах
Оборудование: ПК с операционной системой Windows XP/7/8.
Теоретические сведения
Система памяти является важнейшей обязательной частью персонального компьютера, без которой он не может функционировать.
По своей структуре система памяти разделяется на основную (внутреннюю) и внешнюю память. Основная (внутренняя) память - это память, к которой центральный процессор компьютера в процессе работы обращается постоянно за получением команд и данных, необходимых для функционирования компьютера. Внешняя память - это различного типа запоминающие устройства, где информация может сохраняться до начала и после обработки в компьютере.
Основная память, в свою очередь, делится на оперативную и постоянную.
Оперативная память является главной частью основной памяти и применяется для оперативного обмена информацией, т.е. командами и данными, между процессором, внешней памятью, периферийными устройствами ПК. Устройства оперативной памяти сокращенно называют ОЗУ или RAM (RandomAccessMemory) - память с произвольным доступом. Это название соответствует тому положению, что оперативная память должна обеспечивать чтение, запись любой ячейки ОЗУ в произвольном порядке.
Оперативная память может выполняться с использованием элементов памяти динамических (DRAM) и статических (SRAM).
И динамическая, и статическая память являются энергозависимыми. При отключении питания информация будет потеряна.
Важнейшими характеристиками оперативной памяти являются быстродействие, объем памяти, надежность. Важное значение имеет и стоимость элементов памяти.
Кэш-память вводится между ОЗУ и процессором и другими абонентами системной шины. Она не предназначена для хранения каких-либо выделенных массивов информации, а осуществляет хранение тех информационных блоков, к которым происходили последние обращения. Вследствие того, что вероятность повторных обращений очень велика, то при этих обращениях информация будет извлекаться из сверхоперативной кэш-памяти, что существенно ускоряет работу компьютера в целом.
Конструктивно элементы основной оперативной памяти выполнены в виде модулей, которые устанавливаются в специальные разъемы - слоты - на материнской плате. Возможна замена, дополнение модулей памяти.
Через оперативную память центральный процессор осуществляет связь с внутренней постоянной памятью. В современных ПК такая внутренняя постоянная память представлена винчестером - накопителем на твердом магнитном диске. На винчестере в специальном отделе хранится программное обеспечение ПК, а в других отделах - необходимые пользователю информационные данные, в том числе и архивируемые. Емкость современного винчестера может достигать нескольких сотен и даже тысяч Гигабайт.
Страничный файл, который называется также файлом подкачки, в Windows находится на жестком диске. Он используется для хранения данных и программ точно так же, как и физическая память, но его объем обычно превышает объем физической памяти. Windows использует файл подкачки (или файлы, их может быть несколько) для хранения информации, которая не помещается в RAM, производя, если нужно, обмен страниц между файлом подкачки и RAM.
Классические схемы управления памятью представлены на рисунке.
Необходимость обеспечить программам возможность осуществлять обмен данными с внешними устройствами и при этом не включать в каждую двоичную программу соответствующий двоичный код, осуществляющий собственно управление устройствами ввода/вывода, привела разработчиков к созданию системного программного обеспечения и, в частности, самих операционных систем.
Программирование задач управления вводом/выводом является наиболее сложным и трудоемким, требующим очень высокой квалификации. Поэтому код, позволяющий осуществлять операции ввода/вывода, стали оформлять в виде системных библиотечных процедур; потом его стали включать не в системы программирования, а в операционную систему с тем, чтобы в каждую отдельно взятую программу его не вставлять, а только позволить обращаться к такому коду. Системы программирования стали генерировать обращения к этому системному коду ввода/вывода и осуществлять только подготовку к собственно операциям ввода/вывода, то есть автоматизировать преобразование данных к соответствующему формату, понятному устройствам, избавляя прикладных программистов от этой сложной и трудоемкой работы. Другими словами, системы программирования вставляют в машинный код необходимые библиотечные подпрограммы ввода/вывода и обращения к тем системным программным модулям, которые, собственно, и управляют операциями обмена между оперативной памятью и внешними устройствами.
Таким образом, управление вводом/выводом — это одна из основных функций любой ОС. Одним из средств правления вводом/выводом, а также инструментом управления памятью является диспетчер задач Windows, он отображает приложения, процессы и службы, которые в текущий момент запущены на компьютере. С его помощью можно контролировать производительность компьютера или завершать работу приложений, которые не отвечают.
При наличии подключения к сети можно также просматривать состояние сети и параметры ее работы. Если к компьютеру подключились несколько пользователей, можно увидеть их имена, какие задачи они выполняют, а также отправить им сообщение.
Также управлять процессами можно и «вручную» при помощи командной строки.
Команды Windows для работы с процессами:
at — запуск программ в заданное время
Schtasks — настраивает выполнение команд по расписанию
Start — запускает определенную программу или команду в отдельном окне.
Taskkill — завершает процесс
Tasklist — выводит информацию о работающих процессах
Для получения более подробной информации, можно использовать центр справки и поддержки или команду help (например: helpat)
cmd.exe — запуск командной оболочки Windows
Ход работы
Отследите выполнение процесса explorer.exe при помощи диспетчера задач и командной строки.
Продемонстрируйте преподавателю завершение и повторный запуск процесса explorer.exe из:
Диспетчера задач;
Командной строки.
3. Сделать выводы о взаимосвязи запушенных процессов и оперативной памятью компьютера.
Содержание отчета
Отчет по практической работе должен содержать следующие пункты:
- название практической работы;
- цель работы;
- краткие теоретические сведения;
- индивидуальное задание для выполнения практической работы;
- краткое описание хода выполнения работы;
- результаты выполнения работы;
- выводы.
