AHCI или IDE - что лучше? Описание режима, характеристики. Редактор или IDE? Очередная попытка анализа

Для Андроид 05.07.2019
Для Андроид

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

А почему не сказал? А потому что эта тема - достойна объема никак не меньшего целой статьи. Поэтому сегодня разберем во всех подробностях наиболее популярные на данный момент интерфейсы жесткого диска. Сразу оговорюсь, что статья или пост (кому как удобнее) в этот раз будет иметь внушительные размеры, но куда деваться, без этого к сожалению никак, потому как если написать кратко, получится совсем уж непонятно.

Понятие интерфейса жесткого диска компьютера

Для начала давайте дадим определение понятию "интерфейс". Говоря простым языком (а именно им я и буду по-возможности выражаться, ибо блог то на обычных людей рассчитан, таких как мы с Вами), интерфейс - способ взаимодействия устройств друг с другом и не только устройств. Например, многие из вас наверняка слышали про так называемый "дружественный" интерфейс какой-либо программы. Что это значит? Это значит, что взаимодействие человека и программы более легкое, не требующее со стороны пользователя большИх усилий, по сравнению с интерфейсом "не дружественным". В нашем же случае, интерфейс - это просто способ взаимодействия конкретно жесткого диска и материнской платы компьютера. Он представляет собой набор специальных линий и специального протокола (набора правил передачи данных). То есть чисто физически - это шлейф (кабель, провод), с двух сторон которого находятся входы, а на жестком диске и материнской плате есть специальные порты (места, куда присоединяется кабель). Таким образом, понятие интерфейс - включает в себя соединительный кабель и порты, находящиеся на соединяемых им устройствах.

Ну а теперь самый "сок" сегодняшней статьи, поехали!

Виды взаимодействия жестких дисков и материнской платы компьютера (виды интерфейсов)

Итак, первым на очереди у нас будет самый "древний" (80-е года) из всех, в современных HDD его уже не встретить, это интерфейс IDE (он же ATA, PATA).

IDE - в переводе с английского "Integrated Drive Electronics", что буквально означает - "встроенный контроллер". Это уже потом IDE стали называть интерфейсом для передачи данных, поскольку контроллер (находящийся в устройстве, обычно в жестких дисках и оптических приводах) и материнскую плату нужно было чем-то соединять. Его (IDE) еще называют ATA (Advanced Technology Attachment), получается что то вроде "Усовершенствованная технология подсоединения". Дело в том, что ATA - параллельный интерфейс передачи данных , за что вскоре (буквально сразу после выхода SATA, о котором речь пойдет чуть ниже) он был переименован в PATA (Parallel ATA).

Что тут сказать, IDE хоть и был очень медленный (пропускная способность канала передачи данных составляла от 100 до 133 мегабайта в секунду в разных версиях IDE - и то чисто теоретически, на практике гораздо меньше), однако позволял присоединять одновременно сразу два устройства к материнской плате, используя при этом один шлейф.

Причем в случае подключения сразу двух устройств, пропускная способность линии делилась пополам. Однако, это далеко не единственный недостаток IDE. Сам провод, как видно из рисунка, достаточно широкий и при подключении займет львиную долю свободного пространства в системном блоке, что негативно скажется на охлаждении всей системы в целом. В общем IDE уже устарел морально и физически, по этой причине разъем IDE уже не встретить на многих современных материнских платах, хотя до недавнего времени их еще ставили (в количестве 1 шт.) на бюджетные платы и на некоторые платы среднего ценового сегмента.

Следующим, не менее популярным, чем IDE в свое время, интерфейсом является SATA (Serial ATA) , характерной особенностью которого является последовательная передача данных. Стоит отметить, что на момент написания статьи - является самым массовым для применения в ПК.

Существуют 3 основных варианта (ревизии) SATA, отличающиеся друг от друга пропускной способностью: rev. 1 (SATA I) - 150 Мб/с, rev. 2 (SATA II) - 300 Мб/с, rev. 3 (SATA III) - 600 Мб/с. Но это только в теории. На практике же, скорость записи/чтения жестких дисков обычно не превышает 100-150 Мб/с, а оставшаяся скорость пока не востребована и влияет разве что на скорость взаимодействия контроллера и кэш-памяти HDD (повышает скорость доступа к диску).

