Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
Debuttano ufficialmente i primi sistemi notebook basati su piattaforma NVIDIA RTX Spark, abbinati a Windows on ARM e pensati per l'intelligenza artificiale agentica. Architettura integrata tra CPU e GPU che condividono la memoria di sistema, capace di gestire in locale modelli molto grandi ma al contempo anche di spiccare con la grafica e l'elaborazione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Google Pixel Watch 5 ha affinato una formula già convincente con hardware più veloce, Gemini offline e nuovi strumenti per sport e benessere. Abbiamo provato la versione LTE da 41 mm, comoda anche di notte e ben proporzionata sui polsi piccoli. Il design resta un punto di forza, ma l'autonomia premia ancora il 45 mm e alcune funzioni AI non sono disponibili in Italia: ecco che cosa cambia rispetto a Watch 4 e quale formato conviene scegliere oggi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-07-2007, 23:03   #1
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
[c] compilazione a basso livello sistemi operativi

Essendo un sistema operativo un ' entita multistrato con diramazioni a livello molto basso fino alla comunicazione diretta con l' hardware,per quello che si puo dire su un sistema molto complicato oltre al lingiaggio macchina e al c oggi quali altri linguaggi si utilizzo per lo sviluppo di un SO.Quali ambienti di sviluppo si utilizzano e come avviene la compilazione e l' integrazioni di entità molto differenti.Mi incuriosce molto la compilazione di una struttura che poi dovrà essere la primaria sulla macchina.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2007, 10:07   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Dipende da che "livello" parti.
Se hai già un sistema operativo compatibile con quello che vuoi compilare si tratta solo di andare ad utilizzare la libreria precompilata per quel dato sistema operativo.
Se invece crei per la prima volta un sistema operativo, mettiamo di essere a livelli moooolto bassi, cioè sulla macchina non c'è niente, devi far uso di un altro sistema operativo e fare un cross compiling per la macchina ospite.

Prima di tutto non puoi fare uso della libreria standard del C o del C++ per tutte quelle cose che accedono al sistema operativo.
Quindi devi cominciare riscrivendoti delle routine di base che sfruttino inizialmente le routine messe a disposizione dal bios per permetterti di fare un minimo di debug visuale (in particolare output di testo). Quando si è arrivati a mettere la macchina ospite nello stato necessario per avviare il nostro sistema operativo (modalità del processore e della memoria desiderata) bisogna cominciare a scrivere le nostre routine di gestione delle interruzioni. In questo modo si creano le fondamenta sulle quali si baseranno tutte le system call del nostro sistema operativo. Le operazione basilari riguardano principalmente l'allocazione e la deallocazione di memoria e l'output.
In questo modo sarà possibile andare a cominciare a creare un kernel base del sistema operativo.
Successivamente si aggiungeranno man mano le altre routine di gestione delle interruzioni insieme ai rispettivi driver di periferica. Ad esempio la routine di gestione dell'input da tastiera dovrà appoggiarsi al driver della tastiera.
Si va avanti così, ingrandendo sempre più il sistema.
Inizialmente il sistema sarà completamente caricato in memoria in maniera monolitica dal disco di avvio, poi verrà implementato un file system (almeno inizialmente il più semplice possibile, magari mappato in memoria) ed a questo punto sarà possibile implementare una shell.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2007, 11:33   #3
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
Essendo un sistema operativo un ' entita multistrato con diramazioni a livello molto basso fino alla comunicazione diretta con l' hardware,per quello che si puo dire su un sistema molto complicato oltre al lingiaggio macchina e al c oggi quali altri linguaggi si utilizzo per lo sviluppo di un SO.
nessuno: i linguaggi usati sono quelli. i kernel odierni sono scritti in C con piccole parti di assembly necessarie ad effettuare nelle prime fasi di avvio i settaggi del processore (per esempio per farlo entrare in modalità protetta), nonché per fare I/O diretto sull'hardware. so di un solo kernel scritto in C++, ed era quello di BeOS. dicono che si trattasse di un ottimo sistema operativo e non esito a crederlo, ma purtroppo è fallito.

Quote:
Quali ambienti di sviluppo si utilizzano e come avviene la compilazione e l' integrazioni di entità molto differenti.
come ambiente di sviluppo usi quello che ti pare: puoi usare Blocco Note come puoi usare Visual C++ 2005, ma ti servirà solo come editor di testo perché poi la compilazione avverrà a parte, tipicamente tramite makefiles. conosci l'utility make?

