• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Cài đặt ANTS

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Cài đặt ANTS

    Tác giả:

    + Lê Anh Đức
    + Ngô Tự Nhiên


    Chương này nói về quá trình cài đặt chi tiết của bộ thư viện ANTS. Ta cũng đưa ra các dấu hiện nhận biết của quá trình cài đặt như thế nào là thành công. Trên các bước hướng dẫn, có các link để tiện cho việc download thư viện dễ dàng. Sau khi cài đặt xong là phần kiểm tra sự thành công của quá trình cài đặt.

    Sau khi cài xong, ta nêu ra một bổ sung nhỏ trong thư viện để phục vụ cho quá trình biên dịch. Ta cũng nêu ra cách bêin dịch một ứng dụng như thế nào, cách đóng gói và giới thiệu các file script trong môi trường shell để điều khiển ứng dụng.

    5.1. Cài đặt thư viện ANTS

    • Máy có cài đặt Linux Redhat 7.3
    • Download packet j2re-1_3_1_16-linux-ị86.rpm.bin tại http://java.sun.com/
    • Cài đặt Java Virtual Machine cho hệ điều hành bằng lệnh ./j2re-1_3_1_16-linux-ị86.rpm.bin
    • Download packet ants-2.0.3.tar.gz (version mới nhất hiện thời) tại website http://www.cs.utah.edu/flux/janos/ants.html
    • Giải nén bằng gunzip –d và tar –cvf
    • Sau khi giải nén xong, sẽ cho ra thư mục ants-2.0.3. Vào thư mục ấy, bắt đầu cài đặt ANTS bằng hai lệnh:

    %./configure
    %make all

    • Sau khi quá trình cài đặt hoàn tất, ta sẽ kiểm tra sự thành công bằng lệnh ./sanitycheck trong thư mục ants-2.0.3/scripts. Nếu cài đặt thành công, kết quả sẽ ra như sau:
    [root@localhost scripts]# ./sanitycheck
    ANTS v2.0 Sanity Check

    This is a simple sanity checking script that should be useful for
    debugging your Java/JNodeOS/ANTS setup. It will try running the
    basic jvm, then some more complicated commands. For each it will
    print a hint about what the expected output is. If you get an
    exception message, or shell error then something very basic is wrong.

    If none of the classes are found, perhaps you should set the
    JVM_DEFAULT in ./defaultEnv to point to your installed copy
    of the antsvm script.

    Good luck.
    Looking for ./defaultEnv to setup default environment...
    Found it, sourcing ./defaultEnv
    Checking that './antsvm -version' works...
    java version "1.3.1_16"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_16-b06)
    Java HotSpot(TM) Client VM (build 1.3.1_16-b06, mixed mode)
    ...ok

    Trying command: ./antsvm edu.utah.janos.nodeos.Main
    Should print something like: 'ERROR: Must supply a class to load into root flow'
    --- BEGIN OUTPUT
    Janos Java NodeOS v1.2.0
    ERROR: Must supply a class to load into root domain.
    Shutting down.
    --- END OUTPUT

    Trying command: ./antsvm edu.utah.janos.nodeos.Main ants.core.NodeConfigure
    Should print something like: 'usage: ants.core.NodeConfigure ...'
    --- BEGIN OUTPUT
    Janos Java NodeOS v1.2.0
    ANTS v2.0
    usage: ants.core.NodeConfigure <activeaddr> <physaddr> [options].
    -consoleport <int>: Start a telnet-able console on the given port.
    -routes <file>: Static routing table is in given file.
    -updateRoutes: Turn on dymanic routing updates.
    -application <appfile>: Read given file to configure & start an applicat
    ion.
    -simpleapp <string>: Start a simple application, string is tokenized
    for arguments.
    -extension <extfile>: Read given file to configure and install an exte
    nsion [NOT IMPL].
    -msgprefix <string>: Prefix all console messages with the given strin
    g.
    --- END OUTPUT

    ANTS v2.0 sanitycheck is complete.

    5.2. Bổ sung vào thư viện ANTS để phục vụ cho quá trình biên dịch

    Trong thư viện ANTS sẵn có chỉ cung cấp file antsvm trong thư mục /ants2.0.3/scripts dành cho việc chạy chương trình, chứ không thể biên dịch.
    Ta bổ sung một file tên là antsvmc vào thư mục /ants2.0.3/scripts với nội dung như sau:
    #!/bin/sh
    #
    # antsvm
    #
    # Copyright (c) 2001 University of Utah and the Flux Group.
    # All rights reserved.
    #
    # Permission to use, copy, modify, and distribute this file
    # for any purpose with or without restriction is hereby granted.
    #

    #
    # A simple wrapper around a JVM that adds the ANTS classes
    # to the classpath.
    #
    # Define 'JAVA' environment variable to override the JVM.
    #

    topbuilddir=/root/luanvan/ants-2.0.3
    jar_ext=jar
    jnodeos_lib=/root/luanvan/ants-2.0.3/lib/jnodeos-pj-debug.zip
    jvmulation_lib=/root/luanvan/ants-2.0.3/lib/emuJanosVM.jar
    jvmkit_lib=/root/luanvan/ants-2.0.3/lib/JanosVMKit.jar
    ants_lib="${topbuilddir}/src/ants.${jar_ext}"
    ants_apps_lib="${topbuilddir}/src/apps.${jar_ext}"
    ants_tests_lib="${topbuilddir}/src/tests.${jar_ext}"
    ## Default JAVAC to 'javaC'
    if test -z "$JAVAC"; then
    JAVAC=javac
    fi

    ## Append ANTS classes to classpath
    ants_classes="${jnodeos_lib}:${jvmulation_lib}:${j vmkit_lib}:${ants_lib}:${ants_apps_lib}:${ants_tes ts_lib}"
    if test -n "$CLASSPATH"; then
    CLASSPATH=${CLASSPATH}:${ants_classes}
    else
    CLASSPATH=${ants_classes}:.
    fi
    export CLASSPATH
    exec $JAVAC "$@"
    #eof

    5.3. Tổ chức file của ANTS:

    Thực chất, ANTS là một bộ máy chạy trên nền JVM của Linux. Vì vậy, bất kỳ một file binary nào muốn chạy cũng sẽ dùng lại lệnh java. Tương tự, muốn biên dịch file *.java thì cũng phải dùng đến lệnh javac.
    Sau khi cài JDK_1.3.1 cho Linux, mặc định nó sẽ nằm trong thư mục /urs/java/jdk1.3.1. Vì vậy, mỗi lần muốn chạy hoặc biên dịch, ta phải cài path cho JVM bằng lệnh:
    %PATH=$PATH:/urs/java/jdk1.3.1/bin
    ANTS là một máy truyền capsule trên nền Janos Virtual Machine nằm trong thư mục /ants-2.0.3/lib. Tất cả những file phục vụ cho Janos VM đã được biên dịch sẵn và đóng gói trong thư viện của ANTS. Trong thư viện này không chứa những file nguồn của Janos VM. Nếu cần, chúng ta có thể vào http://www.cs.utah.edu/flux/janos/ để download source của Janos VM.
    Lệnh biên dịch và lệnh chạy chính thức của ANTS chính là antsvmc và antsvm nằm trong thư mục ants-2.0.3/scripts.
    Trong antsvmc và antsvm có khai báo tất cả các classpath cần thiết cho Janos VM như jnodeos, jvmulation, jvmki, và các application, các test file của ANTS như ants_lib, ants_apps, ants_tests.
    Tất cả các file dùng để chạy trong ANTS đều phải được đóng gói thành file jar. Vì vậy, nếu chỉnh sửa thư viện hoặc viết một ứng dụng mới bất kỳ nào thì ta phải đóng gói thành file .jar trước khi đưa vào vận hành trong ANTS.

    5.4. Các bước biên dịch, đóng gói một ứng dụng mới trong ANTS


    • Ví dụ, muốn thêm ứng dụng caching vào ANTS, ta tạo một thư mục riêng ở /ants-2.0.3/src/apps/caching và soạn tất cả các file nguồn .java trong thư mục này.
    • %PATH=$PATH:/urs/java/jdk1.3.1/bin
    • Biên dịch : %/ants-2.0.3/scripts/antsvmc /ants-2.0.3/src/apps/caching/BindCapsule.java
    • Làm tương tự với các file nguồn còn lại. Các file nào có extend một class khác thì phải được bêin dịch sau khi đóng gói .jar các class cần được extend.
    • Đóng gói: bằng lệnh:
    %jar cvf apps.jar /ants-2.0.3/src/apps/

    5.5. Chạy một ứng dụng

    Để chạy được một ứng dụng, ta phải hiểu được và soạn các file scripts cho chúng. Thông thường, một ứng dụng đơn giản sẽ được chạy bởi 3 file scripts trong thư mục /ants2.0.3/scripts sau:
    cache.routes: là file dùng để cấu hình topology cho mạng, trên nền IPv4 hoặc localhost
    cache.config: là file dùng để tạo channel, cấu hình node, tạo dứng dụng trên node, truyền các thông số, tạo connect chính thức.
    cache.start: là file dùng để kích hoạt thật sự một ứng dụng ANTS bằng câu lệnh chính $JVM edu.utah.janos.nodeos.Main ants.core.ConfigurationManager, và các cấu hình cần thiết khi chạy như xác định tên file .routes, tên file .config, tạo Xterm, wait,…
    Email : vnpro@vnpro.org
    ---------------------------------------------------------------------------------------------------------------
Trung Tâm Tin Học VnPro
149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
Tel : (08) 35124257 (5 lines)
Fax: (08) 35124314

Home page: http://www.vnpro.vn
Support Forum: http://www.vnpro.org
- Chuyên đào tạo quản trị mạng và hạ tầng Internet
- Phát hành sách chuyên môn
- Tư vấn và tuyển dụng nhân sự IT
- Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

Network channel: http://www.dancisco.com
Blog: http://www.vnpro.org/blog
Working...
X