PDA

View Full Version : user space e kernel space


ugruhell
12-04-2007, 14:50
ciao vorrei sapere come funziona l'user space e kernel space in linux.
i driver video per esempio sono in kernel space ho in user space?
cioè vorrei sapere le differenze tra windows e linux in questo aspetto.

Fil9998
12-04-2007, 15:10
magari avere drivers video in user... :rolleyes:
e magari averli open ...


:muro: :muro: :muro:

ilsensine
12-04-2007, 15:18
i driver video per esempio sono in kernel space ho in user space?

In genere consistono di una piccola parte in kernel space, e il grosso in user space.
Eccezione fanno i driver proprietari nvidia, che mettono in kernel space un blob più grande del resto del kernel.

ugruhell
12-04-2007, 15:33
ok, vi faccio altra domanda ma il kernel di linux e più stabile di quello di windows?
io voglio che la risposta sia si :D :D .
per esempio il kernel monolitico di linux se si blocca qualche applicazione si blocca anche il kernel?.
ha altra cosa vorrei sapere se è vero che i driver wddm video di win vista ora sono in user mode? .

sono a la ricerca del sistema operativo più stabile.

Cobra78
12-04-2007, 16:39
In genere consistono di una piccola parte in kernel space, e il grosso in user space.
Eccezione fanno i driver proprietari nvidia, che mettono in kernel space un blob più grande del resto del kernel.

Non è che ti confondi con gli ATI, a me gli nvidia non pare occupino quanto il kernel :p

http://img387.imageshack.us/img387/4936/schermatanj2.th.png (http://img387.imageshack.us/my.php?image=schermatanj2.png)

mic1
12-04-2007, 16:59
Nei 20MB del pacchetto linux-image-2.6.20.... ci sono anche tutti moduli!
Le dimensioni del kernel statico compilato (il file /boot/vmlinuz-2.6.20....) sono sicuramente inferiori!

Cobra78
12-04-2007, 17:37
Nei 20MB del pacchetto linux-image-2.6.20.... ci sono anche tutti moduli!
Le dimensioni del kernel statico compilato (il file /boot/vmlinuz-2.6.20....) sono sicuramente inferiori!

Sbagliato, il mio è ripulito da tutti i moduli che non uso, quindi è largamente inferiore a un kernel standard con tutti i moduli :p

Infatti la dimensione del Linux-Image standard di Ubuntu è 67,6 mega :p

Sia chiaro: non voglio dichiararmi a favore dei driver proprietari eh!

Anzi, chiarifico che mi rendo conto di essermi espresso male.

Siamo d'accordo che i driver proprietari sono ingombranti, e da evitare quando possibile, e che hanno dimensioni notevoli (e gli ati sono mo peggio degli nVidia in questo senso), ma sarebbe interessante verificare quanto ingombrano i moduli closed rispetto agli open, perchè nel pacchetto nVidia che vedi in synaptics sono incluse anche li cose che non sono il modulo vero e proprio, mo ci guardo un po'.

mic1
12-04-2007, 18:10
Sbagliato, il mio è ripulito da tutti i moduli che non uso, quindi è largamente inferiore a un kernel standard con tutti i moduli :p

Infatti la dimensione del Linux-Image standard di Ubuntu è 67,6 mega :p

Mi sa che non ci siamo capiti. Quello che voglio dirti è semplicemente che il tuo kernel (file /boot/vmliunz.... ) ha comunque dimensioni decisamente minori (più o meno 1.5MB => dipende da cosa hai compilato staticamente) rispetto al resto dei moduli, anche se hai messo a dieta il tuo .config :cool:

Togliere moduli non significa far dimagrire il kernel! Seno' non era moduli!

Comunque anche io ho messo pesantemente a dieta il mio config: meno moduli = meno tempo per la compilazione e più spazio libero.

Inoltre compilo staticamente il supporto a ext3 ed al controller dei dischi.

Cobra78
12-04-2007, 18:23
Mi sa che non ci siamo capiti. Quello che voglio dirti è semplicemente che il tuo kernel (file /boot/vmliunz.... ) ha comunque dimensioni decisamente minori (più o meno 1.5MB => dipende da cosa hai compilato staticamente) rispetto al resto dei moduli, anche se hai messo a dieta il tuo .config :cool:

Togliere moduli non significa far dimagrire il kernel! Seno' non era moduli!

Comunque anche io ho messo pesantemente a dieta il mio config: meno moduli = meno tempo per la compilazione e più spazio libero.

Inoltre compilo staticamente il supporto a ext3 ed al controller dei dischi.

Sisi, ci siamo capiti perfettamente :)

I supporti a chipset e filesystem non li metto statici perchè tanto senza initrd non boota lo stesso, e non capisco dove scazzo -.-

mic1
12-04-2007, 18:33
Sisi, ci siamo capiti perfettamente :)