Quote:
Mi incuriosce molto la compilazione di una struttura che poi dovrà essere la primaria sulla macchina.
la compilazione di un sistema operativo consiste semplicemente nella compilazione di tante comunissime immagini eseguibili. Windows per esempio è costituito da normalissimi files .exe e .dll
l'unica piccola eccezione a ciò è la compilazione del bootloader: il bootloader è costituito essenzialmente da due parti, un piccolo pezzo di codice eseguibile in formato binario puro (ci sono le istruzioni di assembly e basta) ed un altro eseguibile più grosso che può essere in vari formati a seconda delle scelte progettuali di chi scrive il bootloader. il primo pezzo altro non è che quello che va a finire direttamente nei primi settori della partizione su cui è installato il sistema operativo, e deve essere in formato binario puro perché la CPU al caricamento lo legge in RAM e lo esegue così com'è. tuttavia programmare in quelle condizioni (cioè in assembly in modalità reale a 16 bit) è estremamente scomodo, e di conseguenza questa prima parte del bootloader deve fare il meno possibile: si occupa di entrare in modalità protetta a 32 bit, di organizzare un memory model decente, di leggere dal disco il resto del bootloader vero e proprio, e di lanciare quello. il resto del bootloader è più comodo da programmare perché a quel punto può essere scritto tranquillamente in C a 32 bit. su Windows il bootloader si trova nel file NTLDR (senza estensione), il quale deve essere localizzato alla radice della partizione in cui è installato il sistema (tipicamente il file è C:\NTLDR, per vederlo in Esplora Risorse devi impostare l'opzione per visualizzare i files nascosti e i files di sistema).
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2007, 11:38   #4
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da 71104 Guarda i messaggi
Windows per esempio è costituito da normalissimi files .exe e .dll
aggiungo: in effetti non ci sono solo .exe e .dll, come estensioni puoi trovare anche .sys (estensione tipica per i drivers), .ocx (gli ActiveX), ed .scr (gli screensavers). ma il succo del discorso non cambia perché exe, dll, sys e quant'altro sono tutti esattamente la stessa cosa: sono immagini eseguibili, e sono memorizzate nello stesso identico formato (a meno di un unico bit nel'header che dice se quell'eseguibile può essere lanciato in maniera diretta, come gli exe e come gli scr).
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2007, 11:40   #5
W.S.
Senior Member
 
L'Avatar di W.S.
 
Iscritto dal: Nov 2005
Messaggi: 1868
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
Mi incuriosce molto la compilazione di una struttura che poi dovrà essere la primaria sulla macchina.
Se vuoi "toccare con mano" buttati su linux, puoi ricompilarlo, modificarlo, studiarlo come ti pare.
__________________
[ W.S. ]
W.S. è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2007, 12:21   #6
sukoy27k
Senior Member
 
Iscritto dal: May 2003
Città: Napoli
Messaggi: 1369
Quote:
Originariamente inviato da 71104 Guarda i messaggi
come ambiente di sviluppo usi quello che ti pare: puoi usare Blocco Note come puoi usare Visual C++ 2005, ma ti servirà solo come editor di testo perché poi la compilazione avverrà a parte, tipicamente tramite makefiles. conosci l'utility make?
uno solo appunto...in Visual Studio....tasto destro sul progetto Configuration Properties->General->Configuration Type->MakeFile...un batch farebbe la stessa cosa ma perchè farlo se già c'è
sukoy27k è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 07:33   #7
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Il salto di qualita' e' stato fatto, appunto, introducendo i linguaggi ad alto livello per la scrittura del sistema operativo e riducendo le parti scritte in assembler al minimo indispensabile.

Oltre ai linguaggi gia' citati, discreti successi sono stati ottenuti utilizzando i linguaggi PASCAL e JAVA.
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 07:35   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da sottovento Guarda i messaggi
e JAVA.

Per quale sistema operativo ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 07:38   #9
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da cionci Guarda i messaggi

Per quale sistema operativo ?
So di molti tentativi (riusciti), anche da Apple e Sun stessa. Ho letto diversi articoli in proposito. Se ho tempo, posto una lista di cosa si puo' trovare in giro...
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 07:47   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ok
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 08:02   #11
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19150
Quote:
Originariamente inviato da sottovento Guarda i messaggi
So di molti tentativi (riusciti), anche da Apple e Sun stessa. Ho letto diversi articoli in proposito. Se ho tempo, posto una lista di cosa si puo' trovare in giro...
intendi una roba del genere?
http://www.tuxjournal.net/?p=15
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 08:12   #12
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da recoil Guarda i messaggi
intendi una roba del genere?
http://www.tuxjournal.net/?p=15
Non lo conoscevo. Beh, pero' mi permette di giustificare quello che ho scritto .

Comunque posso riportare anche
http://en.wikipedia.org/wiki/Object-...erating_system

che mi fa venire in mente che abbiamo dimenticato di citare, fra i linguaggi, l'Objective-C, che so essere molto usato da un assiduo (e simpatico) frequentatore di questo forum
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 08:14   #13
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da recoil Guarda i messaggi
intendi una roba del genere?
http://www.tuxjournal.net/?p=15
Un kernel C/C++ con applicazioni Java a quanto sembra...

Comunque mi sembra che non si riesca in ogni caso ad usare solo Java e assembly, ma serve sempre anche un terzo linguaggio, virtual machine a parte ovviamente (questa deve essere scritta sempre in C o C++).

Ultima modifica di cionci : 02-08-2007 alle 08:16.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 10:23   #14
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da sottovento Guarda i messaggi
Il salto di qualita' e' stato fatto, appunto, introducendo i linguaggi ad alto livello per la scrittura del sistema operativo e riducendo le parti scritte in assembler al minimo indispensabile.

Oltre ai linguaggi gia' citati, discreti successi sono stati ottenuti utilizzando i linguaggi PASCAL e JAVA.
E come farebbe un codice Java puro a gestire direttamente la memoria?

Mi sono sempre chiesto come si potrebbe fare a scrivere la JVM in Java.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 11:22   #15
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Mi sono sempre chiesto come si potrebbe fare a scrivere la JVM in Java.
Ovviamente non si può
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 11:25   #16
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19150
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Mi sono sempre chiesto come si potrebbe fare a scrivere la JVM in Java.
beh potresti pure scriverla in Java, ma ti servirebbe un compilatore in grado di generare codice eseguibile su quella macchina, altrimenti avresti bisogno di una VM sulla quale far girare la JVM
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 14:22   #17
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da recoil Guarda i messaggi
beh potresti pure scriverla in Java, ma ti servirebbe un compilatore in grado di generare codice eseguibile su quella macchina, altrimenti avresti bisogno di una VM sulla quale far girare la JVM
Per scrivere la JVM in Java dovresti avere la possibilità all'interno del linguaggio di gestire direttamente la (de)allocazione della memoria, l'algoritmo di GC ad un certo punto dovrà fare una "delete" che non è una operazione contemplata da Java.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 14:35   #18
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19150
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Per scrivere la JVM in Java dovresti avere la possibilità all'interno del linguaggio di gestire direttamente la (de)allocazione della memoria, l'algoritmo di GC ad un certo punto dovrà fare una "delete" che non è una operazione contemplata da Java.
eh già sei sempre lì...
ma poi a che pro scrivere una JVM in Java?

come prossimo step propongo un sistema operativo in Perl (qualcuno pare ci abbia provato)
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 14:37   #19
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Per scrivere la JVM in Java dovresti avere la possibilità all'interno del linguaggio di gestire direttamente la (de)allocazione della memoria, l'algoritmo di GC ad un certo punto dovrà fare una "delete" che non è una operazione contemplata da Java.
o per meglio dire, sarebbe un'operazione che verrebbe affidata al garbage collector del linguaggio, il quale di conseguenza dovrebbe essere implementato automaticamente dal compilatore quando genera il codice eseguibile per la macchina. troppo complicato, è molto meglio realizzare una virtual machine in C++ e poi scrivere tutto il resto in Java.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 15:01   #20
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da recoil Guarda i messaggi
eh già sei sempre lì...
ma poi a che pro scrivere una JVM in Java?

come prossimo step propongo un sistema operativo in Perl (qualcuno pare ci abbia provato)
Se non puoi scrivere la JVM, non puoi scrivere neanche un sistema operativo in Java.
Tutto perchè era stato postato di sistemi operativi scritti in Java, in realtà sono OS nel cui kernel è integrata una JVM ed esguono programmi Java.
tomminno è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
Windows 11 più veloce e meno affa...
Un computer quantistico da 4.400 qubit s...
DeLorean entra nelle gare di auto volant...
Non buttare il tuo vecchio smartphone: l...
GTA VI, manca sempre meno al lancio: Roc...
Honor prepara il suo primo pieghevole la...
Starshield torna operativo per le forze ...
La NASA porta le batterie allo stato sol...
Finto mining di criptovalute: 200 vittim...
AI sul PC senza passare dal cloud, come ...
ASUS aggiorna la sua gamma di monitor da...
Android potrà spegnere e riavviare il PC...
Quale capienza di micro SD è la p...
TSMC valuta il Texas per nuove fab, trat...
YouTube Music introduce nuove etichette ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:41.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v