Большие буфера. Буфер: это что такое? Краткий обзор. Скорость вращения шпинделя


Влияние буфера на производительность жесткого диска

Владимир Леонов

Современные серии жестких дисков всех производителей можно разделить на две категории, различающиеся размером внутреннего буфера (2 или 8 Мбайт). Просмотр прайс-листов показал, что разница в цене дисков одного объема с разным размером буфера в Москве сейчас колеблется от 3 до 19 долл. и зависит от производителя и продавца. В этой статье мы попробуем показать влияние размера внутреннего буфера на производительность жесткого диска.

равнение производительности мы проведем на примере жестких дисков HDS722516VLAT20 и HDS722516VLAT80 из семейства Deskstar 7K250 компании Hitachi. Если быть более точным, то с прошлого года выпуском жестких дисков в компании Hitachi занимается новое подразделение HGST (Hitachi Global Storage Technologies), образованное в результате объединения собственного дискового производства и мощностей, приобретенных у компании IBM. Оба диска имеют объем 160 Гбайт и полностью повторяют друг друга по конструкции механической части. Тестировавшиеся диски имели одинаковую версию прошивки - V340A60A и отличались только размером внутреннего буфера (2 и 8 Мбайт соответственно).

Сравнение производительности мы проводили под управлением операционной системы Windows XP Professional.SP1 на компьютере следующей конфигурации:

Материнская плата — MSI 875P Neo (MS-6758);

Процессор — Intel Pentium 4 3,06 ГГц (533 FSB);

Память — 1 Гбайт (2Ѕ512 Мбайт Kingston PC2700 DDR SDRAM);

Жесткий диск — Hitachi Deskstar IC35L090AVV207-0.

Тестируемые диски поочередно подключались как Secondary Master.

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

Ziff Davis WinBench 99 v. 2.0;

Futuremark PCMark2004;

FileCopy Test v. 0.5.3 (разработан компанией «Ф-Центр»).

В тесте Ziff Davis WinBench 99 v. 2.0 определяется производительность дисковой подсистемы при работе реальных приложений. Это хороший тест, но, к сожалению, он уже не поддерживается разработчиком и версии приложений, используемые в тесте, сильно устарели. Кроме производительности в тесте определяются среднее время доступа к диску и график зависимости скорости чтения от места расположения данных на диске (рис. 1 и 2).

Как и следовало ожидать, диски имеют одинаковое время доступа (табл. 1) и графики зависимости скорости чтения от места расположения данных на диске для обоих дисков совпадают. По производительности во всех подтестах впереди жесткий диск HDS722516VLAT80, и можно сказать, что это преимущество полностью определяется работой буфера. Как видно из табл. 1, при использовании файловой системы FAT-32 влияние буфера обычно более заметно.

Набор тестов PCMark04 от компании Futuremark основан на реальных приложениях и предназначен для детального исследования производительности компьютера. Пакет состоит из нескольких разделов, один из которых предназначен для определения производительности дисковой подсистемы. Для тестирования дисковой подсистемы применяются так называемые трассы - заранее записанные на некотором эталонном компьютере последовательности дисковой активности при выполнении различных задач. Показателем быстродействия служит скорость обработки трассы, измеренная в мегабайтах в секунду. Используются четыре трассы, воспроизводящие работу жесткого диска при выполнении различных задач. Назначение трасс понятно из их названия. Это загрузка операционной системы, открытие и закрытие нескольких популярных приложений, копирование файлов и имитация работы пользователя. Результаты приведены в табл. 2. Как и в предыдущем тесте, впереди жесткий диск HDS722516VLAT80. Наиболее сильно влияние увеличенного буфера сказывается на операциях копирования и меньше всего - на загрузке операционной системы.

Утилита FileCopy Test v. 0.5.3 разработана специалистами компании «Ф-Центр» и предназначена для определения производительности жесткого диска при создании (записи) файлов на диске, чтении файлов с диска и копировании файлов с одного участка диска на другой. В качестве результатов показываются время выполнения операции и скорость, измеряемая в мегабайтах в секунду (Мбайт/с). При создании файлов используются заранее подготовленные паттерны - списки, содержащие информацию о длине и количестве файлов, которые необходимо создать. Паттерн можно создать либо вручную, либо автоматически по любой папке, воспользовавшись опцией Scan, что позволяет легко создать паттерн с реальным распределением файлов по размерам. Мы использовали паттерны, входящие в комплект дистрибутива программы. По названию паттернов легко догадаться об их содержании. Результаты теста приведены в табл. 3. Из таблицы видно, что степень влияния размера буфера на производительность жесткого диска зависит от выполняемой операции и среднего размера обрабатываемого файла. Так, при раздельном выполнении операций записи и чтения файлов большой длины (паттерн ISO) размер буфера почти не влияет на производительность, а при копировании таких файлов влияние размера буфера проявляется наиболее сильно.

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

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

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

Вступление

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

Жесткий диск или накопитель на жестких магнтных дисках (НЖМД, HDD) представляет собой основной накопитель данных в большинстве современных компьютеров, на котором хранится не только информация, необходимая пользователю, включая фильмы, игры, фотографии, музыку, но и операционная система, а также все установленные программы. Поэтому-то, собственно говоря, к выбору жесткого диска для компьютера следует относиться с должным вниманием. Помните, что при выходе из строя любого элемента ПК его можно заменить. Единственный негативный момент в этой ситуации - дополнительные финансовые затраты на ремонт или покупку новой детали. А вот поломка жесткого диска, помимо непредвиденных затрат, может привести к потере всей вашей информации, а так же необходимости в повторной установке операционной системы и всех требуемых программ. Основной целью этой статьи является помощь начинающим пользователям ПК в выборе модели жесткого диска, которая бы лучше всего соответствовала требованиям, предъявляемым конкретными «юзерами» к компьютеру.

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

  • Мобильный компьютер для общих задач (работа с документами, «серфинг» по просторам всемирной паутины, обработки данных и работы с программами).
  • Производительный мобильный компьютер для игр и ресурсоемких задач.
  • Настольный компьютер для офисных задач;
  • Производительный настольный компьютер (работа с мультимедиа, игры, обработка аудио, видео и изображений);
  • Мультимедиа плеер и хранилище данных.
  • Для сборки внешнего (портативного) накопителя.

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

Форм-фактор

Форм-фактор - это физический размер жесткого диска. На сегодняшний день, большинство накопителей для домашних компьютеров имеет ширину 2,5 либо 3,5 дюйма. Первые, которые поменьше, предназначены для установки в ноутбуки, вторые - в стационарные системные блоки. Конечно, при желании 2,5-дюймовый диск можно установить и в настольный ПК.

Существуют и более маленькие магнитные накопители с размерами 1,8”, 1” и даже 0,85”. Но данные винчестеры распространены гораздо меньше и ориентированы на специфические устройства, типа ультра-компактных компьютеров (UMPC), цифровых камер, КПК и другое оборудование, где очень важны малые габариты и вес комплектующих. О них в этом материале мы говорить не будем.

Чем меньше размер диска, тем он легче и тем меньше требуется питания для его работы. Поэтому винчестеры форм-фактора 2,5” почти полностью заменили 3,5-дюймовые модели во внешних накопителях. Ведь для работы больших внешних дисков требуется дополнительное питание от электрической розетки, в то время как младший собрат довольствуется только питанием от портов USB. Так что если вы решили самостоятельно собрать портативный накопитель, то лучше для этих целей использовать HDD размером 2,5-дюйма. Это будет более легкое и компактное решение, да и блок питания с собой таскать не придется.

Что же касается установки 2,5-дюймовых дисков в стационарный системный блок, то такое решение выглядит неоднозначным. Почему? Читайте дальше.

Емкость

