Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Операционные системы. Учебное пособие (лабораторный практикум)

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
[user]$ /usr/sbin/smbclient servicename -U user [password]
где servicename ‒ это имя машины и ресурса
Например,
[user]$ /usr/sbin/smbclient //PC1/public -U user mypasswd
Указывать имя пользователя в опции необходимо только в том случае, если оно не совпадает с именем пользователя, от имени ко­торого вы запустили программу smbclient. Пароль необходим только в том случае, если доступ к ресурсу защищен паролем.
В ответ на это приглашение вы можете вводить одну из встроен­ных команд программы smbclient (перечень можно получить, введя команду h или ?), аналогичных командам управления локальной фа­ловой системы: ls, dir, du, lcd, cd, pwd, get, mget, put, mput, rename, more, mask, del, open, rm, mkdir, md, rmdir, rd, quit, q, exit и т. п.
Как видите, команды эти во многом похожи на команды ftp­клиента и работа с программой smbclient не очень удобна. Но в па­кет samba входят еще 2 программы, которые предоставляют неко­торые дополнительные удобства. Эти программы называются smbmount и smbumount. С помощью команды smbmount можно смонтировать сетевой ресурс к локальной структуре каталогов, наподобие того, как монтируются файлы на гибком диске. Формат команды таков:
[user]$ /usr/sbin/smbmount //PC1/public /mnt/pc1 -U 123 -W 456'
В этом примере сетевой ресурс монтируется в локальный ката­лог /mnt/pc1, причем владельцем каталога объявляется пользова­тель 123 и группа 456). При необходимости нужно будет ввести па­роль пользователя (тот же, по которому вы получали доступ к ре­сурсу в команде smbclient).
Команда smbumount позволяет обычным пользователям раз­монтировать файловую систему, смонтированную командой smbmount (пользователь root может воспользоваться обычной ко­мандой umount:
[user]$ /usr/sbin/smbumount /mnt/pc1
Если после монтирования сетевого ресурса запустить про­грамму Midnight Commander и перейти в каталог /mnt/pc1, то вы увидите файлы каталога public на компьютере PC1.
Оборудование и материалы: см. приложение 1.
Указания по технике безопасности: см. приложение 2.
41
Задания
Вар.
Операционная система 1 (версия и год выпуска на
выбор студентов ‒ любые)
Операционная система 2
(версия и год выпуска на выбор
студентов ‒ любые)
1.
Ubuntu Linux
Lubuntu Linux
2.
Fedora Linux
CentOS Linux
3.
ASP Linux
Mandrake Linux
4.
Mageia Linux
OpenMandriva
5.
Kali Linux
BugTrack Linux
6.
Calculate Linux
Slackware Linux
7.
Red Hat Linux
OpenSuse Linux
8.
Rosa Linux
Bodhi Linux
9.
Альт Линукс
Red Star OS
10.
MCBC 3.0
Astra Linux
11.
Mandriva Linux
Black Cat Linux
12.
Elementary OS
Linix Mint
13.
Windows 95
Windows NT 4.0
14.
Gentoo Linux
Arch Linux
15.
WiFiSlax Linux
Parrot Security OS
16.
Deepin Linux
Debian Linux
17.
FreeDOS + Windows 3.11 FWG
MS-DOS 6.22 + Windows 3.11 FWG
18.
React OS
Windows XP
19.
FreeBSD
Frenzy
20.
DragonFly BSD
FreeBSD
21.
OpenIndiana
OpenSolaris
22.
NetBSD
OpenBSD
23.
ОЛИВИЯ
OpenBSD
24.
Plan9
Minix 3.0
25.
Kolibri OS
BeOS
Установить в виртуальные ЭВМ VirtualBox и провести иссле­дование сетевого взаимодействия (скриншоты обмена файлами по протоколам FTP, NFS и SMBFS) между двумя операционными си­стемами согласно выбранного варианта
Содержание отчета
Лабораторная работа считается выполненной студентом и за­считывается преподавателем (с зачислением баллов пропорцио­нально выполненным пунктам отчета, т. е. необязательно, чтобы от- чет содержал все пункты) при предоставлении в электронном виде
42
к защите (бумажная распечатка не требуется!!!) аккуратно оформ­ленного файла-отчета в формате .pdf (презентация), .odt (OpenOffice, LibreOffice) или .doc (Microsoft Office), именованный по шаблону (при несоответствии работа не допускается к защите):
OS_PMI_LR3_V(номер варианта)_(фамилия).pdf
Файл-отчет должен иметь следующие элементы-слайды презен­тации или пункты текстового отчета-документа в указанном порядке (с сохранением их номера в случае пропуска некоторых пунктов):
1. Титульный лист, содержащий название дисциплины, тему и
номер лабораторной работы, ФИО студента, курс, группу.
Форму и дизайн титульного листа студент определяет самосто­ятельно, ориентируясь на удобство восприятия информации на ти­тульном листе.
2. Отметка об ознакомлении с техникой безопасности (прави-
лами поведения в компьютерном классе (аудитории, лаборатории)).
В данном пункте необходимо наличие записи «С правилами техники безопасности при выполнении лабораторной работы и по­ведения в компьютерном классе (аудитории, лаборатории) ознаком­лен, обязуюсь выполнять _____ (ФИО), _____ дата».
3. Постановка задачи (полное условие в соответствии с выбран-
ным вариантом).
4. Реферативный обзор информационных (интернет) источни-
ков по заданию.
В данном пункте указать по шагам:
4.1. Протокол TCP/IP.
4.2. Семиуровневая модель OSI.
4.3. Протокол обмена файлами FTP.
4.4. Протокол обмена файлами NFS.
4.5. Протокол обмена файлами SMBFS.
4.6. Прокси-сервер Squid.
4.7. HTTP-сервер Apache.
4.8. SMBFS-сервер SAMBA.
4.9. Программы доступа к сети Internet.
Необходимо указать по порядку информационные источники и их содержимое по заданию. Допустимо использовать текст, гиперс­сылки, таблицы, рисунки и т. д., любую информацию, облегчаю­щую просмотр и защиту презентации-отчета. Разрешено использо­вание только открытых публичных источников информации, не
43
требующих передачи авторских прав или каких-либо иных отчис­лений. Если информация по какому-либо из разделов реально от­сутствует в публичном доступе или засекречена, то напечатать «ин­формация засекречена» с указанием ведомства или организации, за­секретившей данную информацию. Рекомендуемый объем рефера­тивного обзора – 3‒10 страниц (5‒10 слайдов).
5. Необязательный пункт отчета для получения повышенных баллов. Экранные снимки установленной в виртуальную машину, контролируемую студентом или на реальный компьютер, принад­лежащий студенту, выбранной согласно варианта операционной си­стемы. На скриншоте должны быть четко различимы ФИО студента на ключевых интерфейсных элементах виртуальной машины или в программах, запущенных внутри исследуемой ОС. Рекомендуемый объем – 5‒10 скриншотов (5‒10 слайдов).
6. Необязательный пункт отчета для получения повышенных баллов. Личное исследование работы операционной системы.
В данном пункте требуется написать от первого лица инструк­цию по работе с несколькими программами, характерными именно для этой ОС и отличающие ее от аналогичных ОС. Рекомендуемый объем – 3‒5 страниц (5‒10 слайдов).
7. Необязательный пункт отчета для получения повышенных
баллов. Публичная защита отчета по лабораторной работе.
В данном пункте привести ссылку на Youtube-видео или иной публичный видео-ресурс, на котором записана защита-выступление отчета или презентации по лабораторной работе лично студентом. Рекомендуемое время видеоролика – 5‒10 минут.
Контрольные вопросы
1. Исследование процесса установки и настройки антивирус-
ных программ.
2. Исследование настройки параметров локальной политики
безопасности.
Литература: 1‒6.
44
4. СРЕДСТВА ПОДДЕРЖКИ
МУЛЬТИПРОГРАММИРОВАНИЯ
Цель работы ‒ закрепление знаний и изучение основных средств
поддержки мультипрограммирования.
Знания и умения, приобретаемые студентом в результате освое­ния темы, формируемые компетенции или их части: ОПК-4.
В результате освоения дисциплины обучающийся должен
знать: средства поддержки мультипрограммирования, возможности
оболочки BASH, основные понятия, алгоритмы и методы функционирова­ния операционных систем, практические подходы к программной реализа­ции математических алгоритмов операционных систем и оболочек;
уметь: находить, анализировать, реализовывать программно и ис- пользовать на практике математические алгоритмы операционных систем, применять знания о принципах функционирования операционных систем для решения прикладных задач;
владеть: методами установки, настройки и управления операцион- ных систем, методами практической разработки модулей и компонентов операционных систем и оболочек.
Теоретическая часть
Важный период развития операционных систем относится к 1965‒1975 годам. В это время в технической базе вычислительных машин произошел переход от отдельных полупроводниковых эле­ментов типа транзисторов к интегральным микросхемам. В этот пе­риод были реализованы практически все основные механизмы, при­сущие современным ОС: мультипрограммирование, мультипроцес­сирование, поддержка многотерминального многопользовательского режима, виртуальная память, файловые системы, разграничение до­ступа и сетевая работа. В эти годы начинается расцвет системного программирования. Революционным событием данного этапа яви­лась промышленная реализация мультипрограммирования.
Мультипрограммирование было реализовано в двух вариантах: в системах пакетной обработки и разделения времени. В мульти­программном пакетном режиме процессор не простаивал, пока одна программа выполняла операцию ввода ‒ вывода (как это происхо­дило при последовательном выполнении программ в системах ран­ней пакетной обработки), а переключался на другую готовую к вы­полнению программу.
45
В мультипрограммных системах пакетной обработки пользова­тель по-прежнему был лишен возможности интерактивно взаимо­действовать со своими программами. Другой вариант мультипро­граммных систем ‒ системы разделения времени. Этот вариант рас­считан на многотерминальные системы, когда каждый пользова­тель работает за своим терминалом. К этому времени можно кон­статировать существенное изменение в распределении функций между аппаратными и программными средствами компьютера. Операционные системы становились неотъемлемыми элементами компьютеров.
Реализация мультипрограммирования потребовала внесения очень важных изменений в аппаратуру компьютера. В процессорах появился привилегированный и пользовательский режимы работы, специальные регистры для быстрого переключения с одной про­граммы на другую, средства защиты областей памяти, а также раз­витая система прерываний. В привилегированном режиме, предна­значенном для работы программных модулей операционной си­стемы, процессор мог выполнять все команды, в том числе и те из них, которые позволяли осуществлять распределение и защиту ре­сурсов компьютера. Программам, работающим в пользовательском режиме, некоторые команды процессора были не доступны. Си­стема прерываний позволяла синхронизировать работу различных устройств компьютера, работающих параллельно и асинхронно, та­ких как каналы ввода ‒ вывода, диски, принтеры и т. п. Еще одной важной тенденцией этого периода является создание семейств про­граммно-совместимых машин и операционных систем для них. Примерами семейств программно-совместимых машин, построен­ных на интегральных микросхемах, являются серии машин IBM/360 и IBM370 (аналоги этих семейств советского производства ‒ ма­шины серии ЕС), PDP-11 (советские аналоги ‒ СМ-3, СМ-4, СМ-
1420). Вскоре идея программно-совместимых машин стала обще­признанной.
Как уже упоминалось выше, хотя мы часто говорим, что "поль­зователь работает с операционной системой", фактически это не верно, поскольку на деле взаимодействие с пользователем органи­зует специальная программа. Существует два вида таких программ: оболочка, или shell, для работы в текстовом режиме (интерфейс ко­мандной строки) и графический интерфейс пользователя GUI
46
(Graphical User Interface), организующий взаимодействие с пользо­вателем в графическом режиме.
Сама по себе оболочка bash не выполняет никаких прикладных задач. Но она обеспечивает выполнение всех приложений: нахож­дение вызываемых программ, их запуск и организацию ввода/вы­вода. Кроме того, оболочка отвечает за работу с переменными окру­жения и выполняет некоторые преобразования (подстановки) аргу­ментов. Но главное свойство оболочки, которое делает ее мощным инструментом пользователя – это то, что она включает в себя про­стой язык программирования. Она использует все остальные ути­литы и программы как базовые операции поддерживаемого ею языка программирования, обеспечивает передачу им аргументов, а также передачу результатов их работы другим программам или пользователю. В результате получается очень мощный язык про­граммирования.
Специальные символы. Оболочка bash использует несколько символов из числа 256 символов набора ASCII в специальных це­лях, либо для обозначения некоторых операций, либо для преобра­зования выражений. В число таких символов входят символы:
` ~ ! @ # $ % ^ & * ( ) _ – [ ] { } : ; ' " / \ > < а также символ с кодом 0, символ возврата каретки (генерируемый клавишей <Enter>) и пробел. В зависимости от ситуации эти специ­альные символы могут трактоваться либо в их специальном значе­нии, либо в буквальном, т. е. как литералы. Но мы в основном будем предполагать, что все эти символы зарезервированы и не должны использоваться в качестве литералов. Это касается в первую оче­редь использования их в именах файлов и каталогов. Однако сим­волы _, - и . (знак подчеркивания, дефис и точка) часто использу­ются в именах файлов, так что именно этот пример показывает, что специальное значение эти символы имеют не всегда. В именах фай­лов только символы точки (.) и слэша (/) имеют специальное значе­ние. Символ слэша служит для разделения имен отдельных катало­гов, а точка имеет специальное значение только если она является первым символом в имени файла (что означает, что файл является "скрытым").
Есть три символа, которые имеют особое значение и которые поэтому необходимо рассмотреть в первую очередь.
47
Символ \ (обратный слэш) можно назвать «символом отмены специального значения» для любого из специальных символов, ко­торый стоит сразу вслед за \. Например, если мы хотим использо­вать символ пробела в имени файла, мы должны вместо простого пробела поставить \. Например, возможна следующая команда:
[user]$ cp two_words two\ words
Символы ' и " (одинарные и двойные кавычки) могут быть названы "символами цитирования". Любой из этих символов всегда используется в паре с его копией для обрамления какого-то выра­жения, совсем как в обычной прямой речи. Если какой-то текст взят в одинарные кавычки, то все символы внутри этих кавычек воспри­нимаются как литералы, никаким из них не придается специального значения. Если вернуться к тому же примеру с пробелами в имени файла, то можно сказать, что для того, чтобы дать файлу имя "two
words" надо взять имя в кавычки:
[user]$ cp two_words 'two words'
Различие в использовании символов ' и " состоит в том, что внутри одинарных кавычек теряют специальное значение все сим­волы, а внутри двойных кавычек – все специальные символы кроме $, ' и \ (знака доллара, одинарных кавычек и обратного слэша).
Выполнение команд. Оболочка предоставляет пользователю два специальных оператора для организации задания команд в ко­мандной строке: ; и &.
Хотя чаще всего пользователь задает команды в командной строке по одной, имеется возможность задать в одной строке не­сколько команд, которые будут выполнены последовательно, одна за другой. Для этого используется специальный символ ‒ опера­тор ;. Если не поставить этот разделитель команд, то последующая команда может быть воспринята как аргумент предыдущей. Таким образом, если написать в командной строке что-то вроде:
[user]$ command1 ; command2
то оболочка вначале запустит на выполнение команду command1, до­ждется, пока ее выполнение завершится, после чего запустит command2, дождется ее завершения, после чего снова выведет пригла­шение командной строки, ожидая следующих действий пользователя.
Оператор & используется для того, чтобы организовать испол­нение команд в фоновом режиме. Если поставить значок & после команды, то оболочка вернет управление пользователю сразу после
48
запуска команды, не дожидаясь, пока выполнение команды завер­шится. Например, если задать в командной строке "command1 & command2 &", то оболочка запустит команду command1, сразу же затем команду command2, и затем немедленно вернет управление пользователю.
Операторы && и || являются управляющими операторами. Если в командной строке стоит command1 && command2, то command2 выполняется в том, и только в том случае, если статус выхода из команды command1 равен нулю, что говорит об успеш­ном ее завершении. Аналогично, если командная строка имеет вид command1 || command2, то команда command2 выполняется тогда, и только тогда, когда статус выхода из команды command1 отличен от нуля.
Сама техника организации запуска команд на выполнение не является предметом нашего рассмотрения. Можно только кратко сказать, что оболочка должна найти код команды, загрузить его в память, передать команде аргументы, заданные в командной строке, а после завершения выполнения соответствующего процесса пере­дать каким-то образом пользователю или другому процессу резуль­таты выполнения данной команды.
Поиск кода команды. Команды бывают встроенные (код кото­рых включен в код самой оболочки) и внешние (код которых распо­ложен в отдельном файле на диске). Встроенную команду оболочка всегда найдет, а для поиска внешней команды пользователь должен указать оболочке полный путь до соответствующего файла. Однако оболочка умеет искать внешние команды в каталогах, которые пе­речислены в специально заданных "путях поиска". Только если она не находит нужных файлов в таких каталогах, она решает, что поль­зователь ошибся при вводе имени команды.
Стандартный ввод/вывод. Когда программа запускается на вы­полнение, в ее распоряжение предоставляются три потока (или ка­нала): стандартный ввод (standard input или stdin). По этому каналу данные передаются программе; стандартный вывод (standard output или stdout). По этому каналу программа выводит результаты своей ра­боты; стандартный поток сообщений об ошибках (standard error или stderr). По этому каналу программы выдают информацию об ошибках. Из стандартного входа программа может только читать, а два других потока могут использоваться программой только для записи.
49
По умолчанию входной поток связан с клавиатурой, а выход­ной поток и поток сообщений об ошибках направлены на терминал пользователя. Другими словами, вся выходная информация запу­щенной пользователем команды или программы, а также все сооб­щения об ошибках, выводятся в окно терминала. Однако можно пе­ренаправить выходные сообщения, например, в файл.
Для того чтобы продемонстрировать, как работает стандарт­ный поток ошибок, выполните команду ls с неверным аргументом, например, задав в качестве аргумента имя несуществующего файла. В таком случае ls выведет сообщение об ошибке в стандартный по­ток ошибок.
Работу со стандартными входным и выходным потоками лучше всего проиллюстрировать на примере команд echo и cat.
Команда echo. Команда echo предназначена для выдачи на стан­дартный вывод строки символов, которая задана ей в качестве аргу­мента. После этого она выдает сигнал перевода строки и завершается. Попробуйте выполнить команду: [user]$ echo ‘Привет, дружище!’
Команда cat. Чаще всего cat работает с входным и выходным потоками. По умолчанию выход команды cat направляется в выход­ной поток. Чтобы убедиться, что эта команда по умолчанию вос­принимает входной поток, запустите команду cat без аргументов. В результате курсор переместится в новую строку, и более как будто ничего не будет происходить. В это время команда ожидает поступления символов во входном потоке. Введите любой символ и вы увидите, что он сразу же появился на экране, что говорит о том, что программа сразу же направила его в выходной поток. Можно продолжить ввод символов, и они также появятся на экране.
Обычно клавиатура настроена на построчный ввод, поэтому если вы нажмете клавишу <Enter>, последняя набранная строка пе­редается команде cat, которая вновь выводит данные на монитор че­рез стандартный вывод. Таким образом, каждая строка будет пока­зана дважды: один раз при наборе и второй раз – командой cat.
Если нажать комбинацию клавиш <Ctrl>+<D>, которая служит командой окончания процедуры ввода, вы вновь вернетесь к под­сказке в командной строке. Можно также использовать комбина­цию клавиш <Ctrl>+<C>, которая является в оболочке командой за­вершения работы запущенной программы.
50