|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jun 2009
Città: Milano
Messaggi: 65
|
Quale scegliere?
Salve a tutti!
Premessa: Di programmazione conosco davvero le basi e non ho nessuna conoscenza approfondita di nessu linguaggio in particolare. Però ho un sacco di tempo libero!! Ho in mente questo folle progetto: Voglio costruirmi un lettore dvd (DIVX) utilizzando un vecchio computer che è nella cantina. Tutto questo lo voglio fare senza dover installare un sistema operativo di nessun tipo: QUESTO AGGEGGIO DOVRA' SOLO RILEVARE E LEGGERE I FILE VIDEO CHE SONO SUL DVD O (al massimo) SULLA PORTA USB (priorità secondaria). La vecchia carcassa ha più o meno queste caratteristiche: CPU: 1.5 GHz (singol core) Ram: 120 Mb DDR2 (espandibili fino a 512) Scheda video: Non ne ho idea ma è da almeno 32 Mb Lettore dvd Scheda madre che supporti tutto ciò. Hard disk: Poco più di 20 Gb da 5400 rpm Il quesiti salienti di tutto ciò sono: 1- La cosa vi sembra fattibile oltre che folle e inutile? 2- L'hardware è sufficiente? 3-Sapete indicarmi un linguaggio di progetto adatto a questo lavoro? (L'importante è che non ci vogliano decenni per impararlo e che possa lavorarci su windows). Aspetto notizie. Grazie in anticipo. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
In pratica vuoi usare un vecchio computer per crearti un lettore dvd/divx?
Beh buona fortuna visto che non vuoi appoggiarti a nessun sistema operativo esistente. In pratica quello che devi fare è crearti un sistema operativo da zero. L'hardware va bene, ok magari una scheda grafica migliore sarebbe meglio ma li legge i dvd La cosa è ovviamente fattibile ma richiede tempo. Tieni presente che senza voler reinventare la ruota potresti 1) appoggiarti a qualche microkernel realtime molto leggero ( eCos, L4 ) 2) sfruttare librerie e codec opensource per non dover riscrivere inutilmente cose che già esistono e funzionano bene....penso a ffmpeg ad esempio Potresti ovviamente basarti sul kernel linux che è abbastanza completo oppure se proprio vuoi seguire la strada lunga e complicata puoi riscriverti una serie di service routine che pilotano l'hardware. La cosa importante è capire secondo quali modalità vuoi far funzionare il lettore. Sarà multitasking/monotasking? Avrà supporto per media esterni o meno? In che modo gestirai gli interrupt? Utilizzerai la p-mode o meno? Il linguaggio da scegliere in questi casi è il C, c'è poco da fare, no C no party Potresti scegliere il C++ ma perchè appesantire il tutto? Oppure Objective-C imho è una scelta eccellente. Potresti scrivere tutto in assembly ma non te lo consiglio p.s. usare windows per sviluppare un sistema operativo ti porrà presto o tardi di fronte a problemi di varia natura, dalla difficoltà ad installare librerie fino alla mancanza di componenti essenziali per il toolchain....l'uso di linux è vivamente consigliato |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jun 2009
Città: Milano
Messaggi: 65
|
Grazie mille!
OK! Quindi mi devo lanciare nel magico mondo di C ! ! ! Va bene! Allora devo ricominciare a studiare sul serio. Cavolate a parte: la cosa dei microkernel mi piace particolarmente. Dove trovarli? Ho la possibilità di lavorare in linux ma non ho la più pallida idea di dove trovare software adatti. Se sapete qualcosa, potete inviarmi il link di qualche corso C ed associati programmi linux? Grazie ancora |
|
|
|
|
|
#4 | ||
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
c'è l4 http://os.inf.tu-dresden.de/L4/ minix http://www.minix3.org/ kolibri http://www.kolibrios.org/ ecos http://ecos.sourceware.org/ freertos http://www.freertos.org/ mi è venuto in mente un kernel decisamente interessante che è newos http://newos.org/ questo kernel è alla base del noto clone di beos Haiku....ovviamente potresti pure pensare di adattare Haiku visto che è un sistema operativo noto per essere velocissimo proprio nei carichi multimediali tanto per capire quant'è veloce guarda qui http://www.youtube.com/watch?v=W3dsDf_DkII Quote:
piutttosto ti consiglio di bazzicare questo forum http://forum.osdev.org/index.php riguardo i software bastano make e gcc sotto linux per creare un sistema operativo li trovi installati su qualsiasi distribuzione linux per l'assembler ( che ti servirà ) ti consiglio fasm se proprio ti va di buttarti nel mondo del codice che si ottimizza a runtime e della compilazione jit puoi studiarti LLVM |
||
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
Quote:
MHO. |
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
Quote:
![]() scusa, secondo te Windows con cosa lo sviluppano? |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
sicuramente con una toolchain basata su visualc e che permette la compilazione di binari puri
hai mai sentito dire che col linker della microsoft si possono compilare binari puri? io no e tutti i sistemi operativi alternativi che ci sono in giro ( macosx compreso ) usano la toolchain gnu ah dimenticavo di dire a Primitive Dragon che macos x è ovviamente altrettanto efficace per lo sviluppo di sistemi operativi |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Per Windows ci sono sempre MingW e, soprattutto, Cygwin che mettono a disposizione quello che serve.
Per chi ha le versioni Business+ di Vista o 7 c'è anche il nuovo subsystem POSIX-compliant (SUA) che è decisamente comodo.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
e cygwin è un bel casino da settare e installare a dovere in passato sono riuscito ad ottenere buoni risultati con djgpp ma lo sviluppo non è sincronizzato con gcc la scelta più adatta sarebbe ricorrere a tcc |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
Quote:
non capisco poi come mai ti focalizzi sul problema di generare binari puri: in Windows il bootloader sará, chessó, un milionesimo di tutto il sistema operativo? un miliardesimo? i problemi che la toolchain deve affrontare sono ben altri. molto probabilmente comunque usano MASM. |
|
|
|
|
|
|
#11 | |||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
E' possibile, anche se con mingw mi pare che l'obiettivo fosse la realizzazione del minimo indispensabile per poter usare la toolchain GNU.
Sarebbe strano che abbiano tolto il supporto alla crosscompilazione (e annessi), ma a questo punto devo verificare. Quote:
Quote:
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Come disse Metal Carter!
Non ti sei perso niente, non è un compilatore che aspira a competere con chicchessia, anche se è un progetto carino (lo sviluppatore è uno davvero forte Da quel che mi risulta genera anche binari senza problemi. Tutt'al più, se non li genera direttamente come output della compilazione, li puoi esportare con objcopy.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
E' una impresa titanica con tali premesse. Esistono già distribuzioni linux che fanno quello che cerchi: http://wiki.xbmc.org/?title=XBMC_Live
Il problema è che non so se sia sufficiente l'hardware. |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Ci sono voluti 12 post, ma alla fine qualcuno glielo ha detto
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
cioè il lettore è una scusa per provare ad entrare nelle intercapedini del software di base |
|
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
Perchè si crede di poter fare tutto, si pensa che basti studiacchiare un po' e poi si rimane delusi. Non sto facendo una colpa a nessuno, è normale, non si nasce imparati. Però potendo vorrei suggerire che l'impresa è abbastanza lunga e difficile. Ci sono passato anche io poco fa nel credere di poter far tutto. E ora mi limito parecchio a cercar di capire quello che scrivo o leggo su guide. St'estate per fortuna finalmente potrò studiare seriamente.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:23.





















