Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 10
  • Differenza tra IDE e SATA. AHCI o IDE: quale è meglio? Descrizione della modalità, caratteristiche

Differenza tra IDE e SATA. AHCI o IDE: quale è meglio? Descrizione della modalità, caratteristiche

Massima performance ottenuto utilizzando il meccanismo AHCI. Pertanto, tutti i nuovi PC che eseguono il sistema operativo Windows 7 o versioni precedenti del sistema operativo Microsoft utilizzano questa opzione. Se stiamo parlando di sistemi più vecchi, devi ancora pensare se utilizzare AHCI o IDE. Cosa c'è di meglio? La risposta a questa domanda dipende da molti fattori.

AHCI o IDE: quale è meglio? Come scegliere la modalità desiderata?

Nonostante la popolarità dei sistemi operativi Windows 7, 8, 10, molti proprietari di personal computer e laptop continuano a utilizzare Win XP. Il sistema operativo è stabile. Le persone si sentono a proprio agio lavorando con lei. Tuttavia, Windows XP presenta anche una serie di svantaggi significativi:

  • il supporto ufficiale Microsoft per questo sistema operativo è stato completamente interrotto;
  • sistema operativo tecnologicamente obsoleto;
  • non supporta le nuove versioni di DirectX (versioni 10-12);
  • problemi di sicurezza;
  • non è previsto il supporto per le tecnologie più attuali;
  • È impossibile installare molti programmi moderni su XP;
  • Non ci sono driver per le nuove apparecchiature.

L’elenco potrebbe continuare a lungo. Se consideriamo la questione di cosa modalità migliore lavoro - AHCI o IDE - allora vale la pena tenere conto del fatto che Windows XP semplicemente non supporta la prima opzione. Ciò vale ovviamente anche per le versioni precedenti del sistema operativo Microsoft. Pertanto, la scelta qui è ovvia: solo IDE. Ma se una persona appartiene alla categoria degli utenti avanzati, può caricare nel sistema driver speciali che consentono l'utilizzo del meccanismo AHCI. Per impostazione predefinita, questa modalità non è supportata.

Come funziona la modalità IDE

I componenti che richiedono un'interfaccia ATA per la connessione utilizzano il meccanismo IDE per funzionare. Questa tecnologiaè obsoleto, ma era ampiamente utilizzato negli anni Novanta del secolo scorso e all'inizio degli anni 2000. Lo standard è stato introdotto nei PC IBM, i primi computer popolari di massa.

Il meccanismo IDE (interfaccia di unità parallela) forniva il trasferimento dei dati ad una velocità di 150 Mbit/s. Non consentiva l’uso di alcune soluzioni tecnologiche rilevanti in quel momento. Pertanto, è stato impossibile eseguire un'estrazione a caldo dal sistema disco rigido o unità CD senza spegnere o riavviare il sistema. Funzionalità simili furono aggiunte dagli ingegneri qualche tempo dopo, ma solo una parte dei computer ricevette il loro supporto. Conoscendo il contesto dello sviluppo delle interfacce, puoi facilmente rispondere a una serie di domande: AHCI o IDE: quale è meglio per un sistema operativo specifico, quale schema fornisce un funzionamento più veloce?

L'uso attivo delle interfacce Parallel ATA è terminato intorno al 2006, quando ruolo principale il nuovo standard SATA ha iniziato a funzionare. Tuttavia, anche dopo 10 anni, l'IDE è ancora in uso, anche se molto meno frequentemente. Il meccanismo è utilizzato in quasi tutti i vecchi computer e laptop ed è attivo anche nei sistemi che supportano AHCI.

Caratteristiche della modalità AHCI

L'emergere di una nuova interfaccia SATA, che aveva di più funzionalità potenti rispetto alla precedente tecnologia PATA, ha creato la necessità di un nuovo meccanismo per lavorare con il sistema. Ecco come è apparsa la modalità AHCI. Ha permesso di utilizzare le risorse dell'interfaccia apparsa di recente su piena potenza. Oggi questo meccanismo è supportato da tutte le moderne schede madri.

Utilizzo Modalità AHCI consente di garantire il trasferimento delle informazioni alla massima velocità possibile e di utilizzare tutte le soluzioni tecnologiche attuali. Tutti i sistemi operativi attuali dispongono di driver di dispositivo funzionanti questo protocollo. Quindi cosa dovresti scegliere ora, IDE o AHCI? Cosa è meglio per un computer moderno? Nella maggior parte dei casi la scelta dovrebbe ricadere sulla seconda opzione.

Vantaggi del meccanismo AHCI

Unità moderne con interfaccia SATA pienamente compatibile con la nuova modalità. Quali vantaggi presenta questo meccanismo? Scegli comunque IDE o AHCI: quale è meglio? Windows 7 e le versioni più recenti del sistema operativo Microsoft sono in grado di funzionare con i due protocolli sopra indicati. Ma il secondo è meglio utilizzato per i nuovi sistemi.

Vantaggi che l'utente riceve quando utilizza AHCI:

  • elevata velocità di trasferimento dati;
  • Performance eccellente;
  • piena compatibilità con il moderno sistemi operativi;
  • sostituibile a caldo dischi fissi;
  • supporto per la tecnologia NCQ (migliora le prestazioni dell'HDD).

Conoscendo tutti i pro e i contro della soluzione, è facile scegliere tra l'installazione di AHCI o IDE nelle impostazioni. Cosa sarebbe meglio per un computer moderno? Se non è dotato di unità PATA, è meglio installare una nuova modalità.

Quale modalità impostare nelle impostazioni del BIOS

Sebbene Modalità IDEè da tempo obsoleto ed è ancora supportato dai produttori di schede madri. Anche i modelli più recenti hanno la capacità di utilizzare questa interfaccia. IN Impostazioni del BIOS nella sezione corrispondente è possibile passare da una modalità all'altra. Per impostazione predefinita, viene solitamente installato il motore AHCI. È possibile riscontrare un'eccezione, ma ciò accade estremamente raramente.

Se prendiamo una situazione tipica in cui un utente tenta di installare il sistema operativo Windows 7 su un computer, non dovrà nemmeno apportare modifiche al BIOS per utilizzare il nuovo schema. Forse alcuni troveranno familiare lavorare con la vecchia interfaccia. Quindi, IDE o AHCI: quale è meglio? Windows 7 consente di utilizzare entrambe le modalità.

Se il tuo disco rigido o altro dispositivo di archiviazione è collegato alla scheda madre tramite un'interfaccia SATA, dovresti lasciare la modalità AHCI predefinita. Il supporto completo per questo meccanismo è fornito nei sistemi operativi Windows 7, 8, 10, Ubuntu 16.04 e altri. Possibile solo con la nuova modalità lavoro stabile Dati del sistema operativo.

Cosa fare se, dopo aver abilitato la modalità AHCI, il sistema smette di avviarsi

Questa situazione può verificarsi se l'utente ha installato Windows XP o un sistema operativo precedente Versione Linux. Non c'è dubbio se preferire AHCI o IDE. Cosa sarà meglio per il vecchio sistema operativo? Forse è preferibile impostare la modalità su IDE. Puoi provare a installarlo sul sistema guidatori aggiuntivi, che forniscono il supporto per il nuovo standard. Tuttavia, non vi è alcuna garanzia che dopo questa procedura il sistema operativo funzioni correttamente.

In alcuni casi, un computer che ha funzionato con successo per molto tempo con Windows XP un giorno smette di avviarsi. Allo stesso tempo, l'utente non ha modificato la modalità operativa delle unità nel BIOS. Questa situazione può verificarsi a causa di errori operativi sistema di base I/O In questo caso le impostazioni vengono ripristinate e viene attivata la modalità AHCI, l'utente deve effettuare autonomamente le impostazioni Supporto del BIOS Meccanismo dell'IDE.

Scrivere in Python utilizzando IDLE o Python Shell è abbastanza comodo quando si tratta di cose semplici, ma man mano che i progetti crescono di dimensioni, la programmazione diventa una seccatura. Usare un IDE o anche un buon editor di codice può semplificarti la vita. Ma la domanda è: cosa scegliere?

In questo articolo esamineremo gli strumenti di base che ti consentono di scrivere in Python. Non sceglieremo l'opzione migliore per te, ma esamineremo i pro e i contro di ciascuna e ti aiuteremo a prendere una decisione informata.

Cos'è un IDE e un editor di codice?

Un IDE (o ambiente di sviluppo integrato) è un programma progettato per lo sviluppo di software. Come suggerisce il nome, l'IDE riunisce diversi strumenti appositamente progettati per lo sviluppo. Questi strumenti in genere includono un editor progettato per funzionare con il codice (come l'evidenziazione della sintassi e il completamento automatico); strumenti di creazione, runtime e debug; e una qualche forma di sistema di controllo della versione.

