Domanda:
come faccio a distinguere software e hardware?
2010-09-04 12:56:54 UTC
ciao,
vorrei farvi una domanda banale credo ma sulla quale vorrei avere una delucidazione.
Quando osserviamo i fenomeni di tutti i giorni,come facciamo a capire se un determinato dispositivo e' pilotato via hardware oppure via software?
Per esempio,una lampadina si accende perche' c'e' un programma?
Oppure quando clicco su un pulsante e si apre il lettore cd,cio' avviene sulla base di un programma oppure meccanicamente?
Altri fenomeni sono: le lancette dell'orologio che si muovono,le lenti di un occhiale ed altri fenomeni.

Come faccio a sapere se questi eventi sono diretti da un programma oppure avvengono in maniera naturale?

Il software cosa e' in linea generale?
In che modo viene eseguito e come fa ad interagire con i dispositivi fisici?
grazie
Sei risposte:
2010-09-04 16:09:32 UTC
Interessante domanda... Prova a pensarci... che cosè in fondo hardware e cosè software? Hardware dall'inglese "Ferraglia" si indica tutto quello che è fisico, tangibile, toccabile. Software dall'inglese "Sofficiume" racchiude tutto quello che c'è, esiste ma non realmente tangibile, toccabile. Ma esiste... Questi concetti possono essere astratti ovunque, anche oltre al mondo dell'informatica. Ad esempio prendiamo il corpo umano, per hardware possono essere considerate le braccia, le gambe le mani gli organi, il cervello etc, per software l'energia della mente, il pensiero l'anima (Ottimo esempio di "software" non tangibile, toccabile, ma che esiste ed è alla base della vita). Noi tutti pensiamo ad una azione e ad ogni nostro ordine "l'hardware" (il corpo fisico) risponde tramite terminazioni nervose capaci di convogliare "il pensiero" nei giusti punti e nelle giuste dosi... (alzando un braccio ad esempio appena l'impulso arriva sui muscoli, questo sono fatti per contrarsi in base all'ordine dato) ma come fa? Semplice sono impulsi di PURA natura energetica, quindi l'harware è tutto ciò che è controllabile dall'energia (che può essere elettrica, chimica etc) il software è l'energia (pura energia e basta, niente valori (nenache zero, uno etc) e nel caso di un computer CORRENTE ELETTRICA). Ma ti chiederai ma il cervello come fa a capire che deve dare energia al braccio per alzarlo? Il cervello è costituito da migliardi di unità chiamate neuroni capaci di eseguire piccoli impulsi, immagazzinare energia etc (non sono un medico ma l'esempio è quanto basta per farti capire). Certe aree del cervello hanno reti di questi neuroni disposti in modo che quando ricevono il passaggio di energia la convogliano a sua volta in determinati punti del corpo. Mai provato ad esempio a darti un colpettino al ginocchio? Stai facendo il lavoro del cervello senza però i dovuti controlli se realmente hai pensato di farlo (certi malati infatti non riescono a controllare parti del loro corpo perchè quelle zone del cervello "quelle reti, circuiti" non sono più disposte come dovrebbero e mandano impulsi a caso... (un po come mettere un apparecchio elettronico in acqua, diventa un albero di natale). Da questo discorso comincerai a comprendere come fa quindi un computer a capire, memorizzare e sopratto controllare dispositivi fisici. Quindi se il cervello usa neuroni, chimica ed impulsi energetici il computer come controlla l'hardware? Alla BASE DI TUTTI LA NOSTRA TECNOLOGIA DIGITALE C'È IL TRANSISTOR che non e altro il "neurone del cervello". In un comune processore si parla di centinaia di milioni di transistor (quindi il nostro cervello Rulez ;) anni luce superiore ), ed ogni processore ha a sua volta decine di aree con relativi compiti. Il processore essendo molto ma molto indietro ancora rispetto al nostro cervello può capire solo SI e NO a differenza delle persone che comprendono un FORSE, VABBE' :D, FARO' IL POSSIBILE, !!!CI PENSO!!! (forse tra 50 anni si vedrà una cosa del genere quando i TUBI QUANTICI saranno lo standard e sostituiranno il transistor). Il transistor ha le capacità quindi di essere acceso o spento come una lampadina microscopica... non di più, ma se associo a acceso 1 e spento 0 posso creare sequenze che mi permettono di creare un linguaggio che solo l'elettronica e quindi qualsiasi cosa in cui scorra energia elettrica ed abbia dei transistors è capace di comprendere... il BINARIO! Ora ad esempio vogliamo costruire un processore di poche centinaia di transistor che mi pemetta di comandare un led. Al processore aggiungo un tot di piedini metallici con ognuno una funzione diversa: uno per alimentare i transistor di corrente elettrica (e quindi tutto il processore), uno per mandare il linguaggio binario e parlare quindi con il processore, uno per mandare corrente ad un dispositivo ad esempio un led, ed altri per funzioni future ed usi (E SOLO UN ESEMPIO PER CAPIRE!!!). Facciamo conto che io mandi 0101 al piedino di linguaggio (non metto corrente, metto corrente, tolgo corrente, metto corrente al piedino di linguaggio, nel nostro caso vuol dire accendi il led!) quindi ci saranno una serie di transistor pronti a ricevere energia elettrica ed altri a rifiutarla (il come fa bisogna conoscere l'elettronica ma non c'entra col nostro discorso).

