Dsy Network www | forum | my | didattica | howto | wiki | el goog | stats | blog | dona | rappresentanti
Homepage
 Register   Calendar   Members  Faq   Search  Logout 
.dsy:it. : Powered by vBulletin version 2.3.1 .dsy:it. > Didattica > Corsi N - Z > Sistemi operativi I > new kernel
  Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
lordghost
Black Lord

User info:
Registered: Oct 2005
Posts: 232 (0.03 al dì)
Location: Milan
Corso: Informatica
Anno: 3
Time Online: 2 Days, 9:48:49 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
new kernel

C'è qualcuno interessato a sviluppare un nuovo kernel didattico?
Giusto per dar senso a quello che si dice a lezione :D

È ovviamente richiesta una minima conoscenza di assembly e C :)

__________________
My 3D blog: http://www.webgl.it

04-05-2010 08:54
Click Here to See the Profile for lordghost Click here to Send lordghost a Private Message Visit lordghost's homepage! Find more posts by lordghost Add lordghost to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
lordghost
Black Lord

User info:
Registered: Oct 2005
Posts: 232 (0.03 al dì)
Location: Milan
Corso: Informatica
Anno: 3
Time Online: 2 Days, 9:48:49 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Ho impostato alcuni punti fondamentali da cui partire. Il kernel che ho in mente dovrebbe inglobare molte caratteristiche d'avanguardia nascendo da una concezione nuova di kernel.
Dovrebbe essere un kernel assolutamente modulare che si autoadatta all'ambiente in cui opera.

L'idea principale è un kernel basato sui principali algoritmi di intelligenza artificiale ed è quindi in grado di automodificarsi a seconda dell'uso dell'utente.

Inoltre grazie ad una banca dati centralizzata ogni kernel può reperire informazioni sull'evoluzione di tutte le entità kernel, ottenendo così uno sviluppo decentrato con una potenza algoritmica senza pari.

Un'altro punto fondamentale sono i nuovi sistemi di user interface ed le novità in campo hardware che se sfruttate al massimo potrebbero permettere la creazione di un sistema operativo altamente vettorializzato.

Se qualcuno è interessato si potrebbe mettere in piedi un team ed entro un anno al massimo potremmo già distribuire una prima versione funzionante sbaragliando così l'attuale mercato con un prodotto d'avanguardia dalle potenzialità senza precedenti.

__________________
My 3D blog: http://www.webgl.it

09-05-2010 10:32
Click Here to See the Profile for lordghost Click here to Send lordghost a Private Message Visit lordghost's homepage! Find more posts by lordghost Add lordghost to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
fain182
dsy newser

User info:
Registered: Apr 2008
Posts: 126 (0.02 al dì)
Location: Milano
Corso: informatica
Anno: 3
Time Online: 2 Days, 1:09:39 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

non per frenare il tuo entusiasmo... ma tu hai vagamente presente quanto lavoro c'è dietro un kernel? :?
e vuoi fare un intero sistema operativo in un anno? :-D

10-05-2010 09:38
Click Here to See the Profile for fain182 Click here to Send fain182 a Private Message Find more posts by fain182 Add fain182 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
lordghost
Black Lord

User info:
Registered: Oct 2005
Posts: 232 (0.03 al dì)
Location: Milan
Corso: Informatica
Anno: 3
Time Online: 2 Days, 9:48:49 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Tutti hanno iniziato da zero, se non si comincia da qualche punto è ovvio che poi sembra impossibile farlo. L'ottimismo non ha mai ucciso nessuno :D

Disse un vecchio saggio che è difficile raggiungere la luna, ma se punti a raggiungere una lontana stella male che vada sei comunque arrivato alla luna :)

__________________
My 3D blog: http://www.webgl.it

10-05-2010 12:47
Click Here to See the Profile for lordghost Click here to Send lordghost a Private Message Visit lordghost's homepage! Find more posts by lordghost Add lordghost to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
DarkSchneider
Why so serious?

User info:
Registered: Feb 2004
Posts: 1250 (0.16 al dì)
Location: Brescia
Corso: Informatica
Anno: out of bounds :/
Time Online: 26 Days, 1:01:59 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

l'obiettivo è incredibilmente ambizioso, ma mi sembra si parlasse di kernel didattico, non di windows 8 ...

e concordo che da qualche parte bisogna pure cominciare ....

comunque, bello il proverbio, non lo conoscevo, ma in parole povere dice quello che ho sempre pensato pure io :D

13-05-2010 10:02
Click Here to See the Profile for DarkSchneider Click here to Send DarkSchneider a Private Message Find more posts by DarkSchneider Add DarkSchneider to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
TheKaneB
.primate.

User info:
Registered: Aug 2009
Posts: 63 (0.01 al dì)
Location: Milano
Corso: Informatica
Anno: 3
Time Online: 15:29:49 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Scusa, ma come intendi integrare il concetto di Intelligenza Artificiale con lo sviluppo degli algoritmi interni del kernel?
Tutti gli algoritmi di IA, ma anche gli algoritmi genetici, il simulated annealing, gli algoritmi evolutivi e via discorrendo, sono utili per creare algoritmi che abbiano un certo margine di fault tolerance.

Ad esempio non mi aspetto che un robot con visione artificiale riconosca correttamente tutti gli oggetti che gli si pongono davanti, ma mi accontento di una percentuale di successo del 90%.

Se un kernel ti garantisce che (ad esempio) la tua memoria virtuale sia mappata correttamente con un 90% di possibilità di successo, significa che nel 10% dei casi due processi stanno mappando la stessa pagina e quindi avrai serissimi problemi di race conditions...

Ecco, io ho fatto solo un esempio magari stupido, ma gradirei capire in che modo (un modo possibilmente concreto, e non filosofico) intendi sfruttare questi algoritmi di natura prettamente euristica, per risolvere problemi di natura booleana (cioè problema risolto / non risolto).

Per il resto, se ti interessa, avrei già iniziato un mio progetto simile qualche anno fa... si tratta di un microkernel per sistemi distribuiti e decentralizzati, dovrebbe consentire l'esecuzione decentralizzata di processi con tecniche adattive. In questo caso gli algoritmi di IA sono utili per garantire un buon livello di load balancing tra gli host della macchina distribuita...
Per ottenere lo scopo ultimo (la completa decentralizzazione) però, sto progettando una virtual machine con relativo compilatore di bytecode, per rendere la macchina indipendente dall'architettura degli host. Questo è necessario in quanto l'obiettivo del progetto dovrebbe essere quello di creare delle reti casalinghe usando PC, Smartphone, Console da gioco, Set-Top-Boxes e quant'altro (tutti con combinazioni OS/Arch potenzialmente diversi) in modo tale che venga creato un piccolo sistema virtualizzato all'interno del quale puoi usare le stesse applicazioni (e lo stesso ambiente) da ogni dispositivo connesso al "cloud" (odio questa parola, ma oggi va di moda).
Tutte le macchine del cloud contribuiscono a far girare i processi, in modo proporzionale alle proprie risorse hardware (e anche ai settaggi dell'ambiente). Questo, in teoria, dovrebbe comportare la possibilità di aumentare a piacere la potenza del cloud semplicemente aggiungendo nuovi apparecchi, scaricando su questi un client che rappresenti l'istanza "locale" del sistema operativo decentralizzato.

I client comunicheranno tramite una mesh P2P, anch'essa costruita sulla base di algoritmi adattivi (e qui rientra in gioco l'AI).

Comunque... mostraci qualche dettaglio un po' più tecnico, sul quale poter discutere, altrimenti parliamo solo di filosofia :p

__________________
Software Failure: Guru Meditation

13-05-2010 14:09
Click Here to See the Profile for TheKaneB Click here to Send TheKaneB a Private Message Visit TheKaneB's homepage! Find more posts by TheKaneB Add TheKaneB to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
DarkSchneider
Why so serious?

User info:
Registered: Feb 2004
Posts: 1250 (0.16 al dì)
Location: Brescia
Corso: Informatica
Anno: out of bounds :/
Time Online: 26 Days, 1:01:59 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by TheKaneB
Scusa, ma come intendi integrare il concetto di Intelligenza Artificiale con lo sviluppo degli algoritmi interni del kernel?
Tutti gli algoritmi di IA, ma anche gli algoritmi genetici, il simulated annealing, gli algoritmi evolutivi e via discorrendo, sono utili per creare algoritmi che abbiano un certo margine di fault tolerance.