Из нововведений можно отметить - обратную совместимость всех версий SATA (диск с разъемом SATA rev. 2 можно подключить к мат. плате с разъемом SATA rev. 3 и т.п.), улучшенный внешний вид и удобство подключения/отключения кабеля, увеличенная по сравнению с IDE длина кабеля (1 метр максимально, против 46 см на IDE интерфейсе), поддержка функции NCQ начиная уже с первой ревизии. Спешу обрадовать обладателей старых устройств, не поддерживающих SATA - существуют переходники с PATA на SATA , это реальный выход из ситуации, позволяющий избежать траты денег на покупку новой материнской платы или нового жесткого диска.

Так же, в отличии от PATA, интерфейсом SATA предусмотрена "горячая замена" жестких дисков, это значит, что при включенном питании системного блока компьютера, можно присоединять/отсоединять жесткие диски. Правда для ее реализации необходимо будет немного покопаться в настройках BIOS и включить режим AHCI.

Следующий на очереди - eSATA (External SATA) - был создан в 2004 году, слово "external" говорит о том, что он используется для подключения внешних жестких дисков. Поддерживает "горячую замену " дисков. Длина интерфейсного кабеля увеличена по сравнению с SATA - максимальная длина составляет теперь аж два метра. eSATA физически не совместим с SATA, но обладает той же пропускной способностью.

Но eSATA - далеко не единственный способ подключить внешние устройства к компьютеру. Например FireWire - последовательный высокоскоростной интерфейс для подключения внешних устройств, в том числе HDD.

Поддерживает "горячу замену" винчестеров. По пропускной способности сравним с USB 2.0, а с появлением USB 3.0 - даже проигрывает в скорости. Однако у него все же есть преимущество - FireWire способен обеспечить изохронную передачу данных, что способствует его применению в цифровом видео, так как он позволяет передавать данные в режиме реального времени. Несомненно, FireWire популярен, но не настолько, как например USB или eSATA. Для подключения жестких дисков он используется довольно редко, в большинстве случаев с помощью FireWire подключают различные мультимедийные устройства.

USB (Universal Serial Bus) , пожалуй самый распространенный интерфейс, используемый для подключения внешних жестких дисков, флешек и твердотельных накопителей (SSD). Как и в предыдущем случае - есть поддержка "горячей замены", довольно большая максимальная длина соединительного кабеля - до 5 метров в случае использования USB 2.0, и до 3 метров - если используется USB 3.0. Наверное можно сделать и бОльшую длину кабеля, но в этом случае стабильная работа устройств будет под вопросом.

Скорость передачи данных USB 2.0 составляет порядка 40 Мб/с, что в общем-то является низким показателем. Да, конечно, для обыкновенной повседневной работы с файлами пропускной способности канала в 40 Мб/с хватит за глаза, но как только речь пойдет о работе с большими файлами, поневоле начнешь смотреть в сторону чего-то более скоростного. Но оказывается выход есть, и имя ему - USB 3.0, пропускная способность которого, по сравнению с предшественником, возросла в 10 раз и составляет порядка 380 Мб/с, то есть практически как у SATA II, даже чуть больше.

Есть две разновидности контактов кабеля USB, это тип "A" и тип "B", расположенные на противоположных концах кабеля. Тип "A" - контроллер (материнская плата), тип "B" - подключаемое устройство.

USB 3.0 (тип "A") совместим с USB 2.0 (тип "A"). Типы "B" не совместимы между собой, как видно из рисунка.

Thunderbolt (Light Peak). В 2010 году компанией Intel был продемонстрирован первый компьютер с данным интерфейсом, а чуть позже в поддержку Thunderbolt к Intel присоединилась не менее известная компания Apple. Thunderbolt достаточно крут (ну а как иначе то, Apple знает во что стоит вкладывать деньги), стоит ли говорить о поддержке им таких фич, как: пресловутая "горячая замена", одновременное соединение сразу с несколькими устройствами, действительно "огромная" скорость передачи данных (в 20 раз быстрее USB 2.0).

