Domande relative ai dettagli su come un programma utilizza le chiamate di sistema per interagire con l'API del kernel, quali chiamate sono disponibili, come funzionano ecc.
Sto cercando di capire come funziona una funzione, diciamo mkdir, guardando il sorgente del kernel. Questo è un tentativo di comprendere gli interni del kernel e navigare tra le varie funzioni. So che mkdirè definito in sys/stat.h. Ho trovato il prototipo: /* Create a new directory named PATH, with permission …
In include/x86_64-linux-gnu/asm/unistd_64.h, vedo una chiamata di sistema denominata tuxcall, #define __NR_tuxcall 184 Non c'è nulla al riguardo man tuxcalltranne che dire che si tratta di un sistema non implementato che chiama . Che cosa ha fatto Non è mai stato implementato o ha fatto qualcosa nell'antichità?
Qual è la ragione per usare nomi di chiamate di sistema così indicativi come timee creatinvece di getCurrentTimeSecse createFileo, forse più adatti su Unix get_current_time_secse create_file. Il che mi porta al punto successivo: perché qualcuno dovrebbe voler qualcosa di simile cfsetospeedsenza custodia per cammello o almeno sottolineature per renderlo leggibile? …
So che l'interfaccia di chiamata di sistema è implementata su un livello basso e quindi codice di architettura / piattaforma dipendente, non "generico". Tuttavia, non riesco a vedere chiaramente il motivo per cui le chiamate di sistema nei kernel x86 a 32 bit di Linux hanno numeri che non sono …
Dalla lettura delle pagine man su read()e write()chiamate sembra che queste chiamate vengano interrotte da segnali indipendentemente dal fatto che debbano essere bloccati o meno. In particolare, supponiamo un processo stabilisce un gestore per alcuni segnali. un dispositivo viene aperto (per esempio un terminale) con il O_NONBLOCK non impostato (cioè …
Avvertenza: l'esecuzione di questo comando nella maggior parte delle shell comporterà la rottura di un sistema che dovrà essere arrestato forzatamente Capisco la funzione ricorsiva :(){ :|: & };:e cosa fa. Ma non so dov'è la chiamata di sistema fork. Non ne sono sicuro, ma sospetto nella pipa |.
A partire dal man select int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); nfds è il descrittore di file con il numero più alto in uno dei tre set, più 1. Qual è lo scopo nfds, quando abbiamo già readfds, writefdse exceptfds, da cui è possibile …
man getrusage 2 dice ru_maxrss (since Linux 2.6.32) This is the maximum resident set size used (in kilobytes). For RUSAGE_CHILDREN, this is the resident set size of the largest child, not the maximum resident set size of the process tree. Cosa significa esattamente questo numero?
Quando ho appena usato pipe in bash, non ci ho pensato più. Ma quando leggo alcuni esempi di codice C usando system call pipe () insieme a fork (), mi chiedo come capire le pipe, comprese sia le pipe anonime che quelle con nome. Si è spesso sentito che "tutto …
La documentazione di Perl 5.x afferma che la sua implementazione di flock (..) utilizzerà una delle seguenti chiamate native, a partire da 1 e funzionando verso 3 se non disponibile: flock (2) fcntl (2) lockf (3) Va bene. Tuttavia, potresti aver notato il loro disclaimer che flock (2) non dovrebbe …
Sto leggendo l'articolo di Wikipedia per la gestione dei processi . Il mio focus è su Linux. Non riesco a capire la relazione e le differenze tra chiamata di sistema, passaggio di messaggi e interruzione, nei loro concetti e scopi. Sono tutti per i processi che fanno richieste al kernel …
Vorrei capire il termine "chiamata di sistema". Sono a conoscenza del fatto che le chiamate di sistema vengono utilizzate per ottenere i servizi del kernel da un'applicazione spazio utente. La parte con cui ho bisogno di chiarimenti è la differenza tra una "chiamata di sistema" e una "implementazione C della …
Su Linux (i miei server live sono su RHEL 5.5 - i collegamenti LXR sotto sono alla versione del kernel in questo), man 7 ipdice: Un indirizzo socket TCP locale che è stato associato non è disponibile per qualche tempo dopo la chiusura, a meno che non sia stato impostato …
Qual è la differenza tra chiamate di sistema lente e chiamate di sistema veloci? Ho imparato che la chiamata di sistema lenta può bloccare se il processo rileva alcuni segnali, perché i segnali catturati possono riattivare la chiamata di sistema bloccata, ma non riesco a capire esattamente questo meccanismo. Qualsiasi …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.