TỔNG HỢP Tìm hiểu về QNX: nền tảng của hệ điều hành BlackBerry 10

Thảo luận trong 'Tin Tức BlackBerry' bắt đầu bởi LuanCsBlackBerry, 27/7/13.

  1. [​IMG]
    Ngày 31-1-2013, Blackberry 10 đã chính thức được giới thiệu trước công chúng, đánh dấu sự thay đổi lớn về hệ điều hành BlackBerry. Blackberry 10 sử dụng nền tảng hệ điều hành thời gian thực QNX. Ít người trong chúng ta biết rằng đây là lần thứ hai mà BlackBerry tiến hành một cuộc cách mạng chuyển đổi hệ điều hành trên các máy BlackBerry. Khi thiết bị BlackBerry đầu tiên ra mắt vào năm 1999, nó chạy trên nền tảng viết bằng ngôn ngữ C++, sống bằng nguồn pin AA và có thể hoạt động 3 tuần với điều kiện sử dụng thông thường. Chiếc BB này sử dụng một modem để truyền dữ liệu với tốc độ 8Kbps và không cài được phần mềm của hãng thứ ba.

    Vào năm 2001, RIM cho ra mắt chiếc BlackBerry có khả năng thoại đầu tiên tên là 5810, hệ điều hành viết dựa trên Java 2 Micro Edition(J2ME). Điều này giúp RIM cải thiện tính bảo mật bằng cách tách rời phần code xử lí sóng điện thoại khỏi code viết các ứng dụng. Vào thời điểm đó, số lượng lập trình viên sử dụng Java rất đông đảo, điều đó giúp hệ sinh thái BlackBerry phát triển khá mạnh mẽ.

    Nhà sáng lập của Blackberry, Mike Lazaridis, là một người thông minh, sự thành công của dòng sản phẩm BlackBerry có phần đóng góp không nhỏ của Mike. Tuy nhiên ông khá cứng đầu. Mike từng tự tin trả lời khi có người hỏi về việc viết lại nền tảng mới cho Blackberry: “Không, chúng tôi không bao giờ viết lại hệ điều hành đâu, nó đã rất tốt rồi, thay đổi là điều quá mạo hiểm”. Có lẽ Mike muốn nói rằng, Blackberry OS đang đứng đầu ngành về chứng nhận an ninh. Viết lại hệ điều hành đồng nghĩa với việc bắt đầu lại từ đầu và làm tổn hại đến địa vị của mình.

    NEVER SAY NEVER:

    Tuy vậy đó không phải là lần đầu Mike – nhà sáng lập của Blackberry nói trái với những hành động của mình. Cũng giống như chuyện từ đầu những năm 2000, Mike nói sẽ không bao giờ tích hợp những thứ “thừa thãi” như camera vào điện thoại BlackBerry cả. Nhưng bây giờ mọi chuyện thế nào, chắc ai cũng biết.

    Vào tháng 4 năm 2010, RIM công bố mua lại hệ thống QNX. QNX được thử nghiệm áp dụng trên hệ thống điều khiển trung tâm của trên 200 mẫu xe cao cấp như Audi,Porsche và Jaguar…Larazidis ngại thay đổi nhưng không phải là ông hông có tầm nhìn. Thực tế rằng Mike Lazaridis đã nhìn thấy tương lai của điện toán di động và dự đoán về đà phát triển chóng mặt của nó, và ông định đổ tiền vào sản xuất laptop hoặc tablet trước cả sự ra mắt của iPad. Nhưng có lẽ sự có mặt của iPad đã giúp ý tưởng trong Lazaridis định hình rõ hơn, và ông đã quyết định mua QNX và dùng nó như một quân bài chiến lược trong nước đi này.

    PlayBook tuy là một thảm họa về mặt doanh thu, nhưng nó lại có ý nghĩa quan trọng trong một bức tranh lớn và BlackBerry đang vẽ nên cho tương lai của họ, gắn liền với QNX. Nó đã chứng tỏ cho chúng ta thấy Neutrino OS dựa trên QNX có thể thành công trên nền tảng mobile thế nào qua cách nó hoạt động ngọt ngào với các ứng dụng đa phương tiện và giao diện cảm ứng có độ nhạy cao. QNX đã hoàn thành nhiệm vụ của nó một cách xuất sắc, vấn đề bây giờ thuộc về các nhà phát triển phần mềm và các nhà thiết kế giao diện.

    ĐIỀU GÌ LÀM CHO QNX PHÙ HỢP VỚI ĐIỆN TOÁN DI ĐỘNG?

    [​IMG]
    QNX là một hệ điều hành tí hon. Nó dựa trên kiến trúc Micro Kernel(vi nhân). Điều này khác biệt với UniX,Mac OS và Windows vốn dĩ được xây dựng trên những nhân lớn và nguyên khối. Ngay cả hệ điều hành BlackBerry OS cũ dựa trên Java cũng giống vậy. Chúng ta cùng tìm hiểu về Những điểm nhấn của QNX và Neutrino OS:
    • QNX cấp riêng vùng nhớ ảo cho mỗi tiến trình (process):
    Nếu sử dụng Windows, ắt hẳn bạn cũng ít nhất một lần gặp lỗi “Màn hình xanh chết chóc” –Blue Screen of Dealth. Lỗi này xảy ra khi toàn bộ hệ thống gặp sự cố - crashed và không thể khôi phục ngay, yêu cầu khởi động lại toàn bộ hệ thống để sửa lỗi. Lỗi này đặc biệt nghiêm trọng với các nền tảng OS sử dụng một nhân nguyên khối (mỗi thành phần của hệ điều hành đều được đính chết vào nhân – tạm gọi là MOS – Monolythic OS).

    Lí do là mọi ứng dụng đều sử dụng chung một vùng nhớ ảo do hệ điều hành cung cấp. Mọi hoạt động đều diễn ra trên chỉ một vùng nhớ ảo cho dù chúng ta có bao nhiêu tiến trình (process) đi chăng nữa. Mỗi khi một tiến trình xảy ra lỗi, đặc biệt là lỗi vùng nhớ, nó sẽ gây ra thông báo lỗi cho toàn bộ hệ thống. Và cả hệ thống đều xảy ra lỗi vùng nhớ (memory failure). Reboot, restart là cách giải quyết duy nhất, để hệ điều hành xóa vùng nhớ cũ và tạo lại vùng nhớ ảo mới.

    Còn QNX cấp phát cho mỗi tiến trình 1 vùng nhớ ảo riêng, và chỉ cho phép process hoạt động trong phạm vi vùng nhớ đó, nếu cần thêm tài nguyên thì tiến trình cứ yêu cầu, QNX sẽ cấp thêm, nhưng vẫn theo nguyên lí “của ai nấy xài”. Điều này hạn chế tối đa việc toàn bộ hệ thống bị lỗi giữa chừng do dùng chung vùng nhớ. Với cơ chế hoạt động này, nếu tiến trình nào phát sinh lỗi, hoặc ghi vào vùng nhớ không dành cho nó, hệ điều hành sẽ phát hiện và ngay lập tức tắt tiến trình đó. Cách thức hoạt động “tắt tức thì” này làm gợi nhớ đến cách mà Symbian già cỗi quản lí vùng nhớ của mình, nhưng dĩ nhiên, QNX hoạt động thông minh và hoàn hảo hơn nhiều.

    Ngoài việc hạn chế lỗi hệ thống, cơ chế cấp phát vùng nhớ riêng cho mỗi tiến trình của QNX còn giúp BlackBerry tối ưu hóa độ bảo mật và sự ổn định của hệ thống. Mỗi tiến trình chỉ sử dụng được vùng nhớ mà nó được cấp cho, không thể xâm phạm vào vùng nhớ của tiến trình khác hoặc vùng nhớ chưa được cấp phép. Chuyện dùng đoạn code để “chôm” thông tin từ tiến trình khác đang chạy như trên Windows là không hề dễ dàng tí nào.
    • Mọi thứ trong QNX trừ kenel (nhân) đều là process.
    Với kiến trúc Micro Kernel của mình, QNX chỉ gồm 1 nhân kernel nhỏ duy nhất, tất cả phần còn lại đều là process đính kèm vào (giống như plug-in vậy). Từ TCP/IP, driver, keyboard, nhận dạng cử chỉ (gusture) cho đến trình dựng hình (rendering)… tất cả đều là process. Nếu có lỗi xảy ra, hệ thống sẽ tự khởi động tiến trình đó lại và bạn chẳng hề hay biết về lỗi đó từng xảy ra. Cứ thư thái mà tiếp tục sử dụng.
    • Tương thích hoàn toàn qui chuẩn API POSIX:
    POSIX là tên viết tắt của Portable Operating System Interface cho UniX. Đó là một tập hợp các tiêu chuẩn mà các lập trình tuân thủ khi viết chương trình. Nói cách khác, đó là một loạt các chi tiết kỹ thuật API. Các lập trình viên thường dựa theo những qui chuẩn này để viết code. Vậy nên việc tương thích chuẩn POSIX giúp cho các nhà lập trình UNIX, Windows, Linux… dễ dàng tiếp cận với QNX.
    • Thiết kế phù hợp cho bộ xử lí đa nhân và phân phối địa lí.
    Xử lí đa nhân mà QNX hỗ trợ không dừng ở những con số đếm trên đầu ngón tay nữa, mà lên đến 32 hoặc 64 nhân. QNX còn hỗ trợ phân phối địa lí, giúp chúng ta sử dụng một hệ điều hành cùng lúc cho nhiều thiết bị phần cứng. Bạn hãy tưởng tượng về việc sử dụng một cụm máy với cấu hình gồm 8 bộ máy nhỏ khác nhau, đặt cách xa nhau cũng được, sử dụng cùng một hệ điều hành duy nhất. Quá tuyệt vời đúng không?

    [​IMG]
    Tuy vậy, kiến trúc Micro Kernel của QNX không phải là không có nhược điểm. Nhược điểm dễ thấy nhất của nó chính là những process nếu không hoàn thiện sẽ làm giảm hiệu năng và sức hấp dẫn của hệ thống đáng kể. Đó là lí do mà RIM lấy Playbook ra làm vật tế thần. Để đạt sự ổn định và hiệu năng cao nhất, RIM đã đặt rất nhiều thử nghiệm vào Playbook.

    Ví dụ như là On-screen keyboard trên Playbook viết bằng Adobe Air và cho hiệu năng cũng như phản hồi khá kém, nhiều lúc không thể phản hồi được. QNX không có lỗi trong chuyện này, tất cả là do keyboard process được viết quá kém. Và khi BlackBerry 10 ra mắt, bàn phím ảo của nó đã được viết lại hoàn toàn bằng native code để đem lại hiệu năng tuyệt vời và phản hồi hoàn hảo. Nên nhớ BlackBerry thành công nhờ bàn phím, bàn phím là dấu ấn của sản phẩm BlackBerry.

    Một ví dụ khác là trình duyệt web trên Playbook là một bước tiến lớn trên BBOS, nhưng nó vẫn còn nhiều lỗi và hiệu năng chưa cao như mong muốn. Và đó cũng không phải là lỗi của QNX. Nhóm phát triển BB10 đã cùng viết lại hoàn toàn trình duyệt web để có thể đạt hiệu năng ấn tượng như vừa rồi.
    [​IMG]
    Nói tóm lại, QNX đã chứng tỏ nó là một nền tảng đáng giá trên PlayBook, nhưng những phần khác của Tablet OS quả thật quá tệ. Với sự ra mắt của BlackBerry 10, RIM đã viết lại hoàn toàn những ứng dụng cơ bản của máy bằng native code. Và kết quả như thế nào thì chúng ta hãy cùng nhìn vào những chiếc điện thoại chạy OS 10 mới ra mắt , đó là câu trả lời khách quan và chính xác nhất

    Nguồn Tinhte
     
    LuanCsBlackBerry

    LuanCsBlackBerry
    Expand Collapse

    Well-Known Member

    Tham gia ngày:
    7/6/13
    Bài viết:
    352
    Đã được thích:
    406

Chia sẻ trang này

PING