Взаимодействие модулей, использование системных вызовов и библиотечных функций управления процессами и файлами современных операционных систем. Примеры создания системных и пользовательских программ, процедур и функций на примере ОС семейства UNIX/Linux.
Целью выполнения работы является закрепление знаний умений и навыков в области взаимодействия модулей, использования системных вызовов и библиотечных функций управления процессами и файлами современных операционных систем для создания системных и пользовательских программ, процедур и функций на примере ОС семейства UNIX/Linux. В ходе выполнения работы студенту необходимо продемонстрировать знания функций, алгоритмов, механизмов управления процессами, разделяемыми ресурсами, файлами, вводом-выводом. Листьями могут являться: файлы (в традиционном понимании - именованные наборы данных), пустые каталоги (каталоги, с которыми не ассоциировано ни одного файла). В системе определено понятие имени файла - это имя, которое ассоциировано с набором данных в рамках каталога, которому принадлежит этот файл.По заданию согласно варианта 5 по списку необходимо организовать циклический обмен содержимым всех файлов (1->2->3->4->1). Рассмотрим основные принципы по которым будет создаваться программа: · Будут созданы 4-е процесса, а именно 4-ый процесс породит 1-ый процесс, 1-ый процесс, в свою очередь породит 2-ой процесс, 2-ой процесс породит 3-тий процесс.Каждая функция должна иметь имя, которое используется для ее объявления, определения и вызова. В любой программе на СИ должна быть функция с именем main (главная функция), именно с этой функции, в каком бы месте программы она не находилась, начинается выполнение программы. Это возвращаемое значение и есть результат выполнения функции, который при выполнении программы подставляется в точку вызова функции, где бы этот вызов ни встретился. Допускается также использовать функции не имеющие аргументов и функции не возвращающие никаких значений. С использованием функций в языке СИ связаны три понятия - определение функции (описание действий, выполняемых функцией), объявление функции (задание формы обращения к функции) и вызов функции.Программа состоит из главного модуля rgr.c, который использует подключаемый файл с функцией обмена file_obmen.h. Файл rgr.c: #include #include "file_obmen.h" int main() printf("Write file 4 >>> file 3
"); printf("Write file 3 >>> file 2
");Результат выполнения программы в консоле:
Содержимое файлов при первом проходе:
Содержимое файлов при втором проходе:
Программа проверена и работает корректно.В данной работе частично описана структура системы UNIX, взаимоотношения между процессами, выполняющимися в режиме задачи и в режиме ядра. Процессы выполняются в режиме задачи или в режиме ядра, в котором они пользуются услугами системы благодаря наличию набора обращений к операционной системе.
План
Содержание
Введение
1. Анализ задания и разработка алгоритма
2. Функции, используемые в работе
3. Листинг программы
4. Тестирование
Выводы
Литература
Введение
Целью выполнения работы является закрепление знаний умений и навыков в области взаимодействия модулей, использования системных вызовов и библиотечных функций управления процессами и файлами современных операционных систем для создания системных и пользовательских программ, процедур и функций на примере ОС семейства UNIX/Linux. В ходе выполнения работы студенту необходимо продемонстрировать знания функций, алгоритмов, механизмов управления процессами, разделяемыми ресурсами, файлами, вводом-выводом.
Файловая система Unix, это иерархическая, многопользовательская файловая система. Ее можно представить в виде дерева. В корне дерева находится “корневой каталог”, узлами, отличными от листьев дерева являются каталоги. Листьями могут являться: файлы (в традиционном понимании - именованные наборы данных), пустые каталоги (каталоги, с которыми не ассоциировано ни одного файла). В системе определено понятие имени файла - это имя, которое ассоциировано с набором данных в рамках каталога, которому принадлежит этот файл.
Процесс - понятие, которое определяется по-разному. Это может быть - “упорядоченный набор команд и принадлежащих ему ресурсов”. С точки зрения ОС Unix процесс - это объект, зарегистрированный в специальной таблице процессов.
Телом процесса называется набор команд и данных, которыми оперирует процесс.
Контекст процесса - атрибут, который присутствует практически во всех ОС, в разных ОС он может называться по-разному. Контексты всех процессов размещаются в адресном пространстве ОС и содержат оперативную информацию о состоянии процесса и текущую информацию, связанную с процессом и его запуском.
Вывод
В данной работе частично описана структура системы UNIX, взаимоотношения между процессами, выполняющимися в режиме задачи и в режиме ядра. Процессы выполняются в режиме задачи или в режиме ядра, в котором они пользуются услугами системы благодаря наличию набора обращений к операционной системе. Архитектура системы поддерживает такой стиль программирования, при котором из небольших программ, выполняющих только отдельные функции, но хорошо, составляются более сложные программы, использующие механизм каналов и переназначение ввода-вывода.
Обращения к операционной системе позволяют процессам производить операции, которые иначе не выполняются. В дополнение к обработке подобных обращений ядро операционной системы осуществляет общие учетные операции, управляет планированием процессов, распределением памяти и защитой процессов в оперативной памяти, обслуживает прерывания, управляет файлами и устройствами и обрабатывает особые ситуации, возникающие в системе. В функции ядра системы UNIX намеренно не включены многие функции, являющиеся частью других операционных систем, поскольку набор обращений к системе позволяет процессам выполнять все необходимые операции на пользовательском уровне.
Список литературы
1. Дж. Такет (мл.), С.Барнет. Использование Linux/ Специальное издание.: 5-е изд.: Пер. с англ.: Уч.пос. - М.: Издательский дом «Вильямс», 2000. - 784 с.
2. Максимальная защита Linux. Искусство настройки.: Пер. с англ./ под.ред. Дж.Рея - СПБ.: ООО «ДИАСОФТЮП», 2002. - 752 с.
3. Браун С. Операционная система UNIX - М.: Мир, 1986 - 463 с.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы