Intermediate Language – MSIL)
Intermediate Language – MSIL)
− Là một đơn vị xử lý trung tâm tập hợp các lệnh độc lập có thể đượợc chuyyển đổi mộột cách hiệệu quq ả tới mã máy. y
− Bao gồm các lệnh nạp (loading), lưu trữ (storing), khởi tạo (initializing) và gọi các phương thức trên các đối tượng Ngoài ra nó còn bao gồm các lệnh tính toán số
tượng. Ngoài ra, nó còn bao gồm các lệnh tính toán số
học và logic, điều khiểu luồng chương trình (control
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình
(Programming Language)
( g g g g )
• Ngôn ngữ trung gian của Microsoft (Microsoft Intermediate Language – MSIL) Intermediate Language – MSIL)
Intermediate Language – MSIL)
− Khi một mã lệnh đơn lẻ được người lập trình viết xong, nó sẽ đượợc biên dịịch bởi trình biên dịịch. Sau khi đượợc biên dịch mã lệnh được chuyển đổi thành tập tin dạng EXE/DLL. Kết quả này được hiểu là “đơn vị chương trình đượợc quq ản lý - Managed Module”. Trên thý g ựực tế
Managed Module được hiểu như là Assembly, nó bao gồm ngôn ngữ trung gian (Intermediate Language (IL) ) và thông tin vg ề dữ liệệu (siêu d( ữ liệệu - Metadata). )
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình
(Programming Language)
( g g g g )
• Ngôn ngữ trung gian của Microsoft (Microsoft Intermediate Language – MSIL) Intermediate Language – MSIL)
Intermediate Language – MSIL)
− Metadata được trình biên dịch sinh ra, nó mô tả các kiểu trong mã lg ệệnh, và , địịnh nghg ĩa mỗi kiểu, ch, ữ ký cý ủa mỗi thành viên kiểu, các thành viên được tham chiếu bởi mã lệnh, và dữ liệu khác được sử dụng bởi bộ
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình
(Programming Language)
( g g g g )
• Ngôn ngữ trung gian của Microsoft (Microsoft Intermediate Language – MSIL) Intermediate Language – MSIL)
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình
(Programming Language)
( g g g g )
• Ngôn ngữ trung gian của Microsoft (Microsoft Intermediate Language – MSIL) Intermediate Language – MSIL)
Intermediate Language – MSIL)
− Trước khi MSIL có thể được thực thi, nó phải được chuyyển đổi lần nữa bởi trình biên dịịch Just In Time (JIT) tới mã máy (native code). Trình biên dịch JIT
được cung cấp bởi bộ vận hành ngôn ngữ chung
(Common Language Runtime) cho mỗi kiến trúc CPU
( g g )
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình
(Programming Language)
( g g g g )
• Ngôn ngữ trung gian của Microsoft (Microsoft Intermediate Language – MSIL) Intermediate Language – MSIL)
Intermediate Language – MSIL)
− Trình biên dịch JIT chỉ chạy khi có yêu cầu. Khi một phương thức được gọi, JIT phân tích IL và sinh ra mã p g ợ gọ , p
máy tối ưu cho từng loại máy. JIT có thể nhận biết mã nguồn đã được biên dịch chưa, để có thể chạy ngay
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình
(Programming Language)
( g g g g )
• Ngôn ngữ trung gian của Microsoft
− TiTiếến trình thn trình thựực thi mã nguc thi mã nguồồnn
Source Code Class Loader
Class Libraries Compiler JIT Compiler
Native Code EXE/DLL Assembly(IL+ Metadata) Execution Metadata)
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình
(Programming Language)
( g g g g )
• Các đặc điểm của ngôn ngữ lập trình
ỗ ể
− Mỗi ngôn ngữ lập trình có thể được xem như là một
tập hợp của các chi tiết kỹ thuật chú trọng đến cú pháp, từ vựng và ý nghĩa của ngôn ngữ.
− Những chi tiết kĩ thuật này thường bao gồm:
• Dữ liệu và cấu trúc dữ liệu
• Câu lệnh và dòng điều khiển
• Các tên và các tham số
• Cá hế th khả à tái ử d
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC