Architettura degli elaboratori

  • Autore discussione Autore discussione Ed97
  • Data d'inizio Data d'inizio
Pubblicità
incolto ha detto:
Perchè a me hanno fatto iniziare e fatto fare C :D ecco perchè dico il C.
E se vuoi indirizzare memorie e registri devi usare il C :D
Con puntatori, casting e tanto sbattimento :D

Appunto. Ma ad oggi non sono problemi necessari per un neofita.
Col tempo sicuramente avrà bisogno di linguaggi che permettano di fare qualcosa di più e/o con più efficienza. Ma ad ira non ne ha bisogno.
E un nuovo linguaggio si impara abbastanza in fretta, quindi il problema del cambio di linguaggio non sarebbe così grande.

Tu hai iniziato con il C per altri motivi. O vuoi gestire l'hardware con Java, così tra quando mandi un segnale e quando ricevi risposta passano migliaia e migliaia di cicli? :hihi::lol:
 
Ultima modifica:
E sinceramente non capisco come si faccia, nel 2013, a consigliare di cominciare con un linguaggio procedurale come il C e di un livello abbastanza basso quando abbiamo linguaggi ad oggetti che permettono di astrarre l'hardware quasi del tutto.
C verrà da solo col tempo quasi sicuramente se il campo piace. E se andrai all'università sarai costretto a farlo.

Quotone! :)
 
ok ho letto tutte le pagine di "spam" e ho capito che in realtà non sai da cosa partire...vai di JAVA :sisi: per capirlo concettualmente non ci vuole molto cioè è piuttosto facile come linguaggio ( per quanto ho fatto io finora :sisi: ), adesso arriva @wine che mi dice che sono un nabbo e che lascerò l'uni :sisi:
 
L'assembly dovrò impararlo?

- - - Updated - - -

Io sono un neofita, gli esperti siete voi...
Riguardo all'architettura che mi dite?
 
I linguaggi di mio interesse sono C e Assembly, gli altri se li studio è perché mi servono...
L'assembly letteralmente parlando è un cas.ino??

E' una cazzata. Io ho fatto un progettino in MIPS e posso dire che è semplicissimo: devi saper fare solo un po' di conti coi bit e ricordarti che la macchina è veramente "stupida" a quel livello; ad es. una moltiplicazione fra due interi a 32 bit restituisce 64 bit che sono divisi un due registri che quindi contengono il risultato spaccato a metà, lower e upper. Capisci, sei semplicemente molto limitato. Viene usato soprattutto per microcontroller o cose del genere, tipo moltissime strumentazioni per gli aerei di linea hanno il software scritto in assembly. COmunque io l'ho studiato nel laboratorio di architettura, ma praticamente me lo sono imparato da solo, tanto sono veramente quattro scemenze (almeno per quello che ho visto io!).
 
La domanda è... a cosa ti serve l'assembly?
L'assembly lo conoscono solamente:
- chi scrive il software per applicazioni mirate (in genere embedded) in cui si deve risparmiare memoria il più possibile e in cui bisogna dire per filo e per segno cosa fare. La complessità non è data dal linguaggio in sè, ma dal fatto che devi scomporre tutto fino ai minimi termini. Fare una somma ti prende un pò di righe...
inoltre l'assembly dipende dalla architettura. Quello della x86 non so come sia, nel senso... lo trovi sicuramente su internet, ma è differente da quello del MIPS. Perchè viene ottimizzato (ovviamente) per quella architettura. Diciamo che puoi vedere l'assembly come "le istruzioni che sa eseguire il processore".
- chi deve lavorare sul compilatore. Per intenderci... chi sviluppa APP e il 99% dei programmatori non ha bisogno di conoscere l'assembly sul lavoro perchè non lo usa. Quello che ha fatto lock3r, io e wine, di fatto è una cosa reale ma didattica. Diciamo che serve per dire: esiste, si ragiona più o meno così, capite come è una architettura, se ci lavorerete davvero saranno dolori, arrivederci.
Anche a livello di SoC per quanto si può si lavora in C.

Segui il cosniglio degli altri utenti.
Per il resto... come funziona una architettura... dipende da quello che devi fare. Non ha senso e non serve sapere come funziona se devi scrivere semplice codice o SW "generitco". Inoltre credo che quando vai a "indirizzare la memoria", ci sia il sistema operativo a fare da tramite. Di certo non ti si lascia libero di scrivere ad cazzum (forse Win si :asd: ) sulla memoria. Di certo non accedi ai registri interni della CPU... Insomma... Secondo me ha senso avere determinate conoscenze delle architetture solamente se lavori in determinati contesti. Altrimenti è uno spreco di risorse/tempo.

Discorso reti... cosa intendi per reti? Rete internet? E' un argomento vastissimo. Puoi tranquillamente lavorare e configurare una rete LAN di un edificio o altro senza conoscere il C o architettura dei procesori. Li ti serve, casomai, avere conoscenze sui protocolli di routing. E nemmeno in modo spinto. Semmai sapere che esistono e come funzionano.
Oppure reti di telecomunicazioni e dunque modulazioni? OFDM? li ti serve matematica. Fourier come il pane. Nyquist...
Informazione e codici? Tipo Huffman? Shannon-Fano? Per non parlare (non li conosco) degli algoritmi di compressione e altro... o tipo l'mp3 il jpeg... dietro c'è parecchia matematica...

Inoltre per altre materie che avevi citato... ti serve molta molta molta matematica. Se si tratta di programmare no. Se si tratta di fare le cose in dettaglio... si.
Insomma... piano piano impari. Ma prima devi capire cosa realmente vuoi fare. E questo lo capisci solamente se inizi dal basso. Perchè capisci meglio cosa ti piace e fino a che punto ti vuoi fermare
 
Il mio obiettivo è diventare per lo meno un esperto sulla sicurezza e sugli attacchi informatici.
Sapere altro oltre a quel campo mi limita in modo minore, sapere più cose non è un male, anzi...

Alla fin fine di tutto questo discorso, ho compreso che tutti consigliano la programmazione, quindi essa è la base per arrivare alla conoscenza? :inchino:
 
Se il tuo obiettivo è diventare un "hacker" e non lo dico in tono negativo o accusatorio, non saprei come indirizzarti.
Magari inizia da un pò di programmazione, poi navigando imparerai a discriminare quello che serve e che non serve.
 
Il mio obiettivo è diventare per lo meno un esperto sulla sicurezza e sugli attacchi informatici.
Sapere altro oltre a quel campo mi limita in modo minore, sapere più cose non è un male, anzi...
E' proprio qui che sta il punto, la sicurezza informatica comprende praticamente quasi tutto :asd:
E come se dicessi "voglio studiare matematica, ma mi basta una minima conoscenza delle espressioni"...
Alla fin fine di tutto questo discorso, ho compreso che tutti consigliano la programmazione, quindi essa è la base per arrivare alla conoscenza? :inchino:
Diciamo che è una delle basi (non l'unica) :)
 
Incolto, saper come svolgere un attacco, saper portarlo al termine, e altre cose non ti rendo un hacker, per lo meno è quello che penso io, se hai conoscenze di un hacker e hai una conoscenza incredibile sai fare moltissime cose alcuni ti prendono per hacker, ma alla fine hacker o no è pur sempre una persona con una conoscenza ben molto più alta della media., no? (scusate per aver usato troppe volte conoscenza)

Beh che dire, partirò dall'architettura e dalla programmazione, studio un po questo un po quello, poi vediamo cosa potete consigliarmi per continuare, anche se avevo già in mente i sistemi operativi.
 
Il mio obiettivo è diventare per lo meno un esperto sulla sicurezza e sugli attacchi informatici.
Sapere altro oltre a quel campo mi limita in modo minore, sapere più cose non è un male, anzi...

Alla fin fine di tutto questo discorso, ho compreso che tutti consigliano la programmazione, quindi essa è la base per arrivare alla conoscenza? :inchino:

Devi conoscere una marea di roba.
Di cose da sapere ce ne sono fin troppe, non si puo' limitare tutto ad un "fare sicurezza con basi di programmazione, architetture e sistemi operativi".

Se il tuo obiettivo è diventare un "hacker" e non lo dico in tono negativo o accusatorio.

:mad::evil::grrrr:

:lol::lol:
 
Riguardo all'elettronica che mi dite? chip, transistor e cose del genere sono utili o non servono a niente per il mio scopo?
 
Pubblicità
Pubblicità
Indietro
Top