Ora il nostro processore avendo una sequenza da "capire" invia ad altri transistor questa sequenza, arree che si chiamano registri (non sono altro che tanti transistors con funzioni di memorizzazione che creano un mini circuito chiamato Flip-Flop essi conservano l'energia elettrica e quindi 1 o 0), dopo l'invio un altra unità del processore comincia a leggere quello che c'è in altri transistor la cui area e detta di programma (il tuo programma ;D che a sua volta non sono altro che altri transistor accesi o spenti, nell'ordine da te richiesto) ed in base a come sono combinati i transistor
Giuseppe Pet
2010-09-04 14:21:32 UTC
Ciao,

il cervello di un sistema informatico è costuito dal microprocessore.

Esso può eseguire delle operazioni semplici per cui è stato progettato, ad esempio "somma 2 valori", "moltiplica due valori", "Copia il dato A da qui a lì", ecc.

Per ogni tipo di operazione è prevista una apposita istruzione.

Quando si desidera che il PC faccia una cosa, occorre dire al microprocessore (CPU) quali operazioni deve svolgere, o meglio qual è la sequenza di operazioni semplici che deve eseguire.

Una sequenza abbastanza lunga di operazioni semplici consente al PC di svolgere attività complesse.

Tali sequenze di istruzioni sono chiamate programmi, e sono scritte da programmatori ;)

Tutto ciò che è programma è definito software, ed è diciamo "non palpabile" materialmente, tu vedi gli effetti di un software (programma), ma non lo puoi maneggiare come una cosa materiale.

Hardware invece è tutto ciò che tu puoi toccare, per intenderci è hardware la CPU, la motherboard, un pulsante, una scheda video, ecc.

Per far svolgere ad un dispositivo hardware le proprie attività viene utilizzato un apposito software scritto per esso, questo software è detto "driver" (pilota).

Serve appunto per pilotare quel particolare hardware.

Quindi un hardware privo del proprio driver non serve a nulla è solo un pezzo di ferro.

L'hardware però non comprende direttamente le istruzioni ma può "percepire" con appositi dispositivi elettrici lo stato della tensione elettrica.

Per semplificare molto possiamo dire che l'hardware può rilevare essenzialmente 2 stati di tensione elettrica uno più basso ed uno più alto.

A questo punto associamo a ZERO la tensione più bassa e ad UNO quella più alta.

Le istruzioni di cui si parlava all'inizio per sommare, moltiplicare ecc. sono codificate con sequenze di ZERI e di UNO (codice binario), per cui la CPU ha la capacità di leggere le istruzioni software e di far variare la tensione, nonchè di indirizzare all'hardware destinatario la sequenza zeri-uni sotto forma di tensione.

Distinguere se un fenomeno avviene perchè c'è un programma dietro non è sempre facile.

Ad esempio possiamo vedere una lampadina che si accende.

Ciò può avvenire perchè premendo il pulsante sul muro, questo opera meccanicamente "unendo due fili"

e consente alla corrente elettrica di giungere fino alla lampadina, premendo nuovamente il pulsante si scollegano i due fili e la lampadina si spegne (si ha in questo caso un mero sistema elettromeccanico).

La lampadina però se collegata ad un apposito hardware, pilotato a sua volta da un apposito software (driver), si potrebbe accendere perchè al verificarsi di certe condizioni, il software in esecuzione nella CPU prevede di attivare la seri di istruzioni il cui fine è di accendere la lampadina.

In pratica se c'è un programma che opera ci deve essere una CPU che esegua e capisca il programma, un programma senza cpu non può essere eseguito e non ha motivo di esistere.

Quindi basterebbe capire se un fenomeno è conseguente all'attività di una CPU che ha eseguito un programma.
2010-09-04 13:17:50 UTC
Gli esempi che hai menzionato sono tutti dipositivi azionati mediante una meccanismo, un motore, un impianto. La plancia dello stereo, ad esempio, si apre per mezzo di una rotellina che si aziona quando riceve il comando dal bottoncino apposito (generalmente), poi la lampadina si accende con l'interruttore che e' collegato a sua volta ad un impianto elettrico (ovviamente), gli orologi analogici funzionano grazie ad un piccolo motore....



Insomma, sono oggetti che funzionano meccanicamente, e non centrano con l' "hardware", anche perchè per hardware si intende l'insieme dei componenti di un computer (leggi su Wikipedia).



Tuttavia questi oggetti possono essere anche azionati mediante software (solo alcuni casi, come quello della plancia dello stereo, che invece di essere aperta dal bottoncino può essere aperta col telecomando) in quanto il dispositivo è stato probabilmente programmato per funzionare anche "digitalmente" e non solo "manualmente".

Detto ciò, credo che tu abbia sbagliato sezione, dovevi postare questa domanda in elettronica.



Spero di essere stato chiaro.

