Il kernel Linux ha la sua mappa interattiva

Una mappa in Java permette di navigare tra i molti elementi del kernel di Linux, comprendendone più facilmente le interazioni e i flussi di controllo e consentendo di raggiungere, con un solo clic del mouse, la relativa porzione di codice

Roma - Da oggi è possibile "navigare" fra l'intricata rete di componenti del kernel del Pinguino grazie alla Linux kernel map, una web application JavaScript che consente di vedere a colpo d'occhio layer, funzionalità, moduli, funzioni e chiamate, ciascun elemento linkato al relativo codice sorgente.

Linux kernel mapL'autore, Costantine Shulyupin, afferma che la sua mappa può essere utilizzata per comprendere il funzionamento del kernel di Linux, seguendone il flusso di lavoro. Ad esempio, è possibile tracciare il "percorso" seguito da un pacchetto di rete dal driver di periferica, in fondo in basso, fino alla chiamata del socket, nella parte più alta della mappa. Questa rappresentazione grafica può tornare utile anche a coloro che hanno già una conoscenza base del kernel di Linux e desiderano cercare qualcosa in modo rapido, senza doversi spulciare schemi testuali.

La Linux kernel map è ospitata sul sito makelinux.net, lo stesso che dalla sua scarna home page fornisce agli sviluppatori open source alcuni preziosi contenuti informativi, tra i quali un'esaustiva raccolta di risorse online - web, wiki, manuali, guide, libri, articoli, howto ecc. - relative a Linux e al suo immenso ecosistema.
Per finanziare il progetto, e aggiornarlo con una certa costanza, Shulyupin fornisce la possibilità ai visitatori di ordinare una stampa della mappa in formato poster: i prezzi vanno da 10 euro per il formato 40,6 x 30,5 centimetri a 20 euro per quello da 61 x 45,7 cm. Su richiesta, poi, è possibile ordinare poster da 81,2 x 61,5 cm.
49 Commenti alla Notizia Il kernel Linux ha la sua mappa interattiva
Ordina
  • http://www.pabr.org/kernel3d/kernel3d.html

    Peccato però che le animazioni sono in bassa risoluzione e che non è aggiornato.
    non+autenticato
  • la sua mappa può essere utilizzata per comprendere il funzionamento del kernel di Linux

    può tornare utile anche a coloro che hanno già una conoscenza base del kernel di Linux


    a questo punto credo che lo facciano apposta per alimentare discussioni nel forum

    non lo ripetero piu anche se non è piacevole vedere questi errori...ma alla fine che me ne frega???
    -----------------------------------------------------------
    Modificato dall' autore il 30 giugno 2008 12.15
    -----------------------------------------------------------
  • No... una cosa simile mi sarebbe stata utile qualche anno fa...quando stavo lavorando sul kernel di linux.
    Perchè non ci hanno pensato prima?
    Che palle... Triste
    non+autenticato
  • - Scritto da: Paoletto
    > No... una cosa simile mi sarebbe stata utile
    > qualche anno fa...quando stavo lavorando sul
    > kernel di
    > linux.
    > Perchè non ci hanno pensato prima?
    > Che palle... Triste

    Non so di quanti anni fa parli, ma nel 2005 LXR era già pronto e usabilissimo, anche se gli mancava questa interfaccia con la mappa.
    non+autenticato
  • Negli anni '70 del secolo scorso i sistemi operativi si facevano cosi'.

    ZioBill
    non+autenticato
  • - Scritto da: ZioBill
    > Negli anni '70 del secolo scorso i sistemi
    > operativi si facevano cosi'.

    Con delle mappe javascript su siti web?

    Oppure intendi dire che oggi i sistemi operativi si scrivono in modo diverso? Sai anche spiegare come? Senza mappe? Senza progettazione? Hai qualche esempio da presentare? E sai descriverne le differenze?

    Oppure, semplicemente non sai di cosa parli?
  • please, don't feed the troll!
    non+autenticato
  • - Scritto da: www.aleksfalcone.org
    > - Scritto da: ZioBill
    > > Negli anni '70 del secolo scorso i sistemi
    > > operativi si facevano cosi'.
    >
    > Con delle mappe javascript su siti web?
    >
    > Oppure intendi dire che oggi i sistemi operativi
    > si scrivono in modo diverso? Sai anche spiegare
    > come? Senza mappe? Senza progettazione? Hai
    > qualche esempio da presentare? E sai descriverne
    > le
    > differenze?
    >
    > Oppure, semplicemente non sai di cosa parli?

    Ovviamente parlavo della struttura del kernel: sembra il monolite di 2001 Odissea nello Spazio!

    Oggi i kernel si fanno diversamente: non certamente microkernel, ma un po' piu' snelli...
    non+autenticato
  • - Scritto da: ZioBill
    > - Scritto da: www.aleksfalcone.org
    > > - Scritto da: ZioBill
    > > > Negli anni '70 del secolo scorso i sistemi
    > > > operativi si facevano cosi'.
    > >
    > > Con delle mappe javascript su siti web?
    > >
    > > Oppure intendi dire che oggi i sistemi operativi
    > > si scrivono in modo diverso? Sai anche spiegare
    > > come? Senza mappe? Senza progettazione? Hai
    > > qualche esempio da presentare? E sai descriverne
    > > le
    > > differenze?
    > >
    > > Oppure, semplicemente non sai di cosa parli?
    >
    > Ovviamente parlavo della struttura del kernel:
    > sembra il monolite di 2001 Odissea nello
    > Spazio!
    >
    > Oggi i kernel si fanno diversamente: non
    > certamente microkernel, ma un po' piu'
    > snelli...

    Come fossero dei kernel modulari con moduli che si caricano dinamicamente per caso ?
    krane
    22544
  • - Scritto da: krane

    > Come fossero dei kernel modulari con moduli che
    > si caricano dinamicamente per caso
    > ?
    si, ma dove il kernel iniziale lascia molte piu' cose sui moduli (ovvero sui driver a livello kernel), come fanno Windows (kernel NT) e Mac OS X.
    Linux e' eccessivamente monolitico e la tendenza, con la richiesta di avere i sorgenti aperti da parte degli sviluppatori, e' di includere sempre e comunque tutto a livello di kernel (ricompilandolo).
    non+autenticato
  • - Scritto da: ZioBill
    > - Scritto da: krane

    > > Come fossero dei kernel modulari con moduli che
    > > si caricano dinamicamente per caso ?

    > si, ma dove il kernel iniziale lascia molte piu'
    > cose sui moduli (ovvero sui driver a livello
    > kernel), come fanno Windows (kernel NT) e Mac OS
    > X.

    > Linux e' eccessivamente monolitico e la tendenza,
    > con la richiesta di avere i sorgenti aperti da
    > parte degli sviluppatori, e' di includere sempre
    > e comunque tutto a livello di kernel
    > (ricompilandolo).

    Dipende dalla distro : prova il kernel precompilato di slackware.
    E poi c'e' sempre la possibilita' di ricompilarelo, perche' non ce la lascia anche su windows questa possibilita' zioBill ???
    krane
    22544
  • domanda: ma sui cd live i kernel montati non sono estremamente modulari...?
  • - Scritto da: arturu.it
    > domanda: ma sui cd live i kernel montati non sono
    > estremamente modulari...?

    Effettivamente dovrebbero esserlo, ma non mi sono mai messo ad analizzare piu' di tanto i live cd, quindi non so.
    krane
    22544
  • non vorrei sbagliarmi ma già da un paio d'anni tutti i kernel delle distrubuzioni "user frendy" (mandriva, ubuntu, fedora, ecc) hanno un kernel estremamente modulare, all'avvio montano perfino il filesystem come modulo, specialmente le live.
    Ad esempio nella mia kubuntu lsmod da (non ho mai ricompilato, quello di default):
    Module                 Size Used by
    af_packet             23812 0
    usbhid                 31872 0
    hid                    38784 1 usbhid
    binfmt_misc            12808 1
    rfcomm                 41744 4
    l2cap                 25728 13 rfcomm
    ppdev                 10372 0
    acpi_cpufreq           10796 1
    cpufreq_powersave       2688 0
    cpufreq_conservative     8712 0
    cpufreq_ondemand        9740 1
    cpufreq_stats           7104 0
    freq_table             5536 3 acpi_cpufreq,cpufreq_ondemand,cpufreq_stats
    cpufreq_userspace       5284 0
    sbs                    15112 0
    sbshc                   7680 1 sbs
    dock                   11280 0
    iptable_filter         3840 0
    ip_tables             14820 1 iptable_filter
    x_tables               16132 1 ip_tables
    aes_i586               33536 0
    dm_crypt               15364 0
    dm_mod                 62660 1 dm_crypt
    parport_pc             36260 0
    lp                     12324 0
    parport                37832 3 ppdev,parport_pc,lp
    ipv6                 267780 10
    pcmcia                 40876 0
    joydev                 13120 0
    arc4                    2944 2
    ecb                     4480 2
    blkcipher               8324 1 ecb
    acer_acpi             18112 0
    led_class               6020 1 acer_acpi
    evdev                 13056 9
    serio_raw               7940 0
    gspca                 643920 0
    psmouse                40336 0
    videodev               29440 1 gspca
    v4l2_common            18304 1 videodev
    v4l1_compat            15492 1 videodev
    sdhci                 19076 0
    mmc_core               51460 1 sdhci
    pcspkr                 4224 0
    yenta_socket           27276 1
    rsrc_nonstatic         13696 1 yenta_socket
    pcmcia_core            40596 3 pcmcia,yenta_socket,rsrc_nonstatic
    iTCO_wdt               13092 0
    iTCO_vendor_support     4868 1 iTCO_wdt
    hci_usb                16540 2
    bluetooth             61156 7 rfcomm,l2cap,hci_usb
    snd_hda_intel         344728 0
    iwl3945                89844 0
    snd_pcm_oss            42144 0
    snd_mixer_oss         17920 1 snd_pcm_oss
    iwlwifi_mac80211     219108 1 iwl3945
    snd_pcm                78596 2 snd_hda_intel,snd_pcm_oss
    snd_page_alloc         11400 2 snd_hda_intel,snd_pcm
    snd_hwdep             10500 1 snd_hda_intel
    cfg80211               15112 1 iwlwifi_mac80211
    container               5632 0
    snd_seq_dummy           4868 0
    battery                14212 0
    video                 19856 5
    output                 4736 1 video
    ac                     6916 0
    nvidia               7825536 36
    snd_seq_oss            35584 0
    snd_seq_midi            9376 0
    i2c_core               24832 1 nvidia
    wmi_acer                9644 1 acer_acpi
    snd_rawmidi            25760 1 snd_seq_midi
    snd_seq_midi_event     8320 2 snd_seq_oss,snd_seq_midi
    snd_seq                54224 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
    button                 9232 0
    snd_timer             24836 2 snd_pcm,snd_seq
    snd_seq_device         9612 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
    snd                    56996 11 snd_hda_intel,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_hwdep,snd_seq_dummy, snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
    intel_agp             25492 0
    agpgart                34760 2 nvidia,intel_agp
    soundcore               8800 1 snd
    shpchp                 34452 0
    pci_hotplug            30880 1 shpchp
    ext3                 136712 1
    jbd                    48404 1 ext3
    mbcache                 9600 1 ext3
    sg                     36880 0
    sr_mod                 17956 0
    cdrom                 37408 1 sr_mod
    sd_mod                 30720 3
    pata_acpi               8320 0
    ata_piix               19588 2
    ata_generic             8324 0
    libata                159344 3 pata_acpi,ata_piix,ata_generic
    scsi_mod             151436 4 sg,sr_mod,sd_mod,libata
    ehci_hcd               37900 0
    uhci_hcd               27024 0
    b44                    28432 0
    ssb                    32260 1 b44
    mii                     6400 1 b44
    usbcore               146028 6 usbhid,gspca,hci_usb,ehci_hcd,uhci_hcd
    thermal                16796 0
    processor             36872 4 acpi_cpufreq,thermal
    fan                     5636 0
    fbcon                 42912 0
    tileblit                3456 1 fbcon
    font                    9472 1 fbcon
    bitblit                 6784 1 fbcon
    softcursor             3072 1 bitblit
    fuse                   50580 1

    forse mi sbaglio, mi sembra abbastanza modulare...
    dipende da come viene compilato mi sa...
  • PS. tempo fa ho letto una guida Linux From Scratc (mi sembra che si scrivesse così) è una guida che spiga come costruire una distro personalizzata (l'autore è riuscito a far entrare il sistema più web server apache con moduli vari in 20 MB di RAM).
    Nel capitolo del kernel spiegava come fare un kernel estremamente modulare al punto che era possibile inglobare il kernel in un modulo in modo che ad ogni aggiornamento era possibile scaricare il vecchio kernel e caricare il nuovo senza riavviare la macchina.

    Più modulare di così...
  • Si ma soprattutto perchè 15 Dollari diventano 10 Euro? O_o
    non+autenticato
  • Perché approssimano per eccesso 9.50€.
  • Lmao, il mio cervello è partito in retro stamane scambiando i valori delle due valute ^ ^
    non+autenticato
  • - Scritto da: Morpheu5
    > Perché approssimano per eccesso 9.50€.

    o perchè fissano il cambio a 1EUR = 1.5USD

    io ho appena comprato da un sito cinese con pagamento in dollari e il cambio era quello
    non+autenticato
CONTINUA A LEGGERE I COMMENTI
Successiva
(pagina 1/2 - 8 discussioni)