Интерфейсы периферийных устройств - как все устроено. AHCI или IDE - что лучше? Описание режима, характеристики

19.07.2019 Photoshop 3D

Максимальная производительность достигается при использовании механизма AHCI. Поэтому во всех новых ПК, которые работают под управлением операционной системы Windows 7 или более старших версий ОС от Microsoft, используется именно этот вариант. Если же речь идет о старых системах, то здесь нужно еще подумать, использовать AHCI или IDE. Что лучше? Ответ на этот вопрос зависит от многих факторов.

AHCI или IDE - что лучше? Как выбрать нужный режим?

Несмотря на популярность операционных систем Windows 7, 8, 10 многие владельцы персональных компьютеров и ноутбуков продолжают использовать Win XP. ОС отличается стабильностью. Людям комфортно с ней работать. Однако у системы Windows XP есть и ряд существенных недостатков:

  • официальная поддержка Microsoft данной ОС полностью прекращена;
  • технологически устаревшая операционная система;
  • не поддерживает новые версии DirectX (версии 10-12);
  • проблемы с безопасностью;
  • нет поддержки наиболее актуальных технологий;
  • на XP невозможно установить многие современные программы;
  • отсутствуют драйверы на новое оборудование.

Список можно было бы продолжать еще долго. Если рассматривать вопрос о том, какой лучше режим работы - AHCI или IDE - то здесь стоит принимать во внимание тот факт, что Windows XP просто не поддерживает первый вариант. Это, разумеется, касается и более старых версий ОС от Microsoft. Поэтому здесь выбор очевиден - только IDE. Но если человек относится к категории продвинутых пользователей, он может загрузить в систему специальные драйверы, которые позволяют использовать механизм AHCI. По умолчанию же этот режим не поддерживается.

Как работает режим IDE

Комплектующие, которым для подключения необходим интерфейс ATA, используют для работы механизм IDE. Данная технология является устаревшей, однако она широко применялась в девяностых годах прошлого столетия и в начале нулевых. Стандарт был внедрен в IBM PC - первых массовых популярных компьютерах.

Механизм IDE (параллельный интерфейс подключения накопителей) обеспечивал передачу данных со скоростью 150 Мбит/сек. Он не позволял использовать некоторые актуальные на тот момент технологические решения. Так, нельзя было произвести горячее извлечение из системы жесткого диска или CD-привода без выключения или перезагрузки системы. Подобные возможности были добавлены инженерами спустя некоторое время, однако лишь часть компьютеров получила их поддержку. Зная предысторию развития интерфейсов, можно легко ответить на ряд вопросов: AHCI или IDE - что лучше для конкретной операционной системы, какая схема обеспечивает более быструю работу?

Активное использование интерфейсов Parallel ATA закончилось примерно в 2006 году, когда главную роль стал играть новый стандарт SATA. Однако даже спустя 10 лет IDE все еще в строю, хотя и используется гораздо реже. Механизм применяется практически во всех старых компьютерах и ноутбуках, активен даже в системах, поддерживающих работу с AHCI.

Особенности режима AHCI

Появление нового интерфейса SATA, который обладал более мощными возможностями в сравнении с предшествующей технологией PATA, создало потребность в новом механизме работы с системой. Так появился режим AHCI. Он позволил использовать ресурсы недавно появившегося интерфейса на полную мощность. Сегодня данный механизм поддерживается всеми современными системными платами.

Использование режима AHCI позволяет обеспечить передачу информации на максимально возможной скорости и использовать любые актуальные технологические решения. Все актуальные на сегодняшний день операционные системы имеют драйверы устройств, эксплуатирующие данный протокол. Так что же выбрать сейчас, IDE или AHCI? Что лучше для современного компьютера? В большинстве случаев выбор стоит делать в пользу второго варианта.

Преимущества механизма AHCI

Современные приводы с интерфейсом SATA полностью совместимы с новым режимом. Какие же преимущества есть у этого механизма? Все-таки, выбрать IDE или AHCI - что лучше? Windows 7 и более новые версии ОС от Microsoft способны работать с двумя вышеназванными протоколами. Но второй из них лучше использовать для новых систем.

Выгоды, которые получает пользователь при использовании AHCI:

  • большая скорость передачи данных;
  • отличная производительность;
  • полная совместимость с современными операционными системами;
  • возможность осуществлять «горячую» замену жестких дисков;
  • поддержка технологии NCQ (улучшает работу HDD).

Зная обо всех плюсах и минусах решения, легко сделать выбор, ставить в настройках AHCI или IDE. Что лучше будет для современного компьютера? Если он не оснащен приводами PATA, лучше установить новый режим.

Какой режим задать в настройках BIOS

Несмотря на то что режим IDE давно устарел, его поддержка все еще осуществляется производителями материнских плат. Даже в самых новых моделях присутствует возможность использовать этот интерфейс. В настройках BIOS в соответствующем разделе можно сменить один режим на другой. По умолчанию обычно устанавливается механизм AHCI. Можно нарваться на исключение, однако это бывает крайне редко.

Если взять типичную ситуацию, когда пользователь пытается установить на компьютер операционную систему Windows 7, то ему даже не придется вносить никаких изменений в BIOS, чтобы использовать новую схему. Возможно, кому-то покажется привычным работать со старым интерфейсом. Так все же, IDE или AHCI - что лучше? Windows 7 ведь позволяет использовать оба режима.

Если жесткий диск или другой накопитель подключен к материнской плате через интерфейс SATA, то следует оставить режим AHCI, заданный по умолчанию. Полная поддержка данного механизма обеспечивается в операционных системах Windows 7, 8, 10, Ubuntu 16.04 и других. Только с новым режимом возможна стабильная работа данных ОС.

Что делать, если после включения режима AHCI перестает загружаться система

Такая ситуация может возникнуть, если у пользователя установлена ОС Windows XP или старая версия Linux. Здесь не стоит вопрос, предпочесть AHCI или IDE. Что лучше будет для старой ОС? Пожалуй, предпочтительнее задать режим IDE. Можно попытаться установить в систему дополнительные драйверы, которые обеспечивают поддержку нового стандарта. Однако нет гарантии, что после данной процедуры ОС будет корректно работать.

В некоторых случаях компьютер, успешно проработавший долгое время под управлением системы Windows XP, однажды перестает загружаться. При этом пользователь не менял в BIOS режим работы накопителей. Такая ситуация может возникнуть из-за ошибок в работе базовой системы ввода-вывода. В этом случае происходит сброс настроек, активируется режим AHCI.Пользователю необходимосамостоятельно установить в настройках BIOS поддержку механизма IDE.

И с его появлением получил название PATA (Parallel ATA).

История

Шлейфы ATA (IDE): 40-проводной сверху, 80-проводной с кабельной выборкой снизу

Предварительное название интерфейса было PC/AT Attachment («Соединение с PC/AT »), так как он предназначался для подсоединения к 16-битной шине ISA , известной тогда как шина AT . В окончательной версии название переделали в «AT Attachment» для избежания проблем с торговыми марками.