Ad esempio non mi aspetto che un robot con visione artificiale riconosca correttamente tutti gli oggetti che gli si pongono davanti, ma mi accontento di una percentuale di successo del 90%.

Se un kernel ti garantisce che (ad esempio) la tua memoria virtuale sia mappata correttamente con un 90% di possibilità di successo, significa che nel 10% dei casi due processi stanno mappando la stessa pagina e quindi avrai serissimi problemi di race conditions...


non credo che lui parli di utilizzare euristica per mansioni mission-critical come la gestione della memoria o dei processi, io ho inteso qualcosa di più easy tipo che il sistema operativo si adegui all'utilizzo dell'utente decidendo di volta in volta se adottare un algoritmo fcfs oppure sjf, sulla base di certi parametri statistici raccolti, oppure che si ottimizzi per un uso batch anzichè ad alta interattività, questo facendo due esempi da quattro soldi che non mi sembrano irrealizzabili ....

è chiaro che sto fantasticando, anche perchè è lordghost che deve dirci cosa intendeva...

però mi defilo dal discorso, non ho ancora dato, ahimè, sistemi operativi :sad:, mentre vedo che thekaneb, da quel che ha scritto, sa proprio il fatto suo ....

Last edited by DarkSchneider on 13-05-2010 at 15:39

13-05-2010 15:36
Click Here to See the Profile for DarkSchneider Click here to Send DarkSchneider a Private Message Find more posts by DarkSchneider Add DarkSchneider to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
lordghost
Black Lord

User info:
Registered: Oct 2005
Posts: 232 (0.03 al dì)
Location: Milan
Corso: Informatica
Anno: 3
Time Online: 2 Days, 9:48:49 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Il linea di principio quello a cui pensavo è infatti una modulazione delle impostazioni del kernel in base all'utilizzo dell'utente con una specie di profiling. Anche qualcosa del genere: cercare di prevedere il comportamento di certe applicazioni più o meno conosciute e magari condividerne le caratteristiche (sto fantasticando).
Per esempio anche sul filesystem, cercare di organizzarlo per conoscenza del contenuto e non solo come stream di byte, abbiamo un so che impara i comportamenti di un file.
I computer al giorno d'oggi rimangono molto spesso in idle e potrebbe giovare l'utilizzo di algoritmi burst durante questi tempi morti.

In secondo luogo era ovvio che non ho nessun progetto in tasca, nè pensavo di brevettare niente di fatto anche perché devo ancora passare sistemi operativi :D
Infatti mi chiedevo se negli orizzonti del dsy ci fosse qualcuno con il mio stesso interesse da coltivare. L'unica cosa che ho fatto per adesso è un bootloader che legge uno stage2 che lancia un kernel pmode in C con una banale console.

__________________
My 3D blog: http://www.webgl.it

13-05-2010 17:48
Click Here to See the Profile for lordghost Click here to Send lordghost a Private Message Visit lordghost's homepage! Find more posts by lordghost Add lordghost to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
TheKaneB
.primate.

User info:
Registered: Aug 2009
Posts: 63 (0.01 al dì)
Location: Milano
Corso: Informatica
Anno: 3
Time Online: 15:29:49 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

beh, se sviluppate come si deve le tue sono delle buone idee :-)

Il mio kernel fa il boot su x86 tramite GRUB, su PPC (Nintendo Wii) e su ARM (Nintendo DS). Intendo costruirci sopra una VM per i motivi che ho detto sopra, in modo da appianare le differenze architetturali, nonostante mi piaccia molto programmare a basso livello :-)

Teniamoci in contatto, quando vorrai mettere mano seriamente al codice fammi un fischio ;-)

__________________
Software Failure: Guru Meditation

14-05-2010 01:21
Click Here to See the Profile for TheKaneB Click here to Send TheKaneB a Private Message Visit TheKaneB's homepage! Find more posts by TheKaneB Add TheKaneB to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
TheKaneB
.primate.

User info:
Registered: Aug 2009
Posts: 63 (0.01 al dì)
Location: Milano
Corso: Informatica
Anno: 3
Time Online: 15:29:49 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by TheKaneB
beh, se sviluppate come si deve le tue sono delle buone idee :-)

