Chủ Nhật, 14 tháng 8, 2005

Tìm hiểu về lập trình Linux

1. Linux API vs Windows API
Tương tự Windows, Linux cũng được tạo thành từ các hàm API Core được viết bằng C chuẩn. Các thư viện này được thiết kế dưới dạng thư viện liên kết động như trong Windows. Tuy có khá nhiều khác biệt nhưng cấu trúc khá giống nhau. Đây là một trong những nguyên nhân khiến Borland chỉ mất rất ít thời gian để xây dựng Kylix
2. Lập trình cross-platfom
Đề lập 1 chương trình cross-platform, điều cần chú ý nhất là khác biệt giữa các hàm API giữa các môi trường.
{$IFDEF LINUX} //Linux API
strFilename := tempnam(nil, 'tmp');
{$ELSE} //Windows API
GetTempPath(MAX_PATH, strPath);
GetTempFileName(strPath, 'tmp', 0, strFilename);
{$ENDIF}
3. Process, IPC, POSIX
- Có lẽ đây là một trong những thế mạnh của Linux, so với Windows. Trong môi trường Linux, việc lập trình tương tác với process cũng tương tự như việc xuất/nhập ra màn hình. Các việc này được thực hiện chủ yếu thông qua các thao tác gọi hàm API
- Nếu Windows sử dụng cơ chế message để các chương trình có thể tương tác với nhau thì trong Linux sử dụng cơ chế signal, cơ chế này ngondn thấy có vẻ uyển chuyển hơn so với trong Windows - Một khái niệm khác cũng khá thông dụng là POSIX Threads : lập trình giữa các tuyến, có lẽ phần này các bạn cũng được tìm hiểu qua môn HĐH rồi.
4. Hạn chế của Linux về khía cạnh người lập trình
Có lẽ trong Windows ngoài API, các bạn đã biết đến công nghệ COM/ActiveX cho phép các ứng dụng khác nhau có thể tương tác với nhau một cách dễ dàng. Trong Linux không có công nghệ nào tương ứng với cái này, do đó nếu bạn thử Copy & Paste trong Linux, bạn sẽ thấy không thể nào được như trong Windows. Lý do chính là do Linux phát triển bởi cộng đồng nên có một số mô hình không được thống nhất. Do đó tại thời điểm hiện tại đã có một số tổ chức ra đời phục vụ cho việc chuẩn hóa Linux.

0 nhận xét:

Đăng nhận xét

Facebook Twitter Hot! Delicious Digg Favorites More