Nelle fonti trovi le definizioni di software e hardware.
?
2010-09-04 13:07:36 UTC
l'HARDWARE in generale è una componente meccanica elettronica

mentre il SOFTWARE è una componente virtuale che gira sulla componete meccanica-elettronica(HARDWARE)

es: 1) il computer preso senza sistema operativo è composto da diversi HARDWARE(sckeda video...hard disk...etc...)

2)windows è una componete virtuale(SOFTWARE)...se nn cera questa componete il pc nn servirebbe a niente(ovviamentevale per qualsiasi altro sistema operativo o programma )

.......nel caso della lampadina nn penso ke seve un software per farla partire XD è semplicemete una

componete meccanica ke si accende quando il circuito(in questo caso) nn è interrotto.... il lettore cd,telefonini..etc..hanno una componete si meccanica(ovvio) che virtuale(SOFTWARE)

orologio analogico è semplicemente meccanica...

spero di esserti d'aiuto...ciao!!!
Fabrizio
2010-09-04 12:59:42 UTC
hai un po di confusione...l'hardware è la parte fisica del dispositivo ossia tutti i componenti elettronici che sono fisicamente presenti in un dispositivo tipo nel pc shceda vide,scheda audio,cpu etc..il software è la parte elettronica ossia in fin dei conti è una seguanza di "numeri" che il pc interpreta per funzionare senza il softwear il computer sarebbe solo una scatola piena di cavi.io ho fatto l'esempio del computer ma questo vale per tutto ad esempio come dici tu:il lettore cd che si apre qnd premi il pulsante

il pulsante è hardware dal quale l'impulso elettrico che arriva al processore che questulltimo "decifra" tramite un programma apposito(software) manda un altro impulso elettrico al motore che fa aprire il lettore di dischi...

il software è essenzilmente un logaritmo che magari per una persona sono sl numeri senza senso ma un processore per computer interpreta e tramite la sua interpretazione svolge un compito....per vedere se una cosa di tt i giorni è gestita da software parti dal rpessuposto che quasi tutto lo è:il tuo pc,lettore mp3,cellulare decoder sky\digitale terrestre...etc

di solito gestito da software è tutto cio' in grado di compiere diverse funzioni e che abbia necessariamente una parte anche se minima di tipo hardware (ossia contenga dispositivi elettrici autonomi)

la lampadina che dici te nn è ne hardware ne software è solo una resistenza di metallo che brilla xke surriscaldata dalla corrente e puoi vederlo anche dal fatto che non ha dispositivi elettronici autonomi......
BluNotte
2010-09-04 13:32:54 UTC
La cosa bella di tutto il sistema è che non lo puoi sapere.

Comunque, alla fine, qualsiasi cosa si manifesti all'esterno avviene in via hardware, anche se parte come software (es. mentre giochi con il pc esegui un software, che fornisce delle istruzioni al processore, il quale, in hardware, invia istruzioni alla scheda video, che, sempre in hardware, modifica il contenuto visualizzato sul monitor).

Un valido sistema per capire è aprire.

Qualsiasi cosa dotato do software deve avere una memoria fisica (hardware) su cui le istruzioni sono memorizzate, ed un hardware che esegua le istruzioni.

Se il sistema è hardware, noterai dei meccanismi meccanici o elettronico. (Nell'orologio c'è un meccanismo a molla che fa girare il tutto, le lenti di un occhiale non hanno componenti elettroniche).

Quasi tutti i dispositivi elettronici moderni (cellulari, lettori mp3, ecc) hanno un software, ma tu non puoi saperlo per certo. Per esempio, un orologio digitale si può costruire sia con software che con solo hardware elettronico. La maggior parte degli orologi e sveglie digitali, infatti, non ha software. Gli orologi più complessi (quelli con più funzionalità: cronometro, sveglie, timer, lettura vocale dell'orario), invece, sono probabilmente muniti do software.



Alla fine, non noti la differenza perché tutto va a finire comunque nell'hardware. Di fatto, qualsiasi software può essere realizzato anche in hardware. I motivi per cui si utilizza il software sono:

1) minor costo e maggiore semplicità (programmare è più semplice che progettare circuiti, ed un programma di poche centinaia di kb richiederebbe un circuito enorme per essere realizzato in hardware)

2) versatilità: un hardware in grado di eseguire software offre la possibilità di cambiare il software (e quindi il proprio comportamento) semplicemente cambiando il contenuto di una memoria. Questo significa, ad esempio, poter correggere errori di progettazione tramite un aggiornamento del firmware, o poter utilizzare l'hardware di cellulare per pilotare un elicottero radiocomandato o anche un televisore (producendo sempre lo stesso hardware, e quindi riducendo i costi). Pensa, per esempio, alle console portatili come la psp. Se fossero realizzate esclusivamente in hardware, avresti bisogno di comprare una nuova psp per ogni gioco. Invece, essendo pilotata da un software, puoi modificare il comportamento della console semplicemente inserendo un cd.


Questo contenuto è stato originariamente pubblicato su Y! Answers, un sito di domande e risposte chiuso nel 2021.
Loading...