I supporti a chipset e filesystem non li metto statici perchè tanto senza initrd non boota lo stesso, e non capisco dove scazzo -.-

Io li compilo staticamente solo per averli ... statici. Infatti anche io uso l'initrd !!! :cool:

Tanto l'unica differenza è che impiega qualche secondo in più per il boot.

ugruhell
12-04-2007, 18:36
non ce qualche guida che spieghi le differenze tra kernel monolitico e kernel ibrido?
ho cercato su wikipedia ma vorrei più info. insomma voglio sapere le differenze tra linux e windows, la gestione della memoria, la gestione degli I/O,.

ArtX
12-04-2007, 18:43
a me il modulo fglrx occupa solo 54mb:eek: :p
poi nel file /boot/vmliunz... non è presente solo la parte monolitica:confused:
e i moduli non sono in /lib/modules:confused:
fatto sta che il mio kernel in /boot/vmliunz... è di soli 3,9 mega e ho solo pochi moduli.
per esempio il kernel monolitico di linux se si blocca qualche applicazione si blocca anche il kernel?.
se si pianta un'applicazione in linux si pianta solo lei di solito, a volte invece mi è successo che si piantasse anche x per cui ho dovuto resettarlo con alt+ctrl+backspace e poi tutto ok, una sola volta mi si è piantato il kernel quando ho caticato il modulo kvm-intel e stranamente non supporta il mio procio nonostante dovrei avere la virtualizzazione... e li ho dovuto resettare.
io non ho mai usato l'initrd sui miei kernel, e compilo tutto in statico quello che mi serve sempre, mentre metto come moduli solo alcune cose che mi serve gestire meglio, come i moduli delle chip audio visto che ho sia l'integrata che una pcmcia, oppure il wifi o altro.

per gli esperti
linux è un kernel monolitico con il supporto ai moduli dal 2.2 se non sbaglio, ma un microkernel a server come hurd non sarebbe molto meglio?
pro e contro di tale soluzione?
:)

mic1
12-04-2007, 18:43
non ce qualche guida che spieghi le differenze tra kernel monolitico e kernel ibrido?
ho cercato su wikipedia ma vorrei più info. insomma voglio sapere le differenze tra linux e windows, la gestione della memoria, la gestione degli I/O,.

Per quanto riguarda Winzoz non so dirti nulla, ma se vuoi sapere qualcosa in argomento sul kernel di Linux ti consiglio di leggere un po' di gloriosa "storia"

http://www.educ.umu.se/~bjorn/mhonarc-files/obsolete/

Cobra78
12-04-2007, 18:48
per gli esperti
linux è un kernel monolitico con il supporto ai moduli dal 2.2 se non sbaglio, ma un microkernel a server come hurd non sarebbe molto meglio?
pro e contro di tale soluzione?
:)

Premettendo che non sono un'esperto.....di questa cosa si è discusso mille volte, credo che il problema maggiore sia che per rendere il kernel di linux a microkernel bisognerebbe riscriverlo da capo, il che, allo stato attuale, significa bloccarne lo sviluppo per il tempo X necessario a questa riscrittura, con X presumibilmente molto grande, senza contare che molte cose andrebbero riadattate anche nel resto del software a quanto ho capito.

PS: mi dici come accidenti fai a fare a meno dell'initrd???????

ugruhell
12-04-2007, 18:51
a me il modulo fglrx occupa solo 54mb:eek: :p
poi nel file /boot/vmliunz... non è presente solo la parte monolitica:confused:
e i moduli non sono in /lib/modules:confused:
fatto sta che il mio kernel in /boot/vmliunz... è di soli 3,9 mega e ho solo pochi moduli.

se si pianta un'applicazione in linux si pianta solo lei di solito, a volte invece mi è successo che si piantasse anche x per cui ho dovuto resettarlo con alt+ctrl+backspace e poi tutto ok, una sola volta mi si è piantato il kernel quando ho caticato il modulo kvm-intel e stranamente non supporta il mio procio nonostante dovrei avere la virtualizzazione... e li ho dovuto resettare.
io non ho mai usato l'initrd sui miei kernel, e compilo tutto in statico quello che mi serve sempre, mentre metto come moduli solo alcune cose che mi serve gestire meglio, come i moduli delle chip audio visto che ho sia l'integrata che una pcmcia, oppure il wifi o altro.

per gli esperti
linux è un kernel monolitico con il supporto ai moduli dal 2.2 se non sbaglio, ma un microkernel a server come hurd non sarebbe molto meglio?
pro e contro di tale soluzione?
:)

ma non si blocca come windows no? perche io sono fanatico dei sistemi stabili mi fanno impazzire i sistemi che si bloccano:mad: . per quello vorrei imparare di più sul kernel di linux.

mic1
12-04-2007, 18:51
a me il modulo fglrx occupa solo 54mb:eek: :p
poi nel file /boot/vmliunz... non è presente solo la parte monolitica:confused:
e i moduli non sono in /lib/modules:confused:
fatto sta che il mio kernel in /boot/vmliunz... è di soli 3,9 mega e ho solo pochi moduli.

