Изучение принципов организации файловой системы ОС UNIX на примере QNX

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

Санкт-Петербургский Государственный Политехнический Университет

Факультет Технической Кибернетики

Кафедра Компьютерных систем и Программных технологий

Отчет

о лабораторной работе №2

«ИЗУЧЕНИЕ ФАЙЛОВЫХ СИСТЕМ»

по дисциплине «Системное программное обеспечение».

Работу выполнил студент группы 4081/2

Радзивиллович Мария

Преподаватель: Душутина Елена Владимировна

Санкт-Петербург

2010


1. Цель работы.

Изучение принципов организации файловой системы ОС UNIX на примере QNX.

2. Программа работы. 

  1. Используя команду ls, получить информацию о всех возможных типах файлов ФС в выходном файле. Оформить в виде скрипта.
  2. Получить все жесткие ссылки на заданный файл, находящиеся в разных каталогах пользовательского пространства (использовать конвейер команд и фильтрацию).
  3. Изучить команду find. Используя ее ключи, получить расширенную информацию о типах файлов.
  4. Проанализировать содержимое файла-каталога с помощью команды od при выполнении различных операций с файлами:

А) организовать пустой каталог

Б) скопировать в него файл

В) переименовать

Г) удалить

Д) создать подкаталог

Е)создать в нем файл

Ж) сравнить с UNIX ФС

Последовательность выполнения операций над файлами и каталогами, а также сравнение результатов в файле-каталоге задать в виде командного файла, позволяющего автоматизировать процесс анализа информации в файле-каталоге при внесении в него изменений при любой операции.

  1. Ознакомиться с содержимым файла /etc/passwd, /etc/shadow, утилитой /usr/bin/passwd, проанализировать права доступа к этим файлам
  2. Изучить команды изменения прав доступа и владельца chmod, chown на примере специально созданного для этих целей каталога с файлами. Ознакомиться с флагом SUID. Экспериментально установить, как формируются итоговые права на использование файла, если права пользователя и группы, в которую он входит, различны.
  3. Разработать программу-шлюз для доступа к данным другого пользователя при отсутствии прав на чтение информации (используя флаг SUID)
  4. Утилитами  df, fstab получить информацию о ФС и ОС, установленных на компьютере.
  5. Проанализировать все возможные способы формирования ссылок (ln, link, cp и т.д.) и подтвердить экспериментально. Предложить скрипт, подсчитывающий и перечисляющий все символические ссылки на файл в разных каталогах.
  6. Пояснить принцип работы утилиты file. Определить, где находятся магические числа, идентифицирующие тип файла, на примере исполняемого файла и любого другого типа по выбору. Команду file выполнить с разными ключами.
  7. Сопоставить возможности исполнения наиболее часто используемых  операций, варьируя правами доступа к файлу и каталогу (оформить в виде таблицы).

3. Выполнение работы.

3.1. Используя команду ls, получить информацию о всех возможных типах файлов ФС в выходном файле. Оформить в виде скрипта.

В файловой системе ОС QNX можно выделить несколько типов файлов.

Это:

  • Регулярные файлы (regular) - последовательность байтов, интерпретируемая приложением в соответствии со своим алгоритмом.
  • Каталоги (dir)
  • Специальные файлы (file_device) – обеспечивают доступ к физическому устройству.
  • FIFO (pipe) – служат для организации обмена между процессами.
  • Socket – для обмена между процессами, находящимися в сети.
  • Link – связи (ссылки).

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.