Министерство образования и науки Российской Федерации
Московский государственный институт электроники и математики (технический университет)
Отчет по лабораторной работе №3
по дисциплине «Операционные системы»
Тема: «Работа с компилятором языка Си»
Выполнил:
студент группы С-41
Гребенюк А.В.
Вариант №7
Москва 2010
Задание: напечатать список активных терминалов в порядке увеличения затраченного на работу времени.
Необходимо создать файл-программу на языке Си, используя системную функцию system(), позволяющую выполнять команды языка shell. Вызов системной функции system() требует подключения библиотеки: #include <signal.h>.
С помощью редактора vim создадим файл lr3.awk с исходным кодом программы awk, поскольку в данном случае такой вызов будет более предпочтителен (не усложнять код экранированием множества кавычек в аргументе system()):
Создадим с помощью vim файл lr3.c с исходным кодом программы:
Программы на С, С++ и многих других языках в unix-подобных операционных системах компилируются при помощи GCC. Ключ «-о» позволяет задать имя выходного файла (который готов к исполнению). В случае удачной компиляции ничего не выводится, иначе выводятся ошибки разного рода, например, не найден подключаемый файл и т.п.
Скомпилируем lr3.c в исполнимый файл lr3:
Скрипты (.sh) и программы можно запускать командой ./<имя исполняемого файла>
Запустим lr3:
Для сравнения выполним who:
