abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:33 | Nová verze

    Byl vydán Debian 13.5, tj. pátá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.14, tj. čtrnáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    15.5. 12:55 | Nová verze

    CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.

    jardaIT | Komentářů: 2
    15.5. 12:22 | Bezpečnostní upozornění

    Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].

    Ladislav Hagara | Komentářů: 1
    14.5. 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 5
    14.5. 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 27
    14.5. 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 6
    14.5. 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

    Ladislav Hagara | Komentářů: 0
    14.5. 01:11 | Nová verze

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.5. 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    13.5. 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 13
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1643 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Jádro Linuxu

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

    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: 73 | 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.