Операционные системы МИИГАиК

Добро пожаловать на начальную страницу

Лабораторная работа №0

Установка необходимого софта Для выполнения курса лабораторных работ требуется установить следующий набор программ: Virtualbox Ссылка на установочные файлы (Не забудьте включить виртуализацию в bios, если у вас Windows/Linux) Obsidian Ссылка на подробную инструкцию по установке Typst* *Этот вариант не обязателен для составления отчетов, но советую ознакомиться. Ссылка на документацию

1 min · 49 words · Maxim Muravev

Лабораторная работа №1

Шаблон для выполнения работы Для выполнения работы создайте новый файла в Obsidian, назовите его “Фамилия Имя Отчество Группа Лабораторная работа 1”, скопируйте и вставьте представленный ниже шаблон: # Лабораторная работа №1 ## **Задание 1: Знакомство с командной строкой операционной системы** 1. **Выполнение простых команд**: Вставьте скриншот выполения этого пункта 2. **Перемещение по директориям**: Вставьте скриншот выполения этого пункта ## **Задание 2: Работа с файловой системой** 1. **Создание и удаление файлов**: Вставьте скриншот выполения этого пункта 2. **Создание и удаление каталогов**: Вставьте скриншот выполения этого пункта 3. **Копирование и перемещение файлов**: Вставьте скриншот выполения этого пункта ## **Задание 3: Работа с правами доступа** 1. **Просмотр прав доступа к файлам**: Вставьте скриншот выполения этого пункта 2. **Изменение прав доступа с помощью `chmod`**: Вставьте скриншот выполения этого пункта 3. **Изменение владельца и группы с помощью `chown`**: Вставьте скриншот выполения этого пункта ## **Задание 4: Основы работы с процессами** 1. **Просмотр процессов**: Вставьте скриншот выполения этого пункта 2. **Запуск процесса в фоновом режиме**: Вставьте скриншот выполения этого пункта 3. **Завершение процесса**: Вставьте скриншот выполения этого пункта 4. **Изменение приоритета процесса**: Вставьте скриншот выполения этого пункта ## Самоконтроль 1. **Что такое командная строка, и чем она отличается от графического интерфейса пользователя (GUI)?** Ваш ответ на вопрос, в свободной форме 2. **Какая команда используется для отображения текущего рабочего каталога?** Ваш ответ на вопрос, в свободной форме 3. **Как изменить текущую директорию с помощью командной строки? Приведите пример.** Ваш ответ на вопрос, в свободной форме 4. **Что означает вывод команды `ls -l` и как интерпретировать права доступа, указанные в выводе?** Ваш ответ на вопрос, в свободной форме 5. **Какая команда используется для копирования файлов в командной строке? Каков её синтаксис?** Ваш ответ на вопрос, в свободной форме 6. **Как переместить файл из одной директории в другую, используя команду `mv`?** Ваш ответ на вопрос, в свободной форме 7. **Чем команда `rm` отличается от команды `rmdir`? В каких случаях какую команду следует использовать?** Ваш ответ на вопрос, в свободной форме 8. **Как создать новый каталог в командной строке? Какая команда используется для этого?** Ваш ответ на вопрос, в свободной форме 9. **Как проверить, был ли файл успешно удалён после выполнения команды `rm`?** Ваш ответ на вопрос, в свободной форме 10. **Какие права доступа могут быть установлены на файл или каталог?** Ваш ответ на вопрос, в свободной форме 11. **Какую команду следует использовать для изменения прав доступа к файлу? Приведите пример использования этой команды.** Ваш ответ на вопрос, в свободной форме 12. **Что делает команда `chmod +x file.sh`?** Ваш ответ на вопрос, в свободной форме 13. **Как изменяются права доступа для владельца, группы и других пользователей с помощью команды `chmod`?** Ваш ответ на вопрос, в свободной форме 14. **Какая команда используется для изменения владельца и группы файла? Приведите пример.** Ваш ответ на вопрос, в свободной форме 15. **Что такое процесс в операционной системе? Как можно посмотреть список запущенных процессов в системе?** Ваш ответ на вопрос, в свободной форме 16. **Какова роль команды `ps` и что она выводит?** Ваш ответ на вопрос, в свободной форме 17. **Что такое фоновый процесс? Как можно запустить процесс в фоновом режиме?** Ваш ответ на вопрос, в свободной форме 18. **Какая команда используется для завершения процесса по его PID?** Ваш ответ на вопрос, в свободной форме 20. **Что происходит, если при завершении процесса использовать команду `kill -9`? Как она отличается от обычной команды `kill`?** Ваш ответ на вопрос, в свободной форме 21. **Что такое приоритет процесса? Как изменить приоритет запущенного процесса с помощью команды `renice`?** Ваш ответ на вопрос, в свободной форме 22. **Как запустить процесс с изменённым приоритетом с помощью команды `nice`?** Ваш ответ на вопрос, в свободной форме 23. **Как можно просматривать и анализировать вывод команды `ls -l`? Что означают символы в первой колонке (например, `-rwxr-xr--`)?** Ваш ответ на вопрос, в свободной форме 24. **Какие основные отличия между командами `cp` и `mv`? Когда нужно использовать каждую из них?** Ваш ответ на вопрос, в свободной форме 25. **Каковы различия между командами `rm` и `rmdir`?** Ваш ответ на вопрос, в свободной форме 26. **Какая команда позволяет изменить каталог в файловой системе и перейти в другую директорию?** Ваш ответ на вопрос, в свободной форме 27. **Как в операционной системе управляются права доступа к файлам и каталогам? Почему это важно для безопасности системы?** Ваш ответ на вопрос, в свободной форме Теоретическая часть 1. Знакомство с командной строкой операционной системы Командная строка (или терминал) — это текстовый интерфейс для взаимодействия с операционной системой. В отличие от графического интерфейса, где действия выполняются с помощью мыши, в командной строке используется текстовый ввод команд. Это мощный инструмент, позволяющий выполнять операции с операционной системой и управлять программами, файлами и ресурсами. ...