Il mio kernel fa il boot su x86 tramite GRUB, su PPC (Nintendo Wii) e su ARM (Nintendo DS). Intendo costruirci sopra una VM per i motivi che ho detto sopra, in modo da appianare le differenze architetturali, nonostante mi piaccia molto programmare a basso livello :-)

Teniamoci in contatto, quando vorrai mettere mano seriamente al codice fammi un fischio ;-)


Ah dimenticavo, al momento ho soltanto un abbozzo di filesystem basato su FAT16/32, un task manager (gestisce delle entità simili ai processi, ma con meno proprietà rispetto ai classici processi Unix), uno scheduler round-robin preemptive basato su thread (sicuramente pieno di bug da fixare o da rifare da capo), un memory manager (al momento senza memoria virtuale, visto che su ARM946E-S manca la MMU), una semplice console di debug (per ora solo su x86 e su ARM, manca quella per PPC) e un abbozzo di driver model sul quale ho impiantato i driver per la tastiera (su x86 soltanto), per il framebuffer e per il touchscreen (soltanto su DS).

Comunque opterei per una riscrittura completa, perchè negli anni ho notato che molte cose le avrei fatte meglio, soprattutto nel comparto Filesystem. Anche perchè le mie abilità di programmatore sono aumentate notevolmente negli ultimi 3 anni grazie ad alcune importanti esperienze lavorative :-)

__________________
Software Failure: Guru Meditation

14-05-2010 01:28
Click Here to See the Profile for TheKaneB Click here to Send TheKaneB a Private Message Visit TheKaneB's homepage! Find more posts by TheKaneB Add TheKaneB to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
TheKaneB
.primate.

User info:
Registered: Aug 2009
Posts: 63 (0.01 al dì)
Location: Milano
Corso: Informatica
Anno: 3
Time Online: 15:29:49 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by fain182
non per frenare il tuo entusiasmo... ma tu hai vagamente presente quanto lavoro c'è dietro un kernel? :?
e vuoi fare un intero sistema operativo in un anno? :-D


dipende cosa intendi per sistema operativo :-)

un sistema embedded real-time per applicazioni specifiche (ad esempio robotica) si può sviluppare in un anno. Certo, se intendi un sistema operativo general purpose per l'home computing, di anni ce ne vogliono almeno 5 con 50 programmatori al lavoro h24, senza ferie, ne pausa pranzo :D

__________________
Software Failure: Guru Meditation

14-05-2010 01:40
Click Here to See the Profile for TheKaneB Click here to Send TheKaneB a Private Message Visit TheKaneB's homepage! Find more posts by TheKaneB Add TheKaneB to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
lordghost
Black Lord

User info:
Registered: Oct 2005
Posts: 232 (0.03 al dì)
Location: Milan
Corso: Informatica
Anno: 3
Time Online: 2 Days, 9:48:49 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Molto interessante il tuo lavoro, di cose da imparare ne ho ancora parecchie visto che in confronto al tuo lavoro io "ho appena iniziato". Purtroppo l'unico problema è che in questo periodo riesco a dedicarci poco tempo e quindi vado molto a rilento.

Una volta sbrogliato questi ultimi esami vorrei dedicarmi più seriamente.
Hai qualche libro da consigliarmi? Oltre al Tanenbaum si intende :D
Ho visto che c'è Protected Mode, o simile, e mi sembra interessante come libro visto che dovrebbe trattare aspetti prettamente di basso livello. Ho il difetto/pregio di voler capire quello che faccio al 100%, poichè non mi accontento di copiare codice indiscriminatamente :D

Un'altra cosa: ho visto che alcuni sistemi operativi implementano le opengl, hai qualche idea di come si possa fare una cosa del genere? Non credo che Khronos sparga liberamente il codice sorgente, però ho pensato che basterebbero le librerie da linkare con le proprie syscall. Brancolo un pò nel buio però sarebbe figo.

Riguardo al tuo kernel, come dialoghi con le periferiche? Usi le chiamate del bios ho hai implementato dei driver che si interfacciano direttamente ai controller?
Ma per curiosità poi come lo testi il compilato? Non sono pratico di DS, esiste un emulatore o qualcosa del genere?

__________________
My 3D blog: http://www.webgl.it

14-05-2010 09:44
Click Here to See the Profile for lordghost Click here to Send lordghost a Private Message Visit lordghost's homepage! Find more posts by lordghost Add lordghost to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
TheKaneB
.primate.

User info:
Registered: Aug 2009
Posts: 63 (0.01 al dì)
Location: Milano
Corso: Informatica
Anno: 3
Time Online: 15:29:49 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by lordghost
Molto interessante il tuo lavoro, di cose da imparare ne ho ancora parecchie visto che in confronto al tuo lavoro io "ho appena iniziato". Purtroppo l'unico problema è che in questo periodo riesco a dedicarci poco tempo e quindi vado molto a rilento.

Una volta sbrogliato questi ultimi esami vorrei dedicarmi più seriamente.
Hai qualche libro da consigliarmi? Oltre al Tanenbaum si intende :D
Ho visto che c'è Protected Mode, o simile, e mi sembra interessante come libro visto che dovrebbe trattare aspetti prettamente di basso livello. Ho il difetto/pregio di voler capire quello che faccio al 100%, poichè non mi accontento di copiare codice indiscriminatamente :D


ti consiglio di leggerti i manuali tecnici di sistemi operativi esistenti. Qualcosa sugli internals di FreeBSD, BeOS, AmigaOS, ecc...



Un'altra cosa: ho visto che alcuni sistemi operativi implementano le opengl, hai qualche idea di come si possa fare una cosa del genere? Non credo che Khronos sparga liberamente il codice sorgente, però ho pensato che basterebbero le librerie da linkare con le proprie syscall. Brancolo un pò nel buio però sarebbe figo.

Vanno implementate come libreria in user space. Il kernel deve soltanto esporre una singola syscall, che consente il passaggio di un messaggio (un paio di numeri interi e qualche puntatore) al driver della scheda video. Questo messaggio poi conterrà i comandi GL, che verranno impacchettati dalla libreria in User Space.

Riguardo al tuo kernel, come dialoghi con le periferiche? Usi le chiamate del bios ho hai implementato dei driver che si interfacciano direttamente ai controller?

interfaccia diretta con il controller. In genere basta avere gli indirizzi dei registri di controllo, e scriverci dentro dei valori speciali, rispettando un certo timing. Il datasheet del componente di solito fornisce tutte le info necessarie.

Ma per curiosità poi come lo testi il compilato? Non sono pratico di DS, esiste un emulatore o qualcosa del genere? [/B]


Ci sono vari emulatori, come no$gba, DeSmuMe, iDeaS e altri. Ci sono anche degli adattatori microsd->cartuccia per caricare il codice direttamente sull'hardware e testarlo dal vivo, però così non hai supporto di debugging, quindi meglio lavorare in prima istanza con l'emulatore.

__________________
Software Failure: Guru Meditation

14-05-2010 09:54
Click Here to See the Profile for TheKaneB Click here to Send TheKaneB a Private Message Visit TheKaneB's homepage! Find more posts by TheKaneB Add TheKaneB to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
TheKaneB
.primate.

User info:
Registered: Aug 2009
Posts: 63 (0.01 al dì)
Location: Milano
Corso: Informatica
Anno: 3
Time Online: 15:29:49 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

allora... a che punto siamo qui? :D
sei pronto per buttare giù due linee di codice? io ti aspetto :p

__________________
Software Failure: Guru Meditation

01-07-2010 14:50
Click Here to See the Profile for TheKaneB Click here to Send TheKaneB a Private Message Visit TheKaneB's homepage! Find more posts by TheKaneB Add TheKaneB to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
lordghost
Black Lord

User info:
Registered: Oct 2005
Posts: 232 (0.03 al dì)
Location: Milan
Corso: Informatica
Anno: 3
Time Online: 2 Days, 9:48:49 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Che tristezza, non riesco più a concederci tempo.. troppi impegni tra lavoro, gli ultimi esami, tesi, gruppo musicale, sport, un po di vita sociale.. sono alla frutta.
Ma non ho fretta :D

__________________
My 3D blog: http://www.webgl.it

01-07-2010 17:24
Click Here to See the Profile for lordghost Click here to Send lordghost a Private Message Visit lordghost's homepage! Find more posts by lordghost Add lordghost to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 14:42.    Post New Thread    Post A Reply
  Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread | Add to Bookmarks

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
 

Powered by: vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento | Licenze | Thanks | Syndacate
Pagina generata in 0.046 seconds (82.97% PHP - 17.03% MySQL) con 26 query.