Credo che per "kernel" si intende solamente il file vmlinuz. I moduli sono moduli. Possono esserci o anche no.

per gli esperti
linux è un kernel monolitico con il supporto ai moduli dal 2.2 se non sbaglio, ma un microkernel a server come hurd non sarebbe molto meglio?
pro e contro di tale soluzione?
:)

Tra i contro dei microkernel sicuramente c'è la maggior complessità nello sviluppo. Basta pensare ad hurd ...
Linux è una specie di compromesso ...

mic1
12-04-2007, 19:02
ma non si blocca come windows no? perche io sono fanatico dei sistemi stabili mi fanno impazzire i sistemi che si bloccano:mad: . per quello vorrei imparare di più sul kernel di linux.

In pratica una macchina Linux si pianta completamente solo se ci sono problemi con hardware mal supportato dal kernel o naturalmente con hardware difettoso ...

Con il tempo una macchina linux non perde in prestazioni come accade con windzoz (che periodicamente va svuotato come il cestino della spazzatura), ma addirittura può aumentare! :cool:

Janky
12-04-2007, 19:19
cmq io ti consiglio di considerare anche sistemi con mac os x

Cobra78
12-04-2007, 20:23
Comunque vorrei fare una riflessione spezzando una lancia a favore dei produttori di shcede video Ati e nVidia.

Premesso che non voglio dirmi favorevole ai driver closed, io non condivido chi critica alla morte la dimensione dei moduli per queste schede, perchè bisogna considerare che le schede video sono forse allo stato attuale il componente discreto con funzionalità più complesse, inoltre la maggior parte degli altri moduli del kernel sono specifici per un componente hardware, sia esso un codec audio o il chip di una webcam, mentre in generale i driver Ati e nVidia sono unici per un discreto numero di chip che devono poter pilotare al meglio, basti pensare che i fglrx devono pilotare tanto la radeon 9700 che ha un'architettura classica, quando le x 1000 che hanno shader unificati e ring-bus technolgy, e lo stesso si può dire per nVidia guardando alle più vecchie e alle più nuove schede supportate da una stessa release di driver.

Quindi va bene criticare il non rilascio delle specifiche, va bene non gradire l'inclusione di moduli proprietari nel kernel, ma sulla pesantezza in termini di megabyte ci andrei un pelo più cauto.

mic1
12-04-2007, 21:17
Prima di tutto vorrei scusarmi con ugruhell perchè questa discussione ha preso una discussione OT (ma comunque interessante!).

Poi volevo segnalarvi le effettive dimensioni dei driver fglrx x le schede ati e confrontarli con le altre.
ls -lh /lib/modules/2.6.20.4/misc/fglrx.ko
-rw-r--r-- 1 root root 781K 2007-04-02 01:18 /lib/modules/2.6.20.4/misc/fglrx.ko

