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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 0
včera 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 18
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 8
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 2
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
2.12. 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 767 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Jádro Linuxu

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

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: 73 | blog: Výlevníček | 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: 64 | 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: 73 | blog: Výlevníček | 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: 58 | 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: 73 | blog: Výlevníček | 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: 13
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: 13
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.
Migilenik avatar 22.8.2012 19:39 Migilenik | skóre: 58 | blog: Mig_Alley
Rozbalit Rozbalit vše Re: Jádro Linuxu
pokud si chceš ošahat jadro, tak si zkus nainstalit gentoo
GIMP 2.8 Cage Transformation - what is it good for? http://www.youtube.com/watch?v=S4whULCb8t0
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í. :-)

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.