Первоначальная версия стандарта была разработана в 1986 году фирмой Western Digital и по маркетинговым соображениям получила название IDE (англ. Integrated Drive Electronics - «электроника, встроенная в привод»). Оно подчеркивало важное нововведение: контроллер привода располагается в нём самом, а не в виде отдельной платы расширения , как в предшествующем стандарте ST-506 и существовавших тогда интерфейсах SCSI и ST-412 . Это позволило улучшить характеристики накопителей (за счёт меньшего расстояния до контроллера), упростить управление им (так как контроллер канала IDE абстрагировался от деталей работы привода) и удешевить производство (контроллер привода мог быть рассчитан только на «свой» привод, а не на все возможные; контроллер канала же вообще становился стандартным). Следует отметить, что контроллер канала IDE правильнее называть хост-адаптером , поскольку он перешёл от прямого управления приводом к обмену данными с ним по протоколу.

В стандарте АТА определён интерфейс между контроллером и накопителем, а также передаваемые по нему команды.

Интерфейс имеет 8 регистров, занимающих 8 адресов в пространстве ввода-вывода. Ширина шины данных составляет 16 бит. Количество каналов, присутствующих в системе, может быть больше 2. Главное, чтобы адреса каналов не пересекались с адресами других устройств ввода-вывода. К каждому каналу можно подключить 2 устройства (master и slave), но в каждый момент времени может работать лишь одно устройство.

Принцип адресации CHS заложен в названии. Сперва блок головок устанавливается позиционером на требуемую дорожку (Cylinder), после этого выбирается требуемая головка (Head), а затем считывается информация из требуемого сектора (Sector).

Стандарт EIDE (англ. Enhanced IDE - «расширенный IDE»), появившийся вслед за IDE, позволял использование приводов ёмкостью, превышающей 528 Мб (504 МиБ), вплоть до 8,4 Гб. Хотя эти аббревиатуры возникли как торговые, а не официальные названия стандарта, термины IDE и EIDE часто употребляются вместо термина ATA . После введения в 2003 году стандарта Serial ATA («последовательный ATA») традиционный ATA стали именовать Parallel ATA , имея в виду способ передачи данных по параллельному 40- или 80-жильному кабелю.

Поначалу этот интерфейс использовался с жёсткими дисками, но затем стандарт был расширен для работы и с другими устройствами, в основном - использующими сменные носители. К числу таких устройств относятся приводы CD-ROM и DVD-ROM , ленточные накопители, а также дискеты большой ёмкости, такие, как ZIP и флоптические (используют магнитные головки с лазерным наведением ) диски (LS-120 /240). Кроме того, из файла конфигурации ядра FreeBSD можно сделать вывод, что на шину ATAPI подключали даже накопители на гибких магнитных дисках (дискета). Этот расширенный стандарт получил название Advanced Technology Attachment Packet Interface (ATAPI), в связи с чем полное наименование стандарта выглядит как ATA/ATAPI . ATAPI практически полностью совпадает со SCSI на уровне команд и, по сути, есть «SCSI по ATA-кабелю».

Первоначально интерфейсы для подключения приводов CD-ROM не были стандартизованы и являлись проприетарными разработками производителей приводов. В результате для подключения CD-ROM было необходимо устанавливать отдельную плату расширения, специфичную для конкретного производителя, например, для Panasonic (существовало не менее 5 специфичных вариантов интерфейсов, предназначенных для подключения CD-ROM). Некоторые варианты звуковых карт, например, Sound Blaster , оснащались именно такими портами (часто привод CD-ROM и звуковая плата поставлялись в виде мультимедиа-комплекта). Появление ATAPI позволило стандартизировать всю эту периферию и дать возможность подключать её к любому контроллеру, к которому можно подключить жесткий диск.

Другим важным этапом в развитии ATA стал переход от PIO (англ. Programmed input/output - программный ввод-вывод) к DMA (англ. Direct memory access - прямой доступ к памяти). При использовании PIO считыванием данных с диска управлял центральный процессор компьютера, что приводило к повышенной нагрузке на процессор и замедлению работы в целом. По причине этого компьютеры, использовавшие интерфейс ATA, обычно выполняли операции, связанные с диском, медленнее, чем компьютеры, использовавшие SCSI и другие интерфейсы. Введение DMA существенно снизило затраты процессорного времени на операции с диском.

В данной технологии потоком данных управляет сам накопитель, считывая данные в память или из памяти почти без участия процессора, который выдаёт лишь команды на выполнение того или иного действия. При этом жёсткий диск выдаёт сигнал запроса DMARQ на операцию DMA контроллеру. Если операция DMA возможна, контроллер выдаёт сигнал DMACK, и жёсткий диск начинает выдавать данные в 1-й регистр (DATA), с которого контроллер считывает данные в память без участия процессора.

Операция DMA возможна, если режим поддерживается одновременно BIOS , контроллером и операционной системой, в противном случае возможен лишь режим PIO.

В дальнейшем развитии стандарта (АТА-3) был введён дополнительный режим UltraDMA 2 (UDMA 33).

Этот режим имеет временные характеристики DMA Mode 2, однако данные передаются и по переднему, и по заднему фронту сигнала DIOR/DIOW. Это вдвое увеличивает скорость передачи данных по интерфейсу. Также введена проверка на чётность CRC, что повышает надёжность передачи информации.

В истории развития ATA был ряд барьеров , связанных с организацией доступа к данным. Большинство из этих барьеров, благодаря современным системам адресации и технике программирования, были преодолены. К их числу относятся ограничения на максимальный размер диска в 504 МиБ , около 8 ГиБ , около 32 ГиБ, и 128 ГиБ. Существовали и другие барьеры, в основном связанные с драйверами устройств, и организацией ввода-вывода в операционных системах, не соответствующих стандартам ATA.

Оригинальная спецификация АТА предусматривала 28-битный режим адресации. Это позволяло адресовать 2 28 (268 435 456) секторов по 512 байт каждый, что давало максимальную ёмкость в 137 Гб (128 ГиБ). В стандартных PC BIOS поддерживал до 7,88 ГиБ (8,46 Гб), допуская максимум 1024 цилиндра, 256 головок и 63 сектора. Это ограничение на число цилиндров/головок/секторов CHS (Cyllinder-Head-Sector) в сочетании со стандартом IDE привело к ограничению адресуемого пространства в 504 МиБ (528 Мб). Для преодоления этого ограничения была введена схема адресации LBA (Logical Block Address), что позволило адресовать до 7,88 ГиБ. Со временем и это ограничение было снято, что позволило адресовать сначала 32 ГиБ, а затем и все 128 ГиБ, используя все 28 разрядов (в АТА-4) для адресации сектора. Запись 28-битного числа организована путём записи его частей в соответствующие регистры накопителя (с 1 по 8 бит в 4-й регистр, 9-16 в 5-й, 17-24 в 6-й и 25-28 в 7-й).

Адресация регистров организована при помощи трёх адресных линий DA0-DA2. Первый регистр с адресом 0 является 16-разрядным и используется для передачи данных между диском и контроллером. Остальные регистры 8-битные и используются для управления.

Новейшие спецификации ATA предполагают 48-битную адресацию, расширяя таким образом возможный предел до 128 ПиБ (144 петабайт).