Максимальная длина кабеля составляет только 3 метра (видимо больше и не надо). Тем не менее, несмотря на все перечисленные преимущества, Thunderbolt пока что не является "массовым" и применяется преимущественно в дорогих устройствах.

Идем дальше. На очереди у нас пара из очень похожих друг на друга интерфейсов - это SAS и SCSI. Похожесть их заключается в том, что они оба применяются преимущественно в серверах, где требуется высокая производительность и как можно меньшее время доступа к жесткому диску. Однако, существует и обратная сторона медали - все преимущества данных интерфейсов компенсируются ценой устройств, поддерживающих их. Жесткие диски, поддерживающие SCSI или SAS стоят на порядок дороже.

SCSI (Small Computer System Interface) - параллельный интерфейс для подключения различных внешних устройств (не только жестких дисков).

Был разработан и стандартизирован даже несколько раньше, чем первая версия SATA. В свежих версия SCSI есть поддержка "горячей замены".

SAS (Serial Attached SCSI) пришедший на смену SCSI, должен был решить ряд недостатков последнего. И надо сказать - ему это удалось. Дело в том, что из-за своей "параллельности" SCSI использовал общую шину, поэтому с контроллером одновременно могло работать только лишь одно из устройств, SAS - лишен этого недостатка.

Кроме того, он обратно совместим с SATA, что несомненно является большим плюсом. К сожалению стоимость винчестеров с интерфейсом SAS близка к стоимости SCSI-винчестеров, но от этого никак не избавиться, за скорость приходится платить.

Если вы еще не устали, предлагаю рассмотреть еще один интересный способ подключения HDD - NAS (Network Attached Storage). В настоящее время сетевые системы хранения данных (NAS) имеют большую популярность. По сути, это отдельный компьютер, этакий мини-сервер, отвечающий за хранение данных. Он подключается к другому компьютеру через сетевой кабель и управляется с другого компьютера через обычный браузер. Это все нужно в тех случаях, когда требуется большое дисковое пространство, которым пользуются сразу несколько людей (в семье, на работе). Данные от сетевого хранилища передаются к компьютерам пользователей либо по обычному кабелю (Ethernet), либо при помощи Wi-Fi. На мой взгляд, очень удобная штука.

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


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

Александр Макарчук , 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
Развитие плагинов, интеграций со сторонними утилитами и софтом, улучшение автодополнения.

