abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 3
    včera 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

    Ladislav Hagara | Komentářů: 2
    včera 04:11 | Nová verze

    Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    23.4. 23:22 | IT novinky

    Evropský parlament dnes přijal směrnici týkající se tzv. práva spotřebitele na opravu. Poslanci ji podpořili 584 hlasy (3 bylo proti a 14 se zdrželo hlasování). Směrnice ujasňuje povinnosti výrobců opravovat zboží a motivovat spotřebitele k tomu, aby si výrobky nechávali opravit a prodloužili tak jejich životnost.

    Ladislav Hagara | Komentářů: 9
    23.4. 16:11 | Nová verze

    Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.

    Ladislav Hagara | Komentářů: 24
    23.4. 13:44 | Upozornění

    ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.

    Ladislav Hagara | Komentářů: 29
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 723 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Jádro Linuxu

    14.8.2012 23:53 nanuqcz
    Jádro Linuxu
    Přečteno: 1004×

    Dobrý den,
    před nějakou dobou jsem si řekl, že zkusím proniknout trochu hlouběji do Linuxu. Začal testovat Ubuntu, učit se s příkazovou řádkou a s konzolovými nástroji, číst si články na internetu. Ale pořád je pro mě Linux tak trochu chaos. Už jen proto, že každá linuxová distribuce mi přijde uplně jiná a s každou, aby se tak člověk učil totálně odznova.

    Co by mě v tuto chvíli nejvíc zajímalo (snad mi to pomůže pochopit další věci) je, co vlastně umí ono jádro Linuxu samo o sobě? A co už je jen nádstavba, kterou nad jádrem postavili tvůrci distribucí?

    Děkuji moc za odpovědi.

    Odpovědi

    Jendа avatar 15.8.2012 04:09 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Už jen proto, že každá linuxová distribuce mi přijde uplně jiná a s každou, aby se tak člověk učil totálně odznova.
    Tak to děláš něco špatně… většinou by mělo stačit chvíli nadávat nad jiným balíčkovacím systémem a pak by to mělo být v pohodě.
    Co by mě v tuto chvíli nejvíc zajímalo (snad mi to pomůže pochopit další věci) je, co vlastně umí ono jádro Linuxu samo o sobě? A co už je jen nádstavba, kterou nad jádrem postavili tvůrci distribucí?
    Jádro neumí celkem nic pro uživatele zajímavého. Můžeš mu pomocí nějakého binárního rozhraní dávat příkazy jako „otevři soubor“ (vrátí ti nějaký deskriptor) a „alokuj mi paměť“, ale nic moc dalšího s ním neuděláš ;-).
    15.8.2012 07:57 Michal
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    většinou by mělo stačit chvíli nadávat nad jiným balíčkovacím systémem a pak by to mělo být v pohodě.

    Jo, kéž by...

    • init.d, upstart, systemd, ...
    • GRUB vs GRUB2
    • konfigurace sítě, firewallu, atd v /etc/*
    • selinux, apparmor, tomoyo, ...
    • KDE, GNOME, Xfce, Unity, ...
    • rpm, apt, aptitude, yast, zypper, yum, ...

    Původní pisatel není zas tak daleko od pravdy...

    15.8.2012 09:03 l4m4
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Např. desktopy jsou -- s výjimkou ubunťáckého Unity -- všechny všude a high-level správa software (low-level je zapotřebí zřidka) se provádí způsobem
    příkaz install foo
    příkaz remove foo
    
    s drobnými syntaktickými (a sémantickými ;) nuancemi. SysV unit je unixová klasika, které se asi nevyhneš, i kdyby všechny linuxová distra používala systemd (což naneštěstí v dohledné době asi nenastane) -- no a upstart je nečekaně zase ubunťácká exotika. Celkově myslím, že seznam variant se dost zjednoduší, když vyřadíš Ubuntu...
    Max avatar 15.8.2012 07:38 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Linuxové jádro je motor auta. Jako řidič se k motoru moc nedostaneš, ten ti neumožní přímo řídit auto. Od toho je volant, pedály, zrcátka, sedačky apod.
    Linuxové jádro jen zprostředkovává komunikaci mezi hw(součástí jádra jsou ovladače) a uživatelským prostorem (grafická klikátka, prostředí, služby, programy).
    Stejně jako obyčejný řidič do motoru neleze, tak i obyčejný uživatel linuxu k jádru vůbec nečichne.
    Pokud jsi znalejší mechanik, tak si začneš motor tunit. Dřív se jádro tunit muselo (nějaká fce nebyla, nějaký ovladač se musel dokompilovat atd.), ale dnes se nevzpomínám, kdy jsem jádro naposledy kompiloval a upravoval nastavení + popř. aplikoval nějaké patche.
    Zdar Max
    Měl jsem sen ... :(
    22.8.2012 19:17 nanuqcz
    Rozbalit Rozbalit vše Re: Jádro Linuxu

    Tak jsem nad tím přemýšlel, hledal na netu atd. :-) Zatím mám o tom představu takovouto... chápu to správně?

    1. Co je součástí jádra:
      1. Konzole.
      2. Spouštění procesů.
      3. Správa paměti (RAM, SWAP).
      4. Uživatelské účty, jejich oprávnění, data a přihlašování uživatelů (tzn. v systému musí existovat adresář /home a soubor /etc/passwd ?).
        Účet root (což zahrnuje příkaz su, ale sudo už ne?; vždy musí v systému existovat adresář /root ?).
    2. Co NENÍ součástí jádra:
      1. Systém pro instalaci a odinstalaci programů (proto bez balíčkovacího systému nelze zjistit, co všechno mám vlastně v Linuxu nainstalované).
      2. Základní nástroje, jako man, sudo, cat, apod. (ale příkazy jako cd, ls, cp, rm apod jsou součástí jádra?).
      3. Pevně dané adresáře pro spustitelné soubory (většinou /bin, /sbin, /usr/bin atd.), pro konfigurační soubory (i když je zvykem dávat vše do /etc, tak umístění konfiguračních souborů je plně v režii samotných programů?), apod. (proto i vznikají věci jako FHS).
    3. Čemu nerozumím:
      1. Někde jsem četl, že ovladače hardwaru se neinstalují jako ve Windows zvlášť, ale že se instalují aktualizací jádra. To znamená, že v jádru Linuxu jsou obsaženy ovladače na veškerý možný HW, se kterým se lze setkat? Pravděpodobné jsem někde četl blbost, že? :-)

    Díky za zodpovězení kterékoli z těchto otázek, případně opravení toho, co chápu špatně :-)

    22.8.2012 20:09 jadd
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Ne, že bych tomu zvlášť rozuměl, ale
    1.1 ano, virtuální terminály VT a pseudo terminály PTs musí mít podporu, ale také nemusí..
    1.2 ano
    1.3 ano
    1.4 ne, je to standard FHS, musel by sis dát pak hodně práce abys neměl na disku guláš, programy dodržují standard. To samé platí o /root..
    2.2 2nd jsou to programy z balíku coreutils (GNU balík)
    3.1 je to tak, může se stát, že budou podporovat hw který ještě nebyl vyroben..
    22.8.2012 20:17 nanuqcz
    Rozbalit Rozbalit vše Re: Jádro Linuxu

    3.1 je to tak, může se stát, že budou podporovat hw který ještě nebyl vyroben..

    A jak to pak funguje, když si doinstalovávám nesvobodné ovladače na grafickou kartu (např. protože mi nefunguje 3D akcelerace) - to se pak nějak "vsunou" přímo do jádra? Nebylo by v takovém případě nutné celé jádro (i s novým ovladačem) znovu zkompilovat?

    Jendа avatar 22.8.2012 21:24 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    ATI i nVidia dodávají vlastní jaderný modul.
    23.8.2012 17:52 jadd
    Rozbalit Rozbalit vše Re: Jádro Linuxu

    U modulů které jsou součástí zdrojů jádra, se musí překompilovat znova celé (nastavuje se jen rozdíl)

    Jádro se kompilovat nemusí kvůli ext. modulům, které nejsou součástí zdrojů jádra. Jen moduly proti jádru.
    Jádro o nich nemusí vědět, ale modul o jádru ano.
    Obvykle sou moduly už přeložené proti konkrétním verzím jádra, a proto můžou být dodány v uzavřené formě.
    Proto taky musíš jednou za čas (cca další vydání distribuce) aktualizovat celý modul.

    Nebo u příkladu AVermedia, sou dodány jak hotové moduly proti konkrétním verzím jádra, tak je napůl otevřený zdroj. kód, Můžeš si sestavit svůj modul, pro verzi jádra, které nebylo v té době k dispozici. S tím, že ale není s otevřenou licencí, a jsou neměně nastaveny optimalizace.

    22.8.2012 23:39 jadd
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Obsah coreutils, můžeš si všimnout, že obsahuje i manuálové stránky. Tzn. že k těmhle příkazům není nutný samostatný balík manuálových-en stránek. Jsou tam vidět i cesty.
    /usr/libexec/coreutils/libstdbuf.so
    /usr/share/info/coreutils.info.bz2
    /usr/share/man/man1/base64.1.bz2
    /usr/share/man/man1/echo.1.bz2
    /usr/share/man/man1/uname.1.bz2
    /usr/share/man/man1/chown.1.bz2
    /usr/share/man/man1/ls.1.bz2
    /usr/share/man/man1/printenv.1.bz2
    /usr/share/man/man1/tac.1.bz2
    /usr/share/man/man1/link.1.bz2
    /usr/share/man/man1/split.1.bz2
    /usr/share/man/man1/nproc.1.bz2
    /usr/share/man/man1/mkdir.1.bz2
    /usr/share/man/man1/cat.1.bz2
    /usr/share/man/man1/runcon.1.bz2
    /usr/share/man/man1/rm.1.bz2
    /usr/share/man/man1/uniq.1.bz2
    /usr/share/man/man1/unlink.1.bz2
    /usr/share/man/man1/factor.1.bz2
    /usr/share/man/man1/users.1.bz2
    /usr/share/man/man1/comm.1.bz2
    /usr/share/man/man1/env.1.bz2
    /usr/share/man/man1/csplit.1.bz2
    /usr/share/man/man1/cut.1.bz2
    /usr/share/man/man1/mv.1.bz2
    /usr/share/man/man1/touch.1.bz2
    /usr/share/man/man1/sum.1.bz2
    /usr/share/man/man1/who.1.bz2
    /usr/share/man/man1/nl.1.bz2
    /usr/share/man/man1/nice.1.bz2
    /usr/share/man/man1/join.1.bz2
    /usr/share/man/man1/dd.1.bz2
    /usr/share/man/man1/chmod.1.bz2
    /usr/share/man/man1/cp.1.bz2
    /usr/share/man/man1/sha256sum.1.bz2
    /usr/share/man/man1/df.1.bz2
    /usr/share/man/man1/vdir.1.bz2
    /usr/share/man/man1/ptx.1.bz2
    /usr/share/man/man1/pwd.1.bz2
    /usr/share/man/man1/fold.1.bz2
    /usr/share/man/man1/tsort.1.bz2
    /usr/share/man/man1/paste.1.bz2
    /usr/share/man/man1/logname.1.bz2
    /usr/share/man/man1/dircolors.1.bz2
    /usr/share/man/man1/chcon.1.bz2
    /usr/share/man/man1/shred.1.bz2
    /usr/share/man/man1/readlink.1.bz2
    /usr/share/man/man1/stat.1.bz2
    /usr/share/man/man1/expand.1.bz2
    /usr/share/man/man1/false.1.bz2
    /usr/share/man/man1/tty.1.bz2
    /usr/share/man/man1/cksum.1.bz2
    /usr/share/man/man1/expr.1.bz2
    /usr/share/man/man1/pinky.1.bz2
    /usr/share/man/man1/mktemp.1.bz2
    /usr/share/man/man1/truncate.1.bz2
    /usr/share/man/man1/mkfifo.1.bz2
    /usr/share/man/man1/true.1.bz2
    /usr/share/man/man1/arch.1.bz2
    /usr/share/man/man1/tee.1.bz2
    /usr/share/man/man1/stdbuf.1.bz2
    /usr/share/man/man1/sort.1.bz2
    /usr/share/man/man1/md5sum.1.bz2
    /usr/share/man/man1/fmt.1.bz2
    /usr/share/man/man1/timeout.1.bz2
    /usr/share/man/man1/test.1.bz2
    /usr/share/man/man1/nohup.1.bz2
    /usr/share/man/man1/date.1.bz2
    /usr/share/man/man1/id.1.bz2
    /usr/share/man/man1/unexpand.1.bz2
    /usr/share/man/man1/tr.1.bz2
    /usr/share/man/man1/whoami.1.bz2
    /usr/share/man/man1/sha384sum.1.bz2
    /usr/share/man/man1/basename.1.bz2
    /usr/share/man/man1/seq.1.bz2
    /usr/share/man/man1/wc.1.bz2
    /usr/share/man/man1/sha224sum.1.bz2
    /usr/share/man/man1/mknod.1.bz2
    /usr/share/man/man1/hostid.1.bz2
    /usr/share/man/man1/pr.1.bz2
    /usr/share/man/man1/dir.1.bz2
    /usr/share/man/man1/dirname.1.bz2
    /usr/share/man/man1/sync.1.bz2
    /usr/share/man/man1/yes.1.bz2
    /usr/share/man/man1/tail.1.bz2
    /usr/share/man/man1/ln.1.bz2
    /usr/share/man/man1/shuf.1.bz2
    /usr/share/man/man1/pathchk.1.bz2
    /usr/share/man/man1/rmdir.1.bz2
    /usr/share/man/man1/sha1sum.1.bz2
    /usr/share/man/man1/head.1.bz2
    /usr/share/man/man1/stty.1.bz2
    /usr/share/man/man1/printf.1.bz2
    /usr/share/man/man1/install.1.bz2
    /usr/share/man/man1/chroot.1.bz2
    /usr/share/man/man1/od.1.bz2
    /usr/share/man/man1/sha512sum.1.bz2
    /usr/share/man/man1/du.1.bz2
    /usr/share/man/man1/chgrp.1.bz2
    /usr/share/man/man1/sleep.1.bz2
    /usr/share/doc/coreutils-8.14/ChangeLog-2006.bz2
    /usr/share/doc/coreutils-8.14/ChangeLog.bz2
    /usr/share/doc/coreutils-8.14/ChangeLog-2007.bz2
    /usr/share/doc/coreutils-8.14/README.bz2
    /usr/share/doc/coreutils-8.14/AUTHORS.bz2
    /usr/share/doc/coreutils-8.14/THANKS.bz2
    /usr/share/doc/coreutils-8.14/TODO.bz2
    /usr/share/doc/coreutils-8.14/NEWS.bz2
    /usr/share/doc/coreutils-8.14/ChangeLog-2008.bz2
    /usr/share/doc/coreutils-8.14/ChangeLog-2005.bz2
    /usr/share/locale/cs/LC_TIME/coreutils.mo
    /usr/share/locale/cs/LC_MESSAGES/coreutils.mo
    /usr/bin/yes
    /usr/bin/dir
    /usr/bin/printenv
    /usr/bin/ptx
    /usr/bin/tail
    /usr/bin/fmt
    /usr/bin/mktemp
    /usr/bin/fold
    /usr/bin/comm
    /usr/bin/tr
    /usr/bin/hostid
    /usr/bin/tsort
    /usr/bin/id
    /usr/bin/md5sum
    /usr/bin/shuf
    /usr/bin/dircolors
    /usr/bin/expr
    /usr/bin/sha256sum
    /usr/bin/unexpand
    /usr/bin/arch
    /usr/bin/dirname
    /usr/bin/du
    /usr/bin/stdbuf
    /usr/bin/truncate
    /usr/bin/tty
    /usr/bin/sha384sum
    /usr/bin/od
    /usr/bin/join
    /usr/bin/link
    /usr/bin/touch
    /usr/bin/nl
    /usr/bin/uniq
    /usr/bin/timeout
    /usr/bin/expand
    /usr/bin/mkfifo
    /usr/bin/basename
    /usr/bin/split
    /usr/bin/readlink
    /usr/bin/runcon
    /usr/bin/env
    /usr/bin/seq
    /usr/bin/sleep
    /usr/bin/nice
    /usr/bin/uname
    /usr/bin/sha512sum
    /usr/bin/tee
    /usr/bin/vdir
    /usr/bin/[
    /usr/bin/logname
    /usr/bin/cut
    /usr/bin/test
    /usr/bin/chcon
    /usr/bin/unlink
    /usr/bin/install
    /usr/bin/who
    /usr/bin/shred
    /usr/bin/sort
    /usr/bin/wc
    /usr/bin/chroot
    /usr/bin/paste
    /usr/bin/pinky
    /usr/bin/pathchk
    /usr/bin/printf
    /usr/bin/nohup
    /usr/bin/sum
    /usr/bin/cksum
    /usr/bin/sha1sum
    /usr/bin/whoami
    /usr/bin/stat
    /usr/bin/head
    /usr/bin/tac
    /usr/bin/nproc
    /usr/bin/base64
    /usr/bin/pr
    /usr/bin/factor
    /usr/bin/users
    /usr/bin/sha224sum
    /usr/bin/csplit
    /etc/DIR_COLORS
    /bin/chmod
    /bin/yes
    /bin/dir
    /bin/mknod
    /bin/tail
    /bin/mktemp
    /bin/cp
    /bin/true
    /bin/pwd
    /bin/date
    /bin/tr
    /bin/echo
    /bin/expr
    /bin/dirname
    /bin/du
    /bin/tty
    /bin/df
    /bin/cat
    /bin/chown
    /bin/touch
    /bin/chgrp
    /bin/mkfifo
    /bin/basename
    /bin/readlink
    /bin/dd
    /bin/env
    /bin/seq
    /bin/sleep
    /bin/uname
    /bin/rmdir
    /bin/vdir
    /bin/cut
    /bin/rm
    /bin/mv
    /bin/sort
    /bin/wc
    /bin/chroot
    /bin/stty
    /bin/false
    /bin/ln
    /bin/ls
    /bin/head
    /bin/sync
    /bin/mkdir
    
    další popis je na FHS

    Ještě k 1.1 už jsem si vyzkoušel jádro bez VT. Při zavádění jádra nejsou vidět výpisy, ani se nelze přepínat pomocí ^ALT+Fnum. Pokud sou ale X dobře nastavená tak normálně fungují. Jinak, programy lze používat, ale ne přes konzoli (či jak tomu rozhranní kdo říká). Znamená to že nový obraz jádra s VT jsem musel sestavit, v GUI, ne s menuconfig, z běžícího obrazu jádra.
    23.8.2012 00:33 jadd
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    pathname, ale není původní zdroj, ten lze najít v novějším návrhu na linuxfoundation.org
    23.8.2012 01:08 jadd
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Něco o právech k souborům, určitě se tam dostaneš, přes tu předchozí adresu.
    http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/execstuff.html
    24.8.2012 16:14 jadd
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Znamená to že nový obraz jádra s VT jsem musel sestavit, v GUI, ne s menuconfig, z běžícího obrazu jádra.
    Dívím se, že se nad tím nikdo nepozastavil, protože by to nebylo možné. Musel jsem určitě najet z výměnného disku.
    24.8.2012 20:02 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Člověk pracující s linuxem ví, že v linuxu je všechno možné. Kromě KDE 4 :D
    mess avatar 24.8.2012 20:40 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    A Gnome 3, zapomínáš na Gnome 3 :-D
    Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
    24.8.2012 20:56 l4m4
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Člověk pracující s Linuxem už hodně dlouho, ví, že v Linuxu je možné opravdu vše. Lindows, anyone?
    22.8.2012 20:13 MadCatX
    Rozbalit Rozbalit vše Re: Jádro Linuxu

    Ad 1)
    - Konzole (shell) součástí jádra není. Ta je spuštěna zvlášť jako uživatelský proces, dokonce jich existuje více (bash, dash, zsh, ...). Pravda je, že jádro může obsahovat tzv. recovery console, která se ale spouští jen v single-user režimu. Používá se v případě, že se v systému něco rozsype tak, že není možno nabootovat (např. pokud se nezdaří připojit disk s /bin či /usr/bin)
    - Jak moc jsou hardcodované cesty k /etc/passwd a podobně si nejsem jistý, /home existovat nemusí, není-li vytvořen kromě roota žádný jiný účet. V principu by asi nemusel existovat ani /root, ale spousta programů včetně bashe si do domovského adresáře ukládá svoje nastavení. su a sudo jsou jen programy, teoreticky opět být přítomny nemusí.

    Řečeno jednoduše, jádro je to, co stojí mezi hardwarem počítače a aplikacemi, aplikace je to, co stojí mezi jádrem a uživatelem.

    Ad 2)
    cp, ls a rm součástí jádra nejsou, pouze cd je tzv. "shell builtin" a ne samostatný program, opět ale není součástí jádra.

    Ad 3)
    Tohle je skutečně pravda, velká většina ovladačů je přímo součástí jádra. Je ale samozřejmě možné další ovladače doinstalovat; typicky např. proprietální ovladače ke grafickým kartám nVidia či AMD.

    22.8.2012 20:22 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: Jádro Linuxu

    Já bych to pro tazele upřesnil: Ovladače mohou být (a taky že většinou jsou) ve formě tzv. modulů. To je kus kódu, který lze za běhu vložit/odstranit. Výhoda je jasná: stačí mít přímo v jádře jenom nezbytné ovladače a všechny ostatní budou jako moduly. Stačí tedy nahrát jenom potřebné moduly. Kdyby byly všechny ovladače přímo v jádru, tak by jádro zabíralo hodně z paměti RAM.

    23.8.2012 12:24 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Zkusím to říci ještě trochu jinak. Jádro v základu tvoří soubor vmlinuz v adresáři /boot. Ten vytvoří přistup na základní HW. rozpozná disky a souborové systémy a má řízení procesoru, paměti azákladní funkce. Další moduly do jádra vytvoří přístup na další specializovaný HW typicky v /lib/modules/verze_jádra driver na grafiku a wifi je obvykle zde.

    Vše ostatní jsou programy. Na příkazové řádce jsou distribuce velmi podobné, ale podobně jako v jiných případech jsou i na přikazové nebo serverové rovině více programů se stejným cílem. (např. ziskání své internetové identity - dhcp klient - bývá jednak dhcpcd a jednak dhclient některá distribuce preferuje jeden, jiná druhý přístup. Větší rozdíly jsou v umístění některých konfigurací, ale všichni dodržují, že konfigurace jsou v /etc. v grafice je vetší rozdíl, ale díky tomu, že KDE, Gnome a další jsou nadstavby X windows systém, je možné použít v podstatě jakýkoliv program z jednoho prostředí v prostředí druhém.
    Jendа avatar 22.8.2012 20:16 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Konzole.
    Respektive driver pro konzoli.
    Uživatelské účty, jejich oprávnění, data a přihlašování uživatelů (tzn. v systému musí existovat adresář /home a soubor /etc/passwd ?).
    Podpora pro oprávnění jo, ale účty, přihlašování a další věci se řeší v userspace (třeba pomocí getty nebo grafických správců obrazovky).
    ale příkazy jako cd, ls, cp, rm apod jsou součástí jádra?
    Ne. To jsou normální programy sídlící většinou v /bin.
    Někde jsem četl, že ovladače hardwaru se neinstalují jako ve Windows zvlášť, ale že se instalují aktualizací jádra. To znamená, že v jádru Linuxu jsou obsaženy ovladače na veškerý možný HW, se kterým se lze setkat?
    Ano, téměř všechny ovladače HW jsou v jádře. Výjimkou jsou user-space ovladače například tiskáren nebo některých USB zařízení.
    stativ avatar 22.8.2012 20:22 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    1. Co je součástí jádra:
      1. ANO, jádro poskytuje rozhraní pro konzoli, i když samotnou konzoli obvykle otevře až (a)getty.
      2. ANO, spouštění a vůbec správu procesů. Například jádro řeší věci plánování procesů při multitaskingu – na systému obvykle běží mnohem více procesů, než kolik jich může v reálu na HW běžet paralelně a proto jádro musí plánovat, kdy se proces na HW pustí, a to tak, aby to vypadalo, že to vše běží paralelně. Obdobně řídí i třeba přístup k disku.
      3. ANO.
      4. Ano i ne. Jádro například řeší přístupová práva k souborům, neřeší ale už přihlašování uživatelů. To má na starosti userspace (hledej věci jako je shadow a PAM).
    2. Co NENÍ součástí jádra:
      1. ANO
      2. Žádný ze zmiňovaných příkazů není součástí jádra. S jádrem běžný uživatel prakticky nemůže přímo interagovat. To co jádro poskytuje jsou funkce, které může programátor použít například pro implementaci ls.
      3. ANO
    3. Čemu nerozumím:
      1. Je to tak. Jsou ale i výjimky, jako jsou binární ovladače nvidia nebo AMD. Samozřejmě ne všechny ovladače jsou aktivní – normálně jsou aktivní jen ovladače pro HW, na kterém to běží. Aby se to trochu více zkomplikovalo, tak jedno jádro (myšlena binárka, kterou najdeš v /boot) nikdy nemůže podporovat všechen HW. To z toho důvodu, že spousta ovladačů se vylučuje – například jádro určené pro ARM (např. mobily) nebude obsahovat ovladače pro x86 (PC).
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    23.8.2012 14:00 pletiplot | skóre: 14
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    1.1 Konzole - je otázka, co myslíš konzolí - ta část, která přebírá stisky kláves a předává je nějakému procesu uvnitř, to je práce jádra, ten program, který je zpracovává (shell) není jádro, je to jen program. Příkazy ls, cd, cp, rm nejsou součástí jádra (ale jsou součastí shellu). Programy pokud chtějí komunikovat s HW nebo i mezi sebou, používají volání jádra (otevření souboru, otevření socketu pro síťové spojení, čekání na vstup, vytvoření podprocesu, posílání signálů atd.). Pro určité druhy komunikace s HW se používá ještě jedna vstva abstrakce a to jsou speciální znakové a blokové soubory (například pro zvuk, přímý zápis na disk, komunikace přes textovou konzoli atd.). Program je otevírá jako soubory, ale nejsou navázány na skutečné soubory, ale právě na ovladače v jádře.

    3.1 Částečně ano. Jádro v dnešní době podporuje tzv. moduly, tzn. samotné jádro je relativně malé a kromě správy paměti, procesů, přidělování procesorů atd. neumí s HW (tedy s periferiemi) nic. Ale i tak je toho dost i bez modulů. Ovladače k HW (ale někdy ani ne k HW, ale třeba ovladač k určitému typu filesystému nebo funkci firewallu nebo podpora síťového protokolu) se nahraje modul. A skutečně prakticky všechen běžný HW má své ovladače dostupné jako moduly v jádře linuxu. Ale do paměti se nahrávají jen ty ovladače, které si buď uživatel vyžádá, nebo je nějaký autodetekční systém při bootu nadetekuje. Pokud HW v jádře není, je možné modul do jádra dodat zvlášť, často se to dělá u různých specializovaných karet nebo úplně nových karet.
    23.8.2012 14:36 jadd
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Příkazy ls, cd, cp, rm nejsou součástí jádra (ale jsou součastí shellu).
    a to právě, tak není. Všimni si toho coreutils. Shelly s těmi programi jen počítají, jinak sou nezávislé jak ty programy, tak shelly (bash,zsh atd.). Je to jen v tom, že se to instaluje vždy společně, takže se nestane, že by shell nemohl ty programy používat, co by také moc jiného dělal. Shelly se liší hlavně předáváním proměných prostředí.
    23.8.2012 18:16 pletiplot | skóre: 14
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Máš pravdu, ls, cd, cp, rm nejsou součástí shellu, jsou to samostatné programy.
    mess avatar 23.8.2012 18:30 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Třeba zsh má vestavěný příkaz cd, záleží od shellu.
    Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
    24.8.2012 00:06 l4m4
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    cd musí být vnitřní přikaz shellu, jinak by nefungoval (nepočítám-li první rok existence Unixu, kdy shell fungoval trochu jinak). Ale ostatní jsou normální programy.
    Migi avatar 22.8.2012 19:39 Migi | skóre: 59 | blog: Mig_Alley
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    pokud si chceš ošahat jadro, tak si zkus nainstalit gentoo
    22.8.2012 20:07 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: Jádro Linuxu

    Dobrou volbou je i Linux From Scratch

    22.8.2012 20:16 hermitek | skóre: 2
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Tvou zvědavost nejlépe uspokojí to, když si na kernel.org, stáhneš poslední verzi linuxového kernelu, rozbalíš jej do nějakého adresáře a v něm v konzoli provedeš příkaz make menuconfig. Tím se spustí rozhraní, ve kterém si můžeš procházet a volit jednotlivé součásti kernelu (který by sis poté mohl zkompilovat, nijak se tím samozřejmě nemění ten aktuální). Vše je rozděleno do kategorií a k většině položek je k dispozici nápověda.
    22.8.2012 20:25 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: Jádro Linuxu

    No, to aby si na to vzal dovolenou, protože tam jsou stovky (tisíce?) voleb. ;-)

    23.8.2012 06:55 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Možná chyběla poznámka, že je nemusí procházet všechny?
    23.8.2012 16:51 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: Jádro Linuxu

    Jasně. To bylo jenom takový rejpnutí. :-)

    Gilhad avatar 23.8.2012 22:52 Gilhad | skóre: 20 | blog: gilhadoviny
    Rozbalit Rozbalit vše Re: Jádro Linuxu
    Vezmu to trochu zjednosdusene, aby to bylo nazorne.

    Na modernim pocitaci chces spoustet radu programu naraz, tak aby fungovaly a navzajem si neskodily. Takze se to resi tak, ze jadro programum prideluje kusy pameti (aby se nehadaly), zajisti, ze nemuzou psat/cist cizi pamet (aby si neskodily) a ze si muzou nejakym zpusobem posilat zpravy (aby se domluvili).

    Kazdy pocitac je trochu jiny (velikost RAM, sitova karta, grafika, ...), byl by desny opruz psat programy tak, aby si kazdy vsechny tyhle zalezitosti resil sam (jak nastavit sitovku, jak z ni cist, jak se nepohadat s ostatnimi programy, co ji taky pouzivaji), takze jadro si zabere veskery HW pro sebe a ostatni programy uz pouzivaji sluzby (ktere jsou, nebo nejsou) a neresesi detaily HW (kde je umisteny, jak se inicializuje, zamyka, kam se mu co posila a tak). Takovy "normalni program" si vlastne bezi na necem, co muze povazovat za standardizovany pocitac, ktery ma jen sam pro sebe. Kdyz neco potrebuje, tak si jen rekne a bud to dostane, nebo dostane zpravu, ze to nejde (a proc), ale rika si o veci jako "navaz spojeni s abclinuxu.cz a predej mu tento pozadavek" nikoli "pokud je sitova karta XYZ, tak na adresu ABC zapis hodnotu DEF, jinak, pokud je sitova karta XYZ2, tak na zcela jinou adresu ..". Jadro se stara, aby to takhle fungovalo.

    Kdyz chces pracovat s nejakym zarizenim (psat na disk, cist mys nebo klavesnici, posilat neco po siti, ovladat joystik, nebo hrat na repraky ....) tak proste pozadas jadro a ono to nejak zaridi (nebo odmitne) a ty se nestaras jak to jadro dela.

    Aby to jadro zvladalo, tak se sestava z velkeho poctu casti (modulu), ktere spolupracuji. Pro kazdou sitovku existuje modul, pro klavesnici, grafiku ... pro spravu pameti, hodiny ... pro kazdy typ filesystemu ... Kdyz se jadro kompiluje, tak se nektere moduly primo natvrdo zakompiluji do vysledneho souboru (/boot/bzImage, /boot/vmlinuz nebo jak ho nazve tva distribuce) - zejmena ovladani pameti a procesu, ale nektere moduly se daji zkompilovat zvlast (a pak jsou treba v /lib/modules/2.6.31-gentoo-r6/kernel a konci na .ko) a jadro si je nacte, az je potrebuje, nebo az mu ty(ci neco jineho) prikaze.

    Tohle ma tu vyhodu, ze do samotneho jadra das jen to nejnutnejsi takze je male, zbytek co povazujes za vhodny se nacte kdyz je potreba a spousta modulu se treba ani nemusi kompilovat, kdyz vis, ze neco takoveho (laserovy kanon, floppy diskety ci jiny exoticky HW) nemas a v dohledne dobe mit nebudes.

    Jadro je neco, s cim mluvi jen programy, ty jako uzivatel v podstate nemas sanci "si na nej primo sahnout" a nejak ho pouzit primo. (Ridic slape na plynovy pedal, prez ruzne paky a hejblata (programy a knihovny) se to preda motoru (jadru) a ten se podle toho roztoci (posle packety po siti, precte klavesnici, zapise soubor))

    Je velka spousta programu (a knihoven), ktere dokazi jadro pouzivat (bezet na nem), cast znich se povazuje za zaklad systemu (ls, ps, bash ...), cast za nadstavbu (firefox, kmail, skype ...). Distribuce se lisi tim, jake konkretni programy povazuji za vhodny zacatek (minimum potrebne pro praci), jakym zpusobem je umoznuji instalovat a jake dalsi moznosti nabizeji (rozsireni pro desktop/server/embeded systemy/firewall ...)

    V podstate distribuce je system, kde spravce uzrci, jak se co bude instalovat a jake vsechny programy bude primo podporovat (a v jakych verzich). Cili takovy predpripraveny balicek s moznostmi jak si ho prinastavit.

    Vetsina distribuci dodrzuje radu konvenci (adresare /etc /home /root ...), ale obcas si zavadeji nektere vlastni zvyklosti (co prijde do /bin a co do /usr/bin, jaky je preferovany spravce oken, jaky system pro startovani sluzeb pouziji).

    Vetsine programu je to celkem fuk, nebo se daji prelozit a nainstalovat s volbama, ktere tohle upravi dle mistnich zvyklosti distribuce. Autori programu casto na nejak distribuce v podstate kaslou a jen napisou program tak, aby jeho sestaveni pri spravne konfiguraci udelalo zadanou vec. A tvurci distribuci si pak udelaji vlastni skript/popis/balicek/obal podle svych predstav, ktery ten program tak nainstaluje. Nebo autor poskytne par balicku pro hlavni distribuce (dle sveho zajmu) a ostatni si to nejak zaridi.

    Ostatne s trochou znalosti a laborovani jdou pretahovat programy i mezi distribucemi, nebo si je doinstalovavat zcela volne rucne sam.

    (nektere distribuce pouziji jadro(motor) pro stavbu nakladaku a daji ti na vyber klikaci konfigurator pro nejruznejsi typy korby, jine se zameri na rychlost a muzes si vybrat zda formuli ci sportak a jak velke pritlacne kridlo. S trochou prace ale muzes do nakladaku zamontovat sedacku z formule, jen to bude chtit tuhle neco priohnout a tamhle privarit. Nebo si muzes auto navrhnout komplet sam a postavit ho ze sroubku a maticek (Linux from scratch))

    (Tvurci distribuci jsou v principu dost neco jineho nez programatori programu, ackoli nekdo muze delat oboji)

    Cili jadro je to, co mluvi s HW. Programy jsou to, co mluvi s jadrem (a obcas i uzivatelem). Distribuce je balik obsahujici jadro, radu programu, nastaveni a zpusob, jak to instalovat.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.