Практикум по курсу "Системное программное обеспечение": Учебное пособие (Программа курса, методические указания к изучению дисциплины, содержание и методические рекомендации к выполнению контрольной работы), страница 3

Технологии обеспечения безопасности ОС. Концепции безопасности, заложенные в современные ОС. Безопасность на уровне пользователей групп, доступа к данным, процессам. Технологии шифрования информации.

Системы разработки программного обеспечения. Состав интегрированной среды разработки программного обеспечения. Компиляторы и интерпретаторы. Основные функции отладчика. Редактор ресурсов.

 Методы описания синтаксиса языков программирования. Форма Бэкуса-Науэра. Формальные языки и формальные грамматики. Метод конечного спуска.

3.1.2 Содержание лекционных занятий для студентов заочной формы обучения

Введение. Предмет дисциплины и ее задачи. Основные элементы системного программного обеспечения.  Драйверы устройств. Программы утилиты и программы оболочки. Классификация операционных систем. История развития и основные виды операционных систем ПЭВМ. Современные операционные системы ПЭВМ. Классификация и понятие ресурсов вычислительной системы.

Принципы организации многозадачности операционных систем. Концепции многозадачности. Понятие процесса и потока. Создание потоков, изменение их приоритетов, запуск, останов. Планирование процессов и их диспетчеризация. Технологии взаимодействия процессов и ОС. Состояния процессов и потоков.

Взаимодействие процессов и потоков. Объекты синхронизации потоков: семафоры, сигналы, критические секции. Технологии каналов, сокетов.

Организация памяти операционных систем ПЭВМ. Архитектура памяти ОС. Диспетчер управления памятью. Основные виды распределения памяти.

Обработка прерываний и исключений. Идеология механизма обработки прерываний. Супервизор прерываний. Виды прерываний и исключений. Аппаратная и программная обработка прерываний.

Файловые системы и организация ввода-вывода. Общие принципы построения файловых систем. История развития файловых систем. Особенности построения файловых систем FAT, HPFS, NTFS. Технологии ввода-вывода в современных операционных системах. Асинхронный ввод – вывод.

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

Методы описания синтаксиса языков программирования. Форма Бэкуса-Науэра. Формальные языки и формальные грамматики. Метод конечного спуска.

3.2 Тематика лабораторных работ

3.2.1 Тематика лабораторных работ для студентов очной формы обучения

Основы работы с командным интерпретатором.

Вход в систему. Виртуальные консоли. Команды, опции, параметры. Навигация по файловой системе. Справочная система. Создание и удаление файлов и директорий. Перенаправление ввода-вывода, каналы.

Обработка текстовых потоков и регулярные выражения. Определение размеров потока. Сортировка потока. Поиск в потоке с использованием регулярных выражений.

Управление доступом. Управление учетными записями. Управление правами доступа к файлам и директориям.

Управление процессами. Фоновые процессы. Завершение процесса. Управление приоритетами процессов. Назначенные задания.

Разработка многопоточного приложения. Создание дочерних потоков. Остановка и возобновление потоков. Управление приоритетами потоков. Синхронизация потоков.

Разработка приложений, осуществляющих обмен данными посредством каналов. Анонимные и именованные каналы. Создание канала. Получение доступа к существующему каналу. Чтение и запись. Многопоточность при работе с каналами.

Разработка строкового калькулятора. Основной цикл интерпретатора. Разбор строки на лексемы. Разбор и вычисление арифметического выражение по методу рекурсивного спуска.

3.2.2 Тематика лабораторных работ для студентов заочной формы обучения

Разработка строкового калькулятора. Основной цикл интерпретатора. Разбор строки на лексемы. Разбор и вычисление арифметического выражение по методу рекурсивного спуска.

Разработка приложений, осуществляющих обмен данными посредством каналов. Анонимные и именованные каналы. Создание канала. Получение доступа к существующему каналу. Чтение и запись. Многопоточность при работе с каналами.