Эти ограничения на размер могут проявляться в том, что система думает, что объём диска меньше его реального значения, или вовсе отказывается загружаться и виснет на стадии инициализации жёстких дисков. В некоторых случаях проблему удаётся решить обновлением BIOS. Другим возможным решением является использование специальных программ, таких, как Ontrack DiskManager, загружающих в память свой драйвер до загрузки операционной системы. Недостатком таких решений является то, что используется нестандартная разбивка диска, при которой разделы диска оказываются недоступны, в случае загрузки, например, с обычной DOS-овской загрузочной дискеты. Впрочем, многие современные операционные системы (начиная от Windows NT4 SP3) могут работать с дисками большего размера, даже если BIOS компьютера этот размер корректно не определяет.

Интерфейс ATA

Для подключения жёстких дисков с интерфейсом PATA обычно используется 40-проводный кабель (именуемый также шлейфом). Каждый шлейф обычно имеет два или три разъёма, один из которых подключается к разъёму контроллера на материнской плате (в более старых компьютерах этот контроллер размещался на отдельной плате расширения), а один или два других подключаются к дискам. В один момент времени шлейф P-ATA передаёт 16 бит данных. Иногда встречаются шлейфы IDE, позволяющие подключение трёх дисков к одному IDE каналу, но в этом случае один из дисков работает в режиме read-only.

Разводка Parallel ATA
Контакт Назначение Контакт Назначение
1 Reset 2 Ground
3 Data 7 4 Data 8
5 Data 6 6 Data 9
7 Data 5 8 Data 10
9 Data 4 10 Data 11
11 Data 3 12 Data 12
13 Data 2 14 Data 13
15 Data 1 16 Data 14
17 Data 0 18 Data 15
19 Ground 20 Key
21 DDRQ 22 Ground
23 I/O Write 24 Ground
25 I/O Read 26 Ground
27 IOC HRDY 28 Cable Select
29 DDACK 30 Ground
31 IRQ 32 No Connect
33 Addr 1 34 GPIO_DMA66_Detect
35 Addr 0 36 Addr 2
37 Chip Select 1P 38 Chip Select 3P
39 Activity 40 Ground

Долгое время шлейф ATA содержал 40 проводников, но с введением режима Ultra DMA/66 (UDMA4 ) появилась его 80-проводная версия. Все дополнительные проводники - это проводники заземления, чередующиеся с информационными проводниками. Таким образом вместо семи проводников заземления их стало 47. Такое чередование проводников уменьшает ёмкостную связь между ними, тем самым сокращая взаимные наводки. Ёмкостная связь является проблемой при высоких скоростях передачи, поэтому данное нововведение было необходимо для обеспечения нормальной работы установленной спецификацией UDMA4 скорости передачи 66 МБ/с (мегабайт в секунду). Более быстрые режимы UDMA5 и UDMA6 также требуют 80-проводного кабеля.

Хотя число проводников удвоилось, число контактов осталось прежним, как и внешний вид разъёмов. Внутренняя же разводка, конечно, другая. Разъёмы для 80-проводного кабеля должны присоединять большое число проводников заземления к небольшому числу контактов заземления, в то время как в 40-проводном кабеле проводники присоединяются каждый к своему контакту. У 80-проводных кабелей разъёмы обычно имеют различную расцветку (синий, серый и чёрный), в отличие от 40-проводных, где обычно все разъёмы одного цвета (чаще чёрные).

Стандарт ATA всегда устанавливал максимальную длину кабеля равной 45,7 см (18 дюймов). Это ограничение затрудняет присоединение устройств в больших корпусах, или подключение нескольких приводов к одному компьютеру, и почти полностью исключает возможность использования дисков PATA в качестве внешних дисков. Хотя в продаже широко распространены кабели большей длины, следует иметь в виду, что они не соответствуют стандарту. То же самое можно сказать и по поводу «круглых» кабелей, которые также широко распространены. Стандарт ATA описывает только плоские кабели с конкретными характеристиками полного и ёмкостного сопротивлений. Это, конечно, не означает, что другие кабели не будут работать, но, в любом случае, к использованию нестандартных кабелей следует относиться с осторожностью.

Если к одному шлейфу подключены два устройства, одно из них обычно называется ведущим (англ. master ), а другое - ведомым (англ. slave ). Обычно ведущее устройство идёт перед ведомым в списке дисков, перечисляемых BIOS’ом компьютера или операционной системы . В старых BIOS’ах (486 и раньше) диски часто неверно обозначались буквами: «C» для ведущего диска и «D» для ведомого.

Если на шлейфе только один привод, он в большинстве случаев должен быть сконфигурирован как ведущий. Некоторые диски (в частности, производства Western Digital) имеют специальную настройку, именуемую single (то есть «один диск на кабеле»). Впрочем, в большинстве случаев единственный привод на кабеле может работать и как ведомый (такое часто встречается при подключении CD-ROM’а на отдельный канал).

Настройка, именуемая cable select (то есть «выбор, определяемый кабелем», кабельная выборка), была описана как опциональная в спецификации ATA-1 и стала широко распространена начиная с ATA-5, поскольку исключает необходимость переставлять перемычки на дисках при любых переподключениях. Если привод установлен в режим cable select, он автоматически устанавливается как ведущий или ведомый в зависимости от своего местоположения на шлейфе. Для обеспечения возможности определения этого местоположения шлейф должен быть с кабельной выборкой . У такого шлейфа контакт 28 (CSEL) не подключен к одному из разъёмов (серого цвета, обычно средний). Контроллер заземляет этот контакт. Если привод видит, что контакт заземлён (то есть на нём логический 0), он устанавливается как ведущий, в противном случае (высокоимпедансное состояние) - как ведомый.

Во времена использования 40-проводных кабелей широко распространилась практика осуществлять установку cable select путём простого перерезания проводника 28 между двумя разъёмами, подключавшимися к дискам. При этом ведомый привод оказывался на конце кабеля, а ведущий - в середине. Такое размещение в поздних версиях спецификации было даже стандартизировано. Когда на кабеле размещается только одно устройство, такое размещение приводит к появлению ненужного куска кабеля на конце, что нежелательно - как из соображений удобства, так и по физическим параметрам: этот кусок приводит к отражению сигнала, особенно на высоких частотах.

80-проводные кабели, введённые для UDMA4, лишены указанных недостатков. Теперь ведущее устройство всегда находится в конце шлейфа, так что, если подключено только одно устройство, не получается этого ненужного куска кабеля. Кабельная же выборка у них «заводская» - сделанная в самом разъёме просто путём исключения данного контакта. Поскольку для 80-проводных шлейфов в любом случае требовались собственные разъёмы, повсеместное внедрение этого не составило больших проблем. Стандарт также требует использования разъёмов разных цветов, для более простой идентификации их как производителем, так и сборщиком. Синий разъём предназначен для подключения к контроллеру, чёрный - к ведущему устройству, серый - к ведомому.

Термины «ведущий» и «ведомый» были заимствованы из промышленной электроники (где указанный принцип широко используется при взаимодействии узлов и устройств), но в данном случае являются некорректными, и потому не используются в текущей версии стандарта ATA. Более правильно называть ведущий и ведомый диски соответственно device 0 (устройство 0 ) и device 1 (устройство 1 ). Существует распространённый миф, что ведущий диск руководит доступом дисков к каналу. На самом деле управление доступом дисков и очерёдностью выполнения команд осуществляет контроллер (которым, в свою очередь, управляет драйвер операционной системы). То есть фактически оба устройства являются ведомыми по отношению к контроллеру.