Одной из главных характеристик любого накопителя (в этом плане винчестер - не исключение) является его емкость (или объем), которая сегодня у некоторых моделей достигает уже четырех терабайт (в одном терабайте 1024 Гб). Еще каких-то 5 лет назад подобный объем мог показаться фантастикой, однако нынешние сборки ОС, современное программное обеспечение, видео и фотографии высокого разрешения, а так же трехмерные компьютерные видеоигры, имея довольно солидный «вес», нуждаются в большой емкости винчестера. Так, некоторым современным играм для нормального функционирования необходимо 12 и даже больше гигабайт свободного пространства на жестком диске, а полуторачасовой фильм HD-качества может потребовать для хранения и вовсе свыше 20 Гб.

На сегодняшний день емкость 2,5-дюймовых магнитных носителей колеблется от 160 Гб до 1,5 Тб (наиболее распространенные объемы: 250 Гб, 320 Гб, 500 Гб, 750 Гб и 1 Тб). Диски размером 3,5” для десктопов более емкие и могут хранить от 160 Гб до 4 Тб данных (наиболее распространенные объемы: 320 Гб, 500 Гб, 1 Тб, 2 Тб и 3 Тб).

При выборе емкости HDD учтите одну важную деталь - чем больше объем жесткого диска, тем ниже цена 1 Гб хранения информации. Например, десктопный винчестер на 320 Гб стоит 1600 рублей, на 500 Гб - 1650 рублей, а на 1 Тб - 1950 рублей. Считаем: в первом случае стоимость гигабайта хранения данных составляет 5 рублей (1600 / 320 = 5), во втором - 3,3 рубля, а в третьем - 1,95 руб. Конечно, такая статистика не означает, что надо обязательно покупать диск очень большой емкости, но в данном примере очень хорошо видно, что покупка 320-гигабайтного диска нецелесообразна.

Если вы планируете использовать компьютер в основном для решения офисных задач, то вам с лихвой хватит винчестера емкостью 250 - 320 Гб, а то и меньше, если, конечно, нет необходимости в хранении на компьютере огромных по объему архивов документации. В тоже время, как мы отмечали выше, покупка жесткого диска объемом ниже 500 Гб невыгодна. Сэкономив от 50 до 200 рублей, в итоге вы получаете очень высокую стоимость одного гигабайта хранения данных. При этом данный факт касается дисков обоих форм-факторов.

Хотите собрать игровой либо мультимедийный ПК для работы с графикой и видео, планируете загружать на жесткий диск новые фильмы и музыкальные альбомы в больших количествах? Тогда жесткий диск лучше выбирать объемом не менее 1 Тб для настольного ПК и не менее 750 Гб для мобильного. Но, разумеется, окончательный расчет емкости винчестера должен соответствовать конкретным потребностям пользователя и в данном случае мы даем только рекомендации.

Отдельно стоит отметить системы для хранения данных (NAS) и ставшие популярными мультимедиа плееры. Как правило, в такое оборудование устанавливаются большие диски 3,5”, желательно с объемом не менее 2 Тб. Ведь данные устройства ориентированы на хранение больших объемов данных, а значит, винчестеры, устанавливаемые в них, должны быть емкими с наиболее низкой ценой хранения 1 Гб информации.

Геометрия диска, пластины и плотность записи

При выборе жесткого диска не следует слепо ориентироваться только на его общую емкость, по принципу «чем больше, тем лучше».Существуют и другие немаловажные характеристики, среди которых: плотность записи и число используемых пластин. Ведь от этих факторов напрямую зависит не только объем винчестера, но и скорость записи/считывания данных.

Сделаем небольшое отступление и скажем несколько слов о конструктивных особенностях современных накопителей на жестких магнитных дисках. Запись данных в них осуществляется на алюминиевые либо стеклянные диски, называемыми пластинами, которые покрыты ферромагнитной пленкой. За запись и считывание данных с одной из тысяч концентрических дорожек, расположенных на поверхности пластин, отвечают считывающие головки, размещающиеся на специальных поворотных кронштейнах-позиционерах, иногда называемых «коромыслами». Эта процедура происходит без прямого (механического) контакта между диском и головкой (они находятся на расстоянии порядка 7-10 нм друг от друга), что обеспечивает защиту от возможных повреждений и продолжительный срок службы устройства. Каждая пластина имеет две рабочие поверхности и обслуживается двумя головками (по одной на каждую сторону).

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

