Requisiti per creare un sistema operativo ... sarà il mio futuro

Stato
Discussione chiusa ad ulteriori risposte.

bardakninetysix

Utente Attivo
172
3
CPU
i7 3770k
Scheda Madre
Gigabyte ga z77 xd3h
HDD
SSD Crucial M4 64gb + HDD 2TB Western Digital
RAM
4x4gb cl9 GSkill Ripjawsz
GPU
Palit Jetstream GTX 770 4gb
Audio
Integrata nella motherboard
PSU
Super Flower 1000w 80 plus bronze
Case
Aerocool Sycloone II
OS
Windows 7 Professional
Ciao a tutti !
Sono un appassionato e fanaticissimo di informatica.
Mi piace molto assemblare computer e ovviamente usarli .
Tuttavia non so niente di programmazione o di linguaggi di programmazione. ma visto che in futuro voglio dedicare la mia vita all'informatica ed alla programmazione, vorrei iniziare subito ad imparare dei linguaggi di programmazione.
Il sogno della mia vita, da qualche anno è quello di mettere su' un sistema operativo completamente mio . DA ZERO !
Vorrei dunque anche sapere se posso creare un mio linguaggio di programmazione .
Come devo fare ?
Devo imparare prima un altro linguaggio ?
E' importante imparare assembly ?

Sono nelle vostre esperte mani !
grazie in anticipo !
 

1nd33d

Utente Attivo
653
279
CPU
Intel i5 3570K @ 4,5Ghz
Dissipatore
Scythe Mugen 2
Scheda Madre
Gigabyte Z77X-UD3H
HDD
Samsung 840 PRO 256GB + Sandisk Ultra 250GB + Sandisk Plus 960GB
RAM
2x8GB Crucial Ballistix Tactical @2000Mhz CL9
GPU
XFX RX480 GTR Black Edition
Audio
Auzentech X-Fi Forte
Monitor
AOC i2369VW
PSU
Seasonic P660
Case
eh?
Periferiche
Razer Naga HEX v2
OS
Windows 10 64bit - Linux Mint 18
Prima di anche solo pensare di scrivere una riga di codice, ti suggerisco di leggere e studiare libri sull'architettura degli elaboratori, sistemi operativi, sistemi concorrenti (la parte più importante e delicata insieme alla gestione della memoria), sistemi paralleli... questo solo per avere una idea generale di cosa è e come funziona un sistema operativo nelle sue funzioni basilari.
Fatto questo (non ci metti meno di un anno di studio intenso ad assimilare tutto), ammesso che tu sia ancora convinto, puoi iniziare a fare qualche tentativo con il C, linguaggio guardacaso nato proprio per scrivere Unix. Ma prima di approcciarti all'OS devi ovviamente sapere usare il C divinamente, e no, non basta un libretto pdf scaricato online o le miniguide di html.it, serve molto studio anche per quello.
Sembrerò lapidario, ma anche solo per creare un OS base (da riga di comando senza concorrenza e gestione memoria basilare) richiede conoscenze che è difficile acquisire pure dopo un corso di laurea magistrale in informatica.
Ogni singolo argomento (memoria, concorrenza, gestione processi...) richiede un livello di comprensione che forse nemmeno ti immagini al momento.
 

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10
Allo stato attuale, è e rimarrà per te solo un sogno. Non sai scrivere un Hello World e vuoi creare un OS...patetico.
Se credi che un SO è composto da qualche manciata di righe di codice, dai uno sguardo al kernel Linux su lxr.
Vuoi ancora farlo? Dai uno sguardo ad osdev; in particolare la sezione Requisiti.
Buon divertimento.
 

Tinwor

Utente Attivo
932
143
@bardakninetysixhai mica pensato anche di crearti un tuo anti virus e magari una tua suite office?
A parte gli scherzi al tuo livello attuale è impossibile che tu possa creare un sistema operativo.
Un OS non si può inventare dall' oggi al domani e servono molte persone per poter far qualcosa che non sia solo per un elitè persone.
Ad esempio sono nella comunità di freebsd e mi occupo principalmente del file system; con me ci sono altre minimo 40 persone che ci lavorano su.
Lavoro anche su una custom android(verrà presentta su xda fra novembre e dicembre) anche li siamo molti e c' è tantissimo lavoro da fare.
Quindi pensa prima a studiare e poi fatti tutte le seghe mentali del caso ;)
 