Независимо от того, являетесь ли вы опытным разработчиком или только учитесь программировать, важно знать обо всех новых и уже существующих интегрированных средах разработки . Ниже приведен список 10 наиболее популярных IDE .

Чем IDE отличается от текстового редактора?

IDE — это не просто текстовый редактор. В то время как текстовые редакторы для кода, такие как Sublime или Atom , предлагают множество удобных функций, таких как подсветка синтаксиса, настраиваемый интерфейс и расширенные средства навигации, они позволяют только писать код. Для создания функционирующих приложений как минимум нужен компилятор и отладчик.

IDE включает в себя эти компоненты, как и ряд других. Некоторые из них поставляются с дополнительными инструментами для автоматизации, тестирования и визуализации процесса разработки. Термин «интегрированная среда разработки» означает, что предоставляется все необходимое для превращения кода в функционирующие приложения.

Ознакомьтесь с приведенным ниже списком функций и недостатков каждой из 10 лучших IDE .

1. Microsoft Visual Studio


Microsoft Visual Studio — это интегрированная среда разработки , цена которой варьируется от $699 до $2900 . Множество версий этой IDE способны создавать все типы программ, начиная от веб-приложений и заканчивая мобильными приложениями, видеоиграми. Эта линейка программного обеспечения включает в себя множество инструментов для тестирования совместимости. Благодаря своей гибкости Visual Studio является отличным инструментом для студентов и профессионалов.

Поддерживаемые языки: Ajax, ASP.NET, DHTML, JavaScript, JScript, Visual Basic, Visual C#, Visual C++, Visual F#, XAML и другие .

Особенности:

  • Огромная библиотека расширений, которая постоянно увеличивается;
  • IntelliSense ;
  • Настраиваемая панель и закрепляемые окна;
  • Простой рабочий процесс и файловая иерархия;
  • Статистика мониторинга производительности в режиме реального времени;
  • Инструменты автоматизации;
  • Легкий рефакторинг и вставка фрагментов кода;
  • Поддержка разделенного экрана;
  • Список ошибок, который упрощает отладку;
  • Проверка утверждения при развертывании приложений с помощью ClickOnce , Windows Installer или Publish Wizard.

Недостатки : поскольку Visual Studio является супертяжелой IDE , для открытия и запуска приложений требуются значительные ресурсы. Поэтому на некоторых устройствах внесение простых изменений может занять много времени. Для простых задач целесообразно использовать компактный редактор или средство разработки PHP .

2. NetBeans


Бесплатная среда разработки с открытым исходным кодом. Подходит для редактирования существующих проектов или создания новых. NetBeans предлагает простой drag-and-drop интерфейс, который поставляется с большим количеством удобных шаблонов проектов. Среда в основном используется для разработки Java приложений, но можно устанавливать пакеты, поддерживающие другие языки.

Поддерживаемые языки программирования: C, C++, C++ 11, Fortan, HTML 5, Java, PHP и другие .

Особенности:

  • Интуитивный drag-and-drop интерфейс;
  • Динамические и статические библиотеки;
  • Интеграция нескольких сессий GNU-отладчика с поддержкой кода;
  • Возможность осуществлять удаленное развертывание;
  • Совместимость с платформами Windows, Linux, OS X и Solaris;
  • Поддержка Qt Toolkit;
  • Поддержка Fortan и Assembler;
  • Поддержка целого ряда компиляторов, включая CLang / LLVM, Cygwin, GNU, MinGW и Oracle Solaris Studio.

Недостатки: эта бесплатная среда разработки потребляет много памяти, поэтому может работать медленно на некоторых ПК.

3. PyCharm


PyCharm разработан командой Jet Brains . Пользователям предоставляется бесплатная версия Community Edition , 30-дневная бесплатная ознакомительная версия Professional Edition и годовая подписка за $213 — $690 на версию Professional Edition . Комплексная поддержка кода и анализ делают PyCharm лучшей IDE для Python-программистов .

Поддерживаемые языки: AngularJS, Coffee Script, CSS, Cython, HTML, JavaScript, Node.js, Python, TypeScript.

Особенности:

  • Совместимость с операционными системами Windows, Linux и Mac OS;
  • Поставляется с Django IDE;
  • Легко интегрируется с Git, Mercurial и SVN;
  • Настраиваемый интерфейс с эмуляцией VIM;
  • Отладчики JavaScript, Python и Django;
  • Поддержка Google App Engine.

Недостатки: пользователи жалуются, что эта среда разработки Python содержит некоторые ошибки, такие как периодически не работающая функция автоматического заполнения, что может доставить определенные неудобства.

4. IntelliJ IDEA


Еще одна IDE , разработанная Jet Brains . Она предлагает пользователям бесплатную версию Community Edition , 30-дневную бесплатную ознакомительную версию Ultimate Edition и годовую подписку на версию Ultimate Edition за $533 — $693 . IntelliJ IDEA поддерживает Java 8 и Java EE 7 , обладает обширным инструментарием для разработки мобильных приложений и корпоративных технологий для различных платформ. Если говорить о цене, IntelliJ является прекрасным вариантом из-за огромного списка функций.

Поддерживаемые языки программирования: AngularJS, CoffeeScript, HTML, JavaScript, LESS, Node JS, PHP, Python, Ruby, Sass, TypeScript и другие.

Особенности:

  • Расширенный редактор баз данных и дизайнер UML ;
  • Поддержка нескольких систем сборки;
  • Пользовательский интерфейс тестового запуска приложений;
  • Интеграция с Git ;
  • Поддержка Google App Engine , Grails , GWT , Hibernate , Java EE , OSGi , Play , Spring , Struts и других;
  • Встроенные средства развертывания и отладки для большинства серверов приложений;
  • Интеллектуальные текстовые редакторы для HTML , CSS и Java ;
  • Интегрированный контроль версий;
  • AIR Mobile с поддержкой Android и iOS .

Недостатки: эта среда разработки JavaScript требует времени и усилий на изучение, поэтому может оказаться не лучшим вариантом для начинающих. В ней есть много сочетаний горячих клавиш, которые нужно просто запомнить. Некоторые пользователи жалуются на неуклюжий интерфейс.

5. Eclipse


Бесплатный и гибкий редактор с открытым исходным кодом. Он может оказаться полезен, как для новичков, так и для профессионалов. Первоначально создаваемый как среда для Java-разработки сегодня Eclipse имеет широкий диапазон возможностей благодаря большому количеству плагинов и расширений. Помимо средств отладки и поддержки Git / CVS , стандартная версия Eclipse поставляется с инструментами Java и Plugin Development Tooling . Если вам этого недостаточно, доступно много других пакетов: инструменты для построения диаграмм, моделирования, составления отчетов, тестирования и создания графических интерфейсов. Клиент Marketplace Eclipse открывает пользователям доступ к хранилищу плагинов и информации.

Поддерживаемые языки: C, C++, Java, Perl, PHP, Python, Ruby и другие.