Ближе к внешнему краю диска дорожки имеют больший радиус (большую длину) и вмещают большее количество секторов, а значит, и большее количество информации, которая может быть считана устройством за один оборот. Поэтому, на внешних дорожках диска скорость передачи данных больше, так как считывающая головка в данной области преодолевает за определенный временной промежуток большее расстояние, чем на внутренних дорожках, которые находятся ближе к центру. Таким образом, диски диаметром, равным 3,5 дюйма, отличаются более высокой производительностью, чем диски, у которых эта величина составляет 2,5 дюйма.

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

Суммарный объем винчестера складывается из емкостей каждой из помещенных в него пластин. Например, появившийся в 2007 году, первый коммерческий накопитель емкостью 1000 Гб (1Тб) имел целых 5 пластин плотностью по 200 Гбайт каждая. Но технологический прогресс не стоит на месте и в 2011 году, благодаря совершенствованию технологии перпендикулярной записи, компания Hitachi представила первую пластину емкостью 1 Тб, которые повсеместно используются в современных жестких дисках большого объема.

Уменьшение количества пластин в жестких дисках несет в себе целый ряд важных преимуществ:

  • Снижение времени считывания данных;
  • Снижение энергопотребления и тепловыделения;
  • Повышение надежности и отказоустойчивости;
  • Уменьшение массы и толщины;
  • Снижение себестоимости.

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

Скорость вращения шпинделя

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

В стационарных домашних компьютерах находят применение модели жестких дисков, имеющие рабочую частоту вращения 5400, 5900, 7200, либо 10000 оборотов в минуту. Устройства со скоростью вращения шпинделя, составляющей 5400 об/мин, обычно функционируют тише своих высокоскоростных «конкурентов» и имеют меньшее тепловыделение. Винчестеры с более высокими оборотами, в свою очередь, отличаются лучшей производительностью, но при этом более энергозатратны.

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

В остальных случаях, в подавляющем большинстве, используются диски со скоростью вращения пластин 7200 об/мин. Это касается как компьютеров среднего, так и топового класса. Использование HDD со скоростью вращения 10000 об/мин встречается сравнительно редко, так как такие модели винчестеров являются очень шумными и имеют достаточно высокую стоимость хранения одного гигабайта информации. Более того, в последнее время, пользователи все чаще предпочитают использовать вместо производительных магнитных дисков, твердотельные накопители.

В мобильном секторе, где царствуют 2,5-дюймовые диски, наиболее распространенной скоростью вращения шпинделя является 5400 об/мин. Это и не удивительно, так как для портативных устройств важны небольшое энергопотребление и низкий уровень нагрева деталей. Но не забыли и про обладателей производительных ноутбуков - на рынке существует большой выбор моделей со скоростью вращения 7200 об/мин и даже несколько представителей семейства VelociRaptorсо скоростью вращения 10000 об/мин. Хотя целесообразность применения последних даже в самых мощных мобильных ПК находится под большим сомнением. На наш взгляд, в случае необходимости установки очень быстрой дисковой подсистемы, здесь лучше обратить внимание на твердотельные накопители.

Интерфейс подключения

Практически все современные модели, как маленьких, так и больших жестких дисков подключаются к системным платам персональных компьютеров с помощью последовательного интерфейса SATA (Serial ATA). Если же у вас очень старый компьютер, то возможен вариант подключения с помощью параллельного интерфейса PATA (IDE). Но учтите, что ассортимент таких винчестеров в магазинах на сегодняшний день очень скуден, так как их производство практически полностью прекращено.