La maggior parte degli IDE supportano più linguaggi di programmazione e hanno molte funzionalità, il che significa che possono essere di grandi dimensioni, richiedere molto tempo per il download e l'installazione e richiedere una conoscenza approfondita per essere utilizzati correttamente.

D'altra parte, ci sono gli editor di codice, che sono un editor di testo con funzionalità di evidenziazione della sintassi e formattazione del codice. La maggior parte degli editor di codice validi può eseguire codice e utilizzare un debugger e i migliori possono persino interagire con i sistemi di controllo della versione. Rispetto a un IDE, un buon editor di codice è solitamente più leggero e veloce, ma spesso a scapito di minori funzionalità.

Requisiti per un buon ambiente di sviluppo

Allora di cosa abbiamo bisogno da un ambiente di sviluppo? L'insieme delle funzioni dei diversi ambienti può differire, ma esiste una serie di cose fondamentali che semplificano la programmazione:

  • Salvataggio di file. Se un IDE o un editor non ti dà la possibilità di salvare il tuo lavoro e successivamente aprire tutto nello stesso stato in cui si trovava quando lo hai chiuso, allora non è proprio un IDE;
  • Esecuzione del codice dall'ambiente. Stessa cosa, se hai bisogno di uscire dall'ambiente per eseguire il codice, allora non è altro che un semplice editor di testo;
  • Supporto per il debug. La capacità di scorrere il codice lo è funzione di base tutti gli IDE e i migliori editor di codice;
  • Evidenziazione della sintassi. La capacità di trovare rapidamente parole chiave, variabili, ecc. semplifica notevolmente la lettura e la comprensione del codice;
  • Formattazione automatica del codice. Qualsiasi editor o IDE che lo sia effettivamente riconoscerà i due punti dopo un po' o per l'espressione e rientrerà automaticamente la riga successiva.

Naturalmente, ci sono molte altre funzionalità da non perdere, ma quelle sopra elencate sono le funzionalità di base che dovrebbe avere un buon ambiente di sviluppo.

Ora diamo un'occhiata ad alcuni strumenti scopo generale, che può essere utilizzato per lo sviluppo di Python.

Editor e IDE con supporto Python

Eclissi + PyDev

Se sei vicino alla comunità open source, probabilmente hai sentito parlare di Eclipse. Disponibile per Linux, Windows e OS X, Eclipse è di fatto l'IDE open source per lo sviluppo Java. Esistono molte estensioni e componenti aggiuntivi che rendono utile Eclipse vari tipi compiti.

Una di queste estensioni è PyDev, che fornisce una console Python interattiva e funzionalità di debug e completamento del codice. Installarlo è semplice: avvia Eclipse, seleziona Aiuto → Eclipse Marketplace, quindi cerca PyDev. Fare clic su Installa e riavviare Eclipse se necessario.

Vantaggi: Se hai già installato Eclipse, l'installazione di PyDev sarà rapida e fluida. U utente esperto Eclipse non avrà problemi ad apprendere questa estensione.

Screpolatura: Se stai appena iniziando a imparare Python o lo sviluppo in generale, Eclipse può essere un peso opprimente. Ricordi quando abbiamo detto che gli IDE sono grandi e richiedono più esperienza per essere utilizzati appieno? Tutto questo si può dire di Eclipse.

Testo sublime

Tipo: editore del codice
Sito web: http://www.sublimetext.com

Scritto da un ingegnere di Google con il sogno di un editor di testo migliore, Sublime Text è un editor di codice molto popolare. Disponibile su tutte le piattaforme, Sublime Text ha il supporto integrato per la modifica del codice Python, oltre a un ricco set di estensioni chiamate pacchetti che estendono la sintassi e le capacità di modifica.

Installare un pacchetto Python aggiuntivo può essere complicato: tutti i pacchetti Sublime Text sono scritti in Python, quindi l'installazione di pacchetti community può spesso richiedere l'esecuzione di uno script Python direttamente nell'editor.

Vantaggi:Sublime Text ha un gran numero di fan. Come editor di codice, Sublime Text è veloce, leggero e ben supportato.

Screpolatura: Sublime Text non è gratuito, anche se è possibile utilizzarlo periodo di prova quanto vuoi. L'installazione delle estensioni può trasformarsi in un'altra missione. Inoltre, l'editor non supporta il debug o l'esecuzione di codice.

Atomo

Tipo: editore del codice
Sito web: https://atom.io/

Disponibile su tutte le piattaforme, Atom è stato definito "l'editor di testo hackerabile del 21° secolo". Atom è scritto utilizzando Electron, un framework per la creazione di applicazioni desktop multipiattaforma utilizzando JavaScript, HTML e CSS, e ha molte estensioni. Il supporto Python può anche essere abilitato utilizzando un'estensione che può essere installata direttamente in Atom.

Vantaggi: Supportato su tutte le piattaforme grazie a Electron. Atom è leggero e veloce da scaricare e caricare.

Screpolatura: il supporto per la creazione e il debug non è integrato, ma viene aggiunto tramite le estensioni. Poiché Atom è scritto utilizzando Electron, viene sempre eseguito come un processo JavaScript, non come un file applicazione nativa.

GNU Emacs

Tipo: editore del codice
Sito web: https://www.gnu.org/software/emacs/

Molto prima della guerra iPhone-Android, prima della guerra Linux-Windows, anche prima della guerra PC-Mac, c'era una guerra tra editori con GNU Emacs come uno dei combattenti. Descritto come un "editor di testo estensibile, personalizzabile e autodocumentante", GNU Emacs esiste quasi quanto UNIX e ha guadagnato un bel seguito.

