Skip to main content

Mã được quản lý là gì?

Mã được quản lý là một thuật ngữ được tạo bởi Microsoft Sự đồng hành.Thuật ngữ này đề cập đến mã chương trình yêu cầu sử dụng máy ảo thời gian chạy ngôn ngữ chung (CLR) để được sử dụng.Thuật ngữ mã không được quản lý được sử dụng để tham khảo mã chương trình không yêu cầu máy ảo này. Thời gian chạy ngôn ngữ chung được phát triển trong nỗ lực cho phép các chương trình chạy trên nhiều máy tính và hệ điều hành mà không yêu cầu bất kỳ thay đổi nào trong mã chương trình.Để thực hiện việc này, mã chương trình máy tính được chuyển đổi thành mã byte của máy ảo.Mã byte này sau đó được giải thích bằng máy ảo CLR và được chuyển đổi thành mã byte cho máy tính cụ thể mà nó đang chạy. Một mã được quản lý có thể chạy trên bất kỳ máy tính nào được trang bị máy ảo CLR.Mức độ di động cao này mang lại cho nó một lợi thế dứt khoát so với mã không được quản lý.Mã không được quản lý yêu cầu các lập trình viên thay đổi mã chương trình để sử dụng trên các máy khác nhau.Quá trình này không chỉ có thể chậm, nó còn có thể dẫn đến nhiều lỗi ứng dụng.

Một lợi thế khác mà mã được quản lý có là bảo mật nâng cao của nó.Bảo mật của một chương trình được thực hiện với một mã không được quản lý phụ thuộc rất nhiều vào việc thực hiện mà các lập trình viên đã thực hiện.Việc sử dụng máy ảo CLR giúp đưa một phần lớn các vấn đề bảo mật ra khỏi vai của các lập trình viên.Phần lớn các vấn đề bảo mật có thể phát sinh được tập trung trực tiếp trong chính máy ảo.Điều này tự nó giúp tập trung các vấn đề, giúp việc thực hiện các bản vá bảo mật nhanh hơn nhiều. Vấn đề liệu một bộ mã cụ thể có được quản lý mã hay mã không được quản lý là cực kỳ quan trọng đối với các lập trình viên máy tính hay không.Mã được quản lý có mức độ di động cao hơn, nhưng tính di động này yêu cầu thời gian chạy ngôn ngữ chung được cài đặt trên máy tính đích.Mặt khác, mã không được quản lý có thể được chạy mà không cần thêm CLR. Có nhiều lợi thế cho việc sử dụng mã được quản lý, nhưng cũng có một số nhược điểm.Nhược điểm chính là chi phí mà việc sử dụng máy ảo CLR yêu cầu.Sự khác biệt giữa tốc độ mà mã được quản lý chạy so với tốc độ của mã không được quản lý thường không đáng kể, nhưng trong một số trường hợp, nó tạo ra sự khác biệt rất đáng chú ý về thời gian phản hồi ứng dụng.Do đó, mã không được quản lý đóng một vai trò quan trọng trong phần lớn các ứng dụng đòi hỏi mức độ cao hơn tốc độ đối với tính di động.