• Thứ Năm, 08/01/2004 09:53 (GMT+7)

    VNOS: Hệ điều hành trực quan

    802.11b và Bluetooth hiện đã tìm được chỗ đứng song để được chấp nhận rộng rãi thì chúng còn phải vượt qua một số trở ngại ở phía trước.
    Mọi chuyện bắt đầu vào năm 1988, khi Mark Lacas, sáng lập viên và là giám đốc công nghệ công ty Lone Wolf Technologies, cùng với người bạn đồng sở thích và cũng là đồng nghiệp David Warman bắt tay xây dựng abum nhạc đầu tiên của họ. Sáng tác nhạc là một hoạt động sáng tạo đòi hỏi phải đắm mình vào dòng sáng tác và không được để vấn đề công nghệ chi phối. Khi cảm hứng đến với Mark, Dave phải bắt tay vào việc chuẩn bị phòng thu để ghi lại ý tưởng mới. Buồn thay, công việc chuẩn bị phòng thu đôi khi phải mất cả giờ đồng hồ vì phải điều chỉnh vô số thiết bị.

    Vào lúc mọi thứ sẵn sàng thì cảm hứng sáng tạo của Mark đã mòn mỏi. Sau nhiều lần như vậy, hai người đã ngồi lại với nhau để cùng thảo luận về việc tinh chỉnh thiết bị, phối hợp hài hoà các kết nối và thông số cũng như sự cần thiết của một hệ thống toàn năng giúp dễ dàng thiết lập, sử dụng và lưu lại cấu hình.
    Là những nhà chuyên môn về máy tính, am hiểu cả về phần cứng, phần mềm, và giao thức mạng, họ quyết định đưa ra giải pháp cho phòng thu của mình để có thể tập trung cho sáng tác nhạc. Vài tháng sau, hai người thiết kế một hệ thống cáp quang để kết nối tất cả các thiết bị và tạo ra một giao thức mạng cục bộ (LAN protocol) đơn giản, hiệu quả, đồng bộ về mặt thời gian. Hệ thống này được đặt tên là “MediaLink” và họ thành lập công ty Lone Wolf Technologies (http://www.lonewolfusa.com).
    Hệ thống MediaLink giải quyết phần lớn các vấn đề mà họ từng gặp phải, giúp cho việc soạn nhạc, phối âm trở nên nhẹ nhàng hơn. Bên trên các thiết bị phần cứng, họ xây dựng một phần mềm giao tiếp có tên là Virtual Studio, phần mềm này cung cấp môi trường làm việc trực quan cho phòng thu, các thiết bị chuyên dụng. Nếu muốn kết nối hai cần điều khiển với nhau, chỉ cần dùng chuột (mouse) vẽ một đường chỉ liên kết giữa các biểu tượng trên màn hình máy tính. Nếu muốn chỉnh thông số thiết bị âm thanh nào chỉ cấn nhấn kép lên biểu tượng của thiết bị đó để mở bảng chứa các thông số. Khi phòng thu đã được thiết lập xong theo yêu cầu, với một cú nhấn chuột, hình ảnh trạng thái của toàn hệ thống được lưu lại, hình ảnh này được đặt tên là “LanScape”. Giờ đây, mọi khó khăn của họ đã ở sau lưng.

    Sự ra đời của VNOS

    Ứng dụng điều khiển HTTP

    Dựa trên nền tảng của MediaLink, họ bước vào thị trường âm nhạc chuyên nghiệp, tăng cường cho hệ thống bằng VNOS (Visual Network Operating System), một môi trường mạng trực quan, hoạt động theo sự kiện, dòng dữ liệu, cho phép giám sát, điều khiển các thiết bị phần cứng trên bất kỳ mạng nào và có thể nhanh chóng thích ứng những hệ thống này theo sự biến động của thông tin luân chuyển qua chúng. VNOS (www.vnos.net) còn cho phép nhà sản suất OEM tự mình xây dựng các ứng dụng đi kèm (plug-in) cho thiết bị phần cứng của họ. Các ứng dụng này dễ dàng nhúng vào môi trường của VNOS và tương tác/liên tác dễ dàng với các sản phẩm tương thích VNOS khác. Ngoài ra VNOS cho phép các kỹ sư âm thanh và nhà thiết kế xây dựng các môi trường làm việc đồ họa với nhiều khung nhìn (multiview) để tạo mô hình, điều khiển và quản lý thiết bị được nối mạng với nhau trong “ngôi nhà” họ tạo ra.
    Điểm đột phá của VNOS chính là khả năng ánh xạ mọi ứng dụng (widget) điều khiển - bộ tạo hiệu ứng âm thanh, bộ chỉ thị âm lượng, đèn, nút câm và những thứ tương tự – của bất kỳ nhà sản xuất nào và tập hợp chúng trong một khung nhìn VNOS mới để xây dựng giao diện chuyên dụng, trực quan. Mỗi khung nhìn chỉ tập hợp thông tin và điều khiển tổng hợp cần thiết cho một công việc chuyên biệt nào đó.
    Các nhà sản xuất trên thị trường nhà hát gia đình, nhà ở tự động đã dùng VNOS để tích hợp các sản phẩm riêng biệt của họ thành những hệ thống nhịp nhàng. Nó cũng được ứng dụng vào các hệ thống thương mại điện tử, tưới tiêu, cấp nhiệt, điều hoà nhiệt độ, chiếu sáng và mua bán cổ phiếu. Năm 1994, VNOS được thực hiện cho mạng IP và internet vì tính năng của nó có thể dùng để điều khiển và quản lý dòng thông tin cũng như thiết bị cho bất kỳ mạng IP nào. VNOS được viết bằng ANSI C để bảo đảm tính khả chuyển, nhân chiếm bộ nhớ rất nhỏ (dước 400KB). Nó là một hệ thống hướng đối tượng, sự kiện với các đặc tính dòng dữ liệu.
    Thay vì theo mô hình OSI bảy lớp, VNOS được thiết kế gồm ba lớp: giao diện, dữ liệu và truyền thông. Tóm lại, VNOS là một môi trường trực quan dựa trên thành phần, cho phép người dùng xây dựng những thành phần cấp cao hơn dựa trên những thành phần cơ bản.

    VNOS và Internet

    Mã nguồn dạng đồ họa

    Để VNOS có thể hoạt động với môi trường mạng IP, nó đã được bổ sung một số chức năng mạng cơ bản như là cổng TCP, cổng RS-232, giá trị cổng, bộ phân tích địa chỉ URL, bộ dò tìm văn bản, web server, gửi nhận thư tín điện tử...


    Bộ điều khiển HTTP hoàn chỉnh với các liên kết đến vùng kiểm soát

    Việc xây dựng bổ sung các chức năng căn bản này cũng đơn thuần là tái sử dụng các chức năng có từ trước, nếu một chương trình con nào còn thiếu một số tính chất nào đó thì chỉ cần thêm vào một số đoạn chương trình dạng kịch bản (script). Việc làm này tương tự như chúng ta lắp ráp trò chơi Lego. Ngoài ra để gỡ lỗi, theo dõi chương trình trong quá trình hoạt động được dễ dàng hơn, VNOS còn có chức năng cho phép in ra thứ tự các lệnh trong kịch bản được thực thi.
    Thành phần chương trình điều khiển cổng TCP là một giao diện trực quan cho phép xây dựng kết nối, gửi, thu nhận thông tin, đánh địa chỉ web... Trạng thái hoạt động của chương trình được biểu thị thông qua một số hệ thống đèn LED.
    Một khía cạnh hấp dẫn của VNOS là chúng ta có thể xây dựng ứng dụng ngay trong khi hệ thống đang hoạt động, không phải thực hiện chu trình: viết chương trình, dịch, chạy thử, gỡ lỗi. Khi ứng dụng chạy không như ý muốn, có thể kích hoạt chương trình giám sát sự kiện do VNOS cung cấp để xem dòng thông tin và giá trị vận hành trên hệ thống một cách chính xác.

    Thiết lập hệ thống giám sát toàn cầu
    Để minh chứng cho tính tiện dụng của VNOS, ví dụ thực tế dưới đây trình bày tuần tự cách xây dựng một ứng dụng có khả năng giám sát cùng lúc hoạt động của hàng ngàn máy chủ web trên quy mô toàn cầu. Chỉ mất 45 phút, tác giả đã xây dựng xong ứng dụng có giao diện đồ họa để giám sát một máy chủ web mà chưa phải lập trình đến một dòng lệnh, tất cả các thành phần chức năng như giao tiếp mạng bằng giao thức TCP, giao diện với người sử dụng đều đã được VNOS cung cấp đưới dạng chương trình con (control), người xây dựng trong quá trình thiết kế chỉ cần tập trung vào trình bày giao diện sao cho đẹp. Hãy thử hình dung nếu như chúng ta lập trình cho ứng dụng này với ngôn ngữ C thì phải mất khá nhiều thời gian. Một ưu điểm nữa của VNOS là khi xây dựng xong chương trình trên thì chính nó lại là một chương trình con (control) có thể nhúng vào các ứng dụng khác lớn hơn để cùng một lúc giám sát được nhiều máy chủ web hơn.
    Trước tiên, tác giả xây dựng giao diện chính có ảnh nền là bản đồ thế giới (hình 1), trên địa điểm của mỗi thành phố có đặt một nút bấm, khi nhấn nút này sẽ mở ra một màn hình mới thể hiện chi tiết của nơi đặt máy chủ web. Mỗi thành phố có một biểu tượng đèn LED biểu thị trạng thái hoạt động của mỗi server tại thành phố đó, như vậy người sử dụng vừa có cái nhìn toàn cảnh cả thế giới, vừa có thể quan sát chi tiết từng thành phố nếu cần.

    Sau khi hoàn thành phần trình bày giao diện, bước tiếp theo là cần có ứng dụng cho phép theo dõi trạng thái hoạt động trên cổng HTTP của server (web server). Một giao diện mới có tên là “HTTP monitor” được xây dựng, trên giao diện này một chương trình con được tạo ra, đó là chương trình cho phép xây dựng kết nối với cổng TCP của server (chương trình này cũng được VNOS cung cấp, chúng ta chỉ cần nhập thêm các tham số như địa chỉ server, tên đăng nhập, mật khẩu, cùng các thông tin cần thiết khác), tiếp theo, một chương trình định thời (timer) được nhúng vào, chương trình này sẽ kích hoạt chương trình kết nối cổng TCP của server vừa đề cập để kiểm tra xem server còn hoạt động hay không. Ngoài hai thành phần cơ bản này chúng ta cũng có thể nhúng vào một số chương trình con nữa để có thêm thông tin trình bày trên đồ thị biểu diễn trạng thái hoạt động của server như là tốc độ đáp ứng, số lượng truy cập, tốc độ đường truyền...
    Sau khi hoàn thành phần lập trình, với phần mềm Photoshop bạn có thể xây dựng ảnh nền cho giao diện này (hình 4).
    HTTP monitor được nhân bản cho từng máy chủ và  các máy chủ được “đặt” lên bản đồ giao diện (hình 5). Khi cần xem thông tin của bất cứ một server nào chỉ cần nhấn kép vào biểu tượng của server đó.
    Sản phẩm hoàn chỉnh cho phép quan sát trạng thái của toàn bộ hệ thống, khi một server nào không hoạt động chương trình cho phép người dùng phân tích tìm ra nguyên nhân của sự cố.

    Phiên bản mới

    Phòng tổng hợp 'server' của mỗi thành phố với đèn trạng thái

    Phiên bản VNOS hoạt động được trên cả UNIX, MacOS X, và Windows. Các thông số cấu hình của VNOS được ghi dưới dạng XML, điều này giúp cho việc chuyển giao tập tin cấu hình hệ thống trên các môi trường hệ điều hành khác nhau được dễ dàng, tính độc lập hệ thống cao. Một người sử dụng từ máy ở xa có thể thiết lập một kết nối đến một chương trình VNOS của máy khác, thông tin chuyển giao giữa các chương trình này do xây dựng trên cấu trúc XML nên được sử dụng ngay. Nói một cách khác, VNOS là hệ thống các ứng dụng tiện ích, tập hợp các thành phần chức năng. VNOS thích hợp cho nhu cầu thu thập, tổng hợp dữ liệu như giám sát bộ dẫn đường, máy chủ, hệ thống ánh sáng...
    Trên thực tế đã có nhiều tổ chức phải dùng ít nhất 4 phần mềm ứng dụng khác nhau chỉ phục vụ cho một mục đích là thu thập, đánh giá dữ liệu, mặc dầu chúng rất mạnh xét về khía cạnh nào đó nhưng để các phần mềm riêng rẽ này giao tiếp với nhau, sử dụng chung dữ liệu của nhau không phải là một điều dễ dàng.

    Tương lai của VNOS
    Hiện nay người ta đang đề cập đến khái niệm “X-Internet”, môi trường các thiết bị, ứng dụng phân tán liên tục chia sẻ, trao đổi, dùng chung dữ liệu. Web chỉ phục vụ được nhu cầu đọc, duyệt các thông tin đã được xuất bản từ trước. Với VNOS, thông tin luôn luôn được cập nhật ngay cả khi nó đã hiện diện trên màn hình, ngoài ra còn có thể điều khiển từ bất cứ vị trí nào. Ví dụ, nếu bạn vẽ một đường nối giữa ứng dụng thu thập thông tin cổ phiếu từ xa với ứng dụng hiển thị cục bộ, bạn sẽ nhận được giá trị mong muốn theo định dạng đã chọn. Bạn cũng có thể vẽ tiếp đường nối từ ứng dụng hiển thị  cục bộ đến một ứng dụng khác, ví dụ làm nhiệm vụ so sánh giá cổ phiếu, thông tin về cổ phiếu luôn luôn được cập nhật đến bạn bằng email thông qua ứng dụng gửi email. Thậm chí, nếu muốn, bạn cũng có thể giao cho chương trình thực hiện nhiệm vụ mua bán cổ phiếu theo một số điều kiện nào đó. Thông tin của từng pixel trên trình duyệt không phải là điểm chết mà sống động, hữu dụng và có thể điểu khiển được.

    Lê Thu - Dr. Dobb’s Journal 12/2001

    ID: A0202_49