ls -lh /usr/lib/xorg/modules/drivers
-rw-r--r-- 1 root root 129K 2006-09-20 01:31 apm_drv.so
-rw-r--r-- 1 root root 19K 2006-09-19 02:44 ark_drv.so
-rw-r--r-- 1 root root 52K 2006-10-14 20:39 ati_drv.so
-rw-r--r-- 1 root root 206K 2006-10-14 20:39 atimisc_drv.so
-rw-r--r-- 1 root root 144K 2006-09-21 02:52 chips_drv.so
-rw-r--r-- 1 root root 35K 2006-09-19 02:37 cirrus_alpine.so
-rw-r--r-- 1 root root 12K 2006-09-19 02:37 cirrus_drv.so
-rw-r--r-- 1 root root 27K 2006-09-19 02:37 cirrus_laguna.so
-rw-r--r-- 1 root root 27K 2006-09-21 02:57 cyrix_drv.so
-rw-r--r-- 1 root root 14K 2006-09-19 02:37 dummy_drv.so
-rw-r--r-- 1 root root 20K 2006-12-30 02:10 fbdev_drv.so
-rw-r--r-- 1 root root 7,1M 2007-04-02 01:14 fglrx_drv.so
-rw-r--r-- 1 root root 271K 2006-09-19 02:38 glint_drv.so
-rw-r--r-- 1 root root 55K 2006-09-19 02:38 i128_drv.so
-rw-r--r-- 1 root root 44K 2006-09-19 02:38 i740_drv.so
-rw-r--r-- 1 root root 282K 2007-01-19 16:46 i810_drv.so
-rw-r--r-- 1 root root 19K 2006-09-19 02:45 imstt_drv.so
-rw-r--r-- 1 root root 155K 2006-12-13 03:12 mga_drv.so
-rw-r--r-- 1 root root 72K 2007-02-28 18:56 neomagic_drv.so
-rw-r--r-- 1 root root 29K 2006-09-19 02:40 newport_drv.so
-rw-r--r-- 1 root root 274K 2006-09-19 02:40 nsc_drv.so
-rw-r--r-- 1 root root 82K 2006-09-19 02:41 nv_drv.so
-rw-r--r-- 1 root root 99K 2006-10-14 20:39 r128_drv.so
-rw-r--r-- 1 root root 313K 2006-10-14 20:39 radeon_drv.so
-rw-r--r-- 1 root root 39K 2006-09-21 03:01 rendition_drv.so
-rw-r--r-- 1 root root 43K 2006-09-19 02:41 riva128.so
-rw-r--r-- 1 root root 56K 2006-11-25 20:09 s3_drv.so
-rw-r--r-- 1 root root 76K 2006-09-19 02:41 s3virge_drv.so
-rw-r--r-- 1 root root 137K 2006-12-31 01:15 savage_drv.so
-rw-r--r-- 1 root root 85K 2006-09-22 04:23 siliconmotion_drv.so
-rw-r--r-- 1 root root 572K 2006-10-13 22:54 sis_drv.so
-rw-r--r-- 1 root root 72K 2006-09-19 02:43 sisusb_drv.so
-rw-r--r-- 1 root root 65K 2006-11-25 17:58 tdfx_drv.so
-rw-r--r-- 1 root root 47K 2006-09-19 02:45 tga_drv.so
-rw-r--r-- 1 root root 156K 2006-11-25 18:20 trident_drv.so
-rw-r--r-- 1 root root 49K 2006-09-19 02:46 tseng_drv.so
-rw-r--r-- 1 root root 14K 2006-09-19 02:46 v4l_drv.so
-rw-r--r-- 1 root root 23K 2006-12-11 01:51 vesa_drv.so
-rw-r--r-- 1 root root 19K 2006-09-19 02:47 vga_drv.so
-rw-r--r-- 1 root root 252K 2006-11-25 19:06 via_drv.so
-rw-r--r-- 1 root root 39K 2006-09-19 02:47 vmware_drv.so
-rw-r--r-- 1 root root 25K 2006-10-17 15:13 voodoo_drv.so

Il modulo per il kernel ha dimensioni accettabili/standard, mentre il modulo x x.org pesa in dimensioni più della somma di tutti gli altri! :muro:
Cosa ci hanno messo dentro? Mobidic :sofico:

ugruhell
12-04-2007, 22:51
Prima di tutto vorrei scusarmi con ugruhell perchè questa discussione ha preso una discussione OT (ma comunque interessante!).

Poi volevo segnalarvi le effettive dimensioni dei driver fglrx x le schede ati e confrontarli con le altre.
ls -lh /lib/modules/2.6.20.4/misc/fglrx.ko
-rw-r--r-- 1 root root 781K 2007-04-02 01:18 /lib/modules/2.6.20.4/misc/fglrx.ko

ls -lh /usr/lib/xorg/modules/drivers
-rw-r--r-- 1 root root 129K 2006-09-20 01:31 apm_drv.so
-rw-r--r-- 1 root root 19K 2006-09-19 02:44 ark_drv.so
-rw-r--r-- 1 root root 52K 2006-10-14 20:39 ati_drv.so
-rw-r--r-- 1 root root 206K 2006-10-14 20:39 atimisc_drv.so
-rw-r--r-- 1 root root 144K 2006-09-21 02:52 chips_drv.so
-rw-r--r-- 1 root root 35K 2006-09-19 02:37 cirrus_alpine.so
-rw-r--r-- 1 root root 12K 2006-09-19 02:37 cirrus_drv.so
-rw-r--r-- 1 root root 27K 2006-09-19 02:37 cirrus_laguna.so
-rw-r--r-- 1 root root 27K 2006-09-21 02:57 cyrix_drv.so
-rw-r--r-- 1 root root 14K 2006-09-19 02:37 dummy_drv.so
-rw-r--r-- 1 root root 20K 2006-12-30 02:10 fbdev_drv.so
-rw-r--r-- 1 root root 7,1M 2007-04-02 01:14 fglrx_drv.so
-rw-r--r-- 1 root root 271K 2006-09-19 02:38 glint_drv.so
-rw-r--r-- 1 root root 55K 2006-09-19 02:38 i128_drv.so
-rw-r--r-- 1 root root 44K 2006-09-19 02:38 i740_drv.so
-rw-r--r-- 1 root root 282K 2007-01-19 16:46 i810_drv.so
-rw-r--r-- 1 root root 19K 2006-09-19 02:45 imstt_drv.so
-rw-r--r-- 1 root root 155K 2006-12-13 03:12 mga_drv.so
-rw-r--r-- 1 root root 72K 2007-02-28 18:56 neomagic_drv.so
-rw-r--r-- 1 root root 29K 2006-09-19 02:40 newport_drv.so
-rw-r--r-- 1 root root 274K 2006-09-19 02:40 nsc_drv.so
-rw-r--r-- 1 root root 82K 2006-09-19 02:41 nv_drv.so
-rw-r--r-- 1 root root 99K 2006-10-14 20:39 r128_drv.so
-rw-r--r-- 1 root root 313K 2006-10-14 20:39 radeon_drv.so
-rw-r--r-- 1 root root 39K 2006-09-21 03:01 rendition_drv.so
-rw-r--r-- 1 root root 43K 2006-09-19 02:41 riva128.so
-rw-r--r-- 1 root root 56K 2006-11-25 20:09 s3_drv.so
-rw-r--r-- 1 root root 76K 2006-09-19 02:41 s3virge_drv.so
-rw-r--r-- 1 root root 137K 2006-12-31 01:15 savage_drv.so
-rw-r--r-- 1 root root 85K 2006-09-22 04:23 siliconmotion_drv.so
-rw-r--r-- 1 root root 572K 2006-10-13 22:54 sis_drv.so
-rw-r--r-- 1 root root 72K 2006-09-19 02:43 sisusb_drv.so
-rw-r--r-- 1 root root 65K 2006-11-25 17:58 tdfx_drv.so
-rw-r--r-- 1 root root 47K 2006-09-19 02:45 tga_drv.so
-rw-r--r-- 1 root root 156K 2006-11-25 18:20 trident_drv.so
-rw-r--r-- 1 root root 49K 2006-09-19 02:46 tseng_drv.so
-rw-r--r-- 1 root root 14K 2006-09-19 02:46 v4l_drv.so
-rw-r--r-- 1 root root 23K 2006-12-11 01:51 vesa_drv.so
-rw-r--r-- 1 root root 19K 2006-09-19 02:47 vga_drv.so
-rw-r--r-- 1 root root 252K 2006-11-25 19:06 via_drv.so
-rw-r--r-- 1 root root 39K 2006-09-19 02:47 vmware_drv.so
-rw-r--r-- 1 root root 25K 2006-10-17 15:13 voodoo_drv.so

Il modulo per il kernel ha dimensioni accettabili/standard, mentre il modulo x x.org pesa in dimensioni più della somma di tutti gli altri! :muro:
Cosa ci hanno messo dentro? Mobidic :sofico:

non ti preoccupare ;)

Artemisyu
13-04-2007, 00:05
non ce qualche guida che spieghi le differenze tra kernel monolitico e kernel ibrido?
ho cercato su wikipedia ma vorrei più info. insomma voglio sapere le differenze tra linux e windows, la gestione della memoria, la gestione degli I/O,.

http://www.bol.it/libri/scheda/ea978887192140.html

ma soprattutto: http://www.bol.it/libri/scheda/ea978887750424.html

A te serve un corso di sistemi operativi, non wikipedia ;)

Artemisyu
13-04-2007, 00:16
per gli esperti
linux è un kernel monolitico con il supporto ai moduli dal 2.2 se non sbaglio, ma un microkernel a server come hurd non sarebbe molto meglio?
pro e contro di tale soluzione?
:)

Uh, il microkernel, l'eldorado dell'informatica :)

Per dirla molto semplice, sulla carta il microkernel è invincibile, ma ad oggi, nella pratica, le uniche applicazioni dei microkernel sono ambienti molto specifici (controllo macchine mediche, telefonini, sistemi mission critical in genere) dove il numero di server è molto ridotto e le performance non sono un problema assoluto, ma solo relativo all'hardware che si sceglie in funzione del kernel che si ha.
In tutti gli altri casi, un microkernel ha sempre fatto schifo, sia sui server che sui desktop. Poche performance, tanti bug, problemi immensi di sincronizzazione e debugging... con il risultato che o sono stati abbandonati (come BeOS), o sono sfociati in kernel ibridi (come MacOS X o NT4) o non raggiungono mai uno stato stabile (come Hurd).

Al momento si aspetta ancora un'implementazione sensata e realmente general purpose di un microkernel :)

ilsensine
13-04-2007, 09:14
Non è che ti confondi con gli ATI, a me gli nvidia non pare occupino quanto il kernel :p
No. Ho appena scaricato un nvidia.ko, di più di 7 MB.
gzippato vale 1.7MB, il mio vmlinuz è di 1.6MB, ma l'ho compilato con diversa roba dentro e contiene molto codice che viene scartato dopo l'init.

E' un pò dura affermare che dopo aver caricato il driver nvidia hai ancora un kernel..."libero" ;)
Viene da chiedersi chi dei due sia il kernel e chi il...driver :D

Cobra78
13-04-2007, 09:41
No. Ho appena scaricato un nvidia.ko, di più di 7 MB.
gzippato vale 1.7MB, il mio vmlinuz è di 1.6MB, ma l'ho compilato con diversa roba dentro e contiene molto codice che viene scartato dopo l'init.