Особенности:

  • Множество пакетных решений, обеспечивающих многоязычную поддержку;
  • Улучшения Java IDE , такие как иерархические представления вложенных проектов;
  • Интерфейс, ориентированный на задачи, включая уведомления в системном трее;
  • Автоматическое создание отчетов об ошибках;
  • Параметры инструментария для проектов JEE ;
  • Интеграция с JUnit .

Недостатки: многие параметры этой среды разработки могут запугать новичков. Eclipse не обладает всеми теми функциями, что и IntelliJ IDEA , но является IDE с открытым исходным кодом.

6. Code::Blocks


Еще один популярный инструмент с открытым исходным кодом. Гибкая IDE , которая стабильно работает на всех платформах, поэтому она отлично подходит для разработчиков, которые часто переключаются между рабочими пространствами. Встроенный фреймворк позволяет настраивать эту IDE под свои потребности.

Поддерживаемые языки: C, C++, Fortran .

Особенности:

  • Простой интерфейс с вкладками открытых файлов;
  • Совместимость с Linux , Mac и Windows ;
  • Написана на C++ ;
  • Не требует интерпретируемых или проприетарных языков программирования;
  • Множество встроенных и настраиваемых плагинов;
  • Поддерживает несколько компиляторов, включая GCC, MSVC ++ , clang и другие;
  • Отладчик с поддержкой контрольных точек;
  • Текстовый редактор с подсветкой синтаксиса и функцией автоматического заполнения;
  • Настраиваемые внешние инструменты;
  • Простые средства управления задачами, идеально подходящие для совместной работы.

Недостатки: относительно компактная среда разработки Си , поэтому она не подходит для крупных проектов. Это отличный инструмент для новичков, но продвинутые программисты могут быть разочарованы ее ограничениями.

7. Aptana Studio 3


Самая мощная из IDE с открытым исходным кодом. Aptana Studio 3 значительно улучшена по сравнению с предыдущими версиями. Поддерживает большинство спецификаций браузеров. Поэтому пользователи этой IDE могут с ее помощью быстро разрабатывать, тестировать и развертывать веб-приложения.

Поддерживаемые языки: HTML5, CSS3, JavaScript, Ruby, Rails, PHP и Python .

Особенности:

  • Подсказки для CSS , HTML , JavaScript , PHP и Ruby ;
  • Мастер развертывания с простой настройкой и несколькими протоколами, включая Capistrano , FTP , FTPS и SFTP ;
  • Возможность автоматической установки созданных приложений Ruby и Rails на серверы хостинга;
  • Интегрированные отладчики для Ruby и Rails и JavaScript ;
  • Интеграция с Git ;
  • Простой доступ к терминалу командной строки с сотнями команд;
  • Строковые пользовательские команды для расширения возможностей.

Недостатки: есть проблемы со стабильностью, и она работает медленно. Поэтому профессиональные разработчики могут предпочесть более мощную HTML среду разработки.

8. Komodo


Предлагает бесплатную 21-дневную ознакомительную версию, полная версия стоит $99 – $1615 в зависимости от редакции и лицензии. Komodo поддерживает большинство основных языков программирования. Удобный интерфейс позволяет осуществлять расширенное редактирование, а небольшие полезные функции, такие как проверка синтаксиса и одноступенчатая отладка, делают Komodo одной из самых популярных IDE для веб и мобильной разработки.

Поддерживаемые языки: CSS, Go, JavaScript, HTML, NodeJS, Perl, PHP, Python, Ruby, Tcl и другие.

Особенности:

  • Настраиваемый многооконный интерфейс;
  • Интеграция контроля версий для Bazaar , CVS , Git , Mercurial , Perforce и Subversion ;
  • Профилирование кода Python и PHP ;
  • Возможность развертывания в облаке благодаря Stackato PaaS ;
  • Графическая отладка для NodeJS , Perl , PHP , Python , Ruby и Tcl ;
  • Автоматическое заполнение и рефакторинг;
  • Стабильная производительность на платформах Mac , Linux и Windows

Недостатки: бесплатная версия среды разработки программного обеспечения не включает в себя все функции. В то же время премиум версия явно стоит своих денег.

9. RubyMine


Еще одна премиум IDE , разработанная компанией Jet Brains . Предлагается 30-дневная бесплатная ознакомительная версия, полная версия стоит $210 — $687 в год. Удобная навигация, логичная организация рабочего процесса и совместимость с большинством платформ делают RubyMine одним из популярных инструментов для разработчиков.

Поддерживаемые языки: CoffeeScript, CSS, HAML, HTML, JavaScript, LESS, Ruby и Rails, Ruby и SASS.

Особенности:

  • Сниппеты кода, автоматическое заполнение и автоматический рефакторинг;
  • Дерево проектов, которое позволяет быстро анализировать код;
  • Схема модели Rails ;
  • Просмотр проекта Rails ;
  • RubyMotion поддерживает разработку под iOS ;
  • Поддержка стека включает в себя Bundler , pik , rbenv , RVM и другие;
  • Отладчики JavaScript , CoffeeScript и Ruby ;
  • Интеграция с CVS , Git , Mercurial , Perforce и Subversion .

Недостатки среды разработки: чтобы RubyMine работала бесперебойно, компьютеру требуется не менее 4 ГБ оперативной памяти. Некоторые пользователи также жалуются на отсутствие опций настройки GUI .

IDE (Integrated Device Electronics) - интерфейс устройств со встроенным контроллером. При создании этого интерфейса разработчики ориентировались на подключение дискового накопителя. За счет минимального удаления контролера от диска существенно повышается быстродействие.

Интерфейс EIDE имеет первичный и вторичный каналы, к каждому из которых можно подключить два устройства, то есть всего их может быть четыре. Это может быть жесткий диск, CD-ROM или переключатель дисков.

Физически интерфейс IDE реализован с помощью плоского 40-жильного кабеля, на котором могут быть разъемы для подключения одного или двух устройств. Общая длина кабеля не должна превышать 45 сантиметров, причем между разъемами должно быть расстояние не менее 15 сантиметров.

  • а - кабель параллельного интерфейса ATA/IDE (РАТА);
  • б - 40-контактный разъем РАТА;
  • в - разъемы РАТА на плате;
  • г - последовательный разъем АТА (SATA);
  • д - разъемы SATA на плате.

Таблица разъемов параллельного интерфейса АТА

Контакт Назначение Контакт Назначение Контакт Назначение Контакт Назначение
1 Сброс 2 Земля 3 Данные 7 4 Данные 8
5 Данные 6 6 Данные 9 7 Данные 5 8 Данные 10
9 Данные 4 10 Данные 11 11 Данные 3 12 Данные 12
13 Данные 2 14 Данные 13 15 Данные 1 16 Данные 14
17 Данные 0 18 Данные 15 19 Земля 20 Key
21 DDRQ 22 Земля 23 I/O запись 24 Земля
25 I/O чтение 26 Земля 27 10C HRDY 28 Cable Select
29 DDACK 30 Земля 31 IRQ 32 Не используется
33 Адрес 1 34 GPIO DMA66 Detect 35 Адрес 0 36 Адрес 2
37 Chip Select 1Р 38 Chip Select ЗР 39 Активен 40 Земля

Существует несколько разновидностей интерфейса IDE, совместимых снизу вверх друг с другом.