Disponibile gratuitamente su ogni piattaforma (in una forma o nell'altra), GNU Emacs utilizza il linguaggio Lisp per la personalizzazione. Naturalmente esistono anche script di personalizzazione per Python.

Vantaggi: Hai familiarità con Emacs, usi Emacs, ami Emacs. Il Lisp è la tua seconda lingua e sai che puoi farci qualsiasi cosa.

Screpolatura: la personalizzazione prevede la scrittura (o il copia-incolla) del codice Lisp in vari script. Se non ce ne sono, potresti dover imparare Lisp per capirlo.

Vi/Vim

Tipo: editore del codice
Sito web: https://www.vim.org/

Dall'altro lato della guerra tra editor c'è VI/VIM. Disponibile per impostazione predefinita su quasi tutti i sistemi UNIX e Mac OS X, VI ha conquistato altrettanti fan. VI e VIM sono editor modali che separano la visualizzazione di un file dalla modifica. VIM include tutto ciò che ha VI, oltre ad alcuni miglioramenti come la disponibilità di estensioni. Per vari tipi di attività Python, puoi utilizzare VIMScript.

Vantaggi: Hai familiarità con VI, usi VI, ami VI. I VIMScript non ti spaventano e sai come piegarli alla tua volontà.

Screpolatura: Come con Emacs, non ti senti molto a tuo agio nel cercare o scrivere script per aggiungere funzionalità di sviluppo Python, e non hai né l'uno né l'altro la minima idea come dovrebbe funzionare un editor modale in generale.

Studio visivo

Vantaggi: Come con Eclipse, se hai già installato Visual Studio per altri scopi, l'installazione di PTVS non sarà un problema.

Screpolatura: Come con Eclipse, Visual Studio sarà un po' eccessivo se ti serve solo Python. Inoltre, se usi Linux, sei nei guai: non esiste Visual Studio per questa piattaforma.

Codice di Visual Studio

Tipo: editore del codice
Sito web: https://code.visualstudio.com/
Strumenti Python: https://marketplace.visualstudio.com/items?itemName=ms-python.python

Visual Studio Code (da non confondere con Visual Studio) è un editor di codice completo disponibile su Windows, Linux e Mac OS X. VS Code è un editor open source estensibile che può essere personalizzato per qualsiasi attività. Come Atom, VS Code è basato su Electron, quindi presenta gli stessi vantaggi e svantaggi.

Aggiungere il supporto Python a VS Code non potrebbe essere più semplice: cerca "Python" nel Marketplace, fai clic su "Installa" e riavvia l'editor se necessario. VS Code rileverà automaticamente l'interprete Python e le librerie installate.

Vantaggi: Grazie a Electron, VS Code è disponibile su tutte le piattaforme con funzionalità sorprendenti. Inoltre, il codice sorgente può essere trovato nel pubblico dominio.

Screpolatura: Poiché è coinvolto Electron, significa che VS Code non è un'applicazione nativa. Inoltre, la religione di alcune persone impedisce loro di utilizzare i prodotti Microsoft.

Editor e IDE progettati per Python

PyCharm

Uno dei migliori IDE completi progettati specificamente per Python è PyCharm. Sono disponibili opzioni IDE open source gratuite (Community) e a pagamento (Professional). PyCharm è disponibile su Windows, Mac OS X e Linux.

PyCharm supporta lo sviluppo Python immediatamente: apri un nuovo file e inizia a scrivere il codice. Puoi eseguire ed eseguire il debug del codice direttamente da PyCharm. Inoltre, l'IDE supporta progetti e controllo della versione.

Vantaggi: Questo è un ambiente di sviluppo Python con supporto per tutto e una buona comunità. In esso, immediatamente, puoi modificare, eseguire ed eseguire il debug del codice Python.

Screpolatura: PyCharm potrebbe essere lento da caricare e potrebbe essere necessario modificare le impostazioni predefinite per i progetti esistenti.

Spyder

Spyder è un IDE open source per Python, ottimizzato per i data scientist. Spyder viene fornito in bundle con il gestore pacchetti Anaconda, quindi è possibile che tu lo abbia già installato.

La cosa interessante di Spyder è che il suo pubblico target sono i data scientist che utilizzano Python. Ad esempio, Spyder funziona bene con librerie di data science come SciPy, NumPy e Matplotlib.

Spyder ha le funzionalità che ti aspetteresti da un IDE standard, come un editor di codice con evidenziazione della sintassi, completamento del codice e persino un browser di documentazione integrato.

Una caratteristica distintiva di Spyder è la presenza di un esploratore variabile. Ti consente di visualizzare i valori delle variabili sotto forma di tabella direttamente all'interno dell'IDE. Anche l'integrazione con IPython/Jupyter funziona bene.

Possiamo dire di Spyder che è più “con i piedi per terra” rispetto ad altri IDE. Può essere considerato uno strumento per scopo specifico e non come ambiente di sviluppo principale. La cosa fantastica è che è gratuito, open source e disponibile su Windows, macOS e Linux.

Vantaggi: Sei un data scientist che utilizza Anaconda.

Screpolatura: Gli sviluppatori Python più esperti potrebbero trovare Spyder non abbastanza ricco di funzionalità per lavoro quotidiano e faranno la loro scelta a favore di un IDE o di un editor più funzionale.

Thonny

Thonny è chiamato IDE per principianti. Scritto e gestito dall'Istituto di Informatica dell'Università di Tartu in Estonia, Thonny è disponibile su tutte le principali piattaforme.

Per impostazione predefinita, Tonny si installa con la versione inclusa di Python, quindi non sarà necessario installare nient'altro. Gli utenti esperti potrebbero dover modificare questa impostazione affinché l'IDE trovi e utilizzi le librerie già installate.

Vantaggi: Sei un programmatore Python alle prime armi e hai bisogno di un IDE con cui puoi passare direttamente all'azione.

Screpolatura: Gli utenti avanzati non avranno funzionalità sufficienti e sostituiranno l'interprete integrato. Inoltre, data la novità dell'IDE, potrebbero sorgere problemi che non possono essere risolti. questo momento NO.

Quindi quale dovresti scegliere?

  • I Pythonisti principianti dovrebbero scegliere qualcosa con il minor numero di opzioni di personalizzazione. Meno ostacoli sono, meglio è;
  • Se usi già qualche editor per altre attività, cerca gli editor di codice;
  • Bene, se hai già un IDE per un'altra lingua, prova ad aggiungervi il supporto Python.

Ti interessa anche il web? Dai un'occhiata a quello simile per lo sviluppo web.

E con il suo aspetto ha ricevuto il nome PATA(ATA parallelo).

Storia

Cavi ATA (IDE): 40 fili nella parte superiore, 80 fili con uscita cavo nella parte inferiore

Il nome preliminare dell'interfaccia era Allegato PC/AT("Connessione PC/AT"), poiché era previsto il collegamento al bus ISA a 16 bit, allora noto come Nell'autobus. Nella versione finale il titolo è stato cambiato in Allegato AT per evitare problemi con i marchi.

La versione originale dello standard fu sviluppata nel 1986 da Western Digital e, per ragioni di marketing, fu chiamata così IDE(Inglese: Integrated Drive Electronics - "elettronica integrata nell'azionamento"). Sottolinea un'importante innovazione: il controller dell'unità si trova nell'unità stessa e non sotto forma di una scheda di espansione separata, come nel precedente standard ST-506 e nelle interfacce SCSI e ST-412 allora esistenti. Ciò ha permesso di migliorare le caratteristiche delle unità (grazie alla minore distanza dal controller), semplificarne la gestione (poiché il controller del canale IDE è stato astratto dai dettagli del funzionamento dell'unità) e ridurre i costi di produzione (il controller dell'unità potrebbe essere progettato solo per il "suo" azionamento e non per tutti gli azionamenti possibili). ; il controller del canale generalmente è diventato standard). Va notato che il controller del canale IDE è chiamato più correttamente adattatore ospite, poiché si è passati dal controllo diretto dell'azionamento allo scambio di dati con esso tramite un protocollo.

Lo standard ATA definisce l'interfaccia tra il controller e l'unità, nonché i comandi trasmessi su di essa.

L'interfaccia dispone di 8 registri che occupano 8 indirizzi nello spazio I/O. La larghezza del bus dati è di 16 bit. Il numero di canali presenti nel sistema può essere superiore a 2. L'importante è che gli indirizzi dei canali non si sovrappongano agli indirizzi di altri dispositivi I/O. Ogni canale può collegare 2 dispositivi (master e slave), ma può funzionare solo un dispositivo alla volta.

Il principio di indirizzamento CHS è già nel suo nome. Innanzitutto, il blocco testa viene installato dal posizionatore sulla traccia richiesta (cilindro), dopodiché viene selezionata la testa richiesta (testa) e quindi le informazioni vengono lette dal settore richiesto (settore).

Standard EIDE(English Enhanced IDE - "extended IDE"), apparso dopo IDE, consentiva l'utilizzo di unità con una capacità superiore a 528 MB (504 MiB), fino a 8,4 GB. Sebbene queste abbreviazioni siano nate come nomi commerciali piuttosto che come nomi ufficiali per lo standard, i termini IDE E EIDE spesso usato al posto del termine ATA. Dall’introduzione dello standard nel 2003 Serial-ATA("serial ATA") cominciò a essere chiamato ATA tradizionale ATA parallelo, riferendosi al metodo di trasmissione dei dati su un cavo parallelo a 40 o 80 conduttori.

Inizialmente, questa interfaccia veniva utilizzata con i dischi rigidi, ma poi lo standard è stato ampliato per funzionare con altri dispositivi, principalmente utilizzando supporti rimovibili. Tali dispositivi includono unità CD-ROM e DVD-ROM, unità nastro e dischi floppy grande capacità, come i dischi ZIP e floptici (utilizzare testine magnetiche guidate da laser) (LS-120/240). Inoltre, dal file di configurazione del kernel di FreeBSD possiamo concludere che anche le unità floppy disk (dischi floppy) erano collegate al bus ATAPI. Questo standard esteso si chiama Interfaccia pacchetto allegati con tecnologia avanzata(ATAPI), e quindi appare il nome completo dello standard ATA/ATAPI. ATAPI è quasi completamente identico a SCSI a livello di comando e, in effetti, è "SCSI su cavo ATA".

Inizialmente, le interfacce per il collegamento delle unità CD-ROM non erano standardizzate ed erano sviluppi proprietari dei produttori di unità. Di conseguenza, per collegare un CD-ROM era necessario installare una scheda di espansione separata specifica per un particolare produttore, ad esempio per Panasonic (c'erano almeno 5 opzioni di interfaccia specifiche progettate per il collegamento di un CD-ROM). Alcune versioni di schede audio, ad esempio Sound Blaster, erano dotate proprio di tali porte (spesso l'unità CD-ROM e la scheda audio venivano fornite come kit multimediale). L'avvento di ATAPI ha permesso di standardizzare tutte queste periferiche e consentire di collegarle a qualsiasi controller a cui è possibile collegare un disco rigido.

Un'altra tappa importante nello sviluppo di ATA è stata la transizione da PIO (Input/output programmato) a DMA (Accesso diretto alla memoria). Quando si utilizzava PIO, la lettura dei dati dal disco era controllata dal processore centrale del computer, il che comportava un aumento del carico sul processore e un funzionamento più lento in generale. Per questo motivo, i computer che utilizzavano l'interfaccia ATA in genere eseguivano le operazioni relative al disco più lentamente rispetto ai computer che utilizzavano SCSI e altre interfacce. L'introduzione del DMA ha ridotto significativamente il tempo della CPU impiegato nelle operazioni del disco.

In questa tecnologia, l'unità stessa controlla il flusso di dati, leggendo i dati nella o dalla memoria quasi senza la partecipazione del processore, che si limita a impartire comandi per eseguire l'una o l'altra azione. In questo caso, il disco rigido invia al controller un segnale di richiesta DMARQ per un'operazione DMA. Se l'operazione DMA è possibile, il controller emette un segnale DMACK e il disco rigido inizia a inviare i dati al primo registro (DATA), dal quale il controller legge i dati in memoria senza la partecipazione del processore.

Il funzionamento DMA è possibile se la modalità è supportata contemporaneamente dal BIOS, dal controller e dal sistema operativo, altrimenti è possibile solo la modalità PIO.

IN ulteriori sviluppi standard (ATA-3), è stata introdotta una modalità aggiuntiva UltraDMA 2 (UDMA 33).

Questa modalità presenta le caratteristiche temporali della modalità DMA 2, ma i dati vengono trasmessi sia sul fronte di salita che su quello di discesa del segnale DIOR/DIOW. Ciò raddoppia la velocità di trasferimento dei dati sull'interfaccia. È stato inoltre introdotto un controllo di parità CRC che aumenta l'affidabilità della trasmissione delle informazioni.

Nella storia dello sviluppo di ATA, sono esistiti numerosi ostacoli associati all'organizzazione dell'accesso ai dati. La maggior parte di queste barriere sono state superate grazie ai moderni sistemi di indirizzamento e alle tecniche di programmazione. Questi includono restrizioni sulla dimensione massima del disco di 504 MiB, circa 8 GiB, circa 32 GiB e 128 GiB. Esistevano altri ostacoli, legati principalmente ai driver dei dispositivi e all'organizzazione degli I/O nei sistemi operativi che non erano conformi agli standard ATA.

La specifica ATA originale prevedeva una modalità di indirizzamento a 28 bit. Ciò ha consentito di indirizzare 228 (268.435.456) settori da 512 byte ciascuno, offrendo una capacità massima di 137 GB (128 GiB). Sui PC standard, il BIOS supportava fino a 7,88 GiB (8,46 GB), consentendo un massimo di 1024 cilindri, 256 testine e 63 settori. Questa limitazione sul numero di cilindri/teste/settori CHS (Cylinder-Head-Sector), combinata con lo standard IDE, ha comportato una limitazione dello spazio indirizzabile di 504 MiB (528 MB). Per superare questa limitazione è stato introdotto lo schema di indirizzamento LBA (Logical Block Address), che consente di indirizzare fino a 7,88 GiB. Nel tempo, questa limitazione è stata eliminata, il che ha permesso di indirizzare prima 32 GiB, e poi tutti i 128 GiB, utilizzando tutti i 28 bit (in ATA-4) per indirizzare il settore. La scrittura di un numero a 28 bit viene organizzata scrivendo le sue parti nei corrispondenti registri del convertitore (da 1 a 8 bit nel 4° registro, 9-16 nel 5°, 17-24 nel 6° e 25-28 nel 7° ).

L'indirizzamento dei registri è organizzato utilizzando tre linee di indirizzo DA0-DA2. Il primo registro, indirizzo 0, è a 16 bit e viene utilizzato per trasferire i dati tra il disco e il controller. I restanti registri sono a 8 bit e vengono utilizzati per il controllo.

Le ultime specifiche ATA richiedono un indirizzamento a 48 bit, espandendo così il limite possibile a 128 PiB (144 petabyte).

Queste restrizioni sulle dimensioni possono manifestarsi nel fatto che il sistema ritiene che la capacità del disco sia inferiore al suo valore reale o addirittura si rifiuti di avviarsi e si blocchi nella fase di inizializzazione dei dischi rigidi. In alcuni casi, il problema può essere risolto aggiornando il BIOS. Un'altra possibile soluzione è utilizzare programmi speciali, come Ontrack DiskManager, che caricano il driver in memoria prima di caricare il sistema operativo. Lo svantaggio di tali soluzioni è che viene utilizzata una partizione del disco non standard, in cui le partizioni del disco sono inaccessibili se avviate, ad esempio, da un normale DOS floppy di avvio. Tuttavia, molti sistemi operativi moderni (a partire da Windows NT4 SP3) possono funzionare con dischi più grandi, anche se BIOS del computer questa dimensione non è determinata correttamente.

Interfaccia ATA

Per collegare i dischi rigidi con un'interfaccia PATA, viene solitamente utilizzato un cavo a 40 fili (chiamato anche cavo). Ogni cavo ha solitamente due o tre connettori, uno dei quali si collega al connettore del controller sulla scheda madre (nei computer più vecchi questo controller si trovava su una scheda di espansione separata) e uno o due altri si collegano alle unità. Ad un certo punto, il cavo P-ATA trasmette 16 bit di dati. A volte esistono cavi IDE che consentono di collegare tre unità a un canale IDE, ma in questo caso una delle unità funziona in modalità di sola lettura.

Piedinatura ATA parallela
Contatto Scopo Contatto Scopo
1 Ripristina 2 Terra
3 Dati 7 4 Dati 8
5 Dati 6 6 Dati 9
7 Dati 5 8 Dati 10
9 Dati 4 10 Dati 11
11 Dati 3 12 Dati 12
13 Dati 2 14 Dati 13
15 Dati 1 16 Dati 14
17 Dati 0 18 Dati 15
19 Terra 20 Chiave
21 DDRQ 22 Terra
23 Scrittura I/O 24 Terra
25 Lettura I/O 26 Terra
27 CIO HRDY 28 Seleziona cavo
29 DACK 30 Terra
31 IRQ 32 Non connesso
33 Indirizzo 1 34 GPIO_DMA66_Detect
35 Indirizzo 0 36 Indirizzo 2
37 Chip Seleziona 1P 38 Chip Seleziona 3P
39 Attività 40 Terra

Per molto tempo il cavo ATA conteneva 40 conduttori, ma con l'introduzione del UltraDMA/66 (UDMA4) è apparsa la sua versione a 80 fili. Tutti i conduttori aggiuntivi sono conduttori di terra alternati a conduttori di informazione. Pertanto, invece di sette conduttori di terra, ce ne sono 47. Questa alternanza di conduttori riduce l'accoppiamento capacitivo tra loro, riducendo così le interferenze reciproche. L'accoppiamento capacitivo rappresenta un problema alle alte velocità di trasmissione, quindi questa innovazione era necessaria per garantire il corretto funzionamento delle specifiche specificate UDMA4 velocità di trasferimento di 66 MB/s (megabyte al secondo). Modalità più veloci UDMA5 E UDMA6 richiedono anche un cavo a 80 fili.

Sebbene il numero di conduttori sia raddoppiato, il numero di contatti rimane lo stesso, così come l'aspetto dei connettori. Il cablaggio interno è, ovviamente, diverso. I connettori per cavi a 80 fili devono collegare un gran numero di conduttori di terra un piccolo numero contatti di terra, mentre in un cavo a 40 fili i conduttori sono collegati ciascuno al proprio contatto. I cavi a 80 fili solitamente hanno connettori di colori diversi (blu, grigio e nero), a differenza dei cavi a 40 fili, dove solitamente tutti i connettori sono dello stesso colore (solitamente neri).

Lo standard ATA ha sempre fissato la lunghezza massima del cavo a 45,7 cm (18 pollici). Questa limitazione rende difficile collegare dispositivi in ​​case di grandi dimensioni o connettere più unità a un singolo computer ed elimina quasi completamente la possibilità di utilizzare unità PATA come unità esterne. Sebbene siano ampiamente disponibili cavi di lunghezza maggiore, tenere presente che non sono standard. Lo stesso si può dire dei cavi “tondi”, anch’essi molto utilizzati. Lo standard ATA descrive solo cavi piatti con caratteristiche specifiche di impedenza e capacità. Ciò, ovviamente, non significa che altri cavi non funzioneranno, ma in ogni caso l'uso di cavi non standard dovrebbe essere trattato con cautela.

Se due dispositivi sono collegati allo stesso loop, solitamente ne viene chiamato uno primo(maestro inglese), e l'altro - schiavo(schiavo inglese). In genere, il dispositivo master viene prima del dispositivo slave nell'elenco delle unità elencate dal BIOS o dal sistema operativo del computer. Nei BIOS più vecchi (486 e precedenti), le unità venivano spesso designate erroneamente con lettere: "C" per master e "D" per slave.

Se è presente un solo azionamento su un loop, nella maggior parte dei casi dovrebbe essere configurato come master. Alcune unità (in particolare quelle prodotte da Western Digital) hanno un'impostazione speciale chiamata separare(ovvero "un'unità per cavo"). Tuttavia, nella maggior parte dei casi, l'unica unità del cavo può funzionare anche come slave (questo si verifica spesso quando si collega un CD-ROM a un canale separato).

Un'impostazione chiamata selezione del cavo è stata descritta come opzionale nella specifica ATA-1 ed è diventata comune a partire da ATA-5 perché elimina la necessità di ripristinare i ponticelli dell'unità per eventuali riconnessioni. Se l'unità è impostata sulla modalità di selezione del cavo, viene automaticamente impostata come master o slave a seconda della sua posizione nel loop. Per poter determinare questa posizione, il loop deve essere con campionamento via cavo. Per tale cavo, il pin 28 (CSEL) non è collegato a uno dei connettori ( grigio, solitamente nella media). Il controller collega a terra questo pin. Se l'azionamento vede che il contatto è a massa (cioè è 0 logico), si configura come master, altrimenti (stato di alta impedenza) si configura come slave.

Ai tempi dei cavi a 40 fili, era pratica comune installare la selezione del cavo semplicemente tagliando il conduttore 28 tra i due connettori collegati alle unità. In questo caso, l'unità slave si trovava all'estremità del cavo e l'unità master al centro. Questo posizionamento è stato persino standardizzato nelle versioni successive delle specifiche. Quando su un cavo viene posizionato un solo dispositivo, questo posizionamento risulta in un pezzo di cavo non necessario all'estremità, il che è indesiderabile, sia per motivi di comodità che per ragioni fisiche: questo pezzo porta alla riflessione del segnale, soprattutto alle alte frequenze .

I cavi a 80 fili introdotti per UDMA4 non presentano questi svantaggi. Ora il dispositivo master è sempre alla fine del ciclo, quindi se è collegato un solo dispositivo, non ti ritroverai con questo pezzo di cavo non necessario. La selezione del cavo è "di fabbrica", effettuata nel connettore stesso semplicemente per esclusione questo contatto. Poiché i circuiti da 80 fili richiedevano comunque i propri connettori, l'adozione diffusa di questo non è stata un grosso problema. La norma prevede inoltre l'utilizzo di connettori di colore diverso per renderli più facilmente identificabili sia da parte del produttore che dell'assemblatore. Il connettore blu serve per il collegamento al controller, il connettore nero è per il dispositivo master e il connettore grigio è per lo slave.

I termini “master” e “slave” sono stati presi in prestito dall’elettronica industriale (dove questo principio è ampiamente utilizzato nell’interazione di nodi e dispositivi), ma in in questo caso non sono corretti e pertanto non vengono utilizzati Versione attuale norma ATA. È più corretto chiamare rispettivamente disco master e disco slave dispositivo 0 (dispositivo 0) E dispositivo 1 (dispositivo 1). Esiste un mito comune secondo cui il disco master controlla l'accesso dei dischi al canale. Infatti, il controller (che a sua volta controlla il driver del sistema operativo) controlla l'accesso al disco e l'ordine di esecuzione dei comandi. Cioè, infatti, entrambi i dispositivi sono schiavi rispetto al controller.

Che tu sia uno sviluppatore esperto o che tu stia semplicemente imparando a programmare, è importante conoscere tutte le funzionalità integrate nuove ed esistenti ambienti di sviluppo. Di seguito è riportato un elenco dei 10 IDE più popolari.

In che modo un IDE è diverso da un editor di testo?

Un IDE è più di un semplice editor di testo. Mentre editor di testo per il codice, come Sublime o Atom, ne offrono molti funzioni convenienti, come l'evidenziazione della sintassi, un'interfaccia personalizzabile e strumenti di navigazione avanzati, ti consentono solo di scrivere codice. Per creare applicazioni funzionanti sono necessari almeno un compilatore e un debugger.

L'IDE include questi componenti, oltre a numerosi altri. Alcuni di loro vengono con strumenti aggiuntivi per l'automazione, il test e la visualizzazione del processo di sviluppo. Il termine "ambiente di sviluppo integrato" significa che viene fornito tutto il necessario per trasformare il codice in applicazioni funzionanti.

Controlla l'elenco seguente delle caratteristiche e degli svantaggi di ciascuno dei 10 migliori IDE.

1.Microsoft Visual Studio


Microsoft Visual Studio lo è ambiente di sviluppo integrato, il cui prezzo varia da $ 699 a $ 2900. Molte versioni di questo IDE sono in grado di creare tutti i tipi di programmi, dalle applicazioni web alle applicazioni mobili ai videogiochi. Questa linea di software include molti strumenti di test di compatibilità. La sua flessibilità rende Visual Studio un ottimo strumento per studenti e professionisti.

Linguaggi supportati: Ajax, ASP.NET, DHTML, JavaScript, JScript, Visual Basic, Visual C#, Visual C++, Visual F#, XAML e altri.

Peculiarità:

  • Un'enorme libreria di estensioni in continua crescita;
  • IntelliSense;
  • Pannello personalizzabile e finestre agganciabili;
  • Flusso di lavoro e gerarchia dei file semplici;
  • Statistiche di monitoraggio delle prestazioni in tempo reale;
  • Strumenti di automazione;
  • Facile refactoring e inserimento di frammenti di codice;
  • Supporto per schermo diviso;
  • Elenco errori che semplifica il debug;
  • Convalida l'approvazione durante la distribuzione delle applicazioni utilizzando ClickOnce, Windows Installer o Pubblicazione guidata.

Svantaggi: poiché Visual Studio è un IDE super pesante, richiede risorse significative per aprire ed eseguire le applicazioni. Pertanto, su alcuni dispositivi, apportare semplici modifiche potrebbe richiedere molto tempo. Per compiti semplici è consigliabile utilizzare un editor compatto o Strumento di sviluppo PHP.

2. NetBean


Ambiente di sviluppo gratuito e open source. Adatto per modificare progetti esistenti o crearne di nuovi. NetBeans offre una semplice interfaccia drag-and-drop fornita con un gran numero di comodi modelli di progetto. L'ambiente viene utilizzato principalmente per lo sviluppo di applicazioni Java, ma è possibile installare pacchetti che supportano altri linguaggi.

Linguaggi di programmazione supportati: C, C++, C++ 11, Fortan, HTML 5, Java, PHP e altri.

Peculiarità:

  • Interfaccia drag-and-drop intuitiva;
  • Librerie dinamiche e statiche;
  • Integrazione di più sessioni di debugger GNU con supporto del codice;
  • Capacità di implementare la distribuzione remota;
  • Compatibile con piattaforme Windows, Linux, OS X e Solaris;
  • Supporto per Qt Toolkit;
  • Supporto Fortan e Assembler;
  • Supporta una gamma di compilatori, tra cui CLang/LLVM, Cygwin, GNU, MinGW e Oracle Solaris Studio.

Svantaggi: questo ambiente libero lo sviluppo consuma molta memoria, quindi potrebbe essere lento su alcuni PC.

3. PyCharm


PyCharm è sviluppato dal team Jet Brains. Vengono forniti gli utenti versione gratuita Community Edition, prova gratuita di 30 giorni della Professional Edition e abbonamento annuale per $ 213 - $ 690 a Versione professionale Edizione. Il supporto e l'analisi completi del codice rendono PyCharm il migliore IDE per programmatori Python.

Linguaggi supportati: AngularJS, Coffee Script, CSS, Cython, HTML, JavaScript, Node.js, Python, TypeScript.

Peculiarità:

  • Compatibilità del sistema operativo Sistemi Windows, Linux e sistema operativo Mac;
  • Viene fornito con l'IDE Django;
  • Si integra facilmente con Git, Mercurial e SVN;
  • Interfaccia personalizzabile con emulazione VIM;
  • Debugger per JavaScript, Python e Django;
  • Supporto per Google App Engine.

Svantaggi: gli utenti lamentano che questo ambiente di sviluppo Python contiene alcuni bug, come la funzionalità di completamento automatico che non funziona occasionalmente, il che può causare alcuni inconvenienti.

4. IDEA IntelliJ


Un altro IDE sviluppato da Jet Brains. Offre agli utenti una Community Edition gratuita. Prova gratuita di 30 giorni della Ultimate Edition E abbonamento annuale per la Ultimate Edition per $533 - $693. IDEA IntelliJ supporta Java 8 e Java EE 7, dispone di strumenti estesi per lo sviluppo di applicazioni mobili e tecnologie aziendali per varie piattaforme. Quando si tratta di prezzo, IntelliJ è un'ottima opzione grazie al suo vasto elenco di funzionalità.

Linguaggi di programmazione supportati: AngularJS, CoffeeScript, HTML, JavaScript, LESS, Node JS, PHP, Python, Ruby, Sass, TypeScript e altri.

Peculiarità:

  • Editor di database avanzato e progettista UML;
  • Supporta più sistemi di build;
  • Interfaccia utente per l'esecuzione del test dell'applicazione;
  • Integrazione Git;
  • Supporto per Google App Engine, Grails, GWT, Hibernate, Java EE, OSGi, Play, Spring, Struts e altri;
  • Strumenti di distribuzione e debug integrati per la maggior parte dei server applicazioni;
  • Editor di testo intelligenti per HTML, CSS e Java;
  • Controllo della versione integrato;
  • AIR Mobile con Supporto Android e iOS.

Svantaggi: questo ambiente Sviluppo JavaScript richiede tempo e impegno per l'apprendimento, quindi potrebbe non essere l'opzione migliore per i principianti. Ha molte combinazioni di tasti di scelta rapida che devi solo ricordare. Alcuni utenti si lamentano dell'interfaccia goffa.

5. Eclissi


Editor open source gratuito e flessibile. Può essere utile sia ai principianti che ai professionisti. Originariamente creato come ambiente per lo sviluppo Java, oggi Eclipse ha vasta gamma opportunità grazie a un largo numero plugin ed estensioni. Oltre agli strumenti di debug e al supporto Git/CVS, la versione standard di Eclipse viene fornita con Java e strumenti di sviluppo plugin. Se ciò non ti basta, ci sono molti altri pacchetti disponibili: strumenti per creare grafici, modellare, creare report, testare e creare interfacce grafiche. Il client Eclipse Marketplace offre agli utenti l'accesso a un repository di plug-in e informazioni.

Linguaggi supportati: C, C++, Java, Perl, PHP, Python, Ruby e altri.

Peculiarità:

  • Molte soluzioni a pacchetto che forniscono supporto multilingue;
  • Miglioramenti dell'IDE Java come visualizzazioni gerarchiche di progetti nidificati;
  • Interfaccia orientata alle attività, comprese le notifiche nella barra delle applicazioni;
  • Generazione automatica di report errori;
  • Opzioni del toolkit per progetti JEE;
  • Integrazione con JUnit.

Svantaggi: molte delle opzioni in questo ambiente di sviluppo possono intimidire i neofiti. Eclipse non ha tutte le funzionalità di IntelliJ IDEA, ma è un IDE open source.

6. Codice::Blocchi


Un altro popolare strumento open source. Un IDE flessibile che funziona in modo coerente su tutte le piattaforme, rendendolo ideale per gli sviluppatori che passano spesso da un'area di lavoro all'altra. Il framework integrato ti consente di personalizzare questo IDE in base alle tue esigenze.

Linguaggi supportati: C, C++, Fortran.

Peculiarità:

  • Interfaccia semplice con schede di file aperte;
  • Compatibile con Linux, Mac e Windows;
  • Scritto in C++;
  • Non richiede linguaggi di programmazione interpretati o proprietari;
  • Molti plugin integrati e personalizzabili;
  • Supporta più compilatori, inclusi GCC, MSVC++, clang e altri;
  • Debugger con supporto dei punti di interruzione;
  • Editor di testo con evidenziazione della sintassi e funzione di riempimento automatico;
  • Strumenti esterni personalizzabili;
  • Semplici strumenti di gestione delle attività, ideali per la collaborazione.

Svantaggi: l'ambiente di sviluppo C è relativamente compatto, quindi non è adatto a progetti di grandi dimensioni. Questo è un ottimo strumento per i principianti, ma i programmatori avanzati potrebbero essere frustrati dai suoi limiti.

7. Aptana Studio 3


L'IDE open source più potente. Aptana Studio 3 è notevolmente migliorato rispetto alle versioni precedenti. Supporta la maggior parte delle specifiche del browser. Pertanto, gli utenti di questo IDE possono sviluppare, testare e distribuire rapidamente applicazioni Web utilizzandolo.

Linguaggi supportati: HTML5, CSS3, JavaScript, Ruby, Rails, PHP e Python.

Peculiarità:

  • Suggerimenti per CSS, HTML, JavaScript, PHP e Ruby;
  • Procedura guidata di distribuzione con configurazione semplice e protocolli multipli tra cui Capistrano, FTP, FTPS e SFTP;
  • La possibilità di installare automaticamente le applicazioni Ruby e Rails create sui server di hosting;
  • Debugger integrati per Ruby, Rails e JavaScript;
  • Integrazione Git;
  • Facile accesso al terminale riga di comando con centinaia di squadre;
  • Corda comandi personalizzati per espandere le opportunità.

Contro: Ha problemi di stabilità ed è lento. Pertanto, gli sviluppatori professionisti potrebbero preferire un ambiente di sviluppo HTML più potente.

8. Komodo


Offre una prova gratuita di 21 giorni, versione completa costa $99 – $1615 a seconda dell'edizione e della licenza. Komodo supporta la maggior parte dei principali linguaggi di programmazione. L'interfaccia intuitiva consente modifiche avanzate e di piccole dimensioni caratteristiche utili funzionalità come il controllo della sintassi e il debug in un solo passaggio rendono Komodo uno degli IDE più popolari per lo sviluppo web e mobile.

Linguaggi supportati: CSS, Go, JavaScript, HTML, NodeJS, Perl, PHP, Python, Ruby, Tcl e altri.

Peculiarità:

  • Interfaccia multifinestra personalizzabile;
  • Integrazione del controllo della versione per Bazaar, CVS, Git, Mercurial, Perforce e Subversion;
  • Profilazione Codice Python e PHP;
  • Possibilità di implementazione in cloud grazie a Stackato PaaS;
  • Debug grafico per NodeJS, Perl, PHP, Python, Ruby e Tcl;
  • Completamento e refactoring automatici;
  • Prestazioni stabili attivate Piattaforme Mac, Linux e Windows

Svantaggi: la versione gratuita dell'ambiente di sviluppo software non include tutte le funzionalità. Allo stesso tempo, la versione premium vale chiaramente i soldi spesi.

9. RubyMine


Un altro IDE premium sviluppato da Jet Brains. Offerto Prova gratuita di 30 giorni la versione di prova, la versione completa costa $ 210 - $ 687 all'anno. La facile navigazione, l'organizzazione logica del flusso di lavoro e la compatibilità con la maggior parte delle piattaforme rendono RubyMine uno degli strumenti più apprezzati dagli sviluppatori.

Linguaggi supportati: CoffeeScript, CSS, HAML, HTML, JavaScript, LESS, Ruby e Rails, Ruby e SASS.

Peculiarità:

  • Frammenti di codice, riempimento automatico e refactoring automatico;
  • Albero del progetto, che consente di analizzare rapidamente il codice;
  • Schema del modello di rotaie;
  • Visualizza il progetto delle rotaie;
  • RubyMotion supporta lo sviluppo iOS;
  • Il supporto dello stack include Bundler, pik, rbenv, RVM e altri;
  • Debugger JavaScript, CoffeeScript e Ruby;
  • Integrazione con CVS, Git, Mercurial, Perforce e Subversion.

Svantaggi dell'ambiente di sviluppo: affinché RubyMine funzioni correttamente, il tuo computer richiede almeno 4 GB di RAM. Alcuni utenti lamentano anche la mancanza di opzioni di personalizzazione della GUI.

Ciao! In abbiamo esaminato in dettaglio il dispositivo del disco rigido, ma non ho detto nulla in particolare sulle interfacce, ovvero sui modi di interazione tra il disco rigido e altri dispositivi del computer o, più specificamente, sui modi di interagire (collegare) il disco rigido. e il computer.

Perché non l'hai detto? Ma perché questo argomento vale nientemeno che un intero articolo. Pertanto, oggi analizzeremo in dettaglio le interfacce del disco rigido più popolari al momento. Faccio subito una prenotazione affinché l'articolo o il post (a seconda di quale sia più conveniente per te) questa volta avrà una dimensione impressionante, ma sfortunatamente non puoi farne a meno, perché se scrivi brevemente, risulterà essere completamente poco chiaro.

Concetto di interfaccia del disco rigido del computer

Per prima cosa definiamo il concetto di "interfaccia". A proposito di in un linguaggio semplice(ed è a loro che mi esprimerò il più possibile, perché il blog è destinato alle persone comuni, come te e me), interfaccia: il modo in cui i dispositivi interagiscono tra loro e non solo con i dispositivi. Ad esempio, molti di voi probabilmente hanno sentito parlare della cosiddetta interfaccia “amichevole” di un programma. Cosa significa? Ciò significa che l'interazione tra una persona e un programma è più semplice, non richiedendo molto sforzo da parte dell'utente, rispetto ad un'interfaccia “non amichevole”. Nel nostro caso, l'interfaccia è semplicemente un modo di interazione tra il disco rigido e la scheda madre del computer. È un insieme di linee speciali e un protocollo speciale (un insieme di regole di trasferimento dei dati). Cioè, puramente fisicamente, è un cavo (cavo, filo), su entrambi i lati del quale sono presenti ingressi, e sul disco rigido e sulla scheda madre sono presenti porte speciali (punti in cui è collegato il cavo). Pertanto, il concetto di interfaccia comprende il cavo di collegamento e le porte situate sui dispositivi a cui si collega.

Bene, ora passiamo al “succo” dell’articolo di oggi, andiamo!

Tipi di interazione tra dischi rigidi e scheda madre del computer (tipi di interfacce)

Quindi, in prima linea avremo il più “antico” (anni '80) di tutti, non si trova più nei moderni HDD, questa è l'interfaccia IDE (aka ATA, PATA).

IDE- tradotto dall'inglese "Integrated Drive Electronics", che letteralmente significa "controller integrato". Solo più tardi l'IDE cominciò a essere chiamata interfaccia per il trasferimento dei dati, poiché il controller (situato nel dispositivo, solitamente nei dischi rigidi e unità ottiche) e la scheda madre doveva essere collegata a qualcosa. Esso (IDE) è anche chiamato ATA (Advanced Technology Attack), risulta qualcosa come "Advanced Connection Technology". Il fatto è che ATA - interfaccia dati parallela, per il quale presto (letteralmente immediatamente dopo il rilascio di SATA, di cui parleremo di seguito) fu ribattezzato PATA (Parallel ATA).

Cosa posso dire, anche se l'IDE era molto lento ( portata canale di trasmissione dati variava da 100 a 133 megabyte al secondo per versioni diverse IDE - e anche allora puramente teoricamente, in pratica molto meno), ma permetteva di collegare contemporaneamente due dispositivi alla scheda madre, utilizzando un cavo.

Inoltre, in caso di collegamento di due dispositivi contemporaneamente, la capacità della linea veniva divisa a metà. Tuttavia, questo non è l'unico inconveniente dell'IDE. Il filo stesso, come si può vedere dalla figura, è piuttosto largo e, una volta collegato, farà la parte del leone spazio libero nell'unità di sistema, che influenzerà negativamente il raffreddamento dell'intero sistema nel suo insieme. Nel complesso L'IDE è già obsoleto moralmente e fisicamente, per questo motivo il connettore IDE non si trova più su molte schede madri moderne, anche se fino a poco tempo fa erano ancora installate (nella quantità di 1 pezzo) su schede madri economiche e su alcune schede nel segmento di prezzo medio.

La prossima interfaccia, non meno popolare dell'IDE a suo tempo, lo è SATA (ATA seriale), la cui caratteristica è la trasmissione seriale dei dati. Vale la pena notare che al momento in cui scriviamo questo articolo è il più diffuso per l'utilizzo su PC.

Esistono 3 varianti principali (revisioni) di SATA, che differiscono tra loro per throughput: rev. 1 (SATA I) - 150 Mb/s, rev. 2 (SATA II) - 300 Mbit/s, rev. 3 (SATA III) - 600 Mb/s. Ma questo è solo in teoria. In pratica, la velocità di scrittura/lettura dei dischi rigidi di solito non supera i 100-150 MB/s, e la velocità rimanente non è ancora richiesta e influenza solo la velocità di interazione tra il controller e la memoria cache dell'HDD (aumenta la capacità del disco velocità di accesso).

Tra le innovazioni possiamo notare: compatibilità con le versioni precedenti di tutte le versioni di SATA (un disco con connettore SATA rev. 2 può essere collegato a una scheda madre con connettore SATA rev. 3, ecc.), aspetto migliorato e facilità di connessione/disconnessione il cavo, aumentato rispetto alla lunghezza del cavo IDE (1 metro massimo, contro 46 cm a Interfaccia dell'IDE), supporto Funzioni NCQ a partire dalla prima revisione. Mi affretto a compiacere i proprietari di vecchi dispositivi che non supportano SATA: esistono adattatori da PATA a SATA, questa è una vera via d'uscita dalla situazione, che ti consente di evitare di sprecare soldi per l'acquisto di una nuova scheda madre o di un nuovo disco rigido.

Inoltre, a differenza di PATA, l'interfaccia SATA prevede dischi rigidi "hot-swappable", il che significa che quando l'unità di sistema del computer è accesa, i dischi rigidi possono essere collegati/scollegati. È vero, per implementarlo dovrai approfondire un po 'le impostazioni del BIOS e abilitare la modalità AHCI.

Il prossimo in fila - eSATA (SATA esterno)- è stato creato nel 2004, la parola "esterno" indica che viene utilizzato per collegare dischi rigidi esterni. Supporta" scambio a caldo". La lunghezza del cavo di interfaccia è maggiore rispetto a SATA - lunghezza massima ora è pari a due metri. eSATA non è fisicamente compatibile con SATA, ma ha la stessa larghezza di banda.

Ma eSATA non è l'unico modo per collegare dispositivi esterni a un computer. Per esempio FireWire- interfaccia seriale ad alta velocità per la connessione dispositivi esterni, compreso l'HDD.

Supporta lo scambio a caldo dei dischi rigidi. In termini di larghezza di banda è paragonabile a USB 2.0 e con l'avvento di USB 3.0 perde anche in velocità. Tuttavia, ha ancora un vantaggio: FireWire è in grado di fornire una trasmissione dati isocrona, che ne facilita l'utilizzo in video digitale, poiché consente la trasmissione dei dati in tempo reale. Certo, FireWire è popolare, ma non così popolare come, ad esempio, USB o eSATA. Viene utilizzato abbastanza raramente per collegare i dischi rigidi, nella maggior parte dei casi FireWire viene utilizzato per collegare vari dispositivi multimediali.

USB (bus seriale universale), forse l'interfaccia più comune utilizzata per collegare dischi rigidi esterni, unità flash e unità a stato solido(SSD). Come nel caso precedente, c'è il supporto per "hot swap", la lunghezza massima del cavo di collegamento è piuttosto grande - fino a 5 metri nel caso Utilizzo dell'USB 2.0 e fino a 3 metri - se si utilizza USB 3.0. Probabilmente è possibile allungare il cavo, ma in questo caso sarà in dubbio il funzionamento stabile dei dispositivi.

La velocità di trasferimento dati USB 2.0 è di circa 40 MB/s, che è generalmente bassa. Sì, certo, per il normale lavoro quotidiano con i file è sufficiente una larghezza di banda del canale di 40 Mb/s, ma non appena si inizia a parlare di lavorare con file di grandi dimensioni, inevitabilmente si inizia a guardare verso qualcosa di più veloce. Ma si scopre che c'è una via d'uscita, e il suo nome è USB 3.0, la cui larghezza di banda, rispetto al suo predecessore, è aumentata di 10 volte ed è di circa 380 Mb/s, cioè quasi uguale a SATA II, anche un po 'di più.

Esistono due tipi di contatti cavo USB, questi sono di tipo "A" e di tipo "B", situati alle estremità opposte del cavo. Digitare "A" - controller ( scheda madre), tipo "B" - dispositivo collegato.

USB 3.0 (Tipo "A") è compatibile con USB 2.0 (Tipo "A"). I tipi "B" non sono compatibili tra loro, come si può vedere dalla figura.

Fulmine(Picco leggero). Nel 2010, Intel ha presentato il primo computer con questa interfaccia e, poco dopo, la non meno famosa azienda Apple si è unita a Intel nel supportare Thunderbolt. Thunderbolt è piuttosto interessante (beh, come potrebbe essere altrimenti, Apple sa in cosa vale la pena investire), vale la pena parlare del suo supporto per funzionalità come: il famigerato "hot swap", connessione simultanea con più dispositivi contemporaneamente, velocità di trasferimento dati davvero “enorme” (20 volte più veloce di USB 2.0).

La lunghezza massima del cavo è di soli 3 metri (di più a quanto pare non è necessario). Tuttavia, nonostante tutto vantaggi elencati, Thunderbolt non è ancora “massiccio” e viene utilizzato principalmente in dispositivi costosi.

Andare avanti. Successivamente abbiamo un paio di interfacce molto simili: SAS e SCSI. La loro somiglianza sta nel fatto che entrambi vengono utilizzati principalmente in server dove sono richieste prestazioni elevate e tempi di accesso brevissimi. disco rigido. Tuttavia, c'è anche lato posteriore medaglie: tutti i vantaggi di queste interfacce sono compensati dal prezzo dei dispositivi che le supportano. Dischi rigidi, supportare SCSI o SAS sono molto più costosi.

SCSI(Small Computer System Interface) - un'interfaccia parallela per il collegamento di vari dispositivi esterni (non solo dischi rigidi).

È stato sviluppato e standardizzato anche un po' prima della prima versione di SATA. Le ultime versioni di SCSI dispongono del supporto hot-swap.

SAS(Serial attached SCSI), che ha sostituito SCSI, avrebbe dovuto risolvere una serie di difetti di quest'ultimo. E devo dire che ci è riuscito. Il fatto è che, a causa del suo "parallelismo", SCSI utilizzava un bus comune, quindi solo uno dei dispositivi alla volta poteva funzionare con il controller; SAS non presenta questo inconveniente.

Inoltre, è retrocompatibile con SATA, il che è sicuramente un grande vantaggio. Sfortunatamente, il costo dei dischi rigidi è Interfaccia SASè vicino al costo dei dischi rigidi SCSI, ma non c'è modo di eliminarli; devi pagare per la velocità.

Se non sei ancora stanco, ti suggerisco di considerare un altro modo interessante Collegamenti dell'HDD - NAS(Archiviazione collegata alla rete). Attualmente sistemi di rete l'archiviazione dei dati (NAS) è molto popolare. In sostanza, si tratta di un computer separato, una sorta di mini-server, responsabile della memorizzazione dei dati. Si connette a un altro computer tramite cavo di rete ed è controllato da un altro computer tramite un normale browser. Tutto ciò è necessario nei casi in cui è richiesto un ampio spazio su disco, che viene utilizzato da più persone contemporaneamente (in famiglia, al lavoro). I dati dalla memoria di rete vengono trasferiti ai computer degli utenti tramite un normale cavo (Ethernet) o tramite Wi-Fi. Secondo me una cosa molto comoda.

Penso che sia tutto per oggi. Spero che il materiale ti sia piaciuto, ti consiglio di iscriverti agli aggiornamenti del blog per non perdere nulla (modulo in alto a destra) e ci vediamo nei prossimi articoli del blog.

I migliori articoli sull'argomento