9 min · 1859 words · Maxim Muravev

Лабораторная работа №2

Шаблон для выполнения работы Для выполнения работы создайте новый файла в Obsidian, назовите его “Фамилия Имя Отчество Группа Лабораторная работа 2”, скопируйте и вставьте представленный ниже шаблон: --- title: "Отчет по лабораторной работе 2: Файловые системы" author: "[ФИО студента]" course: "[Название курса]" --- # Отчет по лабораторной работе 2: Файловые системы ## 1. Теоретическая часть *Опишите основные теоретические положения, на которых основана лабораторная работа.* - Основные понятия файловых систем (файл, каталог, метаданные). - Структура файловой системы. - Методы аллокации файлов. - Журналирование, отказоустойчивость и управление доступом. ## 2. Экспериментальная установка *Опишите подготовку тестовой среды и используемые инструменты.* ### 2.1 Подготовка тестовой среды - **Оборудование и программное обеспечение**: - Тип используемого накопителя (SSD, HDD, NVMe). - Конфигурация виртуальных машин/контейнеров. - **Настройка разделов и образов дисков**: - Размеры тестовых разделов. - Используемые утилиты форматирования (mkfs и др.). ### 2.2 Методика экспериментов - **Тестирование производительности**: - Последовательное чтение/запись (инструменты: `dd`, `fio`). - Случайный доступ, IOPS и латентность. - **Тестирование журналирования и отказоустойчивости**: - Сценарии симуляции сбоев. - Время восстановления после сбоев. - **Анализ управления доступом и безопасности**: - Проверка прав доступа, использование ACL. - Тестирование встроенных механизмов шифрования и аудита. ## 3. Результаты экспериментов *Представьте результаты тестирования в виде таблиц* ### 3.1 Таблицы с данными - Таблица с показателями последовательного чтения/записи. - Таблица с результатами тестирования случайного доступа (IOPS, латентность). !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! P.S. Таблицы можно делать в обсидиан, excel для этого не обязателен. Посмотрите -- https://www.makeuseof.com/how-to-create-tables-obsidian/ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ## 4. Анализ результатов и обсуждение *Проанализируйте полученные данные, сравните результаты экспериментов с теоретическими ожиданиями.* - Какие файловые системы показали наилучшие результаты? - Как влияет метод аллокации на производительность и отказоустойчивость? - Какие проблемы и ограничения выявлены в ходе тестов? ## 5. Выводы *Сформулируйте основные выводы по работе.* - Кратко опишите, что удалось выяснить в ходе экспериментов. - Обоснуйте выбор оптимальной файловой системы для конкретного сценария. ## 6. Список использованных источников *Приведите список литературы, статей и онлайн-ресурсов, которые были использованы при подготовке отчета.* - [Название источника 1](URL) - [Название источника 2](URL) - … 1. Теоретическая часть 1. Введение Файловая система (ФС) является фундаментальной подсистемой любой операционной системы, выполняющей роль посредника между прикладными программами и физическими носителями информации. В этой части мы рассмотрим не только базовое определение, но и более глубокие аспекты, определяющие значимость и роль файловых систем в современном вычислительном окружении. ...

