Rad s jezgrom operacijskog sustava - GASERI


prostor korisničkih aplikacija



Onion Details



Page Clicks: 0

First Seen: 03/15/2024

Last Indexed: 10/23/2024

Domain Index Total: 397



Onion Content



Preskoči na sadržaj Rad s jezgrom operacijskog sustava prostor korisničkih aplikacija aplikacije koje korisnici koriste: GNOME, Firefox, Thunderbird, LibreOffice, GIMP, Audacity, Inkscape, VLC, Python, GCC, top , bash , mkfifo , chmod , ... bibliotečne datoteke i aplikacije koji nemaju direktnu primjenu za krajnjeg korisnika (programi za konfiguraciju sustava i slično): GNU C Library, Qt, CUPS, udev, X.Org, ALSA, init , mkfs , fdisk , ... jezgra (engl. kernel ) u našem slučaju Linux, ali može biti i FreeBSD, Solaris, Mac OS X, Windows, ... upravlja procesima, memorijom, raspodjelom procesorskog vremena procesima, ulazno-izlaznim uređajima (hardverom) jezgri nije zadaća da korisniku izravno pruži neku funkcionalnost, to rade aplikacije jezgra barata s operacijama koje rade računanje (engl. computation ) i ulaz-izlaz -- U/I (engl. input/output , I/O ) i komunicira s uređajima koji rade jedno ili drugo prostor jezgre je prostor u kojem se pokreću procesi jezgre dmesg ispisuje poruke koje jezgra javlja tijekom rada Todo Ovdje treba opisati ukratko kako je strukturirana Linux jezgra. Dohvaćanje informacija o hardveru dmidecode ispisuje poruke DMI i SMBIOS sučelja , daje brojne informacije o hardveru naredba lscpu i datoteka /proc/cpuinfo daju informacije o procesorima naredba free i datoteka /proc/meminfo daju informacije o memoriji Zadatak Provjerite podržava li procesor na računalu proširenje fizičke adrese (engl. Physical Address Extension , PAE). Pročitajte na Wikipedijinoj stranici o PAE čemu ta ekstenzija služi. Pronađite način da alatom free ispišete veličinu slobodne i zauzete memorije u kilobajtima, a zatim pronađite te iste vrijednosti u /proc/meminfo . lspci ispisuje informacije o uređajima povezanim putem PCI, AGP ili PCI Express sučelja lsusb ispisuje informacije o uređajima povezanim putem USB sučelja lspcmcia ispisuje informacije o uređajima povezanim putem PCMCIA sučelja (postoji na starijim laptopima) lshw ispis informacija o svom hardveru u računalu (nije u standardnoj instalaciji većine distribucija) Zadatak Saznajte više informacija o grafičkoj kartici ( VGA compatible controller ) na računalu: Device ID i Vendor ID , Subsystem Device ID i Subsystem Vendor ID , upravljački program (engl. driver ) jezgre koji koristi. Uputa: sjetite se preko kojeg sučelja se grafička kartica povezuje na matičnu ploču, a zatim pronađite u man stranici odgovarajućeg alata način da ispišete više informacija o hardveru. Moduli jezgre Todo Ovdje treba objasniti način korištenja naredbi modinfo , modprobe , insmod , rmmod , lsmod . Parametri jezgre Kao i programi u korisničkom prostoru, jezgra operacijskog sustava može primati različite parametre jezgre kod pokretanja. Parametre pokrenute jezgre operacijskog sustava možemo pronaći u datoteci /proc/cmdline : $ cat /proc/cmdline BOOT_IMAGE = /boot/vmlinuz-linux root = UUID = 950382f8-aeef-4f3d-baea-6030a38707f0 rw net.ifnames = 0 console = tty1 console = ttyS0 rootflags = compress-force = zstd Za isprobavanje parametara u fazi učenja uređivat ćemo izravno datoteku /boot/grub/grub.cfg i time prekršiti preporuku da se tu datoteku ne uređuje, što je u fazi učenja prihvatljivo. Parametri: 1 (uočimo poruku) 3 (uočimo izlaz naredbe systemctl get-default ) ro (možemo li stvoriti datoteke) quiet module_blacklist=snd_hda_intel (proučite koncept blacklistanja modula ) init=/bin/sh maxcpus , mem , video Kompajliranje jezgre Todo Ovdje treba opisati make menuconfig i ostalo. Specfičnosti jezgre Arch Linuxa Arch Linux službeno podržava četiri vrste jezgre Linuxa : stabilna, paket linux očvrsnuta, paket linux-hardened dugotrajna, paket linux-lts Zen, paket linux-zen Zadana instalacija koristi stabilnu verziju. Nadogradnja verzije jezgre Kod nadogradnje svih paketa naredbom pacman -Syu , moguće je da će među nadogradnjama biti i novija verzija paketa linux . Za razliku od svih ostalih paketa, nadogradnja jezgre zahtijeva ponovno pokretanje operacijskog sustava kako bi se pokrenula. Štoviše, sve do ponovnog pokretanja operacijskog sustava neće ispravno raditi naredbe koje koriste informacije o pokrenutoj verziji jezgre kod traženja modula jezgre (kao što je, primjerice, naredba modprobe ). Promjena vrste jezgre koja se koristi Za ilustraciju korištenja vrste jezgre koja nije zadana prijeći ćemo na dugotrajnu instalacijom paketa linux-lts : $ sudo pacman -S linux-lts Nakon instalacije, ali i ponovnog pokretanja uvjerit ćemo se da se novoinstalirana varijanta jezgra ne koristi: $ uname -a Linux ares.miletic.net 5 .17.5-arch1-1 #1 SMP PREEMPT Wed, 27 Apr 2022 20:56:11 +0000 x86_64 GNU/Linux Uvjerimo se da su slika jezgre i početni datotečni sustav za RAM za pakete linux i linux-lts na mjestu: $ ls /boot efi grub initramfs-linux-fallback.img initramfs-linux-lts-fallback.img initramfs-linux-lts.img initramfs-linux.img vmlinuz-linux vmlinuz-linux-lts Pokretanje nove verzije jezgre korištenjem kexeca Iako pokretanje nove verzije jezgre operacijskog sustava nominalno zahtijeva ponovno pokretanje računala, Linux podržava sustavski poziv pokretanja jezgre (engl. kernel execute , kraće kexec) koji omogućuje pokretanje novije verzije jezgre iz trenutno pokrenute jezgre. Time se preskače inicijalizacija hardvera i pokretanje bootloadera. Prvi korak je instalacija paketa kexec-tools : $ sudo pacman -S kexec-tools Ako je instalirana nova verzija jezgre, alat kexec je može pripremiti za pokretanje korištenjem parametra -l na način: $ kexec -l /boot/vmlinuz-linux --initrd = /boot/initramfs-linux.img --reuse-cmdline Pokretanje nove verzije jezgre uz zaustavljanje svih usluga i odmontiranje svih datotečnih sustava vrši se korištenjem systemdove naredbe systemctl kexec : $ sudo systemctl kexec Više detalja moguće je pronaći na stranici kexec na ArchWikiju . Author: Vedran Miletić