Что же касается интерфейса SATA, то здесь на рынке представлено 2 варианта дисков: подключение через шину SATA II или SATA III. В первом варианте максимальная скорость передачи данных между диском и оперативной памятью может составлять 300 Мбайт/с (пропускная способность шины до 3 Гбит/с), а во втором - 600 Мбайт/с (пропускная способность шины до 6 Гбит/c). Так же у интерфейса SATA III стоит отметить несколько улучшенное управление питанием.

На практике, для любых классических жестких дисков «за глаза» хватает пропускной способности интерфейса SATA II. Ведь даже у самых производительных моделей HDD скорость чтения данных с пластин едва превышает показатель в 200 Мбайт/c. Другое дело - твердотельные накопители, где данные храниться не на магнитных пластинах, а во флэш-памяти, скорость считывания из которой в разы больше и может достигать величин свыше 500 Мбайт/c.

Следует отметить, что во всех версиях интерфейса SATA сохранена совместимость между собой на уровне протоколов обмена, разъемов и кабелей. То есть винчестер с интерфейсом SATA III можно спокойно подключить к материнской плате через разъем SATA I, правда при этом максимальная пропускная способность диска ограничится возможностями более старой ревизии и будет составлять 150 Мбайт/с.

Буферная память (Кэш)

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

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

Величина буфера обмена у современных жестких дисков, выполненных в форм-факторе 2,5”, может быть 8, 16, 32 или 64 Мб. У старших 3,5-дюймовых собратьев максимальное значение буферной памяти достигает уже 128 Мб. В мобильном секторе наиболее распространены диски с кэшем 8 и 16 Мб. Среди винчестеров для настольных ПК самыми распространенными объемами буфера являются 32 и 64 Мб.

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

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

Прочие характеристики

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

Надежность или среднее время наработки на отказ ( MTBF) - средняя продолжительность работы винчестера до его первой поломки или возникновения потребности в ремонте. Измеряется обычно в часах. Данный параметр очень важен для дисков, использующихся в серверных станциях или файловых хранилищах, а так же в составе RAID-массивов. Как правило, у специализированных магнитных накопителей среднее время наработки составляет от 800 000 до 1 000 000 часов (например, диски серии RED у компании WD или серии Constellation у компании Seagate).

Уровень шума - шум, создаваемый элементами жесткого диска при его работе. Измеряется в децибелах (дБ). В основном складывается из шума, возникающего при позиционировании головок (потрескивание) и шума от вращения шпинделя (шелест). Как правило, чем меньше скорость вращения шпинделя, тем тише работает винчестер. Тихим жесткий диск можно назвать, если его уровень шума составляет ниже 26 дБ.

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

Время произвольного доступа - среднее время, за которое выполняется позиционирование считывающей головки диска над произвольным участком магнитной пластины, измеряемое в миллисекундах. Очень важный параметр, влияющий на производительность винчестера в целом. Чем меньше время позиционирования, тем быстрее на диск будут записаны или считаны с него данные. Может составлять от 2,5 мс (у некоторых моделей серверных дисков) до 14 мс. В среднем у современных дисков для персональных компьютеров этот параметр колеблется от 7 до 11 мс. Хотя встречаются и очень быстрые модели, например, WD Velociraptor со средним временем произвольного доступа 3,6 мс.

Заключение

В заключение хотелось бы сказать несколько слов о все более набирающих популярность гибридных магнитных накопителях (SSHD). Устройства подобного типа совмещают в себе обычный жесткий диск (HDD) и твердотельный накопитель (SSD) небольшого размера, выступающий в качестве дополнительной кэш-памяти. Таким образом, разработчики пытаются использовать вместе основные преимущества двух технологий - большую емкость магнитных пластин и быстродействие флеш-памяти. При этом стоимость гибридных дисков гораздо ниже, чем у новомодных SSD, и немногим выше, чем у обычных HDD.

