Государственное образовательное учреждение высшего профессионального образования «НИЖЕГОРОДСКИЙ ГОСУНИВЕРСИТЕТ им. Н.И.ЛОБАЧЕВСКОГО»

advertisement
Государственное образовательное учреждение
высшего профессионального образования
«НИЖЕГОРОДСКИЙ ГОСУНИВЕРСИТЕТ им. Н.И.ЛОБАЧЕВСКОГО»
Факультет вычислительной математики и кибернетики
Кафедра информатики и автоматизации научных исследований
УТВЕРЖДАЮ
Декан факультета ВМК
профессор В.П.Гергель
___________________
«____»______________2013г.
Рабочая программа дисциплины (модуля)
СД.(М).Ф.2
«Программирование под UNIX»
Направление подготовки (специальность)
080800 Прикладная информатика
Квалификация (степень) выпускника
Бакалавр прикладной информатики
Форма обучения
очная
Нижний Новгород
2013 год
1. Область применения
Данная дисциплина относится к специальным дисциплинам и преподается в течении
одного семестра на 4 курсе очной формы обучения специальности Прикладная информатика
факультета ВМК.
2. Цели и задачи дисциплины
Цель данного курса заключается в изложении основ организации операционной
системы UNIX. Под именем UNIX обозначается значительное семейство операционных
систем, поэтому можно выделить то общее, что составляет генотип UNIX, а именно: базовый
пользовательский и программный интерфейсы, назначение основных компонентов, их
архитектуру и взаимодействие, и на основе этого представить систему в целом.
В семестровом курсе “Операционная система UNIX” раскрываются основные понятия и
организация операционной системы в целом, обсуждаются отдельные компоненты – файловая
подсистема, подсистемы управления процессами и памятью, подсистемы ввода/вывода.
Результатом курса является общая подготовка студентов как опытных пользователей ОС
UNIX.
3. Требования к уровню освоения содержания дисциплины
Прослушав в полном объеме семестровый курс “ Операционная система UNIX ”,
студенты освоят основные приемы работы с компонентами ОС UNIX, освоят принципы
межсетевых взаимодействий, настройки и сопровождения ОС UNIX, защиты системы и
данных.
На практических занятиях освоят ОС UNIX - Linux Red Hat 7.3 – свободно распространяемая
ОС, разработанная и постоянно обновляемая
всемирной командой программистов-
добровольцев, которые работают совместно через Internet.
В течении курса студенты узнают об истории создания, генеалогии UNIX, об основных
стандартах, о некоторых известных версиях UNIX и о причинах популярности ОС UNIX.
Освоят основные понятия операционной системы, типы файлов, структура файловой системы,
владельцы файлов и права доступа, процессы, типы и атрибуты процессов, жизненный путь
процесса, сигналы.
4.Объем дисциплины и виды учебной работы
2
Виды учебной работы
Всего
часов
Семестры
8
Общая трудоемкость дисциплины
199
199
Аудиторные занятия
Лекции
Практические занятия (ПЗ)
Семинары (С)
Лабораторные работы (ЛР)
Другие виды аудиторной работы
Самостоятельная работа
Курсовой проект (работа)
Расчетно-графическая работа
Реферат
Другие виды самостоятельной работы
Вид итогового контроля (зачет, экзамен)
24
14
24
14
14
14
171
171
зачет
зачет
5. Содержание дисциплины
5.1. Разделы дисциплины и виды занятий
№п/п
Раздел дисциплины
Лекции
ПЗ (или С)
ЛР
1.
ИСТОРИЯ СОЗДАНИЯ UNIX .
2
2.
РАБОТА В ОПЕРАЦИОННОЙ
СИСТЕМЕ UNIX.
1
1
3.
КОМАНДЫ И УТИЛИТЫ,
НЕОБХОДИМЫЕ ДЛЯ
РАБОТЫ.
1
2
4.
ПОЛЬЗОВАТЕЛЬСКАЯ СРЕДА
UNIX.
1
1
5.
КОНФИГУРИРОВАНИЕ И
СОПРОВОЖДЕНИЕ
СИСТЕМЫ.
1
6.
МЕЖМАШИННЫЕ И
МЕЖСЕТЕВЫЕ
ВЗАИМОДЕЙСТВИЯ.
1
1
7.
ПРОТОКОЛ NFS.
2
2
8.
ОБЗОРНАЯ ГЛАВА ПРО QNX
2
1
2
3
9.
ЗНАКОМСТВО С LINUX.
1
2
10.
РАБОТА В ОС LINUX.
1
1
11.
ДОПОЛНИТЕЛЬНЫЕ
ВОЗМОЖНОСТИ.
1
1
5.2. Содержание разделов дисциплины
1. ИСТОРИЯ СОЗДАНИЯ UNIX .
История создания, генеалогия UNIX, основные стандарты, некоторые известные версии
UNIX, причины популярности, общий взгляд на архитектуру UNIX.
2. РАБОТА В ОПЕРАЦИОННОЙ СИСТЕМЕ UNIX.
Основные понятия операционной системы, типы файлов, структура файловой системы,
владельцы файлов и права доступа, процессы, типы и атрибуты процессов, жизненный путь
процесса, сигналы.
3 . КОМАНДЫ И УТИЛИТЫ, НЕОБХОДИМЫЕ ДЛЯ РАБОТЫ.
Организация команды в ОС UNIX, команды для операций с файлами и директориями,
программирование на командном языке (sh, ksh), редакторы (vi).
4. ПОЛЬЗОВАТЕЛЬСКАЯ СРЕДА UNIX.
Пользователи системы, пароли, стандартные пользователи и группы, переменные,
перенаправление ввода/вывода, команда, функции и программы, запуск команд, монтирование
файловых систем.
5. КОНФИГУРИРОВАНИЕ И СОПРОВОЖДЕНИЕ СИСТЕМЫ.
Инициализационные файлы (.profile, .cshrc, .login), периодическое выполнение заданий (cron),
регистрация системных сообщений (syslog), управление процессами (ps, kill).
6. МЕЖМАШИННЫЕ И МЕЖСЕТЕВЫЕ ВЗАИМОДЕЙСТВИЯ.
7.ПРОТОКОЛ NFS.
8. ОБЗОРНАЯ ГЛАВА ПРО QNX.
Перечень практических занятий
9.ЗНАКОМСТВО С LINUX.
9.1.Подготовка компьютера и инсталляция LINUX RED HAT 7.3. Настройка разделов
жесткого диска. Загрузка и настройка Linux. Семь режимов работы (runlevel). Настройка
учетной записи пользователя.
9.2.Установка устройств и программ.
10.РАБОТА В ОС LINUX.
4
10.1.Файловая система LINUX, управление файловой системой, назначение прав доступа.
Диспетчеры файлов. Знакомство с графическими интерфейсами. Командные оболочки,
общие команды LINUX.
10.2.Редактор vi.
10.3.Настройка системы, управление памятью и дисковым пространством.
11.ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ.
11.1.Совместное использование файлов через сеть с помощью NFS.
11.2.Слежение за памятью и дисковым пространством.
11.3. Средства защиты для пользователей и администраторов.
Лабораторные работы
1. РАБОТА В ОПЕРАЦИОННОЙ СИСТЕМЕ UNIX. КОМАНДЫ И УТИЛИТЫ,
НЕОБХОДИМЫЕ ДЛЯ РАБОТЫ.
2. КОНФИГУРИРОВАНИЕ И СОПРОВОЖДЕНИЕ СИСТЕМЫ.
3. ПРОТОКОЛ NFS.
4. ОС LINUX.
5. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ UNIX.
6. Учебно-методическое обеспечение дисциплины
6.1. Рекомендуемая литература.
А. Робачевский. Операционная система UNIX. -СПб.: БХВ-Санкт-Петербург, 1997 г., 528с.
М. Левин. Операционная система UNIX. -М.: Оверлей, 2001 г., 416с.
Ди-Анн Лебланк, Мелани Хоуг, Эван Бломквист. Linux для “чайников” , 3-е издание.: Пер. с
англ.-М.: Издательский дом “Вильямс”, 2001.-432 с.
http://www.citforum.ru
http://www.osp.ru
http://www.lib.ru
http://www.unix.ru
http://www.linux.com
7. Вопросы для контроля
Теоретические вопросы :
1. Оболочка shell. Простейшие средства SHELL.
2. Структура команд. Группировка команд. Перенаправление команд.
3. История команд и команды истории.
4. Генерация имен файлов. Командные файлы.
5. Как работает .profile.?
6. Shell-переменные.
СПЕЦИАЛЬНЫЕ
Экранирование. Экспорт переменных.
СИМВОЛЫ
SHELL-ПЕРЕМЕННЫХ.
7. Параметры.
8. SHELL-операторы . Специальные символы SHELL-операторов.
Встроенные операторы SHELL.
5
9. Последовательность действий интерпретатора shell. Подстановки shell-интерпретатора
.
10. BASH и его место среди других SHELLS Запуск
Конфигурационные файлы.
BASH и выход из него.
11. Команды из набора SHELL-UTILS . Команды echo, pwd, test , let , expr, tee, date.
12. Работа с именами файлов: basename, dirname, pathchk
13. Работа с внешними команды true false yes printf tty sleep nohup
14. Информация о пользователях: id, logname, whoami, groups, users, who
Информация о системе: uname, hostname
15. Переменные PS1, PS2, PS3, PS4, PROMPT_COMMAND
16. Последняя версия BASH . Чем BASH отличается от SH ?
Вопросы к практическим занятиям:
1. Закройте свой домашний каталог (в директории home) для всех пользователей кроме себя.
2. Создайте файл test и измените его атрибуты на r-xr-xr-x , задавая его атрибуты в числовом
виде.
3. Создайте файл test и измените его собственника на другого (сможете ли вы после этого
возвратить себе этот файл?)
4. Измените у какого-нибудь уже существующего файла (файлов) группу на другую.
5. Вывести информацию о файловых системах, которые не совпадают с системой ext2.
Информацию вывести в килобайтах в файл df_result
6. Вывести информацию о всех файлах и подкаталогах в текущем каталоге с итоговой
информацией в байтах.
7.Производить фоновый опрос системы о количестве свободной и занятой памяти через
каждые 10 секунд. Результаты добавлять в файл free_result. Включить суммарную
информацию о свободной и занятой памяти.
8. Вывести информацию о смонтированных файловых системах отличающихся от vfat.
Вывести типы этих систем.
9. Вывести информацию о размерах (Мбайт)подкаталогов каталога-владельца текущего
каталога.
10. Найти файл let.htm во всей файловой системе c размером больше 10 байт и распечатать его
на экране.
11. Найти все файлы с расширением .сс или с расширением .dat в каталоге /home/ddd:
12. Удалить все файлы с именами с подтверждением на удаление a.out или q.dat из всей
файловой системы
6
13. Распечатать всё файлы , которые находятся во всей файловой системе и изменялись
больше неделю назад
14. Удалить из текущего каталога и его подкаталогов все файлы нулевого размера, запрашивая
подтверждение.
15. Вывести список файлов, имена которых не содержат слова "bash".
16. Задать поиск слов "Alex" и "alex", не используя флаг –i
17. Выяснить, работает ли mary в системе.
18. Задать регулярное выражение для поиска полиндромов - слов, читающихся одинаково с
конца и начала. Длина слова - 5 символов.
19. Назовите различия между командами grep,egrep и fgrep.
20. Вывести первые 20 символов файла.
21. Вывести первые 10 строк 2-х файлов не выводя их имена.
22. Послать первые 5 строк с клавиатуры по каналу на принтер.
23. Вывести имена первых 20 файлов, содержащихся в каталоге, в файл.
24. Завершить процесс c идентификатором pid.
25. Послать сигнал о завершении всем процессам.
26. Уничтожить процесс c идентификатором pid наверняка.
27. Послать сигнал всем процессам, входящим в группу посылающего процесса.
28. Распечатать все содержимое текущего каталога.
29.Расположить в столбцы выводимую информацию.
30.Просмотреть права доступа файлов в текущем каталоге.
31.Узнать, какие файлы в текущем каталоге являются выполняемыми.
32. Отсортировать содержимое каталога по дате изменения.
33. Вывести содержимое каталога с возможностью постепенного просмотра.
34.Вывести содержимое файла, заменяя несколько пустых строк одной (считать, что на экране
15 строк).
35. Вывести содержимое 2-х файлов.
36. Вывести последние 100 строк файла с сортировкой и с возможностью постепенного
просмотра.
37. Вывести 20 символов с конца файла.
38. Вывести 10 строк с конца файла.
39. Вывести 15 строк в обратном порядке.
40. Просматривать файл с конца в процессе его создания.
41.Отсортировать последние 20 строк файла.
42. Вывести количество пользователей подключенных к системе.
7
43. Напечатать имена пользователей, которым возможно посылать сообщения.
Выдать информацию о пользователе, который подключился к системе с данного IP адреса
'195.19.161.14'
44. Определить, функционирует ли машина с IP-адресом 138.116.114.
45. Проверить работоспособность узла 138.116.114.1 с помощью 6-и 60-байтных посылок,
посылаемых
через 4 секунды с заполнением их словом "HELLO".
46. Провести тестирование узла 138.116.114.1 без вывода текущей информации на экран.
Тестирование
проводить до нажатия клавиш CTRL^C.
47. Провести проверку работоспособности узла 138.116.114.1 с записью пути до него.
48. Определить среднее время передачи приема тестовых пакетов 60-ибайтовой длины на узел
138.116.114.1. Использовать 8 посылок.
49. Вывести информацию об о всех процессах.
50. Вывести информацию о процессах, для которых указаны идентификаторы лидеров групп
(pid1 pid2.)
51. Вывести информацию о файле-устройстве Память.
52. Вывести информацию о файле-устройстве Память в длинном формате.
53. Вывести информацию обо всех наиболее часто запрашиваемых процессах.
54. Вывести содержимое переменной PATH без перехода на новую строку.
55. C новой страницы выведите предложение, разделяя слова табуляцией.
56. Вывести значения переменных PS1 и PS2 в файл, разделив их обратным слэшем.
57. Добавить строку "Hello, World!" в файл.
58. Получить эхо имён файлов по одному в строке.
59. Посылка письма адресатам из списка в файле.
60. Удалить все файлы, оканчивающиеся на .bak.
61. Вывести через пять минут сообщение о том, что чай готов. Процесс запустить в фоновом
режиме.
62.Удалить из текущего каталога и его подкаталогов все файлы нулевого размера, запрашивая
подтверждение
63. Закройте свой домашний каталог (в директории home) для всех пользователей кроме себя
64. Вывести последние 100 строк файла с сортировкой и с возможностью постепенного
просмотра
65. Написать фрагмет программы на shell, который при отсутствии почты, переадресовывает
всю почту на другой адресат, например alex.
8
8. Критерии оценок
Зачтено
Незачтено
Курс освоен в полном объеме, на практических занятиях выполнены все
предложенные задания. Студент знает основные определения и понятия по
данному курсу. Свободно работает с ОС UNIX.
Курс по предмету «Операционная система UNIX» не освоен студентом.
Студент не владеет основными определениями и понятиями по данному
курсу. Практические задания не выполнены.
Программа составлена в соответствии с требованиями Государственного образовательного
стандарта высшего профессионального образования по направлению подготовки 080800 –
Прикладная информатика, бакалавр прикладной информатики.
Автор программы ст. преподаватель
А.А.Летнянчик
Программа рассмотрена на заседании кафедры ИАНИ 26 августа 2011г. , протокол № 1
Заведующий кафедрой профессор
М.Х.Прилуцкий
Программа одобрена методической комиссией факультета ВМК 20 октября 2011 года
протокол №2.
Председатель методической комиссии
профессор
Жильцова Л.П.
9
Download