Что означают чанк, блок, смещение, буфер и сектор?

Я видел некоторые сценарии, которые либо имеют дело с архивными или двоичными данными, либо копируют файлы (без использования функций Python по умолчанию), используют chunk или block или offset< /em> или буфер или сектор.

Я создал приложение Python, и некоторые из требований были выполнены внешними библиотеками (архивирование/извлечение данных) или двоичными файлами. Теперь я хотел бы погрузиться глубже, чтобы включить эти функции сторонних библиотек в свое приложение, написав собственный модуль. Теперь я хотел бы знать, что означают эти термины и с чего я могу начать. Есть ли документация по теме выше?

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


person sundar_ima    schedule 25.02.2014    source источник
comment
интерпретация этих слов будет немного отличаться в каждой реализации ... но почему бы не использовать онлайн-словарь технических вычислений, чтобы получить общее представление?   -  person isedev    schedule 25.02.2014
comment
Все приводит к одной строке пояснений. Но я хочу подробного объяснения.   -  person sundar_ima    schedule 25.02.2014
comment
но это моя точка зрения... подробное объяснение будет отличаться для каждой реализации. Фрагмент/блок/сектор может означать что-то другое в зависимости от того, просматриваете ли вы архив tar, cpio или cab, Microsoft CBF или что-то еще. offset должен (надеюсь) означать то же самое, но относительно чего-то (относительно чего).   -  person isedev    schedule 25.02.2014


Ответы (1)


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

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

Смещение – это позиционное расстояние, обычно между началом чего-либо и интересующей позицией; е. грамм. если 23-й байт в файле данных о погоде хранит температуру, то смещение температуры составляет 23 байта. Это также может быть сдвиг позиции данных, например. грамм. если что-то пошло не так и теперь файл поврежден, это может быть из-за того, что все байты смещены на 32 байта назад (после вставки 32 нулей в начале или аналогичного), тогда весь файл имеет смещение 32 байта.

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

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

person Alfe    schedule 25.02.2014
comment
Спасибо за подробный ответ. Есть ли какая-либо документация, относящаяся к этому? - person sundar_ima; 25.02.2014
comment
Я не знаком с официальной документацией, касающейся этих терминов. Не забывайте, что информатика — довольно новая область знаний; многие термины и слова используются более или менее на общепринятой основе, основанной на том, что изобрели программисты 50-х, 60-х и 70-х годов. Не было века (как в большинстве других наук), в течение которых теоретики могли бы пережевывать каждую задуманную идею снова и снова, пока не была бы найдена пустяк и термины не затвердели. Искать официальные цитаты немного похоже на поиск ссылок на молодежном сленге. - person Alfe; 26.02.2014