Несмотря на перспективность данной технологии, пока что накопители SSHD на рынке жестких дисков представлены очень слабо лишь небольшим количеством моделей в форм-факторе 2,5 дюйма. Наибольшую активность в этом сегменте проявляет компания Seagate, хотя конкуренты Western Digital (WD) и Toshiba так же уже представили свои гибридные решения. Все это оставляет надежды, что рынок SSHD жестких дисков будет развиваться, и мы в ближайшее время увидим в продаже новые модели подобных устройств не только для мобильных компьютеров, но и для настольных ПК.

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

Я написал библиотеку json, которая использует flex и bison для анализа serialized-json (т.е. строк) и десериализации их для объектов json. Это прекрасно работает для небольших струн.

Тем не менее, он не работает с очень большими строками (я пробовал строки почти 3 GB) с этой ошибкой:

‘fatal flex scanner internal error--end of buffer missed’

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

//js: serialized json stored in std::string yy_scan_bytes(js.data(), js.size());

и как заставить flex / bison работать с большими буферами?

Решение

Мне кажется, что вы используете старую версию гибкого каркаса (и, следовательно, гибкого), в которой длины струн должны были соответствовать int s. Сообщение об ошибке, которое вы наблюдаете, вероятно, является результатом int переполнение до отрицательного значения.

Я полагаю, что если вы перейдете на версию 2.5.37 или более новую, вы обнаружите, что большинство из них int с стали size_t и у вас не должно быть проблем с вызовом yy_scan_bytes с входным буфером, размер которого превышает 2 гигабайта. (Прототип этой функции теперь занимает size_t а не int , например.)

Однако мне трудно поверить, что это хорошая идея. Для начала, yy_scan_bytes копирует всю строку , потому что лексический сканер хочет строку, которую ему разрешено изменять, и потому что он хочет убедиться, что строка имеет два NUL байтов в конце. Создание этой копии будет бесполезно занимать много памяти, и если вы все равно собираетесь копировать буфер, вы можете скопировать его в виде управляемых кусков (скажем, 64 КБ или даже 1 МБ). Это может оказаться проблематичным, только если у вас есть одиночные токены, которые значительно больше, чем размер чанка, потому что flex определенно не оптимизирован для больших одиночных токенов. Но для всех нормальных случаев использования это, вероятно, будет работать намного лучше.

Flex не предоставляет интерфейс для разбиения огромного входного буфера на куски, но вы можете сделать это очень легко, переопределив YY_INPUT макро. (Если вы сделаете это, вы, вероятно, в конечном итоге использовать yyin как указатель на вашу собственную структуру буфера, которая теоретически не переносима. Тем не менее, он будет работать на любой архитектуре Posix, где все указатели объектов имеют одинаковое представление.)

Конечно, обычно вы не хотите ждать, пока в памяти накопится 3 ГБ данных, чтобы начать ее анализ. Вы можете анализировать пошагово по мере чтения данных. (Возможно, вам все еще нужно переопределить YY_INPUT в зависимости от того, как вы читаете данные.)

Каждый человек, работающий с компьютером, хочет он этого или нет, постоянно сталкивается с таким понятием как «буфер» (точнее, буфер обмена). Что самое печальное, далеко не все представляют себе, что это такое, хотя, в общем-то, и понимают его функции.

Основное назначение

Давайте сначала рассмотрим, какие же функции возложены на этот компонент системы. Наверное, не нужно объяснять, что он задействуется в момент выполнения команд «Копировать», «Вырезать» и «Вставить» (соответственные сочетания клавиш Ctrl + C, Ctrl + X и Ctrl + V).

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

Что такое буфер обмена?

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

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

Где находится буфер обмена?

Теперь посмотрим на месторасположение В разных версиях ОС Windows ему сопоставлены различные файлы.

Так, например, в системе Windows XP файл, отвечающий за работу буфера обмена, называется clipbrd.exe (сокращение от английского термина clipboard) и расположен в системной папке System32 главной директории Windows. Интересен тот факт, что его можно открыть как обычный исполняемый файл и запросто просмотреть содержимое. Для этого можно использовать и сторонние утилиты.

