README.md

Операционные системы

Лабораторная работа 1. Введение в команды unix, файловая иерархия

Задача 1

Условие: Пользователи не могут воспользоваться командами в Linux. Нужно исправить ситуацию. На все команды консоль ругается “-bash: /usr/bin/ls: Permission denied”.

Решение: Проверить, какие права в директории /usr/bin и дать всем пользователям права на исполнение всех команд.

Задача 2

Условие: Пользователь начали жаловаться, что компьютер начал тормозить. Вы открываете список процессов и обнаруживаете, что firefox съел всю память. Пользователю не жалко, если процесс браузера пропадёт.

Решение: Откройте список процессов и найдите процесс, потребляющий наибольшее количество памяти. Принудительно завершите этот процесс.

Задача 3

Условие: На диске внезапно кончилось всё место. Необходимо посмотреть, какие файлы занимают наибольшее пространство диска и удалить их.

Решение: Собираете статистику об использованном месте на диске, ищите 5 наиболее больших файлов. Удалите их.

Лабораторная работа 2. Процессы и сигналы

Задание

Написать программу, демонстрирующее: 1. Создание 2-х дочерних процессов (более — по желанию) 2. Обработка программой 2-х сигналов, требующих обработки от программы

  • Например, не делать обработку сигнала “9” (этот сигнал не обрабатывается)

Лабораторная работа 3. Сокеты

Написать две программы, демонстрирующие: 1. Создание клиента:

  • Отправляет сообщение серверу, сообщение вводит пользователь с клавиатуры;
  • Сразу после отправки ожидает сообщение от сервера;
  • Цикл повторяется: снова отправляет пользовательское сообщение и ждет ответа.
  1. Создание сервера:
    • Ждет сообщение от клиента;
    • Модифицирует сообщение — вставляет префикс “Server: ”;
    • Отправляет модифицированное сообщение клиенту;
    • Цикл повторяется: ждет сообщение от клиента, модифицирует и отправляет.
    • Должен уметь работать сразу с несколькими клиентами (от 2)

лабораторная работа 4. Файлы и организация доступа к файлам

Написать программу, которая будет: 1. Искать нужную информацию в большом файле .csv (около 2 Гб); 2. Индексировать большой файл; 3. Искать нужную информацию при помощи индекса; 4. Сравнивать время доступа “с” и “без” использования индекса (с индексом должно получиться быстрее).

Конвейеры
0 успешных
0 с ошибкой