Используя sourser (sr.exe) получить дизассемблерный код обработчика аппаратного прерывания от системного таймера Int 8h. На основе полученного кода составить алгоритм работы обработчика Int 8h. Отчет должен содержать:
- полученный ассемблерный код с адресами команд и коментариями;
- графический алгоритм работы обработчика прерывания Int 8h
1.2. Изучение функций прерывания от системного таймера в системах разделения времени, изучение пересчета динамических приоритетов.
Отчет по лабораторной работе состоит из двух частей:
- Функции обработчика прерывания от системного таймера для двух классов ОС - Windows и Unix:
- по тику;
- по главному тику;
- по кванту.
- Пересчет динамических приоритетов - также отдельно для ОС семейства Windows и для ОС Unix. Отчет заканчивается выводами, сделанными на основе проведенного исследования.
Написать программу, переводящую компьютер в защищенный режим (32-разраядный режим работы компьютеров на базе процессоров Intel). Программа начинает работать в реальном режиме. Для перевода в защищенный режим выполняются необходимые действия. В защищенном режиме программа работает на нулевом уровне привилегий. В защищенном режиме программа должна:
- определить объем доступной физической памяти;
- осуществить ввод с клавиатуры строки с выводом введенной строки на экран;
- получить информацию на экране от системного таймера или в виде мигающего курсора, или в виде количества тиков с момента запуска программы на выполнение, или в виде значения реального времени.
Затем программа корректно возвращается в реальный режим с соответствующими сообщениями.
В лабораторной работе надо создать пять программ:
- Процессы-сироты. В программе создаются не менее двух потомков. В потомках вызывается sleep(). Чтобы предок гарантированно завершился раньше своих потомков. Продемонстрировать с помощью соответствующего вывода информацию об идентификаторах процессов и их группе. Продемонстрировать «усыновление».
- Предок ждет завершения своих потомком, используя системный вызов wait(). В программе необходимо, чтобы предок выполнял анализ кодов завершения потомков.
- Потомки переходят на выполнение других программ, которые передаются системному вызову exec() в качестве параметра.
- Предок и потомки обмениваются сообщениями через неименованный программный канал.
- Предок и потомки аналогично п.4 обмениваются сообщениями через неименованный программный канал. В программу включается собственный обработчик сигнала. С помощью сигнала меняется ход выполнения программы.
В лабораторной работе исследуются вопросы и формируются навыки использования в приложениях таких средств меж процессного взаимодействия, как семафоры и разделяемая память. В лабораторной работе выполняются две программы на основе задач, характерных для взаимодействия асинхронных параллельных процессов: «производство-потребление» и «читатели-писатели».
В лабораторной работе необходимо разработать многопоточное приложение, используя API ОС Windows такие как, потоки, события (event) и мьютексы (mutex). Потоки разделяют единственную глобальную переменную. Приложение реализует монитор Хоара «Читатели-писатели».