В операционных системах, пришедших на смену Windows XP (начиная с Vista и выше), файл имеет название clip.exe. Буфер обмена находится по тому же адресу. Но вот аналогичные действия, работающие в «экспишке», с ним произвести нельзя. Разработчики создали его так, чтобы пользователь попросту не мог его открыть. Но при наведении на файл курсора появляется только всплывающее сообщение (подсказка), содержащее краткое описание файла, название организации (Microsoft), версию и дату создания. Как уже понятно, просмотреть содержимое буфера невозможно.

Надо ли чистить буфер обмена и как это сделать?

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

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

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

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

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

Особенно это касается ситуаций, когда на системном диске остается менее 10% свободного места. Это заложено в самой «операционке». Считается, что для ее нормального функционирования системный раздел и должен содержать не менее 10% свободного пространства от его объема (в данном случае имеется в виду только системный диск, а не весь винчестер с суммарным объемом логических разделов).

Заключение

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

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

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

Напомню стандартные приёмы работы с буфером обмена Windows:

  • Ctrl+C или Ctrl+Insert – скопировать выделенный фрагмент в буфер обмена
  • Ctrl+X или Shift+Delete – вырезать, т.е. скопировать в буфер обмена и удалить из текста
  • Ctrl+V или Shift+Insert – вставить последний скопированный элемент

Также можно пользоваться контекстным меню правой кнопки мышки:

Я лично пользуюсь только комбинациями с «Insert», по-моему так намного удобнее, может просто не все знают об этом. На некоторых клавиатурах на кнопках «C», «V», «X» уже нанесены обозначения, чтобы не забыть как ими пользоваться. Но у стандартного метода есть недостаток, ведь вставить можно только последний скопированный элемент, т. е. каждый новый текст затирает предыдущий.

Программа для работы с буфером обмена

Скачайте и установите программку ClipDiary.

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

Суть работы простая – всё что вы скопируете в буфер обмена с помощью кнопок «Ctrl+C» или «Ctrl+Insert» сохраняется в списке и называется «клипами», причём даже после перезагрузки компьютера. В любой момент можно открыть список и найти ранее скопированный текст. Я перерыл несколько похожих программ, но ClipDiary оказалась единственной, которая умеет вставлять данные из истории с помощью горячих кнопок. Другие программы лишь открывали весь список, из которого можно было что-то выбрать, а потом вручную вставить куда надо.

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

Выглядит это вот так:

В списке перечислены все последние скопированные элементы. Свои горячие клавиши я настроил вот таким образом:

Соответственно, я могу перемещаться по истории с помощью комбинаций «Ctrl+Shift+Insert» и «Ctrl+Shift+Home», пока не увижу в маленьком всплывающем окошке текст, который я ранее копировал, например фразу «Я лично пользуюсь только»

А с помощью кнопок «Ctrl+Shift+End» я могу зайти в буфер обмена, открыв главное окно программы.

Посмотрите это небольшое видео:

С помощью горячих кнопок «Ctrl+I» можно очистить буфер обмена Windows, при этом не очищая список Clipdiary. Чтобы очистить и его, нужно открыть окно программы, выделить всё что там есть и нажать красный крестик или «Ctrl+Del». Если список окажется на нескольких страницах, то проделайте это несколько раз.

В настройках программы ClipDiary в разделе «Дополнительно» есть куча тонких настроек, с помощью которых можно настроить всё под себя.

История буфера обмена в Microsoft office

В программы пакета Microsoft Office Word, Excel, PowerPoint включена возможность работы с расширенным буфером обмена. Чтобы активировать его нужно кликнуть на едва заметную кнопочку вот здесь:

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

Вставлять оттуда можно только вручную, а список очищается после закрытия программы. Также можно очистить буфер обмена по кнопке «Очистить всё». Кстати, работать с документами .

Вот такие пироги 🙂 Надеюсь вам понравилась идея, так поделитесь статьёй с друзьями в социальных сетях!