30 min · 6359 words · Maxim Muravev

Лабораторная работа №3

Шаблон для выполнения работы Для выполнения работы создайте новый файла в Obsidian, назовите его “Фамилия Имя Отчество Группа Лабораторная работа 3”, скопируйте и вставьте представленный ниже шаблон: --- title: "Лабораторная работа 3: Системы инициализации" author: "ФИО студента" date: YYYY-MM-DD tags: [лабораторная, systemd, инициализация, ОС] --- # Лабораторная работа 3: Системы инициализации ## 1. Теоретическая часть ### 1.1 История развития систем инициализации _Опишите эволюцию систем инициализации, начиная с ранних Unix-систем, появления файла `/etc/inittab` и SysVinit, перехода к событийным моделям (Upstart, OpenRC) и современному решению systemd._ - **Ключевые этапы развития:** - Первые Unix-системы и последовательное выполнение скриптов. - Введение runlevels и формирование SysVinit. - Появление событийного управления (Upstart). - Лёгкость и модульность OpenRC. - Интеграция и параллельный запуск с systemd. ### 1.2 Классическая система инициализации (SysVinit) _Опишите принципы работы SysVinit, структуру скриптов в `/etc/init.d/`, использование файла `/etc/inittab`, а также преимущества и недостатки данного подхода._ ### 1.3 Альтернативные системы инициализации (Upstart, OpenRC) _Рассмотрите особенности альтернативных систем инициализации:_ - **Upstart:** событийная модель, динамический запуск сервисов, обработка ошибок. - **OpenRC:** сохранение традиционного подхода с добавлением параллельного запуска и гибкого управления зависимостями. ### 1.4 Современная система инициализации: systemd _Детально опишите архитектуру systemd:_ - Принцип работы с unit-файлами. - Основные секции unit-файлов: [Unit], [Service], [Install]. - Механизмы socket-активации, параллельного запуска, таймеров. - Интегрированное журналирование с journald. - Сравнительный анализ с предыдущими системами. --- ## 2. Практическая часть ### 2.1 Анализ существующих unit-файлов _Опишите, где расположены unit-файлы (например, `/usr/lib/systemd/system/` и `/etc/systemd/system/`). Раскройте структуру unit-файлов:_ - **[Unit]:** описание, зависимости (After, Before, Requires, Wants). - **[Service]:** параметры запуска (ExecStart, ExecStop, Type, Restart, Environment и т.д.). - **[Install]:** условия активации (WantedBy). _Приведите примеры, объясните, как эти параметры влияют на процесс инициализации._ ### 2.2 Создание собственного сервиса _Опишите этапы создания сервиса:_ 1. **Подготовка скрипта:** - Создайте, например, скрипт `hello.sh`, который выводит сообщение в лог или на экран. - Пример содержимого скрипта: ```bash #!/bin/bash echo "Привет, мир! $(date)" >> /var/log/hello.log echo "Использую переменную окружения! $EXAMPLE_VAR" ``` - Не забудьте сделать скрипт исполняемым (`chmod +x /usr/local/bin/hello.sh`). 2. **Создание unit-файла сервиса:** - Создайте файл `/etc/systemd/system/my_service.service` со следующим содержимым: ``` [Unit] Description=Мой кастомный сервис, выводящий приветственное сообщение After=network.target [Service] Type=simple ExecStart=/usr/local/bin/hello.sh Restart=on-failure User=root Environment="EXAMPLE_VAR=HelloWorld" [Install] WantedBy=multi-user.target ``` 3. **Обновление конфигурации и запуск:** - Выполните `systemctl daemon-reload`. - Включите и запустите сервис: `systemctl enable my_service.service` и `systemctl start my_service.service`. - Проверьте статус: `systemctl status my_service.service`. ### 2.3 Настройка таймера для периодического запуска сервиса _Опишите, как создать таймер для сервиса:_ 1. **Создание файла таймера:** - Создайте файл `/etc/systemd/system/my_service.timer`: ``` [Unit] Description=Запуск сервиса my_service каждую минуту [Timer] OnCalendar=*-*-* *:*:00 Persistent=true [Install] WantedBy=timers.target ``` 2. **Активация таймера:** - Обновите конфигурацию: `systemctl daemon-reload`. - Включите таймер: `systemctl enable --now my_service.timer`. - Проверьте активные таймеры: `systemctl list-timers`. ### 2.4 Анализ логов и отладка _Опишите процесс анализа логов и диагностики работы сервиса:_ - Используйте `systemctl status my_service.service` для получения общей информации. - Примените `journalctl -u my_service.service` для детального анализа логов. - Опишите, какие ошибки или предупреждения вы обнаружили и как их можно устранить. - Укажите дополнительные инструменты (например, systemd-analyze) для диагностики времени загрузки и оптимизации. ## 3. Список литературы и источников _Укажите источники, на которых основывались ваши исследования:_ - Официальная документация systemd. - Man-страницы (systemd, systemctl, journalctl). - Учебные пособия и статьи по операционным системам. - Исторические материалы по развитию Unix/Linux. Примечание: Заполните каждый раздел своими наблюдениями, примерами команд, скриншотами (если необходимо) и выводами. Этот шаблон предназначен для структурирования отчёта, поэтому рекомендуется сохранять ясность и последовательность изложения. ...