Спецификация Enhanced IDE

В целях развития возможностей интерфейса IDE компанией Western Digital была предложена его расширенная спецификация Enhanced IDE (синонимы: E-IDE, Fast AТА, АТА-2 и Fast АТА-2), которая обрела затем статус американского стандарта ANSI под названием АТА-2. Она содержит ряд нововведений: поддержку IDE-накопителей емкостью свыше 504 Мбайт, поддержку в системе нескольких контроллеров IDE и подключение к одному контроллеру до четырех устройств, а также поддержку периферийных устройств, отличных от жестких дисков (приводов CD-ROM, CD-R и DVD-ROM, накопителей LS-120 и ZIP, магнитооптики, стримеров и тому подобное). Расширение спецификации IDE для поддержки иных типов накопителей с интерфейсом IDE называют также ATAPI (АТА Packed Interface). В Enhanced IDE также введены элементы распараллеливания операций обмена и контроля за целостностью данных при передаче.

  • а - АТА 2 и АТА 3.
  • б - Ultra АТА.
  • в - Ultra АТА/66.

В спецификацию интерфейса Enhanced IDE добавлена поддержка режимов PIO Mode 3 и 4, а также режимы DMA Single Word Mode 2 и Multi Word DMA Mode 1 и 2. Максимальная скорость передачи данных по шине в режиме РIO Mode 3 составляет 4.1 Мбайт/с, а в режимах РIO Mode 4 и Single Word DMA Mode 2 - 16.7 Мбайт/с. Режим Multi Word DMA Mode 2 позволяет получить пиковую скорость обмена свыше 20 Мбайт/с.

Следующим шагом в развитии интерфейса IDE/ATA явился стандарт Ultra АТА (он же Ultra DMA, АТА-33, DMA-33, АТА-3). Ultra АТА является стандартом де-факто использования быстрого Режима DMA - mode 3, обеспечивающего скорость передачи данных 33.3 Мбайт/с. Для обеспечения надежной передачи данных по все тому же кабелю используются специальные схемы контроля и коррекции ошибок, при этом сохраняется обратная совместимость с предыдущими стандартами - АТА и АТА-2.

Таблица характеристик IDE/ATA интерфейсов

Спецификация АТА-1 АТА-2 АТА-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7
Синонимы АТА, IDE EIDE, Fast АТА, Fast IDE, Ultra ATA EIDE АТА-4, UltraATA/33 АТА-5, UltraATA/66 АТА-6, Ultra ATA/100 АТА-7, Ultra ATA/133
Пропускная способность, Мбай/с 3.3-8.3 11.1-16.6 16 16.7-33.3 44.4-66.7 100 133-150
Количество соединений 2 2 2 2 на один кабель 2 на один кабель 2 на один кабель 1 на один кабель
Характеристики кабеля 40 контактов 40 контактов 40 контактов 40 контактов 40 контактов, 80-жильный 40 контактов, 80-жильный 7 контактов
Новые свойства 28-битовая адресация логических блоков (LBA) S. M. A. R. T. Интерфейс ATAPI, поддержка CD-ROM, стримеров и прочего. 80-жильный кабель 48-битовая LBA SATA 1.0, поддержка длинных логических / физических блоков
Максимальный размер диска 137 Гбайт (128 GiBi) 144 Пбайт (128 PiBi)
Контроль no CRC Нет Нет Нет Есть Есть Есть
Дата выпуска 1981 1994 1996 1997 1999 2000 2003
1 Стандарт ANSI Х3.221-1994 ХЗ. 279-1996 Х3.298-1997 NCITS 317-1998 NCITS 340-2000 NCITS 361-2002 NCITS 397-2005 1

Наконец - интерфейсы Ultra ATA/66, Ultra ATA/100, Ultra AТА/133, позволяющие осуществлять передачу данных со скоростями 66.100 и 133-150 Мбайт/с соответственно.

Последовательный интерфейс Serial АТА (SATA). Основные преимущества Serial АТА по сравнению с Parallel АТА (РАТА):

  • уменьшено количество контактов разъема (до 7 вместо 40);
  • снижено напряжение сигнала (до 500 мВ сравнительно с 5 В для РАТА);
  • меньший, более удобный для проводки кабель длиной до 1 м;
  • улучшены возможности обнаружения и коррекции ошибок.

Первое поколение (известно как SATA/150 или SATA 1) появилось на рынке в середине 2002 года и поддерживало скорость передачи данных до 1.5 Гбит/с. SATA 1 использует схему кодирования 8В/10В на физическом уровне, которая имеет эффективность, равную 80 %, что приводит к реальной скорости в 1.2 Гбит/с или 150 Мбайт/с.

Следующая версия (SATA 3.0 Гбит/с) также использует схему 8В/10В, поэтому максимальная скорость передачи составляет 2.4 Гбит/с или 300 Мбайт/с. Однако сегодняшние устройства НЖМД не поддерживают таких скоростей, поэтому реальное быстродействие системы ограничено возможностями дисковода. Спецификацию 3.0 Гбит/с часто называют «Serial АТА 2» («SATA 2»), а также SATA 3.0 или SATA/300, продолжая линию АТА/100, АТА/133 и SATA/150.

Интерфейс SCSI был разработан в конце 1970-х годов организацией Shugart Associates. Первоначально известный под названием SASI (Shugart Associates System Interface), он после стандартизации в 1986 году уже под именем SCSI (читается «скази») стал одним из промышленных стандартов для подключения периферийных устройств - винчестеров, стримеров, сменных жестких и магнитооптических дисков, сканеров, CD-ROM и CD-R, DVD-ROM и тому подобное К шине SCSI можно подключить до восьми устройств, включая основной контроллер SCSI (или хост-адаптер).

Интерфейс SCSI является параллельным и физически представляет собой плоский кабель с 25-, 50-, 68-контактными Разъемами для подключения периферийных устройств. Шина SCSI содержит восемь линий данных, сопровождаемых линией контроля четности, и девять управляющих линий. Стандарт SCSI определяет два способа передачи сигналов: одно-полярный, или асимметричный (Single ended), и дифференциальный (Differential). В первом случае имеется один провод с нулевым потенциалом («земля»), относительно которого передаются сигналы по линиям данных с уровнями сигналов, соответствующими ТТЛ-логике. При дифференциальной передаче сигнала для каждой линии данных выделено два провода, и сигнал на этой линии получается вычитанием потенциалов на их выходах. При этом достигается лучшая помехозащищенность, что позволяет увеличить длину кабеля.

  • а - общая архитектура;
  • б - адаптер SCSI.

Для интерфейса SCSI необходимо наличие терминаторов (согласующих сопротивлений, которые поглощают сигналы на концах кабеля и препятствуют образованию эха).

Устройства SCSI также соединяются в виде цепочки (daisy chain), причем каждое устройство SCSI имеет свой адрес (SCSI ID) в диапазоне от 0 до 7 (или от 0 до 15). В качестве адреса платы контроллера обычно используется наибольшее значение SCSI ID - 7(15), адрес загрузочного диска SCSI ID равен 0, а второго диска - 1. Обмен между устройствами на магистрали SCSI определяется нормированным списком команд (Common Command Set, CCS). Программное обеспечение для интерфейса SCSI не оперирует физическими характеристиками накопителя (то есть числом цилиндров, головок и так далее), а имеет дело только с логическими блоками данных, поэтому в одной SCSI-цепочке могут быть размещены, например, сканер, жесткий диск и накопитель CD-R.

