Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Системні виклики

Під терміном «системний виклик» в програмуванні та обчислювальній техніці розуміють звернення прикладної програми до ядра операційної системи (ОС) для виконання будь-якої операції.

Сучасні операційні системи (ОС) передбачають поділ часу між обчислювальними процесами, що виконуються (багатозадачність) і розділення повноважень, що перешкоджає виконуваним програмам звертатися до даних інших програм і обладнання. Ядро ОС виконується в привілейованому режимі роботи процесора. Для виконання міжпроцесної операції або операції, що вимагає доступу до обладнання, програма звертається до ядра, яке, в залежності від повноважень викликає процес, виконує або відмовляє у виконанні такого виклику.
З точки зору програміста, системний виклик зазвичай виглядає як виклик підпрограми або функції з системної бібліотеки. Однак системний виклик, як окремий випадок виклику такої функції або підпрограми, слід відрізняти від більш загального звернення до системної бібліотеки, оскільки останнє може і не вимагати виконання привілейованих операцій.

А тепер наведемо присутні в Linux-системах системні виклики.

accept - прийняти з'єднання на сокеті
access - перевірка прав користувача для доступу до файлу
acct - включення / вимикання режиму збору статистичної інформації про процеси
adjtimex - функція коригування системного годинника
alarm - функція, настроює таймер на подачу сигналу
bdflush - запуск, скидання або настройка демона, що записує інформацію з буфера пам'яті на диск
bind - функція створення імені сокета
brk, sbrk - функції, що змінюють розмір сегменту даних
cacheflush - функція, яка скидає вміст інструкцій та / або дані кешу
capget, capset - функції, що встановлюють / одержують можливості процесу
chdir, fchdir - функції зміни робочого каталогу
chmod, fchmod - функції, змінюють права доступу до файлу
chown, fchown, lchown - функції, що змінюють власника файлу
chroot - функція установки нового кореневого каталогу
clone - функція, що створює дочірній процес
close - функція, що закриває описувач файлу
connect - функція, що встановлює з'єднання з сокетом
dup, dup2 - функції, що створюють копію описувача файлу
execve - функція, що здійснює виконання програми
_exit, _Exit - функція, що завершує роботу програми
fcntl - функція для роботи з файловими описувачами
fdatasync - синхронізує вміст файлу в пам'яті з вмістом на диску
flock - встановлює або знімає "м'яке" блокування (advisory lock) відкритого файлу
fork – створює дочірній процес
fsync, fdatasync - синхронізує стан файлу в пам'яті зі станом на диску
getcontext, setcontext - зчитує або встановлює контекст користувача
getdents - отримує записи з каталогу
getdomainname, setdomainname - визначає / встановлює ім'я домену
getdtablesize - визначає розмір таблиці описувачів
getgid, getegid - зчитує ідентифікатор групи процесу
getgroups, setgroups - отримує / встановлює список додаткових (supplementary) ідентифікаторів груп
gethostid, sethostid - визначає чи встановлює унікальний ідентифікатор вузла
gethostname, sethostname - визначає / встановлює ім'я вузла
getitimer, setitimer - зчитує або встановлює значення таймера інтервалів (interval timer)
dgetpagesize - визначає розмір сторінки пам'яті
getpeername - зчитує ім'я користувача (машини), що тільки що під’єднався
getpid, getppid - зчитує ідентифікатор процесу
getpriority, setpriority - отримати / встановити пріоритети процесів
getresuid, getresgid - зчитує ідентифікатори дійсного (real), ефективного (effective) або збереженого (saved) користувача або групи
getrlimit, getrusage, setrlimit - зчитує / встановлює обмеження використання ресурсів
getsid - визначає ідентифікатор сесії
getsockname - зчитує адресу сокета
getsockopt, setsockopt - зчитує і встановлює параметри, пов'язані з сокетом
gettimeofday, settimeofday - визначає / встановлює час
getuid, geteuid - зчитує ідентифікатор користувача процесу
idle - змушує нульовий процес працювати "вхолосту"
intro - введення в системні виклики
ioctl - управляє пристроями
ioctl_list - список викликів ioctl в ядрі Linux / i386
ioperm - встановлює права на роботу з портами вводу / виводу
iopl - змінює рівень привілеїв введення-виведення
ipc - системні виклики IPC
kill - функція, за допомогою якої посилається сигнал процесу
killpg - функція, за допомогою якої відсилається сигнал групі процесів
link - створює нове ім'я файлу
listen - прослуховує з'єднання на сокеті
_llseek - встановлює позицію читання / запису інформації у файлі
lseek - встановлює позицію читання / запису інформації у файлі
madvise - видає пропозиції про використання пам'яті
mincore - зчитує інформацію про частини файлу, що знаходяться в пам'яті
mkdir - створює каталог
mknod - створює спеціальний або звичайний файл
mlock - забороняє сторінковий обмін в деяких областях пам'яті
mlockall - забороняє сторінковий обмін всьому процесу
mmap, munmap - відображає файли або пристрої в пам'яті або знімає їх відображення
modify_ldt - отримує або встановлює ldt
mount, umount - підключає і відключає файлові системи
mprotect - контролює доступ до області пам'яті
mremap - змінює відображення адреси віртуальної пам'яті
msgctl - виконує контрольні операції над повідомленнями
msgget - отримує ідентифікатор черги повідомлень
msgop - працює з повідомленнями
msync - синхронізує вміст файлу з його відображенням у пам'яті
munlock - дозволяє сторінковий обмін в пам'яті
munlockall - дозволяє сторінковий обмін в пам'яті викликає процесу
nanosleep - зупиняє роботу процесу на заданий час
nfsservctl - інтерфейсна функція системного демона nfs
nice - змінює пріоритет процесу
oldfstat, oldlstat, oldstat, oldolduname, olduname - застарілі системні виклики
open, creat - відкривають і, по можливості, створюють файл або пристрій
outb, outw, outl, outsb, outsw, outsl - функції виведення даних в порт
pause - очікує сигнал
personality - встановлює домен виконання процесу
pipe - створює канал
pivot_root - змінює кореневу файлову систему
poll - очікує деяку подію у файловому описувачі
prctl - оперує процесами
pread, pwrite - читання або запис інформації з описувача файлу згідно заданому зміщенню
ptrace - трасує процес
quotactl - працює з дисковими квотами
read - зчитує дані файлового описувача
readdir - зчитує дані каталогу
readlink - зчитує значення символьного посилання
readv, writev - зчитує або записує вектор
reboot - перезавантажує систему і дозволяє / забороняє використання клавіш Ctrl-Alt-Del для перезавантаження
rename - змінює ім'я або розташування файлу
rmdir - видаляє каталог
sched_get_priority_max, sched_get_priority_min - визначає діапазон статичних пріоритетів
sched_rr_get_interval - визначає часовий інтервал SCHED_RR для заданого процесу
sched_setparam, sched_getparam - отримує і встановлює параметри планувальника
sched_setscheduler, sched_getscheduler - встановлює або отримує алгоритм планувальника (і його параметри)
sched_yield - звільнити процесор
select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO - багатопоточне синхронне введення-виведення
select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO - synchronous I / O multiplexing
semctl - виробляє операції керування семафорами
semget - зчитує ідентифікатор набору семафорів
semop - операції над семафорами
send, sendto, sendmsg - відправляє повідомлення в сокет
sendfile - проводить обмін даними між описувачем файлів
seteuid, setegid - встановлює чинний ідентифікатор користувача або групи
setfsgid - встановлює ідентифікатор групи для доступу до файлової системи
setfsuid - встановлює ідентифікатор користувача файлової системи
setgid - встановлює ідентифікатор групи процесу
setpgid, getpgid, setpgrp, getpgrp - встановлює / отримує групу процесів
setresuid, setresgid - встановлює ідентифікатор реальної, ефективної та збереженої груп користувачів
setreuid-setregid - встановлює дійсний і / або діючий ідентифікатор користувача або групи
setsid - створює сеанс і встановлює ідентифікатор групи
setuid - встановлює ідентифікатор користувача
setup - налаштовує пристрої, файлові системи, встановлює кореневу файлову систему
shmctl - виробляє операції з управління сегментами пам'яті, що розділяються
shmget - присвоює ідентифікатор сегменту пам'яті, що розділяється
shmop - працює з пам'яттю
shutdown - закриває частину дуплексного з'єднання
sigaction, sigprocmask, sigpending, sigsuspend - POSIX-функції обробки сигналів
sigaltstack - зчитує або встановлює вміст додаткового стека сигналу
sigblock, siggetmask, sigsetmask, sigmask - працюють з маскою сигналів
signal - робота з сигналами ANSI C
sigpause - автоматично розблокує сигнали і чекає переривання своєї роботи
sigreturn - повертається з обробника сигналу і очищає тимчасовий стек
sigvec - BSD-Інтерфейс роботи з сигналами
socket - створює кінцеву точку з'єднання
socketcall - системні виклики сокетів
socketpair - створює пару об'єднаних сокетів
stat, fstat, lstat - зчитує статус файлу
statfs, fstatfs - отримують статистичні дані про файлову систему
stime - встановлює системний час
swapon, swapoff - дозволяє / забороняє підкачування даних у файл / пристрій
symlink - створює нове ім'я файлу
sync - записує буфер кешу на диск
sysctl - читає / записує параметри системи
sysfs - отримує інформацію про файлову систему
sysinfo - повертає загальносистемну статистику
syslog, klogctl - читає і / або очищує кільцевий буфер повідомлень ядра, встановлює console_loglevel
time - повертає час у секундах
times - веде запис часу процесу
truncate, ftruncate - вкорочує файл до вказаної довжини
umask - встановлює маску створення файлів
uname - отримує назву ядра та інформацію про нього
unlink - видаляє ім'я і файл, на який вона посилається
uselib - вибирає розподілену бібліотеку
ustat - надає статистику файлової системи
utime, utimes - змінює час доступу і час зміни inode
vfork - створює дочірній процес і блокує батьківський
vhangup - імітує припинення роботи на поточному терміналі
vm86old, vm86 - здійснює перехід у віртуальний режим 8086
wait, waitpid - очікує завершення процесу
wait3, wait4 - очікує завершення роботи процесу (стиль BSD)
write - проводить запис в файловий описувач

Для детальної інформації по кожному системному виклику можна звернутись до документації по системних викликах (http://www.linuxdoc.ru/sys-doc.html)




Переглядів: 1668

<== попередня сторінка | наступна сторінка ==>
Make-файли | Приклад програми, що використовує файлові системні виклики

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.004 сек.