22 min · 4582 words · Maxim Muravev

Лабораторная работа №4

Шаблон для выполнения работы Для выполнения работы создайте новый файла в Obsidian, назовите его “Фамилия Имя Отчество Группа Лабораторная работа 4”, скопируйте и вставьте представленный ниже шаблон: --- title: "Лабораторная работа 4: Видео серверы" author: "Фамилия Имя Отчество" group: "Номер группы" date: YYYY-MM-DD tags: [лабораторная, x11, wayland, ОС, i3, sway] --- # Лабораторная работа 4: Видео серверы ## Цель работы Опишите своими словами цель лабораторной работы. Например: *Изучить принципы работы графических серверов X11 и Wayland, а также закрепить практические навыки установки и настройки оконных менеджеров i3wm и sway в системе Debian.* ## 1. Теоретическая часть ### 1.1. X Server Кратко опишите основные принципы работы X Server, клиент-серверную модель, его архитектуру и особенности. ### 1.2. Wayland Опишите архитектуру Wayland, отличия от X11, понятие композитора, взаимодействие с приложениями, а также плюсы и ограничения. ### 1.3. Оконные менеджеры и окружения Объясните разницу между оконным менеджером и окружением рабочего стола. Приведите примеры. Какие типы оконных менеджеров бывают? Какую роль они играют при работе с X11 и Wayland? ## 2. Практическая часть > Во всех шагах приводите команды, снимки экрана (если возможно), и поясняйте, что вы делаете и к какому результату это приводит. ### 2.1. Настройка X Server и i3wm - Какие пакеты были установлены? - Как запускалась сессия i3? - Какие конфигурации были выполнены (например, ~/.xinitrc)? - Что получилось в результате (описание или скриншот)? - Какие сложности возникли? Как их решили? ### 2.2. Настройка sway на Wayland - Как запускали sway? - Какие переменные окружения понадобились? - Как настроили конфигурацию? - Работал ли XWayland? - Были ли ошибки? Как устранялись? - В чём сходства и отличия по сравнению с i3? ## 3. Выводы Сформулируйте свои выводы по работе: - Что вы узнали нового? - Что оказалось наиболее полезным/сложным? - В чём разница между X11 и Wayland по ощущениям? Примечание: Заполните каждый раздел своими наблюдениями, примерами команд, скриншотами (если необходимо) и выводами. Этот шаблон предназначен для структурирования отчёта, поэтому рекомендуется сохранять ясность и последовательность изложения. ...

16 min · 3221 words · Maxim Muravev