Опрос устройств производится контроллером SCSI сразу после включения питания. При этом для устройств SCSI реализовано автоконфигурирование устройств (Plug-and-play) по протоколу SCAM (SCSI Configured AutoMagically), в котором значения SCSI ID выделяются автоматически. Для стандартизированного управления SCSI-устройствами наиболее широко применяется программный интерфейс ASPI (Advanced SCSI Programming Interface).

Характеристики SCSI

Существует более десятка различных версий интерфейса SCSI. Наиболее существенные из них - SCSI-1, Fast SCSI, Fast Wide SCSI, Ultra SCSI, Ultra 2 SCSI.

Основными характеристиками шины SCSI являются:

  • ширина - 8 или 16 бит («narrow» или «wide»);
  • частота, с которой тактируется шина;
  • физический тип интерфейса (однополярный, дифференциальный, оптика).

На скорость влияют в основном два первых параметра. Обычно они записываются в виде приставок к слову SCSI.

Максимальную скорость передачи устройство-контроллер можно подсчитать, взяв частоту шины, а в случае наличия «Wide» умножить ее на 2 (например, FastSCSI - 10 Мбайт/с, Ultra2WideSCSI -80 Мбайт/с).

Последовательные интерфейсы SCSI

Четыре недавние версии SCSI, а именно SSA (Serial Storage Architecture), FC-AL и Serial Attached SCSI (SAS), отошли от традиционного параллельного стандарта SCSI и ориентированы на передачу данных по последовательным коммуникациям. Основные преимущества последовательного интерфейса - большие скорости передачи данных; «горячее» включение-выключение; лучшая помехозащищенность.

Таблица версий (поколения) интерфейса SCSI

Тип шины Макс. скорость, Мбайт/с Ширина шины (разрядность) Максимальная длина связи (в зависимости от типа сигналов), в метрах Максимальное количество подключений
SE LVD HVD
SCSI-1 5 8 (узкий) 6 - 25 8
Fast SCSI 10 8 3 - 25 8
Fast Wide SCSI 20 16 (широкий) 3 - 25 16
Ultra SCSI 20 8 1.5 - 25 8
Ultra SCSI 20 8 3 - - 4
Wide Ultra SCSI 40 16 - - 25 16
wide Ultra SCSI 40 16 1.5 - - 8
Wide Ultra SCSI 40 16 3 - - 4
Ultra2 SCSI 40 8 Не определена для скорости выше Ultra 12 25 8
Wide Uitra2 SCSI 80 16 - 12 25 16
Ultra3 SCSI or Ultra 160 SCSI 160 16 12 Не определена для скорости выше Ultra2 16
Ultra320 SCSI 320 16 - 12 - 16
SSA 40 1 25 96(192)
SSA40 80 1 25 96(192)
FC-AL 1Gb 100 1 500-3000 127
FC-AL 2Gb 200 1 500-3000 127
FC-AL4Gb 400 1 500-3000 127
SAS 3 Gbit/s 300 1 6 16 256
Fibre Channel 2000 Не определена 10 000-100 000 Не определено

Терминаторы, разъемы

По типу сигналов различают линейные (Single Ended) и дифференциальные (Differential) версии SCSI, их кабели и разъемы идентичны, но электрической совместимости устройств между ними нет.

Дифференциальная версия для каждого сигнала использует витую пару проводников и специальные приемопередатчики, при этом становится допустимой большая суммарная длина кабеля, сохраняя высокую частоту обмена. Дифференциальный интерфейс применяется в мощных дисковых системах серверов, но в обычных персональных компьютерах не распространен.

В линейной версии сигнал должен идти по своему одному проводнику, скрученному (или, по крайней мере, отдельному от другого в плоском шлейфе) с нулевым (обратным) проводом.

SCSI устройства соединяются кабелями в цепочку, на крайних Устройствах подключаются терминаторы. Часто одним из крайних устройств является хост-адаптер. Он может иметь для каждого канала как внутренний разъем, так и внешний.

По электрическим свойствам различают следующие типы терминаторов:

  • пассивные (SCSI-1) с сопротивлением 132 Ом (обычные резисторы). Эти терминаторы не подходят для высокоскоростных режимов SCSI-2;
  • активные (110 Ом) - специальные терминаторы для обеспечения работы на частоте 10 МГц в SCSI-2;
  • FPT (Forced Perfect Terminator) - улучшенный вариант активных терминаторов с ограничителями выбросов.

Активные терминаторы требуют питания, для этого имеются специальные линии интерфейса TERMPWR.

Кабели

Ассортимент кабелей SCSI довольно широк. Основные стандартизированные кабели:

  • А-кабель: стандартный для 8-битового интерфейса SCSI, 50-проводный внутренний шлейф (разъемы IDC-50) или внешний экранированный (разъемы Centronics-50).
  • В-кабель: 16-битовый расширитель SCSI-2, распространения не получил.
  • Р-кабель: 16-битовый SCSI-2/3.68-проводный с улучшенными миниатюрными экранированными разъемами, универсальными для внутренних и внешних кабелей 8-, 16- и 32-битовых версий SCSI (в 8-битовом варианте контакты 1-5.31-39.65-68 не используются); разъемы для внешнего подключения выглядят как миниатюрный вариант Centronics с плоскими контактами, внутренние имеют штырьковые контакты.
  • Q-кабель: 68-проводное расширение до 32 бит, используется в паре с Р-кабелем.
  • Кабель с разъемами D-25P: 8-битовый, стандартный для Macintosh, используется на некоторых внешних устройствах (Iomega ZIP Drive).

Таблица скоростей передачи данных, длина и типы кабелей SCSI-1, SCSI-2

Возможны различные вариации кабелей-переходников.

Назначение контактов разъемов на примере распространенного А-кабеля приведено в таблице.

Таблица разъемов А-кабеля SCSI

Контакт разъема Сигнал Контакт разъема Сигнал
1 GND 26 DB0#
2 GND 27 DB1#
3 GND 28 DB2#
4 GND 29 DB3#
5 GND 30 DB4#
6 GND 31 DB5#
7 GND 32 DB6#
8 GND 33 DB7#
9 GND 34 DBParity#
10 GND 35
11 GND 36
12 GND/Reserved 37 Reserved
13 Open 38 TERMPWR
14 Reserved 39 Reserved
15 GND 40
16 GND 41 ATN#
17 GND 42 GND
18 GND 43 BSY#
19 GND 44 ACK#
20 GND 45 RST#
21 GND 46 MSG#
22 GND 47 SEL#
23 GND 48 C/D#
24 GND 49 REQ#
25 GND 50 I/O

Шина . Как и в шине PCI, в шине SCSI предполагается возможность обмена информацией между любой парой устройств. Конечно чаще всего обмен производится между хост-адаптером и периферийными устройствами. Копирование данных между устройствами может производиться без выхода на системную шину компьютера. Здесь большие возможности имеют интеллектуальные хост-адаптеры со встроенной кэш-памятью. В каждом обмене по шине принимает участие его инициатор (Initiator) и целевое устройство (Target). В таблице приводится назначение сигналов шины.