E' un pò dura affermare che dopo aver caricato il driver nvidia hai ancora un kernel..."libero" ;)
Viene da chiedersi chi dei due sia il kernel e chi il...driver :D

Errore mio infatti, avevo analizzato le dimensioni in maniera superficiale :)

Fil9998
13-04-2007, 11:42
ma non si blocca come windows no? perche io sono fanatico dei sistemi stabili mi fanno impazzire i sistemi che si bloccano:mad: . per quello vorrei imparare di più sul kernel di linux.


prova per sfizio un BSD...

magari PC- BSD che è più facile di molti linux....



comunque QUALSIASI COSA è più stabile di windows..



:)

Fil9998
13-04-2007, 11:44
Uh, il microkernel, l'eldorado dell'informatica :)

Per dirla molto semplice, sulla carta il microkernel è invincibile, ma ad oggi, nella pratica, le uniche applicazioni dei microkernel sono ambienti molto specifici (controllo macchine mediche, telefonini, sistemi mission critical in genere) dove il numero di server è molto ridotto e le performance non sono un problema assoluto, ma solo relativo all'hardware che si sceglie in funzione del kernel che si ha.
In tutti gli altri casi, un microkernel ha sempre fatto schifo, sia sui server che sui desktop. Poche performance, tanti bug, problemi immensi di sincronizzazione e debugging... con il risultato che o sono stati abbandonati (come BeOS), o sono sfociati in kernel ibridi (come MacOS X o NT4) o non raggiungono mai uno stato stabile (come Hurd).

Al momento si aspetta ancora un'implementazione sensata e realmente general purpose di un microkernel :)

conciso e esaustivo-



thanks .

Willy McBride
13-04-2007, 12:20
magari avere drivers video in user... :rolleyes:

:muro: :muro: :muro:

