Na tej stronie opisujemy podzbiór interfejsów jądra systemu Linux, na których Android wymaga poprawnego działania. Obecność i poprawność tych interfejsów jest przetestowane w ramach Vendor Test Suite (VTS). Ten podzbiór będzie się powiększać, aby uwzględnić większą część Interfejsy jądra Androida.
Wywołania systemowe
Wszystkie wywołania systemowe powinny mieć takie same podpisy i semantykę jak w nadrzędnym jądrze Linuksa w tej samej wersji.
PRctl
Oprócz nadrzędnych operacji prctl
na potrzeby obsługiwanych operacji
jądra systemu, Android korzysta z dodatkowych operacji prctl
,
które można znaleźć w jądrze android-common.
PR_SET_TIMERSLACK_PID PR_SET_VMA
Systemy plików
Jądro Linuksa eksportuje interfejsy za pomocą kilku systemów plików. Wymagania Androida za pomocą tych interfejsów przekazują te same informacje w tym samym formacie zapewniają taką samą semantykę co w źródłowym jądrze Linuksa. Interfejs, który nie występują w źródle, odpowiednie działanie jest zależne od wersji wspólnego jądra Androida.
Procfs
Interfejs | Opis |
---|---|
/proc/asound/ | Plik tylko do odczytu z listą obecnie skonfigurowanych sterowników ALSA. |
/proc/cmdline | Plik tylko do odczytu zawierający argumenty wiersza poleceń przekazane do jądra. |
/proc/config.gz | Plik tylko do odczytu zawierający konfigurację kompilacji jądra. |
/proc/cpuinfo | Plik tylko do odczytu zawierający szczegóły procesora związane z architekturą. |
/proc/diskstats | Plik tylko do odczytu ze statystykami wejścia-wyjścia urządzeń blokowych. |
/proc/filesystems | Systemy plików z listą plików tylko do odczytu obsługiwane obecnie przez jądro. |
/proc/kmsg | Plik tylko do odczytu pokazujący komunikaty jądra w czasie rzeczywistym. |
/proc/loadavg | Plik tylko do odczytu ze średnią wartością obciążenia procesora i wejścia-wyjścia w danym okresie. |
/proc/meminfo | Plik tylko do odczytu ze szczegółami podsystemu pamięci. |
/proc/misc | Plik tylko do odczytu z listą różnych sterowników zarejestrowanych w na innym głównym urządzeniu. |
/proc/modules | Plik tylko do odczytu zawierający informacje o załadowanych modułach jądra. |
/proc/mounts | Link symboliczny do pliku /proc/self/mounts , który jest przeznaczony tylko do odczytu
z informacjami o podłączonych systemach plików. |
/proc/net | Katalog zawierający różne parametry stosu sieciowego. |
/proc/net/xt_qtaguid/ | Plik do odczytu i zapisu zawierający informacje o otagowanych gniazdach. |
/proc/pagetypeinfo | Plik tylko do odczytu zawierający informacje o przydzielaniu stron. |
/proc/stat | Plik tylko do odczytu zawierający różne statystyki jądra i systemu. |
/proc/swaps | Plik tylko do odczytu pokazujący wykorzystanie miejsca wymiany. Ten plik jest opcjonalnie; jego zawartość i uprawnienia są weryfikowane w VTS tylko wtedy, gdy |
/proc/sys/abi/swp | Plik do odczytu i zapisu, który określa zachowanie przestarzałego procesora ARM proces tworzenia instrukcji. |
/proc/sys/fs/pipe-max-size | Plik do odczytu i zapisu, który zgłasza maksymalny rozmiar (w bajtach) z pojedynczego bufora potoku. |
/proc/sys/fs/protected_hardlinks | Plik do odczytu i zapisu, który kontroluje tworzenie linków twardych. |
/proc/sys/fs/protected_symlinks | Plik do odczytu i zapisu, który kontroluje tworzenie symboli . |
/proc/sys/fs/suid_dumpable | Plik do odczytu i zapisu, który steruje trybem zrzutu podstawowego dla setuid lub w inny sposób plików binarnych chronionych i zapisanych plików binarnych. |
/proc/sys/kernel/core_pattern | Plik do odczytu i zapisu, który określa wzorzec nazwy podstawowego pliku zrzutu. |
/proc/sys/kernel/core_pipe_limit | Plik do odczytu i zapisu, który określa, ile równoczesnych procesów awarii może zostać przesyłać równolegle do aplikacji użytkowników. |
/proc/sys/kernel/dmesg_restrict | Plik do odczytu i zapisu, który określa, czy użytkownicy bez uprawnień mają dostęp dmesg. |
/proc/sys/kernel/domainname | Plik do odczytu i zapisu zawierający nazwę domeny YP/NIS systemu. |
/proc/sys/kernel/hostname | Plik do odczytu i zapisu, który określa nazwę hosta systemu. |
/proc/sys/kernel/hung_task_timeout_secs | Plik do odczytu i zapisu, który kontroluje czas oczekiwania używany do określania, kiedy zadanie przestała odpowiadać i powinna być uznawana za niedostępną. Ten plik: jest opcjonalny. jego zawartość i uprawnienia są weryfikowane w VTS tylko wtedy, plik istnieje. |
/proc/sys/kernel/kptr_restrict | Plik do odczytu i zapisu określający, czy wskaźniki jądra są drukowane
proc i inne interfejsy. |
/proc/sys/kernel/modules_disabled | Plik do odczytu i zapisu, który określa, czy moduły jądra mogą być ładowane. |
/proc/sys/kernel/panic_on_oops | Plik do odczytu i zapisu, który kontroluje działanie jądra w przypadku błędu „Ups”. |
/proc/sys/kernel/perf_event_max_sample_rate | Plik do odczytu i zapisu, który kontroluje maksymalną częstotliwość próbkowania wydajności zdarzeń. |
/proc/sys/kernel/perf_event_paranoid | Plik do odczytu i zapisu, który kontroluje korzystanie z systemu zdarzeń dotyczących wydajności przez użytkowników bez uprawnień. |
/proc/sys/kernel/pid_max | Plik do odczytu i zapisu zawierający wartość opakowania alokacji PID. |
/proc/sys/kernel/random/boot_id | Plik tylko do odczytu, który przy każdym uruchomieniu zawiera nowy losowy identyfikator. |
/proc/sys/kernel/randomize_va_space | Plik do odczytu i zapisu określający zasadę losowości układu adresu dla systemu. |
/proc/sys/kernel/sched_child_runs_first | Plik do odczytu i zapisu, który określa, czy nowo rozwidlone zadania są faworyzowane w na równi z rodzicami. |
/proc/sys/kernel/sched_latency_ns | plik do odczytu i zapisu zawierający maksymalny czas oczekiwania (w nanosekundach), może zostać naliczona przed ich zaplanowaniem. |
/proc/sys/kernel/sched_rt_period_us | plik do odczytu i zapisu zawierający długość okresu używaną przez systemowy RT limitu wykonywania w mikrosekundach. |
/proc/sys/kernel/sched_rt_runtime_us | Plik do odczytu i zapisu, który zawiera ilość czasu względem wartości sched_rt_period_us, system może wykonywać zadania RT. |
/proc/sys/kernel/sched_tunable_scaling | Plik do odczytu i zapisu, który określa, czy atrybut sched_latency_ns ma być automatycznie dostosowywane przez algorytm szeregowania na podstawie liczby procesorów. |
/proc/sys/kernel/sched_wakeup_granularity_ns | plik do odczytu i zapisu, który zawiera informacje o tym, ile więcej zadań A trzeba przeznaczyć na działanie wirtualnego środowiska wykonawczego. aby zadanie B wyprzedziło zadanie B w nanosekundach. |
/proc/sys/kernel/sysrq | Plik do odczytu i zapisu, który kontroluje funkcje, które mogą być wywoływane za pomocą sysrq. |
/proc/sys/net/* | Katalog zawierający różne parametry stosu sieciowego. |
/proc/sysrq-trigger | Plik tylko do zapisu, który może być używany do inicjowania funkcji sysrq. |
/proc/sys/vm/dirty_background_ratio | Plik do odczytu i zapisu zawierający jako procent łącznej dostępnej pamięci (bezpłatnych i możliwych do odzyskania) stron, liczba stron, wątki jądra w tle zaczynają zapisywać zanieczyszczone dane. |
/proc/sys/vm/dirty_expire_centisecs | Plik do odczytu i zapisu, który określa, kiedy zanieczyszczone dane są wystarczająco stare do zapisu przez wątki jądra systemu operacyjnego. |
/proc/sys/vm/drop_caches | plik do odczytu i zapisu, który może być używany do wymuszenia usunięcia jądra systemu operacyjnego. pamięci podręcznej. |
/proc/sys/vm/extra_free_kbytes | plik do odczytu i zapisu, który może służyć do przechowywania dodatkowej pamięci pomiędzy jest to próg, na podstawie którego rozpoczyna się odzyskiwanie tła (kswapd). który obejmuje bezpośrednie odzyskiwanie (przez przydzielanie procesów). Ten plik: jest opcjonalny. jego zawartość i uprawnienia są weryfikowane w VTS tylko wtedy, plik istnieje. |
/proc/sys/vm/max_map_count | Plik do odczytu i zapisu zawierający maksymalną liczbę obszarów mapy pamięci proces weryfikacji i uzyskiwania zgody na przetwarzanie danych. |
/proc/sys/vm/mmap_min_addr | Plik do odczytu i zapisu określający minimalny adres
mmap d. |
/proc/sys/vm/mmap_rnd_bits | Plik do odczytu i zapisu, który określa stopień losowości w
mmap adresów. |
/proc/sys/vm/mmap_rnd_compat_bits | Plik do odczytu i zapisu, który określa stopień losowości w
mmap adresów. |
/proc/sys/vm/overcommit_memory | Plik do odczytu i zapisu, który określa rozliczanie pamięci wirtualnej jądra i trybu uzyskiwania zgody. |
/proc/sys/vm/page-cluster | Plik do odczytu i zapisu, który steruje liczbą stron, do których kolejne strony są odczytywane z zamiany za pomocą jednej próby. |
/proc/uid_cputime/remove_uid_range | Plik tylko do zapisu, który po zapisaniu usuwa identyfikatory UID z
/proc/uid_cputime/show_uid_stat |
/proc/uid_cputime/show_uid_stat | Plik tylko do odczytu z czasem spędzonym przez proces UID na koncie użytkownika oraz w środowisku jądra systemu operacyjnego. |
/proc/uid_io/stats | Plik tylko do odczytu zawierający listę statystyk wejścia-wyjścia dla każdego identyfikatora UID w system |
/proc/uid_procstat/set | Plik tylko do zapisu używany do konfigurowania identyfikatora UID jako pierwszego planu lub w tle. |
/proc/uid_time_in_state | Plik tylko do odczytu zawierający czas wykonania procesów każdego identyfikatora UID każdej dostępnej częstotliwości. Ten plik jest opcjonalny. jej zawartości oraz uprawnienia są weryfikowane w VTS tylko wtedy, gdy plik istnieje. |
/proc/uptime | Plik tylko do odczytu, który pokazuje, jak długo działa system. |
/proc/version | Plik tylko do odczytu zawierający ciąg tekstowy opisujący wersję jądra. |
/proc/vmallocinfo | Plik tylko do odczytu zawierający zakresy vmalloc . |
/proc/vmstat | Plik tylko do odczytu zawierający statystyki pamięci wirtualnej z jądra. |
/proc/zoneinfo | Plik tylko do odczytu zawierający informacje o strefach pamięci. |
deweloperska
Interfejs | Opis |
---|---|
/dev/ashmem | Anonimowy plik z pamięcią współdzieloną. |
/dev/binder | Plik urządzenia powiązanego. |
/dev/hwbinder | Plik wiązania sprzętowego. |
/dev/tun | Plik uniwersalny TUN/TAP urządzenia. |
/dev/xt_qtaguid | Plik urządzenia netfilter QTAGUID. |
Sysfs
Interfejs | Opis |
---|---|
/sys/class/net/*/mtu | Plik do odczytu i zapisu zawierający maksymalną jednostkę przesyłania dla każdej za pomocą prostego interfejsu online. |
/sys/class/rtc/*/hctosys | Plik tylko do odczytu wskazujący, czy określone RTC dostarcza czas systemowy podczas uruchamiania i wznawiania. |
/sys/devices/system/cpu/ | Katalog zawierający informacje o konfiguracji procesora i częstotliwości. |
/sys/kernel/wakeup_reasons | Katalog plików tylko do odczytu, które zawierają czas ostatniego zawieszenia i wznowienie . |
/sys/power/state | Plik do odczytu i zapisu, który steruje stanami uśpienia systemu. |
/sys/power/wake_lock | Plik do odczytu i zapisu, który zawiera aktywne blokady uśpienia. |
/sys/power/wake_unlock | Plik do odczytu i zapisu, który zawiera nieaktywne blokady uśpienia. |
/sys/power/wakeup_count | Plik do odczytu i zapisu, który może być używany do wprowadzenia systemu w stan uśpienia z uwzględnieniem równoczesnych zdarzeń wybudzania. |
Selinuxfs
Platforma podłącza interfejs selinuxfs
w miejscu /sys/fs/selinux
.
Ścieżka | Opis |
---|---|
/sys/fs/selinux/checkreqprot | Plik do odczytu/zapisu zawierający flagę binarną określającą sposób działania selinux
zabezpieczenia są sprawdzane w wywołaniach mmap i mprotect .
|
/sys/fs/selinux/null | Urządzenie do odczytu/zapisu o wartości null do użycia przez Selinux. |
/sys/fs/selinux/policy | Plik tylko do odczytu zawierający zasadę Selinux w postaci binarnej. |