Таблица назначений сигналов шины SCSI

Сигнал Источик: I=Initiator, T=Target Назначение
DBx# - Инверсная шина данных с битами паритета
TERMPWR - Питание терминаторов
ATN# I Внимание
BSY# I, T Шина занята
REQ# T Запрос на пересылку данных
ACK# I Ответ на REQ#
RST# I, T Сброс
MSG# T Target передает сообщение
SEL# I/T Выбор (Select) целевого устройства инициатором или Reselect инициатора целевым устройством
C/D# T Управление (0) / данные (1) на шине
l/0# T Направление передачи относительно инициатора или фаза Selection (1) / Reselection (0)

Параметры конфигурирования SCSI-устройств

Все устройства на шине должны быть согласованно сконфигурированы. Для них требуется программно или с помощью перемычек (джамперов) установить следующие основные параметры.

Идентификатор устройства - SCSI ID - адрес 0-7 (или 0-15), уникальный для каждого устройства на шине. Обычно хост-адаптеру, который должен иметь высший приоритет, назначается ID 7. Заводское назначение идентификаторов устройств приведено в таблице, хотя оно и не является обязательным. Устройства адресуются позиционным кодом (хотя ID задается 3-4-битовым кодом), что обеспечивает совместимость адресации 8- и 16-битовых устройств на одной шине. Номер SCSI ID обычно устанавливается с помощью перемычек (хотя в SCSI существуют и новые стандарты, аналогичные Plug-and-Play, не требующие перемычек).

Таблица заводских установов идентификаторов устройств

Контроль паритета - SCSI Parity

Если хотя бы одно устройство на шине не поддерживает контроль паритета, он должен быть отключен на всех устройствах данной шины. Контроль паритета, особенно для дисковых устройств, является средством защиты от искажения данных при передаче.

Включение терминаторов - Termination

Активные терминаторы могут включаться одним джампером или даже управляться программным сигналом. Терминаторы должны быть включены только на крайних устройствах в цепочке.

Питание терминаторов - TerminatorPower

Питание терминаторов джампером или программно должно быть включено хотя бы на одном устройстве, когда используются активные терминаторы.

Согласование скорости синхронного обмена - SCSI Synchronous Negotiation

Режим синхронного обмена, обеспечивающий высокую производительность, включается по взаимному согласованию устройств. Однако, если хоть одно устройство на Шине его не поддерживает, согласование на хост-адаптере необходимо запретить. При этом, если обмен будет инициирован синхронным устройством, хост поддержит этот режим.

Старт по команде - Start on Command, или задержанный старт - Delayed Start

При включении этой опции запуск двигателя Устройства выполняется только по команде от хост-адаптера, что Позволяет снизить пик нагрузки блока питания в момент включения. Хост будет запускать устройства последовательно.

Разрешение отключения - Enable Disconnection

Выбор этой опции позволяет устройствам отключаться от шины при неготовности данных, что весьма эффективно используется в многозадачном режиме при нескольких периферийных устройствах на шине.

Хост-адаптер

Хост-адаптер SCSI является важнейшим узлом интерфейса, определяющим производительность подсистемы SCSI-устройств. Существует широкий спектр адаптеров, начиная от простейших, к которым можно подключать только устройства, не критичные к производительности.

Конфигурирование SCSI хост-адаптеров с точки зрения шины SCSI не отличается от конфигурирования других устройств (смотри ранее). Для современных адаптеров вместо джамперов используется программное конфигурирование. Утилита конфигурирования обычно входит в расширение BIOS (на плате адаптера), и приглашение к ее исполнению выводится на экран при инициализации во время POST.


Удобство и скорость разработки.

Александр Макарчук , qb
Повышение скорости и удобства разработки.

Александр Смирнов , Greensight
Ускорение разработки, уменьшение ошибок, просто удобство.

2. Важно ли обучать разработчиков использованию IDE? Почему?

Алексей Федоров , Одноклассники
Это интересная идея. Наверняка есть компании, которые готовы в это вложиться.

, ADV
Если разработчик не будет знать базовых вещей IDE, то разработка будет занимать больше времени. В современном мире это уже требование к профессии.

Александр Макарчук , qb
Нет, не нужно. Обучать - это навязывать свое. Каждый разработчик работает на том, что ему удобно. При этом всегда можно показывать преимущества своего IDE.

Александр Смирнов , Greensight
Это скорее вопрос к каждому разработчику отдельно - что ему удобнее. Но на ранних этапах умное автодополнение и подсветка ошибок практически незаменимы.

3. Большинство качественных IDE платные. Стоит ли тратиться на лицензии?

Алексей Федоров , Одноклассники
Стоит. Текущая ситуация на рынке такова, что платные IDE, как правило, сильно лучше бесплатных.

Алексей Персианов, Михаил Парфенюк , ADV
Если хотите качественную IDE, то стоит потратиться. Если не поддерживать разработчиков качественных IDE «рублем», то они не будут делать качественные IDE

Александр Макарчук , qb
Если целесообразно, то, конечно, нужно. Время - деньги.

Александр Смирнов , Greensight
В зависимости от потребностей и средств. Кому-то хватает Sublime, кто-то хочет использовать продукты Jetbrains, кому-то неизбежно приходится покупать Xcode.

4. Чего не хватает современным IDE? Может ли на этом рынке появиться гигант, подобный JetBrains?

Алексей Федоров , Одноклассники
Может. Но конкурировать с ними будет трудно: разработка IDE - это сотни человеко-лет работы и десятки миллионов долларов.

Алексей Персианов, Михаил Парфенюк , ADV
В данный момент JetBrains захватила данный рынок, и в ближайшее время вряд ли появится что-то лучше.

Александр Макарчук , qb
Всегда будет появляться что-то новое, и IDE не исключение. Преимущество новых проектов всегда в том, что они учитывают недостатки старых.

Александр Смирнов , Greensight
Если появится что-то лучше, то почему бы и нет.

5. Какие еще существуют или могут появиться инструменты, ускоряющие разработку и облегчающие жизнь разработчикам?

Алексей Федоров , Одноклассники
Сборщики проектов, баг-трекеры, системы контроля версий, системы непрерывной сборки и интеграции и многие-многие другие.

Алексей Персианов, Михаил Парфенюк , ADV
Например, CI системы.

Александр Смирнов , Greensight
Сложно сказать. Все больше сторонних инструментов интегрируется в IDE, нежели существуют отдельно.

6. Какие тренды в развитии функционала IDE вы бы могли отметить в последние годы?

Алексей Федоров , Одноклассники
Интеграция с другими системами, такими как баг-трекеры, сервера VCS или CI. И конечно, скорость - тормозят современные IDE сильно меньше, чем 10 лет назад.

Алексей Персианов, Михаил Парфенюк , ADV
Переход всех платных IDE к распространению по подписке.

Александр Макарчук , qb
Подписки. Всегда проще заплатить меньшую сумму, особенно если есть сомнения в выборе или еще не привык к инструменту.

Александр Смирнов , Greensight
Развитие плагинов, интеграций со сторонними утилитами и софтом, улучшение автодополнения.