Caschi male, la nuova tendenza tra gli sviluppatori è cercare di spostare quanto più possibile in kernel (vedi qui (http://thread.gmane.org/gmane.comp.video.dri.devel/26012)).

ilsensine
13-04-2007, 12:27
Caschi male, la nuova tendenza tra gli sviluppatori è cercare di spostare quanto più possibile in kernel (vedi qui (http://thread.gmane.org/gmane.comp.video.dri.devel/26012)).
No è vero l'inverso, lasciare nel kernel solo lo stretto indispensabile.

Riguardo quel link, si tratta probabilmente di una cosa che ha senso spostare nel kernel, ma in generale si cerca quanto possibile di compiere operazioni opposte.

ugruhell
13-04-2007, 12:33
Caschi male, la nuova tendenza tra gli sviluppatori è cercare di spostare quanto più possibile in kernel (vedi qui (http://thread.gmane.org/gmane.comp.video.dri.devel/26012)).

infatti e meglio in kernel space ma e più possibile che se si blocca il driver si blocchi anche il kernel. ma in prestazioni e meglio.
windows vista con wddm a spostato il driver video in user space per quello i giochi sono più lenti rispetto ad xp.

Willy McBride
13-04-2007, 12:49
No è vero l'inverso, lasciare nel kernel solo lo stretto indispensabile.

Riguardo quel link, si tratta probabilmente di una cosa che ha senso spostare nel kernel, ma in generale si cerca quanto possibile di compiere operazioni opposte.

Quotavo un messaggio che si riferiva ai driver video e parlavo specificamente dei driver video. Adesso non ho tempo di cercare in giro per siti di news, ma se ricordo bene si è discusso abbastanza all'ultima xdevconf dello spostamento di molto codice (modesetting, pci access, inizializzazione dell'hardware) dai driver di xorg al kernel.

ilsensine
13-04-2007, 12:50
infatti e meglio in kernel space
Perché?

ilsensine
13-04-2007, 12:52
Quotavo un messaggio che si riferiva ai driver video e parlavo specificamente dei driver video. Adesso non ho tempo di cercare in giro per siti di news, ma se ricordo bene si è discusso abbastanza all'ultima xdevconf dello spostamento di molto codice (modesetting, pci access, inizializzazione dell'hardware) dai driver di xorg al kernel.
Perché c'è un progetto a lungo termine che lo richiede: la convivenza pacifica dei driver DRI con i driver framebuffer del kernel.
Oltre ad eventuali motivi di sicurezza e opportunità.

ugruhell
13-04-2007, 13:23
Perché?

secondo me e meglio come prestazioni ma si perde stabilità.

ilsensine
13-04-2007, 16:42
secondo me e meglio come prestazioni
Umm il tuo processore si overclocca quando passa in kernel space? :D

scorpion89
13-04-2007, 18:49
Quanto avete grosso il kernel???
vmlinux -> 2.0 MB
config -> 40k
System.map -> 1.1 MB

con linkati staticamente soltanto i moduli strettamente necessari
e poi un lsmod molto snellito (driver audio, video e per virtualbox)

Ciao :)

EDIT

scusate ho riguardato avevo letto male :)

Johnn
13-04-2007, 22:21
windows vista con wddm a spostato il driver video in user space per quello i giochi sono più lenti rispetto ad xp.

Sul fatto della lentezza dei giochi in vista, attenzione perché mi pare che il discorso sia più ampio: il supporto per le directx10 è ovviamente ok, mentre risultano penalizzate le vecchie librerie (che sono emulate?), dove xp dava il massimo. Inoltre mi pare abbiano messo i bastoni tra le ruote alle opngl. Bene accette precisazioni. ;)

Per la cronaca il mio kernel 2.6.20.6, monolitico con scheda video intel integrata 1,7 Mb, System.map 809 Kbyte e .config 40 Kbyte.

darkbasic
14-04-2007, 01:45
Quanto avete grosso il kernel???
Non formulare mai una domanda in questo modo perché c'è chi si metterebbe a ricompilare tutto come statico :sofico: :rotfl: :doh:

mic1
16-04-2007, 00:16
Quanto avete grosso il kernel???

Domanda provocatoria:
Perchè voi avete solo un kernel? :sofico: :cool:

Io (scusate x la lunghezza del post) tra debian e ubuntu ho:
$ ls -lh {/boot,/mnt/ubuntu/boot}/{vmlinuz*,config-2*,System.map-2*,initrd.img*}
-rw-r--r-- 1 root root 70K 2007-03-26 18:32 /boot/config-2.6.18-4-686
-rw-r--r-- 1 root root 65K 2007-04-02 00:39 /boot/config-2.6.20.4
-rw-r--r-- 1 root root 66K 2007-04-01 05:57 /boot/config-2.6.20-beyond2
-rw-r--r-- 1 root root 4,7M 2007-03-31 01:10 /boot/initrd.img-2.6.18-4-686
-rw-r--r-- 1 root root 3,2M 2007-04-10 12:33 /boot/initrd.img-2.6.20.4
-rw-r--r-- 1 root root 3,2M 2007-04-01 06:21 /boot/initrd.img-2.6.20-beyond2
-rw-r--r-- 1 root root 706K 2007-03-27 00:42 /boot/System.map-2.6.18-4-686
-rw-r--r-- 1 root root 822K 2007-04-02 00:52 /boot/System.map-2.6.20.4
-rw-r--r-- 1 root root 841K 2007-04-01 06:19 /boot/System.map-2.6.20-beyond2
-rw-r--r-- 1 root root 1,3M 2007-03-27 00:42 /boot/vmlinuz-2.6.18-4-686
-rw-r--r-- 1 root root 1,7M 2007-04-02 00:52 /boot/vmlinuz-2.6.20.4
-rw-r--r-- 1 root root 1,8M 2007-04-01 06:19 /boot/vmlinuz-2.6.20-beyond2
-rw-r--r-- 1 root root 73K 2007-02-01 19:44 /mnt/ubuntu/boot/config-2.6.17-11-generic
-rw-r--r-- 1 root root 68K 2007-02-10 18:33 /mnt/ubuntu/boot/config-2.6.19-beyond4
-rw-r--r-- 1 root root 66K 2007-03-05 21:32 /mnt/ubuntu/boot/config-2.6.20-beyond1
-rw-r--r-- 1 root root 5,2M 2007-02-09 22:34 /mnt/ubuntu/boot/initrd.img-2.6.17-11-generic
-rw-r--r-- 1 root root 3,6M 2007-02-10 19:09 /mnt/ubuntu/boot/initrd.img-2.6.19-beyond4
-rw-r--r-- 1 root root 3,2M 2007-03-05 21:51 /mnt/ubuntu/boot/initrd.img-2.6.20-beyond1
-rw-r--r-- 1 root root 713K 2007-02-01 21:12 /mnt/ubuntu/boot/System.map-2.6.17-11-generic
-rw-r--r-- 1 root root 840K 2007-02-10 18:49 /mnt/ubuntu/boot/System.map-2.6.19-beyond4
-rw-r--r-- 1 root root 841K 2007-03-05 21:45 /mnt/ubuntu/boot/System.map-2.6.20-beyond1
-rw-r--r-- 1 root root 1,6M 2007-02-01 21:11 /mnt/ubuntu/boot/vmlinuz-2.6.17-11-generic
-rw-r--r-- 1 root root 1,9M 2007-02-10 18:49 /mnt/ubuntu/boot/vmlinuz-2.6.19-beyond4
-rw-r--r-- 1 root root 1,8M 2007-03-05 21:45 /mnt/ubuntu/boot/vmlinuz-2.6.20-beyond1

alez1893
16-04-2007, 01:04
Non è che ti confondi con gli ATI, a me gli nvidia non pare occupino quanto il kernel :p

http://img387.imageshack.us/img387/4936/schermatanj2.th.png (http://img387.imageshack.us/my.php?image=schermatanj2.png)

[OT] come faccio ad avere i monitor di temperatura cpu hd ecc come nell'immagine del tuo desk? uso kubuntu 6.10..

Cobra78
16-04-2007, 09:17
[OT] come faccio ad avere i monitor di temperatura cpu hd ecc come nell'immagine del tuo desk? uso kubuntu 6.10..

Dunque dunque, io utilizzo lmsensor (che poi ora mi pare sia sensord) per scheda madre e cpu, a questo va aggiunto hddtemp per gli hard disk, la barra è l'applet di Gnome sensor-applet (che forse va anche quella installata a parte) :p

Ah uso anche io Ubuntu 6.10 :cool:

jappilas
16-04-2007, 12:19
Sul fatto della lentezza dei giochi in vista, attenzione perché mi pare che il discorso sia più ampio: il supporto per le directx10 è ovviamente ok, mentre risultano penalizzate le vecchie librerie (che sono emulate?), dove xp dava il massimo.allora, l' idea era di unificare il code path grafico allo stesso tempo riprogettandolo reimplementandolo a livello sia di driver (un nuovo driver model, una nuova ripartizione delle funzionalità tra kernel e livelli superiori, e un nuovo device model, quindi nuove specifiche e nuovi requisiti a livello di GPU * ) che di libreria userspace (principalmente i nuovi shaders)
l' interfaccia funzionale delle DX10 dal lato applicativo sarebbe stata principalmente un' evoluzione della versione precedente - il problema è che le applicazioni sono il più delle volte linkate con librerie aventi specifici nomi , quindi si sarebero rese necessarie delle versioni delle librerie precedenti da queste richieste, implementate come wrapper "leggeri" sulle nuove - questo per mentenere un singolo code path evitando la duplicazione di codice
Inoltre mi pare abbiano messo i bastoni tra le ruote alle opngl. Bene accette precisazioni. ;) no, era l' ICD della MS fornito col sistema operativo a essere implementato come wrapper su WGF (pre DX10) e a supportare solo le specifiche 1.3 (pipeline fissa, non programmabile)
ma questo non avrebbe comunque escluso la possibilità di implementare e installare un ICD nativo (come infatti è stato chiarito e ufficializzato in seguito alle molte proteste sorte l' anno scorso proprio per la paura che "Microsoft castrasse le opengl")

sulla lentezza dei giochi in vista è opinione comune che non fosse tanto colpa della nuova architettura grafica (non intrinsecamente), ma di driver ancora poco maturi nonchè in certi casi del sistema di gestione della memoria (il cui utilizzo come cache tramite preallocazione delle applicazioni cozzerebbe con le esigenze di un videogioco di riservarsene grosse quantità per i dati caricati da disco)

jappilas
16-04-2007, 12:37
E' un pò dura affermare che dopo aver caricato il driver nvidia hai ancora un kernel..."libero" ;)
Viene da chiedersi chi dei due sia il kernel e chi il...driver :Deffettivamente...
passi per le routine di I/O di basso livello da e verso la periferica (trasferimenti DMA) ma l' implementazione in kernel di funzioni richieste esclusivamente a livello applicativo mi sfugge :stordita:
secondo me e meglio come prestazioni ma si perde stabilità.non è solo quello - il punto è che il kernel ha la possibilità di far girare codice privilegiato
spostare certe parti di codice critico nel kernel può evitare di dover tenere in esecuzione un processo in più con privilegi di superutente - e di ridurre la criticità dell' auditing del codice sorgente del programma stesso (come, stando a quanto leggevo, il server X fino a che non uscì una patch apposita )

eolus
16-04-2007, 14:47
Quanto avete grosso il kernel???
vmlinux -> 2.0 MB
config -> 40k
System.map -> 1.1 MB

con linkati staticamente soltanto i moduli strettamente necessari
e poi un lsmod molto snellito (driver audio, video e per virtualbox)

Ciao :)

EDIT

scusate ho riguardato avevo letto male :)
il mio kernel è 1.3 Mb
system.map 625 Kb
ciao

alez1893
17-04-2007, 13:27
Dunque dunque, io utilizzo lmsensor (che poi ora mi pare sia sensord) per scheda madre e cpu, a questo va aggiunto hddtemp per gli hard disk, la barra è l'applet di Gnome sensor-applet (che forse va anche quella installata a parte) :p

Ah uso anche io Ubuntu 6.10 :cool:

grazie, ho installato da adept sensord e sensors-applet. ma non compare nulla sul pannello, cosa devo fare per configurarli?

Cobra78
17-04-2007, 13:32
grazie, ho installato da adept sensord e sensors-applet. ma non compare nulla sul pannello, cosa devo fare per configurarli?

Mmmh, se hai Kde, come deduco dal fatto che usi Adept, allora non so aiutarti, nel senso che sensord serve, ma l'applet che vedi da me è per Gnome, dovresti trovarne una equivalente per Kde che sinceramente non so quale possa essere.