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

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

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

Рік:
2010
Тип роботи:
Лабораторна робота
Предмет:
Мережеві операційні системи
Група:
ІБ - 43

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  Загальне ознайомлення iз системними викликами операцiйної системи Linux ЛАБОРАТОРНА РОБОТА № 5 З ДИСЦИПЛІНИ “МЕРЕЖЕВІ ОПЕРАЦІЙНІ СИСТЕМИ” Львів 2010 Мета роботи Познайомитися iз повним набором системних викликiв операцiйної системи Linux та призначенням i синопсисом найвживанiших системних викликiв. Короткі теоретичні відомості Ядро ОС виконується в привiлейованому режимi работи процесора. Для виконання мiжпроцесної операцiї чи операцiї,яка вимагає доступу до обладнання, програма звертається до ядра, яке, в залежносi вiд повноважень викликаючого процесу, виконує чи вiдмовляє у виконаннi такого виклику. Таке звертання до ядра ОС називають системним викликом. Веpсiї Linux 0.99.2 налiчувала 116 системних виклики, версiя 2.2.14 має 162 найменування, а версiя 2.6.18 – 243 (див. Список системних викликів у Додатку 1. Документацiя до них можна знайти безпосpедньо в самiй документацiї по Linux. Iснують процедури, якi дозволять встановити свiй власний системний виклик. В Linux/UNIX системнi виклики майже один до одного вiдповiдають бiблiотечним функцiям, якi використовуються для звертання до системного виклику. Тому у цiй лабораторнiй роботi ми фактично знайомимося iз вiдповiдними бiблiотечними функцiями. Уточнимо деякi поняття важливi при ознайомленнi iз системними викликами: Ядро ОС Linux - програма, що забезпечує роздiлення часу центрального процесора мiж процесами, що виконуються, здiйснює управлiння пам'яттю та пристроями вводу-виводу, реалiзує файлову систему. Системнi виклики представлять собою iнтерфейс мiж програмами користувача i ядром операцiйної системи Linux (чи UNIX). Реалiзацiя системних викликiв - одна iз функцiй ОС Linux. Iдентифiкатор процесу (PID). Кожний активний процес в системi iдентифiкується унiкальним цiлим додатнiм числом, яке називається "iдентифiкатором процесу". Дiапазон представлення iдентифiкатора процеса - вiд 0 до PROC_MAX (значення PROC_MAX встановлюються при генерацiї системи). Iдентифiкатор процеса-предка (PPID). Iдентифiкатор процеса, який породив даний процес (див. опис виклику fork). Iдентифiкатор групи процесiв. Кожний активний процес є членом якої-небудь групи процесiв. Як iдентифiкатор групи процесiв використовується iднтифiкатор процеса старшого в групi (спiльно предка всiх процесiв групи). Об'єднання процесiв в групу дозволяє працювати з групою, як з одним об'єктом, наприклад , передавати сигнал всiм процесам групи. Реальнi iдентифiкатори користувача i групи (UID i GID). Кожний користувач системи 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ював даний процес. Реальнi iдентифiкактори успадковуються всiма нащадками процеса. Ефективнi iдентифiкатори користувача i групи, список груп доступу. Доступ до системних ресурсiв визначається трьома значеннями: "ефективним iдентифiкатором користувача", "ефективним iдентифiкатором групи" i "списком груп доступу". Ефективний iдентифiкатор користувача i групи при стартi процеса переважно спiвпадають з реальними. Виняток становлять випадки, коли статус виконуваного файла мiстить ознаки set-UID i set-GID (див. опис виклику execve). Список груп доступу разом з iдентифiкатором групи використовується для визначення прав доступу до системних ресурсiв. Привiлейований користувач i привiлейований процес. Процес вважається привiлейованим, тобто отримує винятковi права доступу, до всiх ресурсiв, якщо його єфективний iдентифiкатор користувача рiвний нулю. Системнi процеси. Процеси з iдентифiкаторами 0, 1 вважаються системними. Це - планувальник (процес 0), який iнiцiалiзує процес, який одночасно є предком усiх решта процесiв (процес 1). Дескриптор. Унiкальне цiле додатнє число, яке ставиться системою у вiдповiднiсть файлу, при його вiдкриттi. В процесi роботи дискриптор використовується процесом чи його нащадками при виконаннi конкретних операцiй з файлом. Iм'я файла. Послiдовнiсть вiд одного до {FILENAME_MAX} симвлоiв, якi використовуються для iменування звичайних файлiв, директорiй чи спецiальних файлiв. В iменi файла можна використовувати будь-якi символи коду ASCII, за винятком керуючого коду 0 (NUL) 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 файла не може перевищувати {PATHNAME_MAX} символ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. Режим може перевизначатися з допомогою виклику chmod. Режим доступу м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 iдентифiкатори i список груп доступу процеса не вiдповiдають iдентифiкаторам файла, але режим доступу файла дозволяє виконання вказаної операцiї для всiх iнших користувачiв. В решті випадків процес не отримує доступу до файла. Результати виконання завдання STAT(1) User Commands STAT(1) NAME stat - display file or file system status SYNOPSIS stat [OPTION]... FILE... DESCRIPTION Display file or file system status. -L, --dereference follow links -f, --file-system display file system status instead of file status -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FOR‐ MAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT. -t, --terse print the information in terse form --help display this help and exit --version output version information and exit OPENVT(1) Linux 1.x OPENVT(1) NAME openvt - start a program on a new virtual terminal (VT). SYNOPSIS openvt [-c vtnumber] [-s] [-u] [-l] [-v] [--] command command_options DESCRIPTION openvt will find the first available VT, and run on it the given command with the given command options, standard input, output and error are directed to that terminal. The current search path ($PATH) is used to find the requested command. If no command is specified then the environment variable $SHELL is used. OPTIONS -c vtnumber Use the given VT number and not the first available. Note you must have write access to the supplied VT for this to work. -f Force opening a VT without checking whether it is already in use. -e Directly execute the given command, without forking. This option is meant for use in /etc/inittab. -s Switch to the new VT when starting the command. The VT of the new command will be made the new current VT. -u Figure out the owner of the current VT, and run login as that user. Suitable to be called by init. Shouldn't be used with -c or -l. -l Make the command a login shell. A - is prepended to the name of the command to be exe‐ cuted. -v Be a bit more verbose. -w wait for command to complete. If -w and -s are used together then openvt will switch back to the controlling terminal when the command completes. -- end of options to openvt. WRITE(1) BSD General Commands Manual WRITE(1) NAME write — send a message to another user SYNOPSIS write user [ttyname] DESCRIPTION The write utility allows you to communicate with other users, by copying lines from your terminal to theirs. When you run the write command, the user you are writing to gets a message of the form: Message from yourname@yourhost on yourtty at hh:mm ... Any further lines you enter will be copied to the specified user's terminal. If the other user wants to reply, they must run write as well. When you are done, type an end-of-file or interrupt character. The other user will see the mes‐ sage ‘EOF’ indicating that the conversation is over. You can prevent people (other than the super-user) from writing to you with the mesg(1) command. If the user you want to write to is logged in on more than one terminal, you can specify which terminal to write to by specifying the terminal name as the second operand to the write command. Alternatively, you can let write select one of the terminals - it will pick the one with the shortest idle time. This is so that if the user is logged in at work and also dialed up from home, the message will go to the right place. The traditional protocol for writing to someone is that the string ‘-o’, either at the end of a line or on a line by itself, means that it's the other person's turn to talk. The string ‘oo’ means that the person believes the conversation to be over. KILL(1) Linux User's Manual KILL(1) NAME kill - send a signal to a process SYNOPSIS kill [ -signal | -s signal ] pid ... kill [ -L | -V, --version ] kill -l [ signal ] DESCRIPTION The default signal for kill is TERM. Use -l or -L to list available signals. Particularly use‐ ful signals include HUP, INT, KILL, STOP, CONT, and 0. Alternate signals may be specified in three ways: -9 -SIGKILL -KILL. Negative PID values may be used to choose whole process groups; see the PGID column in ps command output. A PID of -1 is special; it indicates all processes except the kill process itself and init. SIGNALS The signals listed below may be available for use with kill. When known constant, numbers and default behavior are shown. Name Num Action Description 0 0 n/a exit code indicates if a signal may be sent ALRM 14 exit HUP 1 exit INT 2 exit KILL 9 exit cannot be blocked PIPE 13 exit POLL exit PROF exit TERM 15 exit USR1 exit USR2 exit VTALRM exit STKFLT exit might not be implemented PWR ignore might exit on some systems WINCH ignore CHLD ignore URG ignore TSTP stop might interact with the shell TTIN stop might interact with the shell TTOU stop might interact with the shell STOP stop cannot be blocked Висновок На даній лабораторній роботі, я, познайомився iз повним набором системних викликiв операцiйної системи Linux та призначенням i синопсисом найвживанiших системних викликiв.
Антиботан аватар за замовчуванням

13.02.2013 01:02-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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