Top Ad unit 728 × 90

Latest news

recent

Môi trường phát triển (Development Environment)

Nói tới môi trường phát triển trong lĩnh vực phần mềm có lẽ người ta sẽ nghĩ tới rất nhiều các yếu tố, các công cụ, ngôn ngữ, kỉ thuật, ... khác nhau tạo ra một môi trường mà dựa vào đó nhà phát triển có thể xây dựng nên các ứng dụng phục vụ nhiều mục đích chạy trên nhiều thiết bị khác nhau. Trong bài viết này tôi sẽ đơn giản phân môi trường phát triển ra làm 2 loại dựa vào mối liên hệ về kiến trúc giữa thiết bị dùng phát triển ứng dụng và thiết bị dùng để chạy ứng dụng. Loại thứ nhất được gọi là môi trường phát triển, biên dịch gián tiếp (Cross-Development Environment hay Cross-Compilation Environment), loại thứ hai đươc gọi là môi trường phát triển, biên dịch cục bộ (self-hosted development Environment hay Local-Compilation Environment).
  • Cross-Compilation Environment: là môi trường mà việc viết mã, xây dựng chương trình được tiến hành trên một thiết bị với kiến trúc này nhưng có thể biên dịch nó để chạy trên một thiết bị khác với kiến trúc phần cứng khác hẳn. Ví dụ bạn có thể tạo mã trên một máy tính PC thông thường với kiến trúc x86 nhưng biên dịch mã đó để nó có thể chạy trên ARM. Dù hoàn toàn khác nhau về trình tự xử lý mã, vùng nhớ, ...nhưng với sự giúp sức của những cross compiler như gcc được cung cấp thông qua các bộ công cụ phát triển như Monta Vista thì mã sau khi biên dịch vẫn chạy tốt trên thiết bị đích.
    Một môi trường phát triển theo phong cách gián tiếp thông thường gồm 2 hệ thống, một hệ thống dùng phát triển ứng dụng (host system) và một hệ thống mà ứng dụng được phát triển để chạy trên nó (target system).

    - Host System: có thể xem là một máy trạm (workstation), ví dụ một hệ thống PC chạy Red Hat® hay một hệ thống Sun® chạy Solaris™. Bộ công cụ phát triển được cài đặt trên trên hệ thống Host, được sử dụng để biên dịch (compiling), liên kết (linking), remote debugging, và các thao tác khác thường thấy trong quá trình xây dựng ứng dụng.
    - Target System: là một bản mạch, thiết bị tham khảo mà bạn dự định dùng để cài đặt sản phẩm của mình lên đó. Trong tình huống này, hầu hết các Target system là những hệ thống nhúng, chúng không có đủ tài nguyên, cũng như sức mạnh để chạy các công cụ hữu ích dùng cho phát triển ứng dụng thường cồng kềnh và cần nhiều năng lực xử lý.
    Hình minh họa cho một Cross-Compilation Environment
      - Ưu điểm của một Cross-Compilation Environment là hệ thống dùng phát triển ứng dụng thường nhanh, mạnh, rất thuận lợi cho phát triển ứng dụng. Mặt khác vì mọi thứ đều được thao tác thông qua hệ thống Host, nhờ sự độc lập giữa Target và Host nên rất dễ dàng trong việc phục hồi khi có sự cố với thiết bị Target. Những người sử dụng với kinh nghiệm của những nhà phát triển hệ điều hành thời gian thực (Real-Time Operating System - RTOS) có lẽ đều quen thuộc với việc sử dụng cross-compilation environment.
    • Local-Compilation Environment: là môi trường mà hệ điều hành, kiến trúc phần cứng dùng tạo mã, phát triển ứng dụng cũng là nơi để chạy ứng dụng đó.  Một môi trường local-compilation chứa tất cả các công cụ, ứng dụng cần thiết phục vụ cho việc rebuild, chạy ứng dụng một cách trực tiếp trên hệ thống đích.Ví dụ với hệ thống PC X86 bộ công cụ phát triển được cài đặt trực tiếp trên hệ thống đích, cho phép quá trình phát triển, biên dịch được tiến hành ngay trên bản thân hệ thống đích (target), không cần một kết nối mạng, cũng như một thiết bị Host như mô hình trên.

      - Ưu điểm của Local-Compilation là hầu như tất cả các nhà phát triển từ thương mại tới mã nguồn mở đều rất quen thuộc với việc phát triển các ứng dụng cho thiết bị mà họ vẫn sử dụng mỗi ngày. Mặt khác hệ thống Local-Compilation có thể cung cấp môi trường từ phát triển tới triển khai (development-to-deployment) một cách hết sức nhanh chóng. Dù có nhiều lợi thế tuy nhiên trong ngành công nghiệp phát triển hệ thống nhúng hầu hết các hệ thống đều nhỏ và tính năng hạn chế cho nên bản thân các thiết bị ít có khả năng hỗ trợ mô hình này, nếu có thì lại tiềm tàng sự trả giá cho chi phí và tính linh hoạt của sản phẩm.

    Binh Nguyen - Bioz
    Môi trường phát triển (Development Environment) Reviewed by Bioz Nguyen on 10:11:00 PM Rating: 5
    All Rights Reserved by IEEV © 2009 - 2016
    Powered By Blogger, Designed by Sweetheme

    Contact Form

    Name

    Email *

    Message *

    Powered by Blogger.