(англ. Integrated Development Environment ) - система программных средств, используемая программистами для разработки программного обеспечения.

  • IDE (англ. Integrated Drive Electronics ) - параллельный интерфейс подключения накопителей (жёстких дисков и оптических приводов) к компьютеру. Разработан в 1986 году фирмой Western Digital, позднее стал именоваться ATA , затем PATA .
  • IDE - обозначение системы непосредственного впрыска топлива в бензиновых двигателях от компании Renault.
  • __DISAMBIG__

    Напишите отзыв о статье "IDE"

    Отрывок, характеризующий IDE

    Проведя его шагов десять, Вилларский остановился.
    – Что бы ни случилось с вами, – сказал он, – вы должны с мужеством переносить всё, ежели вы твердо решились вступить в наше братство. (Пьер утвердительно отвечал наклонением головы.) Когда вы услышите стук в двери, вы развяжете себе глаза, – прибавил Вилларский; – желаю вам мужества и успеха. И, пожав руку Пьеру, Вилларский вышел.
    Оставшись один, Пьер продолжал всё так же улыбаться. Раза два он пожимал плечами, подносил руку к платку, как бы желая снять его, и опять опускал ее. Пять минут, которые он пробыл с связанными глазами, показались ему часом. Руки его отекли, ноги подкашивались; ему казалось, что он устал. Он испытывал самые сложные и разнообразные чувства. Ему было и страшно того, что с ним случится, и еще более страшно того, как бы ему не выказать страха. Ему было любопытно узнать, что будет с ним, что откроется ему; но более всего ему было радостно, что наступила минута, когда он наконец вступит на тот путь обновления и деятельно добродетельной жизни, о котором он мечтал со времени своей встречи с Осипом Алексеевичем. В дверь послышались сильные удары. Пьер снял повязку и оглянулся вокруг себя. В комнате было черно – темно: только в одном месте горела лампада, в чем то белом. Пьер подошел ближе и увидал, что лампада стояла на черном столе, на котором лежала одна раскрытая книга. Книга была Евангелие; то белое, в чем горела лампада, был человечий череп с своими дырами и зубами. Прочтя первые слова Евангелия: «Вначале бе слово и слово бе к Богу», Пьер обошел стол и увидал большой, наполненный чем то и открытый ящик. Это был гроб с костями. Его нисколько не удивило то, что он увидал. Надеясь вступить в совершенно новую жизнь, совершенно отличную от прежней, он ожидал всего необыкновенного, еще более необыкновенного чем то, что он видел. Череп, гроб, Евангелие – ему казалось, что он ожидал всего этого, ожидал еще большего. Стараясь вызвать в себе чувство умиленья, он смотрел вокруг себя. – «Бог, смерть, любовь, братство людей», – говорил он себе, связывая с этими словами смутные, но радостные представления чего то. Дверь отворилась, и кто то вошел.

    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.

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

    В этой статье мы поможем вам сделать этот выбор детально познакомившись с пятью популярными IDE для веб разработки.

    Сначала давайте разберемся что такое IDE? Согласно википедии IDE — это интегрированная среда разработки (англ. Integrated Development Environment) — система программных средств, используемая программистами для разработки программного обеспечения.

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

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

    Решение о том, какую IDE использовать очень субъективно, поскольку оно действительно зависит от функционала, который вы ищете, это может быть:

    • Поддержка различных языков
    • Автодополнение
    • Рефакторинг
    • Подсветка
    • Дебаггер
    • Интеграция SVN / Git
    • Проверка соблюдения стандартов
    • Компилятор
    • Переводчик
    • Управление и редактирование баз данных

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

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

    Представьте их как легкие IDE. Быстрые, надежные и настраиваемые. Помните нашу аналогию с швейцарским армейским ножом раньше? Sublime Text 3, Coda 2 и Atom - отличные примеры таких IDE. Они не являются традиционными IDE, но при правильной настройке они прекрасно вписываются в поняти IDE.

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

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

    По этим причинам мы решили немного смешать список и включить как полноценные, так и «облегченные» IDE, которые будут очень полезны веб разработчикам.

    Давайте начнем наш тур по IDE для веб разработки с PhpStorm.

    PhpStorm

    PhpStorm - это коммерческая IDE от компании JetBrains, она может похвастаться внушительным набором полезных функций.

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

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

    PhpStorm не только для разработки PHP (кстати, у него есть полная поддержка PHP 7). Он также имеет отличную поддержку HTML, JavaScript и CSS.

    Веб-сайт: https://www.jetbrains.com/phpstorm/
    Стоимость: бесплатная 30-дневная версия
    Релиз: 2009
    Регулярно обновляется: да
    Поддерживаемые расширения: плагины
    Написан на: Java

    Sublime Text 3

    Далее в нашем списке - Sublime Text 3, разработанный Джоном Скиннером. Спустя много лет многих лет он стал мощным и очень быстрым пользовательским редактором. Он также хорошо известен как чрезвычайно стабильный и может легко обрабатывать очень большие файлы.

    Интересно, что Sublime Text 3 не видел крупного релиза уже несколько лет. Несмотря на то, что он регулярно обновляется, обновления в основном содержат исправления ошибок наряду с незначительными улучшениями и новыми функциями. Sublime Text 3 по-прежнему находится в стадии бета-тестирования, не смотря на то, что он был выпущен как бета-версия еще в 2013 году! И в настоящее время новостей о новом крупном выпуске нет.

    Sublime Text 3 очень быстро запускается. Фактически, это происходит почти мгновенно. Он работает очень быстро, без задержек или сбоев, что обеспечивает чрезвычайно плавное и эффективное редактирование кода. Он довольно минималистский и имеет менеджер пакетов для установки надстроек (написанных на Python) без необходимости перезапуска.

    Как упоминалось выше, он обрабатывает файлы больших размеров очень хорошо. Существует огромное количество мощных надстроек (называемых пакетами), которые делают Sublime Text очень гибким и универсальным.Сложно отрицать, что использование Sublime Text одно удовольствие.

    Вы также можете найти большое количество руководств и видеоуроков по Sublime Text 3. Это доказывает, что Sublime Text 3 по-прежнему очень популярен и широко используется многими веб-разработчиками на повседневной основе, что свидетельствует о качестве этого фантастического маленького редактора.

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

    • Веб-сайт: https://www.sublimetext.com/
    • Стоимость: 70$, присутствует бесплатная версия
    • Релиз: 2008
    • Регулярно обновляется: нет
    • Написан на: C ++, Python
    • Кросс-платформенная поддержка: да

    Atom

    Построенный командой GitHub, Atom - это новый парень среди популярных IDE в нашем обзоре. Выпущенный в 2014 году, это один из самых популярных редакторов на данный момент и имеет быстро растущее сообщество.

    Эта популярность может быть обусловлена, по крайней мере частично, тем фактом, что Atom с открытым исходным кодом и полностью управляется сообществом.

    Atom также имеет огромную дополнительную библиотеку с более чем 6 000 пакетов .

    Подобно Sublime Text, Atom полностью поддерживает проекты, а также индивидуальное редактирование файлов. Есть встроенная поддержка Git, что неудивительно, поскольку Atom разработала команда GitHub.

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

    Многие пользователи жалуются на то, что при редактировании наблюдается медленная загрузка и неоднородная производительность, особенно при работе с большими файлами. Возможно это связанно с тем, что Atom создан на JavaScript, в то время как, Sublime Text разработан на C ++, который работает изначально быстрее. Только время покажет, смогут ли будущие версии Atom решить эти проблемы. Однако стоит помнить, что Atom относительно молодой и имеет достаточно времени, чтобы созреть.

    В целом, Atom - отличный редактор, который можно легко настроить для веб разработки. Неудивительно, что Atom уже приобрел такое большое сцепление, и будет действительно интересно посмотреть, как он созревает в течение следующих нескольких лет. Это определенно нужно следить!

    • Веб-сайт: https://atom.io/
    • Стоимость: 100% бесплатно
    • Релиз: 2014
    • Регулярные обновления: да
    • Поддерживаемые расширения: пакеты
    • Написан на: JavaScript
    • Кросс-платформенная поддержка: да

    Coda 2

    Coda был впервые выпущен в 2007 году, всего за год до Sublime Text. На протяжении многих лет он был очень сильным игроком, разделяя большую часть рынка веб-разработки с Sublime Text, на компьютерах Mac. Это главный недостаток Coda - даже спустя десять лет после первоначального выпуска, нет версии на Windows. Это единственный не кросс-платформенный редактор нашего обзора.

    Редактор включает в себя встроенный терминал и клиент управления исходным кодом, а также FTP-клиент и встроенный редактор MySQL.

    Несмотря на то, что Coda 2 регулярно обновляется, это, в основном, исправления ошибок и в течение многих лет не было выпусков новых версий.

    Не ошибитесь, Coda 2 - очень хороший выбор. Возможно, он еще себя покажет, я все же определенно рекомендую проверить его, прежде чем принимать окончательное решение. Особенно, если вы пользователь macOS!

    • Веб-сайт:
    • Стоимость: 25$ (бесплатная пробная версия на 7 дней)
    • Релиз: 2007
    • Регулярно обновляется: да
    • Поддерживаемые расширения: плагины
    • Кросс-платформенная поддержка: нет

    NetBeans

    NetBeans существует уже давно (со середины 1990-х годов), но все еще процветает и может конкурировать с новыми IDE. Как и PhpStorm, он разработан на Java и доступен для нескольких платформ. NetBeans состоит из набора «модулей» для добавления функций в среду IDE.

    В течение многих лет NetBeans является сильным фаворитом среди веб-разработчиков как одна из наиболее полнофункциональных IDE.

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



    Рекомендуем почитать

    Наверх