Запитання з тегом «system-calls»

Питання щодо деталей того, як програма використовує системні дзвінки для взаємодії з API ядра, які дзвінки доступні, як вони працюють і т.д.

7
Як я можу знайти реалізацію системних викликів ядра Linux?
Я намагаюся зрозуміти, як функціонує, скажімо mkdir, працює, дивлячись на джерело ядра. Це спроба зрозуміти внутрішні ядра та перейти між різними функціями. Я знаю mkdir, визначено в sys/stat.h. Я знайшов прототип: /* Create a new directory named PATH, with permission bits MODE. */ extern int mkdir (__const char *__path, __mode_t …


2
Що система зателефонувала «tuxcall»?
В include/x86_64-linux-gnu/asm/unistd_64.h, я бачу системний виклик по імені tuxcall, #define __NR_tuxcall 184 Про це немає нічого, man tuxcallкрім того, щоб сказати, що це безпроблемна система викликів . Що це зробило? Це ніколи не реалізовувалось, чи щось робило в античності?

4
Чому назви системних дзвінків UNIX / POSIX настільки нерозбірливі?
Яка причина використовувати такі імена системних викликів, як timeі creatзамість getCurrentTimeSecsі, createFileабо, можливо, більше підходять для Unix get_current_time_secsта create_file. Що підводить мене до наступного моменту: чому хтось хоче щось подібне cfsetospeedбез футляра з верблюдом або хоча б підкреслення, щоб зробити його читабельним? Звичайно, у викликах було б більше символів, але …

3
Чому номери системних викликів Linux у x86 та x86_64 відрізняються?
Я знаю, що інтерфейс системного виклику реалізований на низькому рівні і, отже, залежить від архітектури / платформи, а не "загального" коду. Однак я не можу чітко бачити причину, чому системні дзвінки в 32-бітових ядрах x86 Linux мають номери, які не зберігаються однаковими в подібній архітектурі Linux 64-бітний x86_64? Яка мотивація …

2
Перерва системних дзвінків при вході сигналу
Після читання довідкових сторінок на дзвінках read()та write()дзвінках видно, що ці дзвінки перериваються сигналами незалежно від того, чи потрібно їх блокувати чи ні. Зокрема, припустимо процес встановлює обробник для деякого сигналу. пристрій відкрито (скажімо, термінал) з O_NONBLOCK не встановленим (тобто працює в режимі блокування) Потім процес робить read()системний виклик для …

2
Де вилка () на вилковій бомбі: () {: |: &};:?
Попередження: Виконання цієї команди в більшості оболонок призведе до порушення роботи системи, яка потребує примусового вимикання для виправлення Я розумію рекурсивну функцію :(){ :|: & };:і те, що вона робить. Але я не знаю, куди дзвонить система вилки. Я не впевнений, але підозрюю в трубі |.

2
Яка мета першого аргументу для вибору системного виклику?
З man select int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); nfds - це дескриптор файлів з найбільшим числом у будь-якому з трьох наборів плюс 1. Яка мета nfds, коли ми вже є readfds, writefdsі exceptfdsз якої можна визначити дескриптори файлів?


4
Як зрозуміти труби
Коли я просто використовував трубу в баші, я більше про це не думав. Але коли я читаю якийсь приклад коду С, використовуючи системну трубну виклик () разом з fork (), мені цікаво, як зрозуміти труби, включаючи як анонімні, так і названі труби. Часто чути, що "все в Linux / Unix …

4
зграя (2) проти fcntl (2) над NFS
Документація Perl 5.x вказує, що для його реалізації flock (..) буде використовуватися один із наступних нативних викликів, починаючи з 1 і працює до 3, якщо недоступний: зграя (2) fcntl (2) lockf (3) Це чудово. Однак ви, можливо, помітили їх відмову в тому, що зграя (2) не повинна використовуватися над NFS. …
19 nfs  system-calls 

3
Який взаємозв'язок між системними дзвінками, передачею повідомлень та перериваннями?
Я читаю статтю Вікіпедії для управління процесами . Моя увага зосереджена на Linux. Я не можу визначити взаємозв'язок та відмінності між системним викликом, передачею повідомлення та перериванням їхніх концепцій та цілей. Чи всі вони для процесів подання запитів до ядра для ресурсів та послуг? Деякі цитати зі статті та деякі …

5
Що означає "системний виклик", якщо не реалізація мовою програмування?
Я хотів би зрозуміти термін "системний дзвінок". Мені відомо, що системні дзвінки використовуються для отримання служб ядра від програми простору користувачів. Частина, з якою мені потрібно роз'яснити, - це різниця між "системним викликом" та "реалізацією системного дзвінка C". Ось цитата, яка мене бентежить: У системах, схожих на Unix, цей API …
14 kernel  c  posix  system-calls 

1
Скільки часу локальна адреса сокета TCP, яка була обмежена недоступною після закриття?
У Linux (мої сервери в реальному часі знаходяться на RHEL 5.5 - нижче наведені посилання LXR на версію ядра) man 7 ip: Адреса локальної розетки TCP, яка була зв'язана, недоступна протягом деякого часу після закриття, якщо не встановлено прапор SO_REUSEADDR. Я не використовую SO_REUSEADDR. Як довго "деякий час"? Як я …

2
Різниця між повільними системними дзвінками та швидкими системними дзвінками
Яка різниця між повільними системними дзвінками та швидкими системними дзвінками? Я дізнався, що повільний системний виклик може блокуватися, якщо процес ловить якісь сигнали, оскільки спіймані сигнали можуть розбудити заблокований системний виклик, але я не можу точно зрозуміти цей механізм. Будь-які приклади будуть вдячні.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.