Newsgroup: it.comp.programmare.win32
Titolo: [ot] - cos'è il Kernel?

è una dll?


Sono un principiante totale, ma azzardo.
La parola kernel deriva da ker cioè nucleo, il kernel è l'insieme delle
procedure oprative a basso livello che consentono di controllare in modo
totale la macchina. Il kernel quindi lo si può vedere come un qcsa di più
ampio di una dll, ma certamente comprende anche delle dll.
Chiedo venia al ng se ho sparato delle cavolate, sono nuovo ed ho solo da
imparare...
Ciao
Pow
--
----------------------------------------------------
Ama il tuo mestiere con passione
E' il significato della tua vita
Auguste Rodin (1840-1917)

 è una dll?
Normalmente per kernel si intende il cuore del sistema operativo.
Non so se anche i programmi normali (i.e. gestionali) utilizzano il termine
kernel (il mio lo chiama core).
Cmq il kernel non è *strettamente* una DLL ma oserei dire un insieme di
"file" (dll, exe, lib, ...) che gestiscono le cose più
a basso livello (che sia un S.O. o un SW).
E' di uso comunissimo parlare di kernel per Linux piuttosto che Windows,
perchè per il primo è opensource per il secondo col ç@...!
Alex

 è una dll?
scusa ma e' come chiedersi se la juventus sia il pullman che porta i
giocatori allo stadio :/
il kernel e' un concetto "logico": racchiude quelle funzioni di base per il
funzionamento di un programma (un'applicazione, un videogioco, un sistema
operativo). Nel caso dei SO queste sono l'accesso al filesystem, l'I/O, la
gestione dei processi eccetera.
Poi, come sia implementato, dipende dai casi: su linux si puo' avere sia una
struttura monolitica che modulare, a seconda se in fase di compilazione i
moduli del kernel vengono inclusi in modo statico o dinamico. Su Win32 non
so ancora bene come funzionino le cose, ma la DLL kernel32 sembra abbastanza
eloquente
--
artemis.alpeia
http://spazioinwind.libero.it/artemis

 perchè per il primo è opensource per il secondo col ç@...!
E secondo te cos'è (Win2000):
C:\WINNT\system32\KERNEL32.DLL (632kb)
???
-- 
Luc.


Non ti rispondo direttamente ma leggi la risposta di artemis.alpeia
Alex

 eloquente
Probabilmente stai pensando a una cosa sbagliata. Il nome di
KERNEL32.DLL e` soltanto convenzionale, serve per indicare che le API
che contiene hanno a che fare con le funzioni piu` "di base" di Win32.
Sotto a Windows NT/2000/XP tutte le API (incluse quelle contenute nelle
altre DLL) si interfacciano al "vero" kernel attraverso NTDLL.DLL. In
ogni caso nemmeno quest'ultima fa parte in senso stretto del kernel.
-- 
Lorenzo

 > so ancora bene come funzionino le cose
quoto ^^
--
artemis.alpeia
http://spazioinwind.libero.it/artemis

A questo punto, qualcuno puo' spiegare bene la relazione che c'e'
tra i due file KERNEL32.DLL (circa 700k) e KERNEL32.LIB (circa 170k)..
Uno in genere include il .lib durante la compilazione, ma le funzioni
vengono caricate dalla dll? E per quanto riguarda le diverse
versioni di Windows?
Ph.
--------------------------------
Inviato via 
http://usenet.libero.it

 tra i due file KERNEL32.DLL (circa 700k) e KERNEL32.LIB (circa 170k)..
