• Thứ Năm, 25/12/2003 10:52 (GMT+7)

    Thị trường HDH nhúng

    Các hệ thống nhúng đang bắt đầu cạnh tranh với máy tính cá nhân. Tuy nhiên sự phát triển nhanh chóng của nó lại làm cho lựa chọn của người dùng càng trở nên khó khăn

    Hệ điều hành cho các thiết bị cầm tay và điện thoại di động đang phát triển nhanh chóng, tuy nhiên việc các nhà sản xuất đổ xô vào lĩnh vực này lại gây khó khăn cho sự lựa chọn của người dùng.

    Phần mềm nhúng đã từng là phân khúc thị trường khá chuyên biệt của các HĐH thời gian thực  (RTOS – Real-time Operating System, xem bài “Real-time operating system”, trang ****) độc quyền được thiết kế để chạy trên các BXL nhỏ dùng trong các thiết bị y tế, bộ điều khiển tự động và hệ thống khởi động xe hơi.

    Chỉ mới cách đây vài năm, mọi thứ còn đơn giản khi mà Microsoft hầu như không nhòm ngó gì đến thị trường này. Thế nhưng sự bùng nổ thiết bị cầm tay trong môi trường cộng tác đã lôi kéo Microsoft, Sun, Palm và các hãng phần mềm Linux nhảy vào cuộc, làm xóa nhòa lằn ranh với HĐH máy tính xách tay.

    Việc Microsoft nhảy vào lĩnh vực HĐH nhúng cạnh tranh với Palm, cùng sự xuất hiện điện thoại di động đa tính năng và những cải tiến hiệu năng của các BXL nhúng đã nhanh chóng tạo nên một bối cảnh phức tạp. Hệ thống nhúng đang bắt đầu cạnh tranh với máy tính cá nhân. Tuy nhiên sự phát triển nhanh chóng của nó lại làm cho lựa chọn của người dùng càng trở nên khó khăn.

    Theo các nhà phân tích, sự quen thuộc với nền tảng Windows là lợi thế cạnh tranh cho Microsoft trong lĩnh vực nhúng; và họ đang nỗ lực vượt lên các đối thủ khác.

    Đối đầu với Microsoft trong cuộc chiến này là HĐH nhúng phổ biến của Palm. Ngoài ra, các hãng khác như Red Hat, Lineo và RidgeRun cũng tung ra phiên bản Linux thu nhỏ dùng cho điện thoại di động và các thiết bị khác. 

    Palm cung cấp cho 17,5 triệu người dùng một HĐH duy nhất. Theo phó giám đốc tiếp thị của Palm, “Điều quan trọng là HĐH hiệu quả và hỗ trợ nhiều dạng ứng dụng. Việc sử dụng HĐH như thế nào là vấn đề của phần cứng”.

    Chiến lược của Microsoft là tấn công thị trường HĐH nhúng với hai đòn liên tiếp. Trước  hết là HĐH Windows CE dùng cho hệ thống có dung lượng nhớ dưới 400K; HĐH này sắp có phiên bản mới  là Windows CE.Net – HĐH nhúng được gia cố với công nghệ .Net mới nhất của Microsoft và được xây dựng theo cách thức mô đun, cho phép bỏ đi những thành phần không cần thiết tùy theo ứng dụng và thiết bị. Kế tiếp là Windows XP nhúng vừa xuất hiện vào cuối năm 2001. Windows XP nhúng thực chất là phiên bản mô đun hóa phiên bản đầy đủ Windows XP có thiết kế chuyên biệt cho kiến trúc PC x86 và BIOS (BIOS chỉ hiện hữu trong thế giới x86). XP nhúng có tập hàm API mạnh. Ngược lại, Windows CE.Net được thiết kế cho ARM, StrongARM (họ vi xử lý dựa trên kiến trúc RISC) hoặc họ VXL khác.

    Cách đây vài năm, thống trị thị trường nhúng là RTOS (HĐH nhúng) của các công ty Wind River, Green Hills, Integrated Systems, và QNX. Wind River hiện vẫn thống trị thị phần RTOS truyền thống. HĐH vxWorks của Wind River được dùng cho tàu vũ trụ Odyssey thăm dò sao Hỏa của NASA. Wind River hy vọng sử dụng uy tín trong lĩnh vực không gian vào thị trường điện thoại di động. Hiện công ty có kế hoạch phối hợp với Mitsubishi dùng HĐH vxWorks cho các thiết bị Internet Paldio, kết hợp PDA và điện thoại. Thiết bị này sẽ xuất hiện ở Nhật trong 2 năm tới.

    Tuy nhiên, trong tương lai gần, những thiết bị hợp nhất như Internet Paldio là cá biệt. Hiện thời, đối với các hãng sản xuất HĐH nhúng thì PDA và điện thoại di động là hai thế giới khác biệt.

     

    Vai trò quan trọng của chip xử lý

    Những tiến bộ nhanh chóng của BXL cho thiết bị PDA hứa hẹn làm sôi động thị trường HĐH nhúng với các ứng dụng mạnh hơn và khả chuyển hơn.

    Việc cấp phép HĐH nhúng cho nhiều nền phần cứng nhằm tăng thị phần làm cho tính khả chuyển ngày càng cao. Nhiều họ vi xử lý được hỗ trợ gồm chip MIP của Hitachi và NEC; họ xử lý nhúng DragonBall của Motorola; và các chip theo chuẩn ARM của Intel và Texas Instruments.

    Cả Palm và Microsoft đều đang mong đợi họ chip X-Scale sắp xuất xưởng của Intel. Đây là thế hệ kế tiếp của họ xử lý StrongARM, có hiệu suất tốt hơn, cho phép nhiều tính năng hơn đối với HĐH nhúng và sẽ là đất dụng võ hiệu quả hơn cho các nhà phát triển ứng dụng.

    Một số hãng sản xuất PDA lớn như Compaq, Hewlett-Packard, Casio, NEC, và Toshiba đã có kế hoạch dùng X-Scale với thiết bị chạy Microsoft Pocket PC 2002. Palm chắc chắn cũng sẽ hỗ trợ X-Scale, tạo nên một cuộc chiến sôi động.

     

    Đa dạng hđh nhúng

    Thị trường thiết bị PDA có vẻ như chịu sự chi phối bởi Microsoft và Palm. Điện thoại di động thì hiện vẫn còn bỏ ngỏ đối với HĐH Linux, các hệ thống riêng biệt của hãng sản xuất điện thoại vàD9cả Microsoft. Tất cả đều nỗ lực nhằm làm cho các hãng phần mềm độc lập và nhà phát triển cộng tác có thể dễ dàng phát triển ứng dụng trên điện thoại.

    Microsoft tuy bắt đầu cuộc chơi muộn nhưng là một đối thủ đáng gờm. HĐH Stinger của Microsoft nhắm vào điện thoại di động.

    Các nhà sản xuất điện thoại cũng không vừa. Cách đây 3 năm, Nokia, Motorola, Ericsson, Matsushita (Panasonic), và Psion liên kết lập nên tổ hợp Symbian và cho ra đời Epoc, HĐH thời gian thực cho điện thoại di động.

    Ngoài ra còn phải kể đến các hãng phần mềm Linux. Năm 1998, Lineo của Salt Lake City được sáng lập, tách ra từ Caldera, tập trung vào thị trường nhúng. Vào đầu năm nay, Lineo đã mua lại Embedded Power chuyên về RTOS nhằm cải thiện tính năng hỗ trợ đa BXL của phần mềm RTXC. Kiến trúc công ty đưa ra cho thế hệ điện thoại di động kế tiếp là RTXC (gần đây đổi tên thành Quadros) điều khiển các chip DSP (Digital Signal Processor – bộ xử lý tín hiệu số) còn Linux chạy trên BXL trung tâm kiểm soát bộ giao thức với đầy đủ tính năng. Thiết kế hai BXL với DSP điều khiển các chức năng chính của điện thoại và chip ARM chạy ứng dụng, được coi là để làm cho Linux chạy được trên điện thoại di động.

     

    Tính đáp ứng thời gian thực 

    Hệ thống kép trên nhắm vào tâm điểm của một trong những khác biệt chính giữa các hệ thống nhúng: tính đáp ứng thời gian thực. Ví dụ vxWorks của Wind River là hệ thống nhúng thời gian thực trong khi cả Pocket PC, Palm OS và Linux đều không đảm bảo về điều này. Các HĐH thời gian thực đặc trưng với tốc độ đáp ứng nhanh (trong khoảng thời gian quy định) và độ tin cậy cao.

    Sản phẩm của các hãng chuyên về phần mềm, tính năng phong phú nhưng chậm trễ vài phần ngàn giây nói chung không có vấn đề gì. Đó cũng là lý do mà họ không thể chiếm ưu thế đối với hệ thống điện thoại vì tính thời gian thực là yêu cầu quan trọng. Kiến trúc đa xử lý do RidgeRun và Lineo đưa ra có thể là giải pháp gồm những gì tốt nhất của cả hai thế giới này.

    Khi Microsoft muốn xâm nhập thị trường điện thoại với Stinger OS, các hãng phần mềm Linux không chấp nhận nhường thị trường nhúng PDA cho Microsoft và Palm. Lineo đã thuyết phục Sharp sử dụng HĐH Linux nhúng Embedix của mình cho dòng sản phẩm PDA Zaurus dự kiến xuất hiện ở thị trường Bắc Mỹ và châu Âu vào đầu năm 2002.

    Red Hat cũng đang tìm kiếm chỗ đứng trong thế hệ điện thoại di động kế tiếp với eCos (embedded Configurable OS), một RTOS thực sự. Mặc dù có nhiều hứa hẹn về tính khả chuyển của ứng dụng làm cho thiết bị cầm tay trở nên thích hợp hơn với các ứng dụng công sở, nhưng chúng cũng vẫn chỉ là những thiết bị hỗ trợ phục vụ cho công việc. ÿ

     

    Nguyễn Thanh

    Infoworld  11/12/2001

     

    Phát triển linux cho hệ thống nhúng thương mại

    Linux là một HĐH rất đa năng: ngoài hạt nhân cơ bản để thực hiện các chức năng nhúng, nó còn có đủ các chức năng giao diện người dùng. Một hệ thống Linux nhúng tối thiểu phải có được những thành phần cốt yếu sau đây:

    • Tiện ích khởi động (boot utility)

    • Vi hạt nhân Linux, bao gồm cả các dịch vụ quản lý bộ nhớ, quản lý quá trình và thời biểu

    • Quá trình khởi tạo (initialization process)

    Để hệ thống hoạt động công hiệu hơn (và vẫn còn là tối thiểu), phải có thêm:

    • Các trình điều khiển (drivers) cho phần cứng

    • Một hoặc một số quá trình ứng dụng nhằm thực hiện các chức năng cần thiết

    Khi muốn hệ thống có thêm nhiều tính năng, bạn có thể cần thêm:

    • Một hệ thống file (có thể trong ROM hoặc RAM)

    • Một ngăn xếp mạng (network stack) TCP/IP

    • Một ổ đĩa làm nhiệm vụ lưu trữ dữ liệu bán trú và thực hiện tính năng tráo đổi.

    Những vấn đề cần quan tâm đối với Linux nhúng bao gồm:

    Công cụ phát triển. Linux được đặt trên nền một trình biên dịch C theo định chế sở hữu công cộng GNU (GNU GPL). Đây là công cụ phần mềm cần thiết để phát triển một hệ thống Linux nhúng.

    Hệ thống file. Trong hệ thống đơn giản, người ta sẽ để nhân của HĐH và các ứng dụng cùng thường trú luôn trong bộ nhớ sau khi hệ thống được khởi động. Đây là giải pháp truyền thống đối với các hệ thống nhúng và cũng được Linux hỗ trợ. Khả năng thứ hai là nhờ Linux đã sẵn có khả năng “nạp” (“load”) và triệt thoái các chương trình ứng dụng, nhờ vậy nhân của Linux có thể được chép từ flash sang RAM bởi mã khởi động, hoặc nhân được lưu trên một phần riêng biệt của flash và được thực thi trực tiếp từ đây. Cuối cùng, đối với những hệ thống nhúng được kết nối thành mạng, Linux hỗ trợ hệ thống file mạng, hay NFS (Network File System).

    Bộ nhớ không-ảo. Linux chuẩn có một đặc trưng là tính năng bộ nhớ ảo, cho phép các nhà lập trình ứng dụng viết mã một cách thoải mái, không cần để ý đến độ lớn của chương trình. Trên nhiều CPU, bộ nhớ ảo cũng cung cấp tính năng cô lập bộ nhớ của các quá trình, nhằm tránh cho chúng khỏi ghi đè lên vùng địa chỉ của nhau. Điều này thường không có sẵn trên những hệ thống nhúng chỉ hỗ trợ không gian địa chỉ “phẳng” (flat), đơn giản.

    Khởi động – BIOS và LILO (Linux Loader). Các hệ thống nhúng thường không có BIOS nên nhiệm vụ của bạn là phải cung cấp mã khởi động hệ thống. Mã khởi động hệ thống nhúng chỉ đơn thuần là một danh sách các chỉ thị nhằm đưa những con số cố định vào các thanh ghi phần cứng. Tuy nhiên, đây là những mã xung yếu, ở chỗ các giá trị ở đây cần phải chính xác đối với phần cứng của bạn và thường được đặt theo một trật tự riêng biệt. May thay, đa số hệ thống nhúng thường sử dụng thiết kế phần cứng khá chuẩn đối với bộ VXL và bộ nhớ.

    Ngoài ra, những yếu tố không kém quan trọng khác cần lưu ý là tính đáp ứng thời gian thực (Real-time); tính ổn định và Linux nhúng vẫn tỏ ra có triển vọng.

     

    Trần Quốc Khánh

    Tổng hợp từ Linux Journal

     

    ID: A0201_58