Uploaded by sascha2_38

Метод КР ОССиО 2020

advertisement
«УТВЕРЖДАЮ»
Проректор по учебно-методической
_________ Н.В. Бабина
«___»___________2019г.
Факультет инфокоммуникационных систем и технологий
КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И
УПРАВЛЯЮЩИХ СИСТЕМ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ К КОНТРОЛЬНОЙ РАБОТЕ
по дисциплине
«ОПЕРАЦИОННЫЕ СИСТЕМЫ, СРЕДЫ И ОБОЛОЧКИ»
Направление подготовки:
Квалификация (степень) выпускника: бакалавр
Форма обучения: очная/заочная
Королев 2019 г.
Автор: доц. МГОТУ, Исаева Г.Н.
Дисциплина: Операционные системы, среды и оболочки
Королев МО: МГОТУ, 2019 г.14с
Рецензент: доц. МГОТУ, Логачёва Н.В.
Методические указания составлены в соответствии с требованиями
федерального Государственного образовательного стандарта высшего
профессионального образования (ФГОС+) по направлению подготовки
бакалавров по специальности ИТ факультета: 09.03.03 «Прикладная
информатика»/ 09.03.02 «Информационные системы и технологии»/
09.09.02
«Управление
в
технических
системах»/
10.10.02
«Информационная безопасность» »/ 01.03.02 «Прикладная математика и
информатика»/ и Учебного плана, утвержденного Ученым советом МГОТУ.
Протокол № от 2019 года.
РЕКОМЕНДОВАНО
УМС
Протокол №__
От
2019г.
Методические указания
рассмотрены и одобрены
на заседании кафедры
Протокол №
от
2019г.
Заведующий кафедрой ИТУС
д.т.н. профессор Артюшенко В.М
Программа
утверждена
заседании Совета факультета
Протокол №
от
на
2019г.
2
1. Общие положения
Контрольные работы для студентов ИТ факультета, по направлению
«Бакалавры», выполняются на втором(третьем) году обучения студентов (в
четвёртом/ шестом семестре) по рассматриваемой дисциплине.
При этом используется дополнительно учебный материал следующих
дисциплин:
Математика;
Информатика;
Языки программирования.
Целью выполнения контрольных работ являются:
расширение и углубление теоретических знаний по изучаемой
дисциплине;
получение дополнительных практических навыков по тематике
домашних заданий (контрольных работ);
развитие творческих способностей и самостоятельности в ходе
проведения исследований.
2. Тематика контрольных работ (семестр № 4)
№п.\п
Наименование тем
1.
Исследование одной из функций операционной системы.
2.
Выполнение расчетно-графической работы.
3. Структура, содержание и оформление контрольных работ
Структура домашнего задания (контрольных работ) должна предусматривать
следующие разделы по каждой теме:
1)
постановка задачи;
2)
теоретическое описание исследуемого объекта (процесса, ситуации,
задачи);
3)
методология (методика) решения рассматриваемой задачи с
построением модели решения задачи (если необходимо), а также алгоритм
решения задачи, оформленный по правилам и стандартам документирования
3
ПО
(программного
обеспечения)
одним
из
способов
(в
словесной/графической/псевдокод/на ЯП ВУ форме);
4)
практическое использование (реализация) решения задачи (где и для
каких типов задач могут быть применимы предлагаемые алгоритмы и
решения);
5)
Результаты тестовых примеров в средах (если задача связана с
кодированием).
Введение, заключение, список литературы должен быть один, не
зависимо от количества задач в КР.
В содержание отчета по домашнему заданию (контрольной работе)
должно входить:
1) Титульный лист (Приложение 1)
2) Введение
3) Решение задачи по теме 1(согласно приведенным разделам)
4) Решение задачи по теме 2(согласно приведенным разделам)
...
5) Решение задачи по теме N (согласно приведенным разделам)
6) Заключение
7) Список литературы
8) Содержание
Примечание:
1)
Отчет по домашнему заданию (контрольной работе) оформляется
в MS Word, в электронном виде, объемом не более 10-15 листов формата «А4».
2)
Отчёт по контрольной работе обязательно подлежит защите не
позднее последней недели обучения в семестре, а разработанные тестовые
примеры должны быть продемонстрированы преподавателю в среде
разработки.
4. Варианты заданий
Тема 1
Исследование одной из функций операционной системы.
1.
Исследовать данный вопрос и привести отчет с выводами и элементами
структурирования: таблицы, графики, схемы, алгоритмы…
1.
2.
3.
4.
5.
Особенности архитектуры ОС, основанной на ядре.
Назначение вспомогательных модулей ОС.
Анализ многослойной структуры ОС.
Преимущества переносимых ОС.
Анализ архитектур современных ОС
4
6.
Нано-ядерная архитектура ОС.
7.
Пико-ядра и их назначение.
8.
Гибридная архитектура ОС.
9.
Интерфейс POSIX.
10. Исследование сетевых возможностей Windows- подобных ОС.
11. Отличительные аспекты многопрограммных и многозадачных ОС.
12. Отличительные характеристики Mac OS.
13. Непрерывные
методы
распределения
памяти
в
мультипрограммных ОС.
14. Разрывные методы распределения памяти в мультипрограммных
ОС.
15. Организация распределения памяти в однопрограммных ОС.
16. Организация распределения памяти разделами.
17. Анализ состава и назначения библиотек операционных систем.
18. Алгоритм управления вводом/выводом в Windows XP.
19. Назначение спул-файлов при организации ввода/вывода в ОС.
20. Алгоритм работы системного загрузчика Windows NT/2000/XP.
21. Режимы ввода/вывода в современных ОС.
22. Ключевые особенности файловой система FAT-32
23. Файловая система NTFS и её главная таблица.
24. Файловая система HPFS и её отличительные черты.
25. Файловая система USF
26. Анализ синхронного и асинхронного ввода/вывода в ОС.
27. Алгоритм кэширования операций ввода/вывода при работе с
накопителями на магнитных дисках
28. Анализ параллельных взаимодействующих вычислительных
процессов в мультипрограммных и мультизадачных операционных системах
29. Исследуйте, возможен ли следующий алгоритм планирования,
выводы обоснуйте. Если такой алгоритм планирования потоков возможен –
составьте его схему: вытесняющий с абсолютными динамическими
приоритетами
30. Описать один из алгоритмов обработка тупиков при организации
параллельного выполнения нескольких вычислительных процессов.
31. Исследуйте, возможен ли следующий алгоритм планирования,
выводы обоснуйте. Если такой алгоритм планирования потоков возможен –
опишите его в виде блок-схемы: не вытесняющий с абсолютными
фиксированными приоритетами.
32. Исследовать алгоритм управления процессами и задачами в ОС РВ
33. Исследуйте, возможен ли следующий алгоритм планирования,
выводы обоснуйте. Если такой алгоритм планирования потоков возможен –
составьте его блок-схему: не вытесняющий с относительными
динамическими приоритетами.
5
34. Уплотнение памяти – к какому способу распределения памяти в
ОС относится эта операция. Опишите его, показав схематично, что происходит
в системе.
35. Исследуйте, возможен ли следующий алгоритм планирования,
выводы обоснуйте. Если такой алгоритм планирования потоков возможен –
составьте его блок-схему: вытесняющий с абсолютными фиксированными
приоритетами, основанный на квантовании с динамически изменяющейся
длиной кванта.
36. Известно, что программа А выполняется в монопольном режиме
за 10 минут, а программа В — за 20 минут, то есть при последовательном
выполнении они требуют 30 минут. Составьте диаграммы выполнения этих
задач в монопольном и мультипрограммных режимах и оцените Т — время
выполнения обеих этих задач в режиме мультипрограммирования с помощью
неравенства. Ответ обоснуйте.
37. Сравните механизмы диспетчеризации задач в операционных
системах линейки Windows: Windows 95 х, Windows NT, Windows7, Windows
10. Отличаются ли они?
38. Исследуйте, возможен ли следующий алгоритм планирования,
выводы обоснуйте. Если такой алгоритм планирования потоков возможен –
составьте его блок-схему: не вытесняющий основанный на квантовании с
фиксированной длиной кванта. Если нет – опишите почему.
39. Что понимается под критическими секциями? Опишите данный
механизм. Приведите схемы.
40. Один
из
способов
арбитража
при
параллельных
взаимодействующих вычислительных процессов в мультипрограммных и
мультизадачных операционных системах – мьютексы. Опишите его.
Тема 2
2.
Выполнение расчетно-графической работы
Выполнить решение задачи, обосновать его и оформить согласно
требованиям, изложенным в разделах (стр. 3-4)
1.
Создайте командный файл в Windows, где в зависимости от
введенных значений переменных окружения либо выводится заданный
файл(файлы) на консоль, либо открывается окно с приложением чтения файла
(файлов). Переменными окружения задаются имя(имена) файла и признак
ветвления алгоритма.
2.
Вычислить номер виртуальной страницы и смещение для
виртуальных адресов 1230005, 3274893, если размер страницы равен 4 Кбайт
Приведите расчёт и опишите страничное распределение виртуальной памяти
6
3.
Напишите сценарий (командный файл) в Linux, который бы
выдавал на консоль i-тое число Фибоначчи. Параметр i должен передаваться
при вызове командного файла в среде окружения.
4.
Известно, что программа А выполняется в монопольном режиме
за 10 минут, а программа В — за 20 минут, то есть при последовательном
выполнении они требуют 30 минут. Составьте диаграммы выполнения этих
задач в монопольном и мультипрограммных режимах и оцените Т —время
выполнения обеих этих задач в режиме мультипрограммирования. Ответ
обоснуйте
5.
Система устраняет свободные участки памяти с помощью
уплотнения. Если предположить, что множество свободных участков и
множество сегментов, данных распределено случайно, а время для чтения и
записи 32 – разрядного слова в памяти равно 10 нс, то, сколько времени займёт
уплотнение 128 Мбайт памяти в худшем случае? Приведите расчёт и опишите
механизм уплотнения памяти.
6.
В системе со страничной организацией памяти (размер страницы
14
2 байт) происходит обращение по виртуальному адресу 012356.
Преобразуйте этот адрес в физический, если в таблице страниц данного
процесса задана следующая информация
Номер виртуальной страницы
0000
0001
0010
0011
Номер физической страницы
0101
0010
0011
0000
Поясните страничное распределение памяти.
7.
Компьютер имеет 32- разрядное адресное пространство и
страницы размером 8 Кбайт. Таблица страниц целиком поддерживается
аппаратно, на запись в ней отводится одно 32 –разрядное слово. При запуске
процесса таблица страниц копируется из памяти в аппаратуру, одно слово
требует 10нс. Если каждый процесс работает в течение 100мс (включая время
загрузки таблицы страниц), какая доля времени процессора жертвуется на
загрузку таблицы страниц? Приведите расчёт и опишите страничное
распределение виртуальной памяти
8.
В режиме создания командного файла подсчитайте количество
выполняемых циклов в примере:
Echo off
For %%s in (%1) do type %%s
Для этого используйте переменную окружения d. Перечень имен файлов
(%1) задайте при запуске командного файла, результатом его выполнения
будет значение переменной d. Выполните в среде Windows: Разработайте
похожий сценарий для подсчёта скопированных файлов
9.
В заданном каталоге Windows, где имеются текстовые файлы,
различающиеся размером и содержанием, разработайте командный файл для
7
поиска определённой комбинации символов во всех этих файлах. Количество
файлов, в которых комбинация встретилась – подсчитайте с помощью
переменной col.
10. Жесткий диск имеет емкость 20 Гбайт и размещение файлов в виде
связанного списка кластеров. Размер кластера 4 Кбайт. Определите
максимальное количество файлов, которые можно разместить на диске и долю
адресной информации в процентах от ёмкости диска.
11. Имеется командный файл test.bat со следующим содержанием:
echo off
For %%S in (%1) do type %%S
Какие действия будут выполнены при запуске этого файла командой:
start test *.dat
Выполните и опишите сценарий. заменив команду type на copy (если надо –
отредактируйте новый командный файл для правильной работы).
12. Имеется командный файл test.bat со следующим содержанием:
Echo off
For %%d in (*.txt) do сору %%d …
Исправьте ошибки, если они есть и дополните этот файл переменной
окружения r для подсчета числа повторений цикла. После выхода из цикла,
командой echo выведите на консоль значение переменной окружения r
13. Напишите сценарий (командный файл) в Linux, который бы считал
сумму к – чисел Фибоначчи. Параметр к должен передаваться при вызове
командного файла в среде окружения.
14. Напишите командный файл для Windows для расчёта суммы
факториалов нечетных чисел <=7.
15. В заданном каталоге, где имеются файлы с расширением «txt»,
различающиеся размером и содержанием, разработайте сценарий (командный
файл) для поиска всех цифр, которые встречаются в этих файлах. Количество
каждой цифры от 0 до 9, встретившиеся во всех файлах – вывtдите на консоль
с помощью команды echo. Выполните командный файл в среде Windows.
16. Вычислить номер виртуальной страницы и смещение для
виртуальных адресов 1230005, 3274893, если размер страницы равен 8 Кбайт.
Приведите расчёт и опишите страничное распределение виртуальной памяти
17. Напишите командный файл в Windows., который бы считал сумму
n первых натуральных нечетных чисел. Конкретное значение параметра n
передаётся при вызове командного файла. Например, start 1.bat 8
18. В заданном каталоге, где имеются файлы с расширением «txt»,
различающиеся размером и содержанием, разработайте сценарий для поиска
количества четных цифр, встретившихся во всех этих файлах. Количество
файлов, в которых встретились цифры – подсчитайте. Выведите эти два
найденных значения на консоль. Выполните сценарий в среде Linux.
8
19. Напишите командный файл в Windows, который бы выдавал на
консоль i-тое число Фибоначчи. Значение параметра i должен передаваться
при вызове командного файла в среде окружения.
20. Система устраняет свободные участки памяти с помощью
уплотнения. Если предположить, что множество свободных участков и
множество сегментов, данных распределено случайно, а время для чтения и
записи 32 – разрядного слова в памяти равно 5нс, то, сколько времени займёт
уплотнение 256 Мбайт памяти в худшем случае? Приведите расчёт и опишите
механизм уплотнения памяти.
21. В заданном каталоге Windows, где имеются текстовые файлы,
различающиеся размером и содержанием, разработайте командный файл для
поиска количества нечетных цифр, встретившихся во всех этих файлах.
Количество каждой нечетной цифры, встретившихся во всех файлах –
выведите на консоль.
22. Напишите скрипт (командный файл) в Linux, который бы проверял
на нечетность к-тое число Фибоначчи. Значение параметра к должно
передаваться при вызове командного файла в среде окружения.
23. В заданном каталоге, где имеются файлы с расширением «txt»,
различающиеся размером и содержанием, разработайте командный файл для
поиска любой цифры, передаваемой командному файлу при запуске, в имени
всех этих «txt»-файлах. Например, start 1.bat 4, количество файлов, где
встретилась цифра, подсчитать и вывести на консоль с помощью команды
echo. Выполните командный файл в среде Windows.
24. Напишите командный файл в Windows., который бы считал сумму
n – чисел Фибоначчи. Конкретное значение параметра n передаётся при
вызове командного файла. Например, start 1.bat 8
25. Вычислить номер виртуальной страницы и смещение для
виртуальных адресов 2460010, 1321441, если размер страницы равен 4 Кбайт.
Приведите расчёт и опишите страничное распределение виртуальной памяти.
26. Напишите командный файл (скрипт) в Linux, который бы считал
сумму к - первых четных натуральных чисел. Конкретное значение параметра
к передаётся при вызове командного файла. Например, sh f1 5 или .f1 10
27. Жесткий диск имеет емкость 20 Гбайт и размещение файлов в виде
связанного списка кластеров. Размер кластера 8 Кбайт. Определите
максимальное количество файлов, которые можно разместить на диске и долю
адресной информации в процентах от ёмкости диска.
28. Напишите скрипт в Linux для подсчита суммы факториалов
четных чисел <=8.
29. Напишите скрипт в Linux, который в зависимости от введенных
значений переменных окружения либо выводил заданный файл постранично,
либо выдавал на консоль последнюю запись в файле. Переменными
окружения задаются имя(имена) файла и признак ветвления алгоритма.
9
30. Напишите скрипт (командный файл) в Linux, который бы проверял
на четность i-тое число Фибоначчи. Значение параметра i должно
передаваться при вызове командного файла в среде окружения.
31. Создайте командный файл в Windows, который в зависимости от
введенных значений переменных окружения выполняет следующие действия:
в первом случае перенаправляет и вывод верных сообщений, и вывод
сообщений об ошибках в один и тот же файл, каждый раз записывая в него
перед сообщением номер записи; во втором случае - копирует все текстовые
файлы из текущей директории в другую директорию и выводит ее содержимое
на консоль. Если введено значение переменной, не определяемое в командном
файле, то выдается на консоль сообщение об ошибке.
32. Имеется командный файл test.bat в Windows, со следующим
содержанием:
Echo off
For %%d in (%1) do сору %%d …
Продолжите его написание, чтобы все файлы с расширением «docx» были
скопированы в родительскую директорию и на консоли появилось значение
переменной подсчета скопированных файлов.
33. В системе со страничной организацией памяти (размер страницы
2^14байт) происходит обращение по виртуальному адресу 012356.
Преобразуйте этот адрес в физический, если в таблице страниц данного
процесса задана следующая информация: страницы с виртуальными номерами
0000,0001, 0010, 0011загружены в физические страницы соответственно с
номерами 0101, 0010, 0011, 0000.
34. В заданном каталоге, где имеются файлы с расширением «txt»,
различающиеся размером и содержанием, разработайте скрипт Linux для
старта в отдельных терминалах тех файлов, в имени которых содержится
буква «ф»
35. В заданном каталоге, где имеются файлы с расширением «txt»,
различающиеся размером и содержанием, создайте командный файл Windows,
который бы стартовал файлы, в которых есть слово «мир» в отдельных
консольных окнах.
36. В режиме создания командного файла подсчитайте количество
выполняемых циклов в примере:
Echo off
For %%s in (%1) do type %%s
Выполните командный файл в среде Windows. Дополните файл
соответствующим сообщением, если значение переменной окружения %1
задает несуществующие значения.
37. Система устраняет свободные участки памяти с помощью
уплотнения. Если предположить, что множество свободных участков и
множество сегментов, данных распределено случайно, а время для чтения и
10
записи 32 – разрядного слова в памяти равно 5нс, то, сколько времени займёт
уплотнение 256 Мбайт памяти в худшем случае? Приведите расчёт и опишите
механизм уплотнения памяти.
38. Напишите скрипт в Linux следующего действия: выдать
информацию о текущих процессах в определенный файл, далее «напечатать»
его на терминале по 5 строк на странице, в одном случае, при совпадении
введенного при запуске скрипта значения параметра s, в другом случае –
выдать на экран только столбец с идентификаторами активных процессов.
Запуск скрипта .f1 s
39. Жесткий диск имеет емкость 20 Гбайт и размещение файлов в виде
связанного списка кластеров. Размер кластера 4 Кбайт. Определите
максимальное количество файлов, которые можно разместить на диске и долю
адресной информации в процентах от ёмкости диска.
40.
Создайте командный файл в Windows, который копирует файлы
(с заданным параметром расширением) из одной директории в другую с
проверкой правильности записи и удалением исходных файлов. Перед
каждым удалением файла – должно выдаваться предупреждающее сообщение.
Если дальше нет необходимости в выполнении командного файла – то его
можно прервать в момент приостановки клавишами <Ctrl>+C.
11
5. Рекомендуемая литература
Основная
1. Олифер В., Олифер Н. Сетевые операционные системы: Учебник для
вузов. 2-е изд. - СПб: «Питер», 2011, - 669с.: ил.
2. Синицын С.В., Операционные системы: учебник для студентов
высшей школы. – М: Издательский центр «Академия», 2010 -304 с.:
ил.
3. Спивак А.И., Спивак О.И., Лебедев И.С. «Сетевые операционные
системы»: Лабораторный практикум. – СПб: Университет ИТМО,
2016. –56 с.
Дополнительная
1. Гордеев А.В. Операционные системы: Учебник для вузов. 2-е изд. СПб: «Питер», 2011, - 416с.: ил.
2. Материалы лекций и практических занятий.
12
6. Содержание
1. Общие положения ............................................................................................. 3
2. Тематика контрольных работ (семестр № 4) ................................................. 3
3. Структура, содержание и оформление контрольных работ ......................... 3
4. Варианты заданий ............................................................................................. 4
5. Рекомендуемая литература ............................................................................ 12
6. Содержание ........................................................................................................ 13
Приложение 1 ........................................................................................................ 14
Приложение 2 ........................................................................................................ 16
13
Приложение 1
Примерное оформление титульного листа
14
Факультет инфокоммуникационных систем и технологий
КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И
УПРАВЛЯЮЩИХ СИСТЕМ
Контрольная работа
по дисциплине
«ОПЕРАЦИОННЫЕ СИСТЕМЫ, СРЕДЫ И ОБОЛОЧКИ»
Вариант №
Выполнил: студент гр. ИБО-3И-18__________
Преподаватель: доцент каф ИТУС Исаева Г.Н.
Королёв – 2020 г.
Приложение 2
Пример решения задач
Тема 1
Постановка задачи: Исследование сетевых возможностей различных
семейств операционных систем.
Теоретическое описание исследуемого объекта:
Что такое и чем является компьютерная сеть? Компьютерной сетью
называют совокупность компьютеров и различных устройств,
обеспечивающих информационный обмен между компьютерами в сети без
использования каких-либо промежуточных носителей информации.
Компьютерные сети классифицируются по 3 признакам:
•
Территориальная распространенность (локальными,
глобальными, и региональными);
•
Ведомственная принадлежность (ведомственные и
государственные);
•
Скорость передачи информации (низко-, средне- и
высокоскоростные);
Как выглядит архитектура компьютерной сети:
Рисунок 1 Архитектура компьютерной сети
Как видно из рисунка, все начинается с управления физического канала
(порта или сетевого интерфейса), который позволяет нам работать с
сетевыми протоколами. Схема очень похожа на модель OSI которая так же
состоит из семи уровней.
16
Приведем структуру сетевой операционной системы. В наше время
почти все операционные системы имеют средства для подключения,
использования и управления сетевыми ресурсами и являются сетевыми
операционными системами.
Сетевая операционная система в наше время является системой,
Рисунок 2 Структура сетевой операционной системы
которая управляет локальными ресурсами компьютера и может как отдавать
эти ресурсы другим компьютерам в сети (Серверная операционная система),
а также использовать локальные ресурсы других компьютеров, находящихся
в сети, имея на это необходимые разрешения (Клиентская операционная
система). Все это происходит с помощью коммуникационных средств.
Именно на таком принципе работает виртуализация. Сетевые
возможности и средства, выносятся локальной ОС в оболочку,
виртуализируя их и создавая виртуальные машины, которые могут
использоваться в различных целях.
Основные части в сетевой ОС
Средства управления локальными ресурсами компьютера: функции
распределения оперативной памяти между процессами, планирования и
диспетчеризации процессов, управления процессорами в
мультипроцессорных машинах, управления периферийными устройствами и
другие функции управления ресурсами локальных ОС.
Средства предоставления собственных ресурсов и услуг в общее
пользование - серверная часть ОС (сервер). Эти средства обеспечивают,
например, блокировку файлов и записей, что необходимо для их совместного
использования; ведение справочников имен сетевых ресурсов; обработку
запросов удаленного доступа к собственной файловой системе и базе
17
данных; управление очередями запросов удаленных пользователей к своим
периферийным устройствам.
Средства запроса доступа к удаленным ресурсам и услугам и их
использования - клиентская часть ОС (редиректор). Эта часть выполняет
распознавание и перенаправление в сеть запросов к удаленным ресурсам от
приложений и пользователей, при этом запрос поступает от приложения в
локальной форме, а передается в сеть в другой форме, соответствующей
требованиям сервера. Клиентская часть также осуществляет прием ответов от
серверов и преобразование их в локальный формат, так что для приложения
выполнение локальных и удаленных запросов неразличимо.
Коммуникационные средства ОС, с помощью которых происходит
обмен сообщениями в сети. Эта часть обеспечивает адресацию и
буферизацию сообщений, выбор маршрута передачи сообщения по сети,
надежность передачи и т.п., то есть является средством транспортировки
сообщений.
Выводы:
Анализ данного вопроса показал, что сетевые возможности
присутствуют в любой современной ОС, пусть даже для организации
небольшой локальной сети в пределах одного помещения или комнаты. Тем
более сетевые возможности являются главными для специализированных
сетевых ОС, которые имеются почти в каждой линейке известных семейств
операционных систем.
Применение таких функций ОС, как сетевые, имеет практическую
значимость для совместного использования ресурсов вычислительных
систем: аппаратных, программных, информационных.
Тема 2
Постановка задачи: Разработать скрипт в Linux, который вводит
несколько коротких чисел в виде параметров, подсчитывает их сумму,
результат выводит на консоль.
Теоретическое описание исследуемого объекта:
Для написания данного командного файла или скрипта, воспользуемся
стандартной конструкцией цикла, которая будет вести отсчет с нуля,
прибавляя каждый раз первый аргумент, но в конце цикла с помощью
команды shift, будет сдвигать аргументы влево, тем самым параметры будут
считаться друг за другом.
Параметры должны задаваться при запуске скрипта.
На рисунке 1 приведен код скрипта.
Алгоритм решения задачи:
Разберем код:
1.
Count – Задает переменную - счетчик равный нулю, чтобы вести
отсчет с нуля.
2.
While [ -n “$1” ] – Начинает цикл, в котором идет проверка на
наличие первого аргумента с помощью сравнения -n.
18
3.
Do – при успешной проверке выполняет следующую часть
скрипта
4.
Count=$[ $count + $1 ] Обновляет переменную count прибавляя к
ней первый аргумент.
5.
Shift – делает сдвиг аргументов влево. Тем самым, первый
аргумент пропадает и на его место встает значение второго аргумента и т.д
6.
Done - завершение цикла
7.
Echo – после окончания цикла, выводит на экран переменную,
которая во время цикла суммировалась и приобрела конечный результат –
сумму всех наших параметров.
Рисунок 1 – Код исполняемого файла
Тестовый пример:
Как видно из рисунка 2, все параметры корректно складываются. Даже
если взять количество параметров больше 10(ограничение bash) мы все равно
можем получить нужный результат.
Рисунок 2 – Тестовые примеры работы скрипта
19
Выводы: Скрипты являются удобной формой управления различными
заданиями в операционных система, которые могут выполняться как в
интерактивном, так и в пакетном режимах. В ОС линейки Linux, в
зависимости от оболочки, в которой будет выполняться командный файл, их
(скрипты) еще называют shell- процедурами. В интерактивном режиме
скрипт может быть запущен с параметрами, что было использовано при
решении данной задачи.
20
Download