Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Інформаційна безпека
Кафедра:
Кафедра безпеки інформаційних технологій

Інформація про роботу

Рік:
2010
Тип роботи:
Методичні вказівки до виконання практичної роботи
Предмет:
Мережеві операційні системи

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет «Львівська політехніка» Кафедра безпеки інформаційних технологій  МЕТОДИЧНІ ВКАЗІВКИ ДО ВИКОНАННЯ ПРАКТИЧНИХ РОБІТ з навчальної дисципліни МЕРЕЖЕВІ ОПЕРАЦІЙНІ СИСТЕМИ Методичні вказівки для студентів базових напрямів “Інформаційна безпека” Затверджено на засіданні кафедри БІТ Протокол № _____ від “___”________ 20___ р. Львів - 2010 ЗМІСТ 1. Тематика та план виконання робіт 3 2. Методика оцінювання та зміст звіту 3 3. Практичні роботи 4 3.1. Практична робота 1: Сокети та сигнали в Linux 4 3.2. Практична робота 2: Процеси i потоки в Linux 6 3.3. Практична робота 3: Файлова система proc (Частина 1) 8 3.4. Практична робота 4: Файлова система proc (Частина 2) 10 Тематика та план виконання робіт Номер роботи Назва роботи Кількість годин  1 Сокети та сигнали в Linux 4  2 Процеси i потоки в Linux 4  4 Файлова система proc (частина 1) 4  5 Файлова система proc (частина 2) 2   Всього годин: 14   Методика оцінювання та зміст звіту Практичні роботи є обов’язковою складовою процесу вивчення дисципліни «Мережеві операційні системи», тому для отримання допуску до складання іспиту з цієї дисципліни кожен студент повинен виконати та захистити всі передбачені викладачем практичні роботи. Для захисту практичної роботи студент надає викладачеві звіт. Звіт з кожної практичної роботи містить: титульну сторінку, завдання, чітко викладену студентом мету роботи, суть роботи згідно з викладеним порядком роботи, стисло сформульовані висновки. Звіти (у роздрукованому та зшитому вигляді) подають на захист на початку наступної практичної роботи. Обсяг кожного звіту – до 4-х друкованих (шрифтом 12) стандартних аркушів. Захист практичної роботи відбувається у формі устної бесіди викладача зі студентом та шляхом демонстрації останнім здобутих в результаті виконання роботи навичок на комп’ютері. Викладач оцінює практичну роботу за п'ятибальною шкалою. Практичні роботи 3.1. Практична робота 1: Сокети та сигнали в Linux Мета роботи Познайомитися iз принципами використання сокетiв в операцiйнiй системi Linux. Познайомитися iз системними викликами роботи iз сокетами в операцiйнiй системi Linux. Познайомитися iз принципами використання сигналiв в операцiйнiй системi Linux. Познайомитися iз системними викликами роботи iз сигналами в операцiйнiй системi Linux. Теоретичний вступ Сокети є одним iз головних унiверсальних iнструментiв взаємодiї мiж процесами. Вони можуть використовуватися як в глобальних, так i в локальних застосуваннях. Познайомитися iз принципами використання сокетiв та програмуванням застосувань iз сокетеми можна в четвертому роздiлi книжки Андрiя Боровського "Програмування для Linux", Сокети [15]. Сигнали в Unix-системах є найшвидкодiючим засобом взаємодiї процесiв. Познайомитися iз принципами використання сигналiв та програмуванням застосувань iз використанням механiзму передачi сигналiв можна в п'ятотому роздiлi книжки Андрiя Боровського "Програмування для Linux", Сигнали [16]. Iз системними викликами, якi реалiзують сокети та використовують сигнали, слiд знайомитися з допомогою вiдповiдних man'iв. Порядок роботи Використовуючи "Програмування для Linux", Сокети [15] познайомитися iз особливостями використання сокетiв в Linux та створенням програм iз їх використанням. Використовуючи "Програмування для Linux", Сигнали [16] познайомитися iз механiзмом використання сигналiв в Linux та створенням програм iз використанням сигналiв для взаємодiї процесiв. Використовуючи програму Telnet i ввiвши login i password, пiд'єднатися до Linux-сервера. Використовуючи команду man, познайомитися iз призначенням, синопсисом та параметрами системних викликiв   socket, bind, resvfrom, sendto, socketpair, listen, accept, connect та бiблiотечної функцiї gethostbyname для роботи з сокетами; Використовуючи команду man 7 signal, познайомитися iз сигналами Linux; Використовуючи команду man, познайомитися iз командою kill; Використовуючи команду man, познайомитися iз призначенням, синопсисом та параметрами системних викликiв   sigprocmask, sigaction та бiблiотечними функцiями sigemptyset, sigaddset, sigfillset, sigdelset, sigwait, strsignal для роботи з сигналамими; Вiдкомпiлювати, вiдлагодити та дослiдити роботу програм, якi приведенi в "Тексти програм", Сокети [17] та "Тексти програм", Сигнали [18]. Контрольнi питання Що таке сокет? Яким системним викликом створюється сокет? Якi є параметри у системного виклику socket()? Що означає значення AF_UNIX першого параметра системного виклику socket()? Який є синонiм в значення AF_UNIX першого параметра системного виклику socket()? Що означає значення SOCK_DGRAM другого параметра системного виклику socket()? Для чого призначений системний виклик bind()? Якi є параметри у системного виклику bind()? Якi є поля в структури struct sockaddr, яка є типом другого параметру системного виклику bind()? Для чого призначений системний виклик recvfrom()? Якi є параметри у системного виклику recvfrom()? Для чого використовується системний виклик unlink() при роботi з "локальними" сокетами? Для чого призначений системний виклик sendto()? Якi є параметри у системного виклику sendto()? Що таке парнi сокети? Яким системним викликом створюється парний сокет? Якi є параметри у системного виклику socketpair()? Якими системними викликами передається iнформацiя через парний сокет? Чим вiдрiзняється мережевий сокет вiд "локального сокета? Якою послiдовнiстю дiй має виконуватися при обмiнi з допомогою мережевих сокетiв? Яким системним викликом створюється мережевий сокет? Для чого призначений системний виклик listen()? Якi є параметри у системного виклику listen()? Для чого призначений системний виклик accept()? Якi є параметри у системного виклику accept()? Для чого призначена бiблiотечна функцiя gethostbyname()? Для чого призначений системний виклик connect()? Якi є параметри у системного виклику connect()? Що розумiють пiд поняттям сигнал? Яким чином процес може "реагувати" на сигнал? Що може бути джерелом сигналу? Наведiть приклади "класичних" сигналiв. Для чого призначений системний виклик sigaction()? Якi є параметри у системного виклику sigaction()? Якi є поля в структури struct sigaction, яка є типом другого i третього параметрiв системного виклику sigaction()? Якi призначення команди kill? Для чого призначений системний виклик sigprocmask()? Якi є параметри у системного виклику sigprocmask()? Для чого призначена бiблiотечна функцiя sigemptyset()? Якi є параметри в бiблiотечнаоїфункцiї sigemptyset()? Для чого призначена бiблiотечна функцiя sigfillset()? Якi є параметри в бiблiотечнаоїфункцiї sigfillset()? Для чого призначена бiблiотечна функцiя sigaddset()? Якi є параметри в бiблiотечнаоїфункцiї sigaddset()? Для чого призначена бiблiотечна функцiя sigdelset()? Якi є параметри в бiблiотечнаоїфункцiї sigdelset()? Для чого призначена бiблiотечна функцiя sigwait()? Якi є параметри в бiблiотечнаоїфункцiї sigwait()? Для чого призначена бiблiотечна функцiя strsignal()? Якi є параметри в бiблiотечнаоїфункцiї strsignal()? Вимоги до звiту В звiтi до лабораторної роботи необхiдно привести: назву лабораторної роботи; мету лабораторної роботи; призначення, синопсис та параметри системних викликiв   socket, bind, resvfrom, sendto, socketpair, listen, accept, connect та бiблiотечної функцiєї gethostbyame; призначення, синопсис та параметри системних викликiв   sigprocmask, sigaction та бiблiотечних функцiй sigemptyset, sigaddset, sigfillset, sigdelset, sigwait, strsignal; лiстинги дослiджуваних програм; висновки. 3.2. Практична робота 2: Процеси i потоки в Linux Мета роботи Закрiпити питання створення процесiв в операцiйнiй системi Linux. Познайомитися iз принципами створення процесiв iз потоками в операцiйнiй системi Linux. Познайомитися iз бiблiотечними функцiями, якi використовуються для створення процесiв iз потоками в операцiйнiй системi Linux. Теоретичний вступ Питання створення процесiв в Linux та тонкощi використання вiдповiдних системних викликiв викладенi в шостому роздiлi книжки Андрiя Боровського "Программирование для Linux", Процессы и потоки [19]. Створеняя процесiв з потоками, бiблiотечнi функцiї та макроси i особливостi побудови таких програм розглядаються в сьомому роздiлi "Потоки" [20] та в восьмому роздiлi "Потоки - продолжение"[21]. Для ознайомленням з системними викликами для реалiзацiї процесiв та бiблiотечними функцiями для реалiзацiї потокiв можна також скористатися вiдповiдними man'ами. Порядок роботи Використовуючи статтю "Програмування для Linux", Процессы и потоки [19] та вiдповiднi тестовi програми "Тексти програм", Процессы и потоки [22], познайомитися iз питаннями створення процесiв в Linux та особливостяами використання вiдповiдних системних викликiв. Використовуючи статтю "Програмування для Linux", Потоки [20] та статтю "Програмування для Linux", Потоки - продолжение [21] i вiдповiднi тестовi програми "Тексти програм", Потоки [23] та "Тексти програм", Потоки - продолжение [24], познайомитися iз правилами створення потокiв в Linux. Використовуючи програму Telnet i ввiвши login i password, пiд'єднатися до Linux-сервера. Використовуючи команду man, познайомитися iз призначенням, синопсисом та параметрами всiх системних викликiв, бiблiотечних функцiй та макросiв, якi використовуються Вiдкомпiлювати, вiдлагодити та дослiдити роботу програм, якi приведенi в "Тексти програм, Процессы и потоки" [22], "Тексти програм, Потоки" [23] та "Тексти програм, Потоки - продолжение" [24]. Контрольнi питання Чим вiдрiзняється синiвський процес вiд батькiвського пiсля виконання системниого виклику fork? Перелiчiть функцiї сiмейства системних викликiв exec. Чим вони вiдрiзняються? Якi змiннi середовища оточення вам вiдомi? Яким чином батькiвський процес може дiзнатися про умови завершення синiвського процесу? Якi зачення може приймати змiнна state cистемного виклику wait? При яких обставинах в системi можуть з'являтися зомбi процеси? Що має бути передбачене в програмi, щоб не з'являлися зомбi процеси? Яку перевагу має багатопотоковий процес у порiвняннi iз кооперативними процесами? У чому полягає вiдмiннiсть моделi потокiв в Linux вiд моделi Microsoft Windows ? З допомогою якої функцiї створюється в Linux потiк? Який формат третього параметра (функцiї потоку) функцiї pthread_create(3)? У яких випадках вiдбувається завершення функцiї потоку? Для чого служить функцiя pthread_join(3)? Якi опцiї слiд задати в командi gcc, щоб забезпечити правильну роботу тестованих у цiй лабораторнiй роботi програм, якi використовують потоки ? Яку бiблiотечну функцiю слiд використати для дострокового завершення потоку? Яким чином задається точка вiдмiни потоку? Що таке неявнi i явнi точки вiдмiни? Яким чином можна перевести потiк в режим негайного завершення? Яким чином можна повторно перевести потiк в режим вiдкладеного дострокового завершення? Яким чином можна встановити обробник завершення потоку? Яким чином можна неявно викликається обробник завершення потоку? Яким чином можна явно викликається обробник завершення потоку? Якi iснують засоби синхронiзацiї потокiв? Якi iснують атрибути потокiв? Вимоги до звiту В звiтi до лабораторної роботи необхiдно привести: назву лабораторної роботи; мету лабораторної роботи; лiстинги дослiджуваних програм; висновки. 3.3. Практична робота 3: Файлова система proc (Частина 1) Мета роботи Познайомитися iз файловою системою   proc   операцiйної системи Linux. Познайомитися з утилiтами   free, top, ps,   якi базуються на файловiй системi proc. Теоретичний вступ Крiм механiзму системних викликiв, в операцiйнiй системi Linux iснує ще один механiзм доступу до захищеної iнформацiї ядра - файлова система proc. Файлова система proc є специфiчною особливiстю операцiйної системи Linux. Вона надає iнформацiю про поточний стан ядра i всi процеси, якi в даний час виконуються. Основнi концепцiї файлової системи proc Linux запозичив в операцiйної системи UNIX System V Release 4 i у деяких її клонiв, особливо в експериментальної системи Plan 9. Файлова система proc є вiртуальною файловою системою, в нiй динамiчно створюються пiддиректорiї для кожного процесу i окремi секцiї для ядра. Кожному процесу, який в даний момент виконується в операцiйнiй системi, вiдповiдає директорiя /proc/pid, де pid - iдентифiкатор вiдповiдного процесу. Команди   ps, free, top   формують свої результати, читаючи iнформацiю iз файлової системи proc. Цей iнтерфейс до ядра незалежний вiд системних викликiв. Порядок роботи Використовуючи програму Telnet i ввiвши login i password, пiд'єднатися до Linux-сервера. Використовуючи команду man, познайомитися iз утилiтами   free, top, ps; знайомлячись з man top звернути увагу на роздiл, який описує поля утилiти top та познайомитися iз значенням цих полiв. Запустити команду   free   iз рiзними опцiями i записати результат роботи команди, проаналiзувати цi результати. Запустити команду   top   iз рiзними опцiями, навчитися використовувати iнтерактивнi команди утилiти top, зняти "моментальну фотографiю" (snapshot) одного iз результатiв роботи утилiти   top  , проаналiзувати цi результати. Використовуючи команду   ls,   продивитися вмiстиме директорiї /proc. Особливу увагу звернути на пiддиректорiї з числовими iдентифiкаторами. Запустити команду   ps   i визначити iдентифiкатори запущених процесiв (pid); вибрати один iз цих процесiв, наприклад, процес командного процесора (shell) i знайти у лiстингу команди   ls   пiддиректорiю iз таким самим номером. Продивитися її пiддиректорiї, записати цi результати. Використовуючи команду   ls,   продивитися вмiстиме пiддиректорiй директорiї /proc iз нечисловими iдентифiкаторами. Особливу увагу звернути на пiддиректорiї   bus, fs, ide, net, sys, tty   i пiддиректрiї директорiї /proc/sys -   kernel, fs, dev, net, vm.   Проглянути файли, якi розмiщенi в директорiї /proc. Записати iнформацiю, яка знаходиться у файлах   cpuinfo, devices, filesystems, meminfo, mounts, partitions, version.   Проаналiзувати цю iнформацiю. Контрольнi питання Яке призначення утилiти free? Яке призначення утилiти ps? Яке призначення утилiти top? Яка iнформацiя видається у стобцi з iменем PID утилiтою top? Яка iнформацiя видається у стобцi з iменем USER утилiтою top? Яка iнформацiя видається у стобцi з iменем PRI утилiтою top? Яка iнформацiя видається у стобцi з iменем %CPU утилiтою top? Яка iнформацiя видається у стобцi з iменем %MEM утилiтою top? Яка iнформацiя видається у стобцi з iменем TIME утилiтою top? Яка iнформацiя видається у стобцi з iменем COMMAND утилiтою top? Яким чином в утилiтi top можна отримати довiдку про її iнтерактивнi команди? Яке призначення iнтерактивної команди N утилiти top? Яке призначення iнтерактивної команди P утилiти top? Яке призначення iнтерактивної команди M утилiти top? Яке призначення iнтерактивної команди S утилiти top? Яке призначення iнтерактивної команди T утилiти top? Яке призначення iнтерактивної команди c утилiти top? Яке призначення iнтерактивної команди f утилiти top? Яке призначення iнтерактивної команди o утилiти top? Яка iнформацiя зберiгається у файлi stat каталогу /proc/n (де n - pid процесу)? Яка iнформацiя зберiгається у файлi status каталогу /proc/n (де n - pid процесу)? Яка iнформацiя зберiгається у файлi /proc/cpuinfo? Яка iнформацiя зберiгається у файлi /proc/devices? Яка iнформацiя зберiгається у файлi /proc/filesystems? Яка iнформацiя зберiгається у файлi /proc/meminfo? Яка iнформацiя зберiгається у файлi /proc/mounts? Яка iнформацiя зберiгається у файлi /proc/partitions? Яка iнформацiя зберiгається у файлi /proc/version? Вимоги до звiту В звiтi до лабораторної роботи необхiдно привести: назву лабораторної роботи мету лабораторної роботи короткий опис та опцiї утилiти   free результати роботи команди   free короткий опис та опцiї утилiти   top   i її iнтерактивнi команди. результати роботи команди   top;   висновки, отриманi в результатi аналiзу при виконаннi пункту 4 "Порядку роботи" результати роботи команди   ls,   застосованої до директорiї /proc та директорiї /proc/sys i вмiстиме файлiв   cpuinfo, devices, filesystems, meminfo, mounts, partitions, version. призначення пiддиректорiй та файлiв директорiї /proc (як результат аналiзу зроблений при виконаннi пункту 6 "Порядку роботи") 3.4. Практична робота 4: Файлова система proc (Частина 2) Мета роботи Поглибити знання iз файлової системи   proc   операцiйної системи Linux. Познайомитися iз структурою файла   stat,   який вiдображає стан процесу. Познайомитися iз системним викликом   getpid   та структурою   task_struct. Теоретичний вступ Найповнiшу iнформацiю про вiртуальну файлову систему   proc   можна знайти в документацiї до Linux - в   man 5 proc.   Одним iз найважливiших файлiв системи   proc   є файли   stat,   по одному на кожен виконуваний в операцiйнiй системi процес. Цей файл мiстить всю необхiдну iнформацiю про виконуваний процес. Власне цю iнформацiю використовує команда   ps(1)   при формуваннi своїх результатiв. Порядок роботи Використовуючи програму Telnet i ввiвши login i password, пiд'єднатися до Linux-сервера. З допомогою команди   man 5 proc   познайомитися з описом файлової системи   proc.   Особливу увагу звернути на поля файла   stat   каталогiв процесiв. Використовуючи команду man, познайомитися iз системним викликом   getpid. Використовуючи команду   more   чи iншi засоби, познайомитися iз структурою   task_struct,   яка мiститься в заголовочному модулi   /usr/include/linux/sched.h, а, також, iз функцiєю   sprintf   у кiнцi програми   /usr/src/linux/fs/proc/array.c,   яка формує рядок фалу   stat   для кожного процеса у файловiй системi   proc.   Ввести, вiдкомпiлювати та вiдлагодити програму, пiдготовлену згiдно iз iндивiдуальним завданням, яка використовує системний виклик getpid i iнформацiю iз файла stat виводить вмiстиме файла stat почної програми (процесу), цi ж данi предка, предка предка i т.д. аж до процесу init (процеса з iдентифiкатором процесу 1). Вимоги до звiту В звiтi до лабораторної роботи необхiдно привести: назву лабораторної роботи мету лабораторної роботи короткий опис найважливiших файлiв файлової системи   proc: лiстинг структури   task_struct   iз заголовочного модуля   /usr/include/linux/sched.h лiстинг вiдлагодженої програми, написаної згiдно iз iндивiдуальним завданням. результати декiлькох запускiв вiдлагодженої програми
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!