Pytania dotyczące szczegółów, w jaki sposób program używa wywołań systemowych do interakcji z API jądra, jakie wywołania są dostępne, jak działają itp.
Próbuję zrozumieć, jak działa, powiedzmy mkdir, funkcja, patrząc na źródło jądra. Jest to próba zrozumienia wewnętrznych elementów jądra i nawigacji między różnymi funkcjami. Wiem, że mkdirjest zdefiniowany w sys/stat.h. Znalazłem prototyp: /* Create a new directory named PATH, with permission bits MODE. */ extern int mkdir (__const char *__path, __mode_t …
Na przykład gitzainstalowałem w swoim systemie. Ale nie pamiętam, gdzie go zainstalowałem, więc które polecenie jest odpowiednie, aby się tego dowiedzieć?
W include/x86_64-linux-gnu/asm/unistd_64.hwidzę wywołania systemowego o nazwie tuxcall, #define __NR_tuxcall 184 Nie ma w tym nic man tuxcallpoza stwierdzeniem, że jest to niezaimplementowane wywołanie systemowe . Co to zrobiło Czy nigdy nie został wdrożony, czy też zrobił coś w starożytności?
Jaki jest powód używania takich nienazwanych nazw wywołań systemowych, takich jak timei creatzamiast getCurrentTimeSecsi createFilelub, a może bardziej odpowiednich w systemach Unix get_current_time_secsi create_file. Co prowadzi mnie do następnej kwestii: dlaczego ktoś miałby chcieć czegoś takiego cfsetospeedbez futerału na wielbłąda lub przynajmniej podkreśla, aby był czytelny? Oczywiście wywołania miałyby więcej …
Wiem, że interfejs wywołania systemowego jest implementowany na niskim poziomie, a zatem zależy od architektury / platformy, a nie „ogólnego” kodu. Jednak nie widzę jasno, dlaczego wywołania systemowe w Linuksie 32-bitowe jądra x86 mają numery, które nie są takie same w podobnej architekturze Linux 64-bit x86_64? Jaka jest motywacja / …
Z czytania stron podręcznika read()i write()wywołań wynika, że połączenia te są przerywane sygnałami, niezależnie od tego, czy muszą być blokowane, czy nie. W szczególności załóżmy proces ustanawia moduł obsługi dla niektórych sygnałów. urządzenie jest otwarte (powiedzmy terminal) z O_NONBLOCK nie ustawionym (tzn. działa w trybie blokowania) następnie proces wykonuje read()wywołanie …
Ostrzeżenie: Uruchomienie tego polecenia w większości powłok spowoduje uszkodzenie systemu, który będzie wymagał wymuszonego zamknięcia w celu naprawy Rozumiem funkcję rekurencyjną :(){ :|: & };:i jej działanie. Ale nie wiem, gdzie jest wywołanie systemowe wideł. Nie jestem pewien, ale podejrzewam w fajce |.
Z man select int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); nfds to deskryptor pliku o najwyższym numerze w dowolnym z trzech zestawów plus 1. Jaki jest cel nfds, kiedy już mamy readfds, writefdsi na exceptfdspodstawie którego można określić deskryptory plików?
man getrusage 2 mówi 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. Co dokładnie oznacza ta liczba?
Kiedy użyłem potoku w bashu, nie myślałem o tym więcej. Ale kiedy czytam przykład kodu C za pomocą wywołania systemowego pipe () razem z fork (), zastanawiam się, jak rozumieć potoki, w tym potoki anonimowe i potoki nazwane. Często słyszy się, że „wszystko w systemie Linux / Unix jest plikiem”. …
Dokumentacja Perla 5.x stwierdza, że jego implementacja flock (..) użyje jednego z następujących rodzimych wywołań, zaczynając od 1 i pracując w kierunku 3, jeśli jest niedostępna: stado (2) fcntl (2) lockf (3) W porządku. Być może zauważyłeś jednak ich wyłączenie odpowiedzialności, że flock (2) nie powinien być używany w systemie …
Czytam artykuł z Wikipedii dotyczący zarządzania procesami . Skupiam się na Linuksie. Nie mogę zrozumieć związku i różnic między wywołaniem systemowym, przekazywaniem i przerywaniem wiadomości w ich pojęciach i celach. Czy wszystkie służą do wysyłania zapytań do jądra o zasoby i usługi? Niektóre cytaty z artykułu i inne: Istnieją dwa …
Chciałbym zrozumieć termin „wywołanie systemowe”. Wiem, że wywołania systemowe służą do pobierania usług jądra z aplikacji przestrzeni użytkownika. Część, z którą muszę wyjaśnić, to różnica między „wywołaniem systemowym” a „implementacją C wywołania systemowego”. Oto cytat, który mnie myli: W systemach uniksowych ten interfejs API jest zwykle częścią implementacji biblioteki C …
W systemie Linux (moje serwery na żywo są w wersji RHEL 5.5 - poniższe łącza LXR dotyczą wersji jądra), man 7 ipmówi: Powiązany adres lokalnego gniazda TCP jest niedostępny przez pewien czas po zamknięciu, chyba że ustawiono flagę SO_REUSEADDR. Nie używam SO_REUSEADDR. Jak długo trwa „jakiś czas”? Jak mogę dowiedzieć …
Jaka jest różnica między wolnymi wywołaniami systemowymi a szybkimi wywołaniami systemowymi? Nauczyłem się, że powolne wywołanie systemowe może blokować, jeśli proces przechwytuje niektóre sygnały, ponieważ przechwycone sygnały mogą obudzić zablokowane wywołanie systemowe, ale nie do końca rozumiem ten mechanizm. Wszelkie przykłady będą mile widziane.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.