ScholarGate
Trợ lý

Hệ thống thời gian chạy và Máy ảo

Hệ thống thời gian chạy và máy ảo cung cấp môi trường thực thi cho các chương trình, diễn giải hoặc biên dịch mã trung gian và quản lý các dịch vụ mà một chương trình đang chạy cần.

Tìm chủ đề với PaperMindSắp ra mắtFind papers & topics
Tools & resources
Tải xuống bản trình chiếu
Learn & explore
VideoSắp ra mắt

Definition

Hệ thống thời gian chạy là môi trường phần mềm hỗ trợ việc thực thi chương trình vượt ra ngoài mã của chính nó, và máy ảo là một công cụ thực thi trừu tượng diễn giải hoặc biên dịch một tập lệnh di động, cung cấp tính di động và các dịch vụ thời gian chạy.

Scope

Chủ đề này bao gồm lớp giữa mã đã biên dịch và phần cứng: trình thông dịch mã byte và máy trừu tượng, biên dịch đúng lúc (JIT), điều phối động và tra cứu phương thức, quy ước gọi và quản lý ngăn xếp, và các dịch vụ thời gian chạy như xử lý ngoại lệ và phản chiếu. Nó đề cập đến thiết kế các máy ảo di động và các kỹ thuật giúp các ngôn ngữ được quản lý hiệu quả.

Core questions

  • Máy ảo cung cấp tính di động trên các phần cứng khác nhau như thế nào?
  • Biên dịch đúng lúc kết hợp diễn giải và mã gốc như thế nào?
  • Điều phối động và tra cứu phương thức được thực hiện hiệu quả như thế nào?
  • Những dịch vụ thời gian chạy nào phải hỗ trợ một ngôn ngữ được quản lý?

Key theories

Kiến trúc máy ảo di động
Đặc tả Máy ảo Java định nghĩa một mã byte và mô hình thực thi di động, có thể kiểm chứng, chứng minh cách một máy ảo tách biệt một ngôn ngữ khỏi phần cứng cụ thể.
Biên dịch đúng lúc
Aycock khảo sát các kỹ thuật mà các môi trường thời gian chạy biên dịch mã sang dạng gốc trong quá trình thực thi, cân bằng khởi động diễn giải với thông lượng của mã đã biên dịch bằng cách sử dụng thông tin thời gian chạy.
Bộ nhớ đệm nội tuyến cho điều phối động
Việc triển khai Smalltalk của Deutsch và Schiffman đã giới thiệu bộ nhớ đệm nội tuyến và dịch động, các kỹ thuật chính để làm cho việc tra cứu phương thức trong các ngôn ngữ được điều phối động trở nên nhanh chóng.

Clinical relevance

Máy ảo và các môi trường thời gian chạy được quản lý cung cấp năng lượng cho các nền tảng được sử dụng rộng rãi cho Java, .NET, JavaScript và Python, mang lại tính di động, an toàn và tối ưu hóa thích ứng. Biên dịch JIT và bộ nhớ đệm nội tuyến là lý do tại sao các ngôn ngữ cấp cao, động có thể đạt được hiệu suất cạnh tranh.

History

Các máy trừu tượng có từ các hệ thống di động ban đầu và Smalltalk, với việc triển khai vào năm 1984 đã tiên phong trong dịch động và bộ nhớ đệm nội tuyến. Máy ảo Java đã phổ biến mã byte di động vào giữa những năm 1990, và các trình biên dịch JIT thích ứng như HotSpot và sau đó là các công cụ JavaScript đã mang lại sự tối ưu hóa thời gian chạy mạnh mẽ cho các ngôn ngữ được quản lý chính thống.

Debates

Diễn giải so với biên dịch đúng lúc
Các nhà thiết kế thời gian chạy cân nhắc giữa các trình thông dịch đơn giản với khởi động nhanh và sử dụng bộ nhớ thấp so với các trình biên dịch JIT đạt hiệu suất cao hơn với chi phí thời gian khởi động và độ phức tạp triển khai, thường kết hợp cả hai trong các hệ thống phân cấp.

Key figures

  • Peter Deutsch
  • John Aycock
  • James Gosling
  • Gilad Bracha

Related topics

Seminal works

  • lindholm2014
  • aycock2003
  • deutsch1984

Frequently asked questions

Máy ảo trong ngữ cảnh này là gì?
Ở đây, máy ảo là một công cụ thực thi phần mềm chạy một tập lệnh di động (chẳng hạn như mã byte), trừu tượng hóa phần cứng cơ bản và cung cấp các dịch vụ thời gian chạy thay vì mô phỏng toàn bộ một máy tính.
Biên dịch đúng lúc giúp cải thiện hiệu suất như thế nào?
Trình biên dịch JIT dịch các phần được thực thi thường xuyên của một chương trình sang mã gốc trong thời gian chạy, sử dụng thông tin hồ sơ mà trình biên dịch trước thời gian không có, do đó mã nóng chạy ở tốc độ gần như gốc.

Methods for this concept

Related concepts