Azzardo, una è una libreria dinamica, quindi viene caricata in memoria solo
quando l'applicazione
la deve utilizzare, l'altra è una libreria statica quindi la devi
necessariamente compilare con
l'applicazione, quindi avrai un eseguibile di dimensioni maggiori ma
risparmi il compito di dover installare le
librerie sul computer dell'utente. Nel caso in cui scegli di usare la DLL
avrai, come già detto, un'eseguibile di dimensioni
minori, ma sarai costretto a distribuire la/le DLL usate nel progetto con
l'applicazione.
L'uso delle DLL oppure delle librerie statiche, a mio avviso è lo stesso per
tutte le versioni di Windows da 98 fino a 2000, i concetti che stanno dietro
sono comuni a tutte le versioni di SO. Unica cosa, una DLL per 98 sarà
diversa dall'equivalente per 2000, questo spiega perchè per ottenere un
applicativo che giri sotto 98 oppure sotto 2000 sia sufficiente compilarlo
sul PC che ha il SO di destinazione.
Spero che sia tutto ok
Ciao
Pow

 sul PC che ha il SO di destinazione.
No, perche` tutte le varie versioni di Windows condividono (in gran
parte) le stesse funzioni, e quindi puoi usare (in gran parte) le stesse
import libraries. Se compilo un programma sotto a Windows 2000, esso e`
perfettamente in grado di funzionare sotto a qualsiasi altro Windows;
ovviamente ci sono i casi in cui questo non succede, per lievi
differenze funzionali fra i diversi sistemi operativi (o addirittura per
una vera e propria mancanza di certe funzioni), ma questa e`
un'eccezione, non la regola.
-- 
Lorenzo

 > > (circa 170k)..
[CUT]
Grazie 1000 per le precisazioni, per avere maggiori info è sfatare leggende
metropolitane
pensi che sia sufficiente dare una lettura approfondita a MSDN oppure dovrei
prendere un libro
"autorevole" tipo Microsoft Press? Hai dei riferimenti in merito?
Ciao e grazie per le spiegazioni!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


 > > (circa 170k)..
Ho trovato questo riferimento nel MSDN:
Windows DLLs differ considerably from static-link libraries. Basic
differences between the two are as follows:
Static-link libraries reside in .LIB files, which are basically collections
of object files, whereas dynamic-link libraries reside in separate
executable files that are loaded by Windows into memory when they are
needed.
Each application that uses a static-link library has its own copy of the
library. However, Windows supports multiple applications simultaneously
using one copy of the same DLL.
Static-link libraries contain only code and data because they are stored as
a collection of object files. Windows DLLs, on the other hand, can contain
code, data, and resources such as bitmaps, icons, and cursors, because they
are stored as executable program files.
Static-link libraries must use the data space of the application, whereas
DLLs may (and often do) have their own data address space mapped into the
address space of the process.
penso sia il discorso che mi facevi tu. E' giusto?
Ciao


 merito?
Dipende dal livello di preparazione che hai. Possedendo almeno
un'infarinatura e` possibile in qualche modo arrangiarsi con MSDN, anche
se credo che si risparmi un bel po' di tempo comprando due libroni. Non
importa che tu li legga da cima a fondo, possono servire come reference.
Libri ormai "classici" sono il Petzold per le API, e il Prosise per MFC
(titoli banali, li troverai facilmente). Per approfondire c'e` "Advanced
Windows Programming" di Richter, che dopotutto non e` cosi` ostico e
puo` essere letto (quasi) di seguito.
-- 
Lorenzo

 a collection of object files.
Esatto. Le risorse sono compilate con un programma a parte (il resource
compiler) e in seguito inserite in una sezione apposita dell'eseguibile.
-- 
Lorenzo

"Lorenzo Lutti" <lorenz...@DOHtiscalinet.it> ha scritto nel messaggio
news:p1bya.15641$lK4.4...@twister1.libero.it...

Grazie per le info, avevo già addocchiato il Petzold per la programmazione
Win32, vado
a dare uno sguardo al Prosise che non ho invece ancora sentito.
Thanks!
Ciao


"Lorenzo Lutti" <lorenz...@DOHtiscalinet.it> ha scritto nel messaggio
news:u1bya.15643$lK4.4...@twister1.libero.it...

Bene!!!
Quando scrissi la mia prima DLL in C per usarla in VB ho usato solo questo
DOC, che mi sembra
spiegato molto bene, mi informo anche per il Richter, questo mese devo
rompere il prcellino ... ;-)


> Esistono tre tipi di link:
Moolto interesante!
Grazie,
Alex