Platform Adaptation Layer (PAL)

Một phần của tài liệu nghiên cứu nền tảng net compact framework ứng dụng xây dựng chương trình quản lý thu nhập gia đình (Trang 32 - 35)

.III Công nghệ Net Compact Framework

Platform Adaptation Layer (PAL)

đựng sự đa dạng của các hệ thống phụ, cái mà thể hiện các chức năng của lớp dưới hệ điều hành và phần cứng trong một tập nhất quán của APIs tới NSL và EE. Ví dụ: PAL bao gồm giao diện của thiết bị bộ điều khiển, một hệ thống quản lý bộ nhớ, Ngắt và giờ, đa truyền thông, và cổng I/O,... Tất cả các hệ điều hành phụ có đầy đủ phương tiện trên thiết bị đích.

Trách nhiệm chính của PAL là gọi EE để thực hiện chức năng hệ điều hành chủ. Nói cách khác, PAL phục vụ như chính trung gian hòa giải giữa các hệ điều hành và CLR này.

Common Language Runtime (CLR)

CLR là nền tảng của .NET Framework. Chúng ta có thể hiểu runtime như là một tác nhân quản lý mã nguồn khi nó được thực thi, cung cấp các dịch vụ cốt lõi như: quản lý bộ nhớ, quản lý tiểu trình, và quản lý từ xa. Ngoài ra nó còn thúc đẩy việc sử dụng kiểu an toàn và các hình thức khác của việc chính xác mã nguồn, đảm bảo cho việc thực hiện được bảo mật và mạnh mẽ. Thật vậy, khái niệm quản lý mã nguồn là nguyên lý nền tảng của runtime. Mã nguồn mà đích tới runtime thì được biết như là managed code. Trong khi đó mã nguồn mà không có đích tới runtime thì được biết như unmanaged code.

.Net Compact Framework sử dụng CLR, được xây dựng lại cho phép hạn chế tài nguyên để chạy trên bộ nhớ giới hạn, và sử dụng năng lượng pin hiệu quả.

III.2.4.1. Execution Engine(EE)

EE là thành phần cốt lõi của CLR - nó cung cấp các dịch vụ cơ bản cần thiết để thực thi quản lý mã. Trong đó EE bao gồm một số lượng lớn các thành phần riêng lẻ, một số bộ phận quan trọng nhất là: (1) trình biên dịch Just-in-time (JIT), (2) garbage collector, và ( 3) lớp và bộ tải mô-đun, và một số lớp khác.

EE thực thi nhiều chức năng trong môi trường khan hiếm nguồn tài nguyên (trên thiết bị với bộ nhớ kém hơn và CPU chậm hơn, khoảng 400K to 500K ), nên EE được thiết kế với nhiều sự ràng buộc trong bộ nhớ, thực thi khác nhau. Tuy vậy, các công nghệ cốt lõi cũng giống như .Net Framework, vẫn tuân theo các đặc tả ECMA-335. EE được viết trong C và thực hiện 2 DLL Mscoree.dll (the stub) and Mscoree1_0.dll (the bulk of the EE).

Một số thành phần của EE

- Class Loader: Như với các Framework, mã thực thi bởi các Compact Framework trước tiên phải được biên dịch vào chỉ lệnh MSIL và được đặt trong một assembly (một file PE) trên thiết bị. Công việc của Class Loader là để định vị và nạp vào assemblies cần thiết để thực thi một ứng dụng. Trước đây Class Loader có thể làm việc với chính nó, ứng dụng hầu hết được kích hoạt tại cấp hệ điều hành. Sau này khi một tên miền ứng dụng được tạo ra, EE mất quyền thực thi của ứng dụng với tên miền đang chạy trong quá trình xử lý của hệ điều hành.

- Type Checker: Sau khi Class Loader được nạp vào assemblies, Type Checker được gọi để xác định mã MSIL chắc chắn được thực thi.

- JIT compiler: Một khi Type Checker được xác minh thành công, mã MSIL có thể được JIT biên dịch đến native chỉ dẫn trên CPU. Và cùng với Framework, biên dịch xảy ra trên một method-by-method cơ sở như mỗi phương thức từng được gọi.

- Thread support: Như một ứng dụng đang chạy .Net Compact Framework, nó có thể được truy cập vào các luồng của lớp dưới hệ điều hành thông qua các lớp Thread trong namespace System.Threading.

- Gabager Collector (GC): Có trách nhiệm quản lý bộ nhớ bằng cách thu thập và deallocating đối tượng không còn được sử dụng.

III.2.4.2. Class Libraries

Tương tự .Net Framework, để tạo một môi trường lập trình mạnh mẽ cho các thiết bị .Net Compact Framework có một tập các thư viện class trong tổ chức assemblies vào các namespaces. Tuy nhiên, có sự khác nhau giữa các thư viện lớp của .Net Compact Framework với .Net Framework

Một phần của tài liệu nghiên cứu nền tảng net compact framework ứng dụng xây dựng chương trình quản lý thu nhập gia đình (Trang 32 - 35)