bardakninetysix

Utente Attivo
172
3
CPU
i7 3770k
Scheda Madre
Gigabyte ga z77 xd3h
HDD
SSD Crucial M4 64gb + HDD 2TB Western Digital
RAM
4x4gb cl9 GSkill Ripjawsz
GPU
Palit Jetstream GTX 770 4gb
Audio
Integrata nella motherboard
PSU
Super Flower 1000w 80 plus bronze
Case
Aerocool Sycloone II
OS
Windows 7 Professional
infatti io non ho detto di essere in grado di creare il sistema operativo .
Ne tantomeno ho menzionaro di volerlo creare da oggi a domani.
Mi sono soltanto rivolto a delle persone che ne sanno di più di me in questo forum, al fine di conoscere quali cose devo imparere (linguaggi etc...) per realizzare il mio progetto .


Quali sono i requisiti :
Che linguaggio devo imparare ?
E' necessario Assembly ? Che differenza 'è tra assembly x86 x64 e le altre versioni ?
Come realizzo un mio linguaggio di programmazione ? posso partire da zero oppure devo ispirarmi ad un altro linguaggio ?

Grazie ancora.
 
Ultima modifica:

1nd33d

Utente Attivo
653
279
CPU
Intel i5 3570K @ 4,5Ghz
Dissipatore
Scythe Mugen 2
Scheda Madre
Gigabyte Z77X-UD3H
HDD
Samsung 840 PRO 256GB + Sandisk Ultra 250GB + Sandisk Plus 960GB
RAM
2x8GB Crucial Ballistix Tactical @2000Mhz CL9
GPU
XFX RX480 GTR Black Edition
Audio
Auzentech X-Fi Forte
Monitor
AOC i2369VW
PSU
Seasonic P660
Case
eh?
Periferiche
Razer Naga HEX v2
OS
Windows 10 64bit - Linux Mint 18
le risposte che ottieni possono essere fredde perchè il tuo approccio (quello che traspare dalla tua domanda) è sbagliato.
Che linguaggio devo imparare ?
Questa domanda già è disarmante...
Quale linguaggio imparare per scrivere un OS... prima studia cos'è un sistema operativo e come funziona a vari livelli, la programmazione è la parte più "facile", alla stegua di un coder scimmia, basta sapere cosa scrivere (ed è questo il punto, non il linguaggio...).
E' necessario Assembly ? Che differenza 'è tra assembly x86 x64 e le altre versioni ?
Certo che si, l'assembly è il linguaggio macchina, e dipende dall'architettura, per questo esistono diverse versioni. Studia architettura degli elaboratori per avere una vaga idea di cosa si sta parlando.
Come realizzo un mio linguaggio di programmazione ? posso partire da zero oppure devo ispirarmi ad un altro linguaggio ?
Ma perchè devi farlo? Ispirarti a un altro linguaggio? Cosa significa ispirarsi a un altro linguaggio? Copiarne la sintassi?
Un linguaggio di programmazione è fondamentalmente una trasposizione a un più alto livello del codice macchina.
Ma hai qualche conoscenza di teoria dei linguaggi, paradigmi, lambda calcolo, tipizzazione, inferenza... ? e questo è solo l'abc di un argomento vastissimo.

Vedi, il problema non è la tua passione o le tue aspirazioni, il problema sono le domande che poni, che sono antisonanti per l'orecchio di un qualsiasi informatico di media capacità. Non dovresti proprio nominarli i sistemi operativi al tuo livello.
Non c'è una scorciatoia per scrivere sistemi operativi, non c'è un set di conoscenze mirate a questo scopo. Ci vuole tanta conoscenza teorica estesa in informatica e anche matematica su cui si costruisce una idea, poi tanta pratica alle spalle per sapere come implementarla. E serve tanta gente... certo se vuoi fare un sistema operativo con concorrenza di base per un microcontrollore allora magari da solo ce la fai (sempre dopo aver studiato), ma anche per il più banale OS per pc servono team assurdi e tanta, tanta, tanta conoscenza.
 
  • Mi piace
