Что такое байт-код?

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

Этот термин используется в компьютерной литературе довольно часто. Ещё он довольно часто встречается в пространных объяснениях, что же такое Microsoft .NET Framework. Однако что же в самом деле скрывается за этим, на первый взгляд, странноватым словом, известно далеко не всем пользователям...

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

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

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

Работа с байт-кодом, как я уже говорил, лежит в основе современных технологий Java и Microsoft .NET, что позволяет использовать приложения, созданные на их основе, на различных программных и аппаратных платформах.

Вадим СТАНКЕВИЧ,
dreamdrusch@tut.by

Версия для печатиВерсия для печати

Номер: 

13 за 2008 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!