Jitter chính thức trở thành một phần của dự án GNU

Một vài ngày trước, thông tin được đưa ra rằng dự án Jitter chính thức trở thành một dự án trực thuộc Dự án GNU và hiện nó đang được phát triển dưới tên GNU Jitter sử dụng cơ sở hạ tầng GNU và phù hợp với các yêu cầu của dự án.

Đối với những người không quen thuộc với Jitter, bạn nên biết rằng nó làa là một triển khai cho phép tạo các máy ảo di động và rất nhanh cho các thiết kế tùy ý của các ngôn ngữ lập trình, mà hiệu suất thực thi mã của chúng cao hơn đáng kể so với các trình thông dịch và gần với mã được biên dịch gốc.

Jitter có tính di động cao và một máy ảo chính xác sẽ thể hiện chính xác cùng một hành vi trên bất kỳ nền tảng nào chỉ có trình biên dịch và thư viện C tiêu chuẩn; tuy nhiên, hiệu suất sẽ tốt hơn khi sử dụng một trong các kiến ​​trúc được hỗ trợ (hiện tại: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; mức thứ 64: Aarch390, Alpha, ARM, SXNUMXx) trên hệ thống ELF với GCC. Tất nhiên, Jitter là một phần của dự án GNU và được thiết kế chủ yếu để sử dụng trên hệ thống GNU.

jitter coi đầu vào là thông số kỹ thuật cấp cao của các hướng dẫn được hỗ trợ bằng một máy ảo, và trong đầu ra, hình thức triển khai sẵn sàng sử dụng của một máy ảo để thực hiện các hướng dẫn đã cho.

Logic của mỗi lệnh trong đặc tả được chỉ định bằng cách sử dụng mã C. Các tính năng bổ sung bao gồm hỗ trợ các hoạt động phân nhánh có điều kiện khó thực hiện trong C và vốn có trong các ngôn ngữ lập trình động, chẳng hạn như kiểm tra giá trị thẻ và kiểm tra tràn.

Jitter runtime cũng có tính năng hỗ trợ hiệu quả cho các hoạt động phân nhánh có điều kiện khó thực hiện chỉ sử dụng C, chẳng hạn như kiểm tra thẻ giá trị theo yêu cầu của các ngôn ngữ được nhập động và số học với kiểm tra tràn. Mã VM truy cập các hoạt động gọi và trả về thủ tục, trong hầu hết các trường hợp, dựa vào các cơ chế phần cứng hiệu quả.

Máy ảo kết quả được định dạng bằng C với một số lượng nhỏ chèn người lắp ráp. Các cấu hình được cung cấp để cho phép các tối ưu hóa khác nhau và lựa chọn cơ chế phân phối, giúp dễ dàng di chuyển máy ảo sang các nền tảng khác nhau.

Nó hỗ trợ việc sử dụng các cấu trúc thực thi thanh ghi, ngăn xếp và nối, cũng như khả năng sao chép cấu trúc dữ liệu máy ảo trong các thanh ghi phần cứng CPU và kết nối bộ thu gom rác.

Mã được tạo bao gồm một API C đơn giản để tự động thay thế và thực thi mã trong máy ảo, cũng như chương trình điều khiển để thực thi mã riêng biệt từ các tệp văn bản trong máy ảo.

Mã C được tạo ra được điều chỉnh rất nhiều và có thể được định cấu hình để chạy bằng cách sử dụng các kỹ thuật phân phối khác nhau với mức độ phức tạp khác nhau; các kỹ thuật điều phối hiệu quả nhất dựa vào một số hỗ trợ lắp ráp dành riêng cho kiến ​​trúc, nhưng không dành riêng cho VM do Jitter cung cấp; tất cả các mô hình điều phối, nhưng một mô hình cũng dựa trên phần mở rộng GNU C.

Cuối cùng, đối với những người muốn biết thêm về nó, họ nên biết rằng mã Jitter gốc được viết bằng C và có sẵn theo giấy phép GPLv3. Bạn có thể tìm hiểu thêm trong liên kết theo dõi.

Làm thế nào để có được Jitter?

Đối với những người quan tâm đến việc có thể kiểm tra Jitter, họ có thể lấy mã nguồn bằng cách mở một thiết bị đầu cuối và nhập lệnh sau vào đó:

git clone http://git.ageinghacker.net/jitter

Sau khi hoàn tất, bây giờ chúng ta tiến hành nhập thư mục có mã, chúng ta sẽ thực thi tập lệnh khởi động được sử dụng để tạo các tệp cần thiết để cấu hình và xây dựng Jitter, bao gồm cả một tập lệnh cấu hình. Chúng tôi làm điều này với:

cd jitter && ./bootstrap

Điều đáng nói là Jitter tuân theo các quy ước GNU về cấu hình và xây dựng và hỗ trợ xây dựng từ thư mục nguồn; trên thực tế, nó hỗ trợ biên dịch chéo và thậm chí chạy bộ thử nghiệm trong biên dịch chéo thông qua trình giả lập.

./configure && make

Cuối cùng, để thực thi, chỉ cần nhập:

make check


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.