Reazioni: bardakninetysix
M

Mursey

Ospite
Ti faccio un paragone tanto per farti capire la portata di quello che stai chiedendo :
e' come se uno che non sa disegnare volesse dipingere la Cappella Sistina.

Se hai la passione prima impari, la coltivi, la fai crescere.
Ogni volta ponendoti nuovi obbiettivi.

Chissa' che poi un giorno tu non possa davvero creare un sistema operativo ma non avere fretta di farlo gia' adesso,
ti sentiresti frustrato e ti passerebbe la voglia.
 
  • Mi piace
Reazioni: il velo di Maya

Federico83

UTENTE LEGGENDARIO
Utente Èlite
35,407
6,323
CPU
Ryzen 7 3700X
Dissipatore
NDH15
Scheda Madre
Gigabyte auros X570 elite
HDD
4.5TB + 15 di NAS lol
RAM
16 GB G.Skill 3200
GPU
RTX2070
Monitor
IIyama 28" 4K
PSU
Cooler Master GX 650
Case
REV200
OS
Windows11x64pro
infatti io non ho detto di essere in grado di creare il sistema operativo .
Ne tantomeno ho menzionaro di volerlo creare da oggi a domani.
Mi sono soltanto rivolto a delle persone che ne sanno di più di me in questo forum, al fine di conoscere quali cose devo imparere (linguaggi etc...) per realizzare il mio progetto .


Quali sono i requisiti :
Che linguaggio devo imparare ?
E' necessario Assembly ? Che differenza 'è tra assembly x86 x64 e le altre versioni ?
Come realizzo un mio linguaggio di programmazione ? posso partire da zero oppure devo ispirarmi ad un altro linguaggio ?

Grazie ancora.

intanto prova a compilare una arch senza guida. così intanto inizi a a farti le ossa poi ritorna senza copiare dal wiki mi raccomando.
 

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10
intanto prova a compilare una arch senza guida. così intanto inizi a a farti le ossa poi ritorna senza copiare dal wiki mi raccomando.
Spero tu sappia che quello che hai detto non ha nessun senso in questo ambito, vero?
 

Federico83

UTENTE LEGGENDARIO
Utente Èlite
35,407
6,323
CPU
Ryzen 7 3700X
Dissipatore
NDH15
Scheda Madre
Gigabyte auros X570 elite
HDD
4.5TB + 15 di NAS lol
RAM
16 GB G.Skill 3200
GPU
RTX2070
Monitor
IIyama 28" 4K
PSU
Cooler Master GX 650
Case
REV200
OS
Windows11x64pro
Spero tu sappia che quello che hai detto non ha nessun senso in questo ambito, vero?

si ovviamente. Ma mi sembra cmq una presa per i fondelli questo 3d quindi scemenza più scemenza meno... non vedo dove sia il problema. Poi è uno può essere pure Steve Jobs de'noantri questo nessuno lo mette in dubbio ma credo che menti Brillanti come quelle siano rare come le mosche bianche... Cerchiamo cmq di non prendere troppo seriamente sta roba altrimenti si va a casa con il fegato grosso...
 

bardakninetysix

Utente Attivo
172
3
CPU
i7 3770k
Scheda Madre
Gigabyte ga z77 xd3h
HDD
SSD Crucial M4 64gb + HDD 2TB Western Digital
RAM
4x4gb cl9 GSkill Ripjawsz
GPU
Palit Jetstream GTX 770 4gb
Audio
Integrata nella motherboard
PSU
Super Flower 1000w 80 plus bronze
Case
Aerocool Sycloone II
OS
Windows 7 Professional
nononono !
c'è stato un malinteso.
io non voglio iniziare a creare il mio sistema operativo oggi !
io voglio imparare da oggi le basi per poterlo fare in futuro.un lontano futuro
la mia domanda in parole semplici è : quali sono le cose basi da imparare ? mi potete postare delle buone guide se le conoscete ?

p.s. vi prego poi... non insultatemi dicendo che quello che ho scritto è inutile o ridicolo ... dopotutto sono uno che viene in questo forum per imparare ... altrimenti se sapessi le cose non mi sarei iscritto ... siate gentili ... grazie ancora

 
Ultima modifica:

1nd33d

Utente Attivo
653
279
CPU
Intel i5 3570K @ 4,5Ghz
Dissipatore
Scythe Mugen 2
Scheda Madre
Gigabyte Z77X-UD3H
HDD
Samsung 840 PRO 256GB + Sandisk Ultra 250GB + Sandisk Plus 960GB
RAM
2x8GB Crucial Ballistix Tactical @2000Mhz CL9
GPU
XFX RX480 GTR Black Edition
Audio
Auzentech X-Fi Forte
Monitor
AOC i2369VW
PSU
Seasonic P660
Case
eh?
Periferiche
Razer Naga HEX v2
OS
Windows 10 64bit - Linux Mint 18
Quello che serve per partecipare alla scrittura di un os (se ti interessa questo campo, ti unirai per forza ad altra gente, da soli si fa ben poco) non sono solo le basi, serve conoscenza approfondita di molti campi.
Un OS è un livello di astrazione completo sopra alla macchina concreta, in altre parole l'OS è l'interfaccia primaria tra hardware e software, quindi ti serve una conoscenza approfondita ad ampio spettro. Per forza di cose però una persona tente a specializzarsi in una cosa, è impossibile specializzarsi in tutto, per questo diciamo che ti serve un gruppo di persone e una idea che valga la pena di essere seguita.
In ogni caso devi partire dall'architettura degli elaboratori: componenti logiche di un elaboratore, codice macchina, assembly, memoria e gestione.
Poi studi sistemi operativi e modelli preesistenti di essi, dovresti appronfodire a questo punto diversi aspetti degli os: concorrenza (cos'è e come si costruisce), parallelismo (cos'è e come si sfrutta, qui entrano in gioco tanti di quegli argomenti che nemmeno saprei elencarli).
Se riuscirai ad apprendere abbastanza bene questi primi concetti, avrai una idea di cosa è un sistema operativo e a cosa realmente serve, nonchè l'importanza sostanziale della sua struttura, che va ben al di là della semplice interfaccia.
A questo punto già inizierai a farti idee più concrete e realistiche.
Non ha senso che vada avanti, già per quello già scritto sopra, basta a malapena un corso di laurea in informatica per averlo ben chiaro.
 
Ultima modifica:
M

Mursey

Ospite
nononono !
c'è stato un malinteso.
io non voglio iniziare a creare il mio sistema operativo oggi !
io voglio imparare da oggi le basi per poterlo fare in futuro.un lontano futuro
la mia domanda in parole semplici è : quali sono le cose basi da imparare ? mi potete postare delle buone guide se le conoscete ?

p.s. vi prego poi... non insultatemi dicendo che quello che ho scritto è inutile o ridicolo ... dopotutto sono uno che viene in questo forum per imparare ... altrimenti se sapessi le cose non mi sarei iscritto ... siate gentili ... grazie ancora


Quindi la tua domanda si riduce al classico "Imparare a Programmare"
per non ripetere sempre le stesse cose ci sono parecchi post con elenchi e tutorial.
 

bardakninetysix

Utente Attivo
172
3
CPU
i7 3770k
Scheda Madre
Gigabyte ga z77 xd3h
HDD
SSD Crucial M4 64gb + HDD 2TB Western Digital
RAM
4x4gb cl9 GSkill Ripjawsz
GPU
Palit Jetstream GTX 770 4gb
Audio
Integrata nella motherboard
PSU
Super Flower 1000w 80 plus bronze
Case
Aerocool Sycloone II
OS
Windows 7 Professional
quindi se io imparassi tutte le cose da voi elencate potrei anche modificare un sistema operativo preesistente ?
se si ... potrei riuscirci da solo ?
 
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili