|
|
|
|
Strumenti |
07-03-2010, 18:35 | #321 | |
Senior Member
Iscritto dal: May 2007
Città: Provincia di Catania Occupazione: boh...?!?
Messaggi: 2260
|
Quote:
Il problema con i binutils è abbastanza diffuso, è un bug.... EDIT: funge sia su Debian che su Mandriva.
__________________
La lista delle mie trattative qui su HWUpgrade
Ultima modifica di Mendocino89 : 07-03-2010 alle 18:48. |
|
08-03-2010, 08:41 | #322 | |||||||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Quote:
Semplicemente mi danno fastidio il fanatismo, la chiusura mentale e lo spreco di risorse che vi gravita attorno. Quote:
Quote:
Quote:
Esempio: ti piacciono i compilatori, vuoi vedere e imparare come funzionano, ti rivolgi a GCC & co. "perché posso guardare i sorgenti", e dopo giorni di sbattimenti capisci che è meglio prendere un bel libro sull'argomento e sperimentare per i fatti tuoi... Quote:
Un altro clone di Linux per me rimane tempo perso, tranne per imparare appunto. Discorso diverso se finalmente si comincia a sperimentare su cose nuove, come dicevo un po' di messaggi fa, ma è difficile perché la mentalità che circola nell'ambiente è che i s.o. devono necessariamente derivare da Unix (o Posix, in generale). Quote:
Quote:
Di questo te ne accorgerai tu stesso quando dovrai realizzare di driver per il tuo s.o.. Per quanto detto finora, l'ideale dovrebbe essere rappresentato da una GPU di cui si abbia a disposizione tutta la documentazione necessaria. Qui l'esempio di AMD/Ati è piuttosto eloquente: pur avendo rilasciato tutto ciò già da parecchio tempo, mettendo a disposizione alcuni suoi dipendenti e altri di Novell, la qualità dei driver open source per le Radeon è ancora anni luce indietro rispetto a quelli closed. E chissà come sarebbero ridotti senza l'aiuto fornito, appunto. Nella vita bisogna imparare a essere meno idealisti e più pragmatici. Quote:
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 |
|||||||||||
08-03-2010, 09:39 | #323 |
Senior Member
Iscritto dal: Jun 2005
Messaggi: 365
|
Come procede? E' un po' che non passo di qui
|
08-03-2010, 10:05 | #324 | |
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
quotone da parte mia per cdimauro
in particolare su questo: Quote:
Microsoft sta facendo ricerca con Singularity e una prossima versione di Windows potrebbe essere interamente managed, perché non avviare un progetto GPL del genere? Singularity é open source ma non credo che sia propriamente FOSS secondo la definizione GNU. |
|
08-03-2010, 12:51 | #325 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Le "definizioni" di GNU, FSF & compagnia bella le lascerei perdere, visto che hanno ridefinito perfino il concetto di libertà (sei "libero" solo nella misura in cui sei costretto a fornire i sorgenti delle modifiche che hai fatto a un progetto GPL ).
Singularity è interessante, come pure il prossimo kernel "minimale" a cui sta lavorando Russinovich. P.S. All'esame di sistemi operativi (credo fosse il '97, se non ricordo male) ho portato una tesina su AmigaOS.
__________________
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 |
08-03-2010, 14:30 | #326 | |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
Un software è "open source" secondo la definizione dell'OSI se rispetta questi punti: http://www.opensource.org/docs/osd Un software è invece "libero" secondo la definizione della FSF se rispetta questi punti: http://www.gnu.org/philosophy/free-sw.html È facile vedere che la relazione che collega i due insiemi non gode di proprietà transitiva. Detto questo, Singularity è open source. La sua licenza (http://singularity.codeplex.com/license) sembra rispettare i punti stabiliti dall'OSI - mi mette solo un po' in dubbio il punto due: «2. That if any of the Software is in binary format, you will not attempt to modify such portions of the Software, or to reverse engineer or decompile them [...]». Non è però software libero, e nessuno gli chiede di esserlo. E continuo a non capire le critiche alla natura "virale" della GPL: se non vi piace, basta non usarla.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
08-03-2010, 15:46 | #327 | |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1227
|
Quote:
1-Senza una base da cui partire, sarebbe difficile portare avanti un progetto, soprattutto considerando quanto è stato necessario per realizzare i moderni cloni open source di UNIX. 2-Linux che in ambiente desktop credo sia il clone UNIX più conosciuto, è (in confronto ad altri OS) poco diffuso. Un OS completamente nuovo, sarebbe difficile da pubblicizzare, mentre un fork di Linux o un "clone from scratch" avrebbe un impatto diverso. Quello che intendo dire è che se Linux fatica a diffondersi, che speranze può avere un OS di nuova concezione? L'OS di Z80Fan viene scritto per fini didattici e non per conquistare il mercato, ma anche in questo caso, credo che risulterebbe difficile scrivere un OS da zero, senza averne un altro di riferimento. Tornando completamente IT, il titolo del thread è "Programmare un SO" quindi presumo che oltre al kernel verranno in seguito scritti editor di testo, debugger e altre applicazioni di uso comune, giusto?
__________________
MacBook 6,1|2,26 Ghz C2D|2GB 1067 Mhz DDR3|GeForce 9400M|Mac OSX 10.6.2 |
|
08-03-2010, 16:09 | #328 | |
Senior Member
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
|
Quote:
__________________
Khelidan |
|
08-03-2010, 18:49 | #329 | |||||
Senior Member
Iscritto dal: Sep 2009
Messaggi: 638
|
Quote:
Quote:
Quote:
Quote:
Abbastanza bene, spero che tu abbia dato un'occhiata ai nuovi sorgenti Ora stò lavorando per interfacciarmi con il grub patchato che mi inizializza direttamente la modalità vesa, ma sembra che ho problemi di comunicazione (mi dice che la mem. video inizia a 0!) Dovrò anche provvedere a un server svn su sourceforge sennò Zulutown mi spara Quote:
Cmq ora finiamo l'OT sulla libertà di Linux ok? Ultima modifica di Z80Fan : 09-03-2010 alle 13:57. |
|||||
08-03-2010, 20:08 | #330 |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1227
|
Leggendo su Wikipedia, cercando di capire di cosa si trattasse di preciso, ho letto che X è un gestore grafico per sistemi UNIX che non gestisce l'aspetto grafico, ma solo l'integrazione tra utente e server video. Mi chiedo, se sia assolutamente necessario un gestore grafico e se sia necessario distinguere il window manager dal gestore grafico. Inoltre OSX utilizza Quartz e X, SO *NIX usano esclusivamente X, mentre Windows cosa utilizza?
__________________
MacBook 6,1|2,26 Ghz C2D|2GB 1067 Mhz DDR3|GeForce 9400M|Mac OSX 10.6.2 |
08-03-2010, 20:21 | #331 | |
Senior Member
Iscritto dal: Sep 2009
Messaggi: 638
|
Quote:
Windows usa un sistema centralizzato, che fà sia da "server X" che da desktop e window manager. Funziona benissimo anche questo modo, inizialmente X era stato sviluppato quando ancora si usavano i terminali stupidi per accedere ad un sistema remoto, quindi X si basa sulle connessioni di rete per inviare i messaggi alle applicazioni (oggi non più perchè il server bypassa il sistema di rete per non intasarlo). Diciamo che un sistema centralizzato è anche più veloce, poichè non ha diversi strati a cui passare le stesse informazioni, e si può creare una cosa simile alla connessione a distanza con qualche trick. L'unico problema su Windows è che lo fanno girare in kernel mode, per questo si possono bloccare _tutte_ le finestre quando una è in mona (e a me non sò perchè mi succede spesso in windows ). Quindi io per il nostro os penserei a una cosa simile ad entrambi: un server sotto che gestisce solo la comunicazione di eventi e cose del genere, ed un'altra chè avrà un collegamento diretto con quest'ultima per disegnare effettivamente le cose sullo schermo. Le applicazioni comunicheranno solo con il server. Per il momento non ci interessa avere la connessione a distanza, ma si può tranquillamente integrare sucessivamente (se lo si scrive bene ) |
|
08-03-2010, 21:20 | #332 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Interessante!
Comunque credo che nelle nuove versioni di windows il window manager è ben separato (DWM) e gira in user mode che io sappia, infatti da Vista SP1 non succede più il "blocco totale" |
08-03-2010, 21:30 | #333 |
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
anche se ci capisco poco seguo con molto interesse il thread... scusate ma se si sviluppasse un os partendo invece già da un kernel, che software bisognerebbe scrivere? cioè cosa offrirebbe già di suo il kernel e cosa mancherebbe? per caso a grabdi linee il kernel si interfaccia con l'hardware e bisognerebbe scrivere il software che infece si interfaccia fra utente e kernel e quindi appunto l'interfaccia?
|
08-03-2010, 22:55 | #334 |
Senior Member
Iscritto dal: Apr 2003
Messaggi: 591
|
Sulla Unixness o Posixness ( ):
Parlando da ignorante in materia (sono un bioinformatico): non sarebbe meglio sviluppare quest'os con le mani completamente libere e pensare poi alla compatibilità in futuro utilizzando una sandbox virtualizzata? (scusate se ho detto una castroneria) |
09-03-2010, 07:48 | #335 | ||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Quote:
Quote:
Quote:
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 |
||||||
09-03-2010, 13:58 | #336 | ||
Senior Member
Iscritto dal: Sep 2009
Messaggi: 638
|
Quote:
Quote:
|
||
09-03-2010, 18:14 | #337 | ||
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4740
|
Quote:
quindi per dirsi compatibile un server X11 deve comunque supportarle, e un sistema su cui esso sia il fulcro (e non un' opzione, come avviene su OSX ) dello stack grafico dovrà trascinarsele dietro fintantoche non verranno deprecate (se mai ciò avverrà) Quote:
ma quando si è pensato al sistema grafico X, il supporto alle librerie non era presente in molte delle varie versioni di unix dell' epoca, e ove era presente era ancora praticamente una novità , da cui la condivisione del codice attraverso un server centrale d' altra parte all' epoca, non si sentiva il bisogno di GUI locali ricche, complesse e reattive come le attuali, complice anche il target del sistema operativo per cui X nasceva - dovendo disaccoppiare visualizzazione ed elaborazione dell' interfaccia ad uso di mainframe, server o sistemi distribuiti, un sistema grafico network transparent era considerato un compromesso accettabile, nonostante le latenze e i round trip che il design implicava... detto ciò, è più che lecito che una struttura come quella che si è tramandata fino ad oggi appaia "strana", anacronistica e possiiblmente inefficiente, all' esterno - in effetti lo è
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
|
||
09-03-2010, 19:34 | #338 | |||||||
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4740
|
Quote:
che mi risulti nessun programma s' interfaccia nativamente con il server X gestendo direttamente il socket(*) e il marshaling dei dati, si ha una libreria (Xlib, più recentemente XCB) che lo fa internamente e si usa la API esportata da questa Quote:
Quote:
Quote:
il server bypassa il sistema di rete non per non intasarlo quanto perchè nel tempo ci si è resi conto che non aveva molto senso che la GUI si appoggiasse allo stack di rete quand' anche fosse stata locale... quindi il primo passo è stato passare a un diverso transport layer (socket unix domain) e usare un tipo di socket o l' altro a seconda dei casi (ui locale o remota) mantenendo la semantica di scrittura / lettura su socket per non dover rivoluzionare il resto della code base (che all' epoca era ancora quella del server MIT poi confluita in xfree, complessa e monolitica) Quote:
Quote:
Quote:
anche se per un momento sono stato seriamente tentato di consigliarti di lasciar perdere, ma voglio provare a consigliarti come procedere - ovvero, come procederei io se si trattasse di un mio progetto - parti dai requisiti - può sembrare banale ma fidati, non lo è, soprattutto non è banale analizzare e riconoscere i requisiti (al tempo stesso è fondamentale farlo per un sistema complesso e infrastrutturale come lo è una GUI) quindi cosa vuoi ottenere? window decoration fisse o modificabili? window behaviour a sua volta fisso o modificabile? imaging model (2d) quello standard del PDF e di librerie come Cairo o quartz, o qualcosa di diverso (tanti auguri)? modello di IO per quanto riguarda le periferiche e in particolare la scheda grafica? come vedi ne hai di cose a cui pensare... - cerca di capire quale funzionalità vengono replicate nelle singole applicazioni ( ad esempio il rendering di testo e grafica - su frame buffer privati) e quali richiedono di essere centralizzate (ad esempio compositing, window management, cursore del mouse, input redirection) - identificato tutto ciò che va centralizzato, analizza cosa va reso personalizzabile, e progetta delle API interne che consentano di implementarlo in uno singolo processo modulare con plugin - parti dal kernel, non dalla gui - quando si progetta una sistema operativo nuovo, la gui è l' ultima cosa a cui pensare tra quelle della prima iterazione spesso si dice che il il kernel è ciò che fa da tramite tra le applicazioni e l' hw - non è esatto, il kernel è ciò che consente a più applicazioni di condividere l' hardware in modo trasparente e sicuro, ma è anche l' elemento da cui dipendono le semantiche a cui le applicazioni si devono attenere ( tra cui il process model, il threading model, il security model, l' IO model, eccetera) e su cui queste andranno modellate quindi è la prima cosa da progettare e implementare... a meno che non si voglia imitare un sistema preesistente basandosi sulle stesse semantiche e sulla stessa struttura di questo ( ma allora non si crea nulla di innovativo, si tratta di una mero esercizio per poter dire "lo so fare anch' io") ma allora, consiglierei quantomeno di prendere come modello un kernel più elegante e moderno del solito *nix.. chessò, VMs, NT... - ottimizza per il caso locale - siccome mi pare di capire che stia pensando a un sistema desktop e non il solito clone di un OS per server basato su una concezione già obsoleta, sarebbe un buon punto di partenza fare come se la rete non esistesse , e i servizi locali (same machine) fossero basati su meccanismi di IPC più efficienti (come LRPC, "active contexts" le doors o al più messaggi come quelli di binder) che non i soliti socket con read() bloccante e marshaling dei dati
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
Ultima modifica di jappilas : 09-03-2010 alle 20:36. |
|||||||
10-03-2010, 08:42 | #339 | |||||
Senior Member
Iscritto dal: Sep 2009
Messaggi: 638
|
Quote:
Quote:
Quote:
Quote:
"un'altra chè avrà un collegamento diretto con quest'ultima per disegnare effettivamente le cose sullo schermo." intendevo dire qualche sorta di plugin o modulo che veniva inglobato nel server all'avvio o quando l' utente vuole cambiare; non è un programma vero e proprio, solo un insieme di funzioni che istruiscono il server su come disegnare i vari elementi sullo schermo: ad esempio un modulo base potrebbe disegnare un rettangolo quando viene chiamata la funzione "disegnaPulsante", una versione più avanzata potrebbe caricare da file una immagine, scriverci sopra il testo del pulsante e poi disegnare quello. Oppure il server si potrebbe preoccupare solo di copiare i buffer di ogni finestra nel framebuffer e lasciare alle applicazioni (e attraverso librerie caricate da queste ultime) il compito di disegnarci sopra. Queste cmq sono solo idee, non dovete prenderle seriamente, anche perchè non c'è ancora uno scheduler e un gestore di memoria! Quote:
Cmq grazie per gli altri consigli, saranno utili quando arriveremo effettivamente alla gui |
|||||
10-03-2010, 08:48 | #340 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53968
|
Quando in un futuro arriverai a scrivere un ambiente grafico... Ti ricompili e modifichi direttamente il gestore di framebuffer delle librerie Qt e vai a scrivere il window manager direttamente tramite le Qt. Poi se ci fosse da pensare ad una qualsiasi struttura alternativa....avrai sicuramente tempo.
Nota che per arrivare a quei livelli dovrai già avere un compilatore funzionante, quindi un porting della libreria standard...campa cavallo !!! |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:13.