Thông tin khoa học công nghệ<br />
<br />
ỨNG DỤNG KỸ THUẬT TRUYỀN THÔNG ĐIỆP TRÊN GIAO<br />
THỨC MẠNGFLEET ĐẶC TRƯNG CỦA QNX 4 TRONG KIỂM<br />
TRA KỸ THUẬT KHỐI MÁY TÍNH BM-1<br />
Phạm Xuân Công1,*, Dương Mạnh Cường1, Nguyễn Đức Thịnh2<br />
Tóm tắt: FLEET là một giao thức đặc trưng duy nhất chỉ có trên QNX, là giao<br />
thức mạng cực nhẹ, tốc độ cao. Về mặt logic, nhờ có thiết kế sáng tạo và tính năng<br />
phong phú, QNX FLEET có thể “biến” các máy tính độc lập trở thành một siêu máy<br />
tính. Khối BM-1 là khối máy tính điều khiển máy КБ163П trong hệ thống điều khiển<br />
phóng tên lửa 3M-24Э trên tàu (КАСУ).Bài báo này trình bày một số ứng dụng kỹ<br />
thuật truyền thông điệp trên giao thức QNX FLEET trong kiểm tra tình trạng kỹ<br />
thuật của khối BM-1.<br />
Từ khóa: Tên lửa 3M-24Э, Hệ thống điều khiển phóng tên lửa KACY, BM-1, QNX, FLEET.<br />
<br />
1. ĐẶT VẤN ĐỀ<br />
Hệ thống điều khiển phóng tên lửa 3M-24Э trên tàu (КАСУ) bao gồm thiết bị<br />
trung tâm КУ163Ц trên khoang điều khiển và các thiết bị КБ163П giao tiếp trực<br />
tiếp với các quả đạn trong ống phóng. Thiết bị КУ163Ц có 2 khối máy tính là ЦП<br />
và BM-OC, mỗi thiết bị КБ163П chứa 1 khối máy tính BM-1. Các khối máy tính<br />
này đều cài đặt các chương trình điều khiển trên hệ điều hành thời gian thực<br />
chuyên dụng QNX 4.25, chúng được kết nối và giao tiếp với nhau qua mạng<br />
Ethernet. Hệ điều hành QNX 4.25 có giao thức mạng đặc trưng FLEET (cũng là<br />
tiền thân của mạng QNET trên QNX 6), là một giao thức mạng cực nhẹ và tốc độ<br />
cao, độc quyền của QNX. Các máy tính chạy hệ điều hành QNX 4.25 kết nối với<br />
nhau thông qua mạng ethernet, gọi là các node, mỗi node máy tính có một số hiệu<br />
là một số nguyên dương khác nhau tính từ 1 (gọi là node_id) được lưu trong giá trị<br />
biến môi trường $NODE. Một hệ thống điều khiển trên tàu thường có từ 4 đến 6<br />
node máy tính như vậy, ví dụ như trên lớp tàu 1241.8, hệ thống KACY có 6 node,<br />
hệ thống radar 3Ц-25Э có 4 node.<br />
Về mặt logic, giao thức FLEET cho phép nhóm các máy tính độc lập có thể<br />
hoạt động như một siêu máy tính, nghĩa là một tác vụ trên một máy tính này có thể<br />
thực thi và sử dụng tài nguyên (bộ nhớ, dữ liệu, thiết bị ngoại vi..) trực tiếp trên<br />
máy tính khác hoàn toàn giống như tại máy tính chứa nó. Các tác vụ trên toàn hệ<br />
thống có thể tương tác với nhau dựa trên truyền thông điệp theo cơ chế<br />
gửi/nhận/phản hồi. Bài báo này giới thiệu một số kỹ thuật truyền thông điệp và ứng<br />
dụng trong bài toán kiểm tra kỹ thuật của khối BM-1.<br />
2. GIAO THỨC MẠNG FLEET ĐẶC TRƯNG CỦA QNX 4<br />
2.1. Giao thức QNX FLEET<br />
FLEET là giao thức được xây dựng dựa trên kiến trúc truyền thông điệp của hệ<br />
điều hành QNX, nên nó hết sức linh hoạt với các đặc điểm:<br />
- Fault-tolerant networking: Tính năng mạng chịu lỗi<br />
- Load-balancing on the fly: Tính năng cân bằng tải trong khi chạy<br />
- Efficient performance: Hiệu năng cao<br />
- Extensible architecture: Kiến trúc linh hoạt<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 249<br />
Công nghệ thông tin<br />
<br />
- Transparent distributed processing: Xử lý phân tán trong suốt.<br />
Trên mạng FLEET này, khi một đường cáp nối hoặc thiết bị phần cứng mạng<br />
bị lỗi, FLEET sẽ tự động tái định hướng lại dữ liệu theo đường khác. Việc này<br />
được tiến hành trong khi hệ thống đang hoạt động mà không ảnh hưởng gì đến ứng<br />
dụng.<br />
Hoạt động của mạng thường bị hạn chế bởi tốc độ máy tính và hạ tầng mạng.<br />
Với FLEET, dữ liệu có thể được truyền qua nhiều mạng một cách đồng thời, cho<br />
phép chúng ta có thể nhân đôi, nhân ba, thậm chí nhân bốn băng thông mạng bằng<br />
cách sử dụng nhiều card mạng trên mỗi máy tính và kết nối chúng qua các đường<br />
cáp khác nhau, thậm chí còn còn thể phối hợp đồng thời các card mạng trên cùng<br />
một máy tính. Chẳng hạn, trên card máy tính K30 của hệ thống M360 của tàu<br />
ngầm kilo sử dụng đồng thời tới 4 card mạng ethernet.<br />
Các driver mạng FLEET được thiết kế cho hầu hết các hạ tầng mạng. Khi một<br />
tiến trình gửi một khối lượng lớn dữ liệu thông qua mạng ethernet tới một tiến<br />
trình khác, thông lượng trên mạng đạt được là rất ấn tượng như bảng thống kê<br />
dưới đây:<br />
Bảng 1. Bảng so sánh hiệu năng QNX FLEET.<br />
Mạng Số lượng tiến trình client Thông lượng<br />
Ethernet 10 Mbit 1 1,1 triệu byte/giây<br />
Ethernet 100 Mbit 1 7,4 triệu byte/giây<br />
<br />
Nhờ FLEET, mạng QNX có khả năng linh hoạt hết sức mạnh mẽ. Các tiến<br />
trình mạng được thiết kế độc lập với hệ điều hành, cho phép ta có thể chạy hay<br />
dừng hệ điều hành bất cứ lúc nào. Điều này có nghĩa là chúng ta có thể bổ sung<br />
thêm các node vào mạng hoặc bớt các node ra mà không cần cấu hình lại hệ thống.<br />
Nhờ khả năng nối cầu mạng tự động, ta thậm chí còn có thể thêm một mạng vật lý<br />
khác vào mạng đang có.<br />
Các tiến trình mạng của FLEET được tích hợp sâu vào trong trái tim của hệ<br />
thống truyền thông điệp và quản lý tiến trình, làm cho IPC trên một node và trên<br />
toàn mạng là hoàn toàn như nhau. Do IPC là trong suốt đối với mạng, nên một<br />
mạng lưới các nút máy tính độc lập sẽ hoạt động giống như một siêu máy tính. Do<br />
đó, chúng ta sẽ không cần phải cấu hình các ứng dụng để chạy trên mạng nữa.<br />
QNX 4 chứa một số bộ công cụ phân tích, duy trì hoạt động của mạng rất<br />
mạnh như: alive thống kê các node máy đang hoạt động trên mạng, netboot cho<br />
phép khởi động một node máy tính thông qua mạng, netinfo thống kê thông tin sử<br />
dụng mạng…<br />
2.2. Kỹ thuật truyền thông điệp<br />
Trên hệ thống các node máy tính QNX 4 kết nối với nhau thông qua mạng<br />
ethernet, các tiến trình trên node máy này có thể trao đổi thông tin với tiến trình<br />
trên node máy khác thông qua các phương thức:<br />
- Gửi/nhận/phản hồi với những gói tin đơn giản<br />
- Bộ nhớ chia sẻ theo tiêu chuẩn POSIX với những dữ liệu lớn.<br />
QNX cung cấp thư viện các hàm truyền thông điệp cơ bản, cho phép các tiến<br />
trình có thể linh hoạt gửi/nhận/phản hồi cho nhau như bảng dưới đây.<br />
<br />
<br />
250 P. X. Công, D. M. Cường, N. Đ. Thịnh, “Ứng dụng kỹ thuật truyền … máy tính BM-1.”<br />
Thông tin khoa học công nghệ<br />
<br />
Bảng 2. Bảng các hàm truyền thông điệp đặc trưng QNX.<br />
Tên hàm Mục đích sử dụng<br />
Creceive() Kiểm tra xem có thông điệp nào được gửi đến từ tiến trình đặc<br />
Creceivemx() tả bởi PID<br />
Readmsg() Đọc n bytes vào bộ đệm từ tiến trình đặc tả bởi PID<br />
Readmsgmx() Đọc dữ liệu vào mảng các bộ đệm từ tiến trình đặc tả bởi PID<br />
Receive()<br />
Chờ một thông điệp từ tiến trình đặc tả bởi PID<br />
Receivemx()<br />
Lấy thông điệp nhận được từ một tiến trình nguồn, sau đó<br />
Relay()<br />
chuyển tiếp thông điếp tới tiến trình đích<br />
Reply() Phản hồi dữ liệu tới tiến trình PID. Sendmx() cho phép gửi<br />
Replymx() thông điệp theo mảng nhiều gói tin nhỏ.<br />
Send() Gửi một thông điệp tới tiến trình PID. Sendmx() cho phép gửi<br />
Sendmx() thông điệp theo mảng nhiều gói tin nhỏ.<br />
Gửi một thông điệp tới tiến trình gắn với một fd (file<br />
Sendfd()<br />
descriptor) nhất định. Sendfdmx() cho phép gửi mảng các<br />
Sendfdmx()<br />
thông điệp.<br />
Trigger() Kích thích một proxy để gửi thông điệp tới tiến trình sở hữu nó<br />
Writemsg() Ghi n bytes dữ liệu từ bộ đệm tới bộ đệm phản hồi đặc tả bởi<br />
Writemsgmx() một tiến trình PID<br />
<br />
Vi nhân QNX cung cấp khả năng truyền thông điệp thông qua các phiên bản<br />
khóa chờ của hàm Send(), Receive() và Reply(). Tức là, khi một tiến trình thực<br />
hiện hàm gửi Send() tới một tiến trình khác, nó sẽ bị khóa cho tới khi tiến trình kia<br />
thực hiện hàm Receive() để xử lý thông điệp và gọi hàm Reply() để trả lời. Nếu<br />
một tiến trình gọi hàm Receive() mà không có thông điệp nào đang đợi thì nó cũng<br />
bị khóa cho tới khi có tiến trình gọi hàm Send() tới nó. Bởi vì thông điệp được sao<br />
chép nguyên thủy trực tiếp từ tiến trình này tới tiến trình kia, nên hiệu năng trao<br />
đổi thông tin sẽ phụ thuộc vào băng thông của phần cứng mạng. Mọi dịch vụ hệ<br />
thống đều được triển khai dựa trên cơ chế nguyên thủy này.<br />
<br />
<br />
<br />
<br />
Hình 1. Các trạng thái thay đổi trong truyền thông điệp.<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 251<br />
Công nghệ thông tin<br />
<br />
Tiến trình có thể yêu cầu các thông điệp được giao trong thứ tự ưu tiên thay vì<br />
theo thứ tự thời gian, và hoạt động của tiến trình được xử lý ở mức ưu tiên của tiến<br />
trình có độ ưu tiên cao nhất đang bị khóa chờ dịch vụ.<br />
Giao tiếp mạng mức thấp được cài đặt trực tiếp trong vi nhân QNX và được<br />
cung cấp bởi trình quản lý mạng, có đầy đủ các chức năng cần thiết đề truyền<br />
thông điệp giữa các vi nhân với nhau trong mạng LAN.<br />
2.3. Kỹ thuật gửi thông điệp nhiều mảnh kết hợp vùng nhớ chia sẻ<br />
Truyền thông điệp trên QNX cũng cho phép các bên có thể gửi tin nhắn thành<br />
nhiều phần nhỏ, các tin nhắn sẽ không bị chiếm một vùng nhớ liên tục trong bộ<br />
nhớ. Thay vào đó, cả hai tiến trình gửi và nhận có thể chỉ định một bảng cho biết<br />
nơi gửi và nhận được mảnh tin tồn tại trong bộ nhớ. Các tin nhắn gửi đi sẽ là khối<br />
header tách khỏi khối dữ liệu, làm tăng hiệu suất truyền tin. Ngoài ra, nếu cấu trúc<br />
dữ liệu là bộ đệm vòng, ta có thể cài đặt thông điệp gồm 3 phần, 1 header và 2<br />
vùng riêng biệt bên trong bộ đệm vòng. Tệp tiêu đề thư viện sendmx.h chứa khai<br />
báo của hai kiểu cấu trúc dữ liệu MX _mxfer_entry và định nghĩa macro _setmx()<br />
để thiết lập cấu trúc này.<br />
Vùng nhớ chia sẻ là một phương thức truyền thông liên tiến trình có băng<br />
thông cao nhất. Khi một đối tượng chia sẻ được tạo ra, các tiến trình truy cập đến<br />
nó có thể sử dụng con trỏ để trực tiếp đọc/ghi dữ liệu lên đó. Như thế, bản thân<br />
việc truy cập đến đối tượng chia sẻ là không đồng bộ. Nếu một tiến trình đang cập<br />
nhật dữ liệu trên vùng nhớ chia sẻ, nó cần phải có phương thức chặn các tiến trình<br />
khác can thiệp vào vùng nhớ này. Để giải quyết xung đột, vùng nhớ chia sẻ thường<br />
được cài đặt chung với các phương thức đồng bộ hóa nguyên thủy. Nếu các cập<br />
nhật dữ liệu là nhỏ lẻ, thì bản thân các phương thức đồng bộ hóa nguyên thủy lại<br />
làm mất lợi thế băng thông cao của vùng nhớ chia sẻ. Do đó, vùng nhớ chia sẻ chỉ<br />
hiệu quả nhất đối với các khối dữ liệu lớn. Sự kết hợp của truyền thông điệp và<br />
vùng nhớ chia sẻ sẽ đạt được đồng bộ hóa tự nhiên và hiệu suất rất cao.<br />
Mô hình vùng nhớ chia sẻ đơn giản không thể được sử dụng giữa các tiến trình<br />
trên máy tính trong mạng. Nhưng, truyền thông điệp lại là mạng trong suốt. Như<br />
thế, server có thể sử dụng bộ nhớ chia sẻ cho các client cục bộ và truyền thông<br />
điệp đầy đủ dữ liệu cho các client ở xa. QNX là hệ điều hành dựa UNIX, nên nó<br />
cũng hỗ trợ giao thức trao đổi thông qua vùng nhớ chia sẻ theo tiêu chuẩn POSIX,<br />
với các hàm như trong bảng sau:<br />
Bảng 3. Bảng các hàm truyền thông điệp được cung cấp trên QNX.<br />
Tên hàm Mô tả Phân loại<br />
mmap() Ánh xạ địa chỉ tiến trình tới bộ nhớ POSIX<br />
mprotect() Thay đổi bảo vệ bộ nhớ POSIX<br />
munmap() Bỏ ánh xạ địa chỉ tới vùng nhớ POSIX<br />
shm_open() Mở một vùng nhớ chia sẻ POSIX<br />
shm_unlink() Gỡ bỏ vùng nhớ chia sẻ POSIX<br />
close() Đóng vùng nhớ chia sẻ POSIX<br />
Bỏ ánh xạ vùng nhớ, nhưng có thêm nhiều QNX Neutrino<br />
munmap_flags()<br />
điều khiển hơn munmap()<br />
<br />
<br />
<br />
252 P. X. Công, D. M. Cường, N. Đ. Thịnh, “Ứng dụng kỹ thuật truyền … máy tính BM-1.”<br />
Thông tin khoa học công nghệ<br />
<br />
Đồng bộ vùng nhớ chia sẻ với thiết bị lưu POSIX<br />
msync()<br />
trữ vật lý<br />
shm_ctl(), Tạo thuộc tính đặc biệt cho vùng nhớ chia QNX Neutrino<br />
shm_ctl_special() sẻ<br />
<br />
3. ỨNG DỤNG TRONG KIỂM TRA KỸ THUẬT KHỐI BM-1<br />
Nhóm phát triển ứng dụng chỉ tập trung vào các thuật toán và phương pháp<br />
kiểm tra, nội dung và cấu trúc gói tin cần trao đổi với khối BM-1. Việc triển khai<br />
truyền tin như thế nào là hoàn toàn do hệ điều hành QNX thực hiện.<br />
3.1. Trao đổi thông tin với khối BM-1<br />
Hệ thống КАСУ bao gồm 6 máy giao tiếp với nhau qua hai chuẩn kết nối là<br />
Ethernet và chuẩn đa truy cập nối tiếp MIL-STD-1553b. Cả 6 máy trên hệ thống<br />
đều cài hệ điều hành QNX 4.25, sử dụng chuẩn giao tiếp FLEET, được đánh số<br />
node từ 1 đến 6. Các khối BM-1 của thiết bị КБ163П được gắn node từ 3 đến 6,<br />
có các giắc cắm từ X1 đến X7. Toàn bộ quá trình trao đổi thông với khối BM-1<br />
cũng như các module bên trong khối đều thực hiện qua các giắc cắm từ X1 đến<br />
X6, riêng cáp X7 (COM) được nhà sản xuất sử dụng để cập nhật và chỉnh sửa<br />
phần mềm.<br />
3.2. Kiểm tra các module của khối BM-1<br />
a) Nguyên lý hoạt động của thiết bị kiểm tra<br />
Quá trình kiểm tra có thể tóm lược như sau:<br />
Khối BM-1 cần kiểm tra được ghép nối với thiết bị kiểm tra tạo thành một<br />
hệ thống kết nối mạng nội bộ thông qua các cáp nối và giắc cắm từ X1 tới X6<br />
(thuật ngữ hệ thống ở đây được hiểu là thiết bị kiểm tra đã kết nối đầy đủ với<br />
khối BM-1).<br />
Khi bắt đầu quá trình kiểm tra, thiết bị sẽ cấp nguồn lên BM-1, khối BM-1<br />
thực hiện quá trình khởi động hệ điều hành và chế độ tự kiểm tra của nó. Khi khối<br />
BM-1 đã được kết nối với thiết bị kiểm tra và hệ thống đã hoạt động, phần mềm<br />
điều khiển trung tâm trên thiết bị kiểm tra sẽ gọi các phần mềm và phát ra các lệnh<br />
kích thích phần cứng để kiểm tra từng module của BM-1. Mạng QNX FLEET sẽ<br />
chuyển các phần mềm con lên BM-1 để thực hiện quá trình đó.<br />
Các phần mềm kiểm tra được chạy trên cả thiết bị kiểm tra (node 1) và trên<br />
khối BM-1 (là một trong các node 3, 4, 5, 6). Trong suốt quá trình đó, chúng sẽ<br />
liên tục trao đổi thông tin với phần mềm điều khiển trung tâm chạy trên thiết bị<br />
kiểm tra. Các thông tin trao đổi bao gồm các lệnh thực hiện, các lệnh logic, các<br />
lệnh đọc/ghi trên các cổng phần cứng, các gói tin kết quả. Phần mềm điều khiển<br />
trung tâm sẽ dùng hàm qnx_name_attach() để đăng ký một tên trên hệ thống. Các<br />
phần mềm kiểm tra module sẽ sử dụng hàm qnx_name_locate() để xác định pid<br />
của phần mềm điều khiển trung tâm, từ đó gọi hàm Send() để truyền các thông báo<br />
kết quả kiểm tra về.<br />
Việc kiểm tra các module khác nhau thì phương pháp thực hiện khác nhau,<br />
nhưng quá trình trao đổi với máy tính trung tâm cơ bản là hoàn toàn tương tự nhau.<br />
b) Một số kết quả thực hiện kiểm tra các module của khối BM-1<br />
- Kiểm tra module CPU: Quá trình kiểm tra module CPU được tiến hành theo<br />
các bước sau:<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 253<br />
Công nghệ thông tin<br />
<br />
Bước 1: Tiến hành quét tham số, xác định tính hợp lệ của tham số. Chuẩn bị<br />
kiểm tra.<br />
Bước 2: Tạo một vùng segment overlay để phục vụ lấy thông tin của hệ điều hành<br />
thông qua hàm qnx_osinfo().<br />
Bước 3: Thực hiện quá trình kiểm tra chi tiết các thành phần có thể kiểm tra của<br />
CPU: CMOS, dung lượng RAM, các cổng LPT, COM1, COM2, Ethernet.<br />
Bước 4: Xử lý kết quả kiểm tra. Thông báo cho phần mềm trung tâm. Kết thúc.<br />
- Kiểm tra module MCO: Quá trình kiểm tra module MCO được tiến hành theo<br />
các bước sau:<br />
Bước 1: Tiến hành quét tham số, xác định tính hợp lệ của tham số. Chuẩn bị kiểm<br />
tra.<br />
Bước 2: Thực hiện kiểm tra kết nối của MCO với CPU qua kênh giao tiếp ISA 8-bit<br />
Bước 3: Thực hiện kiểm tra kết nối của MCO với tên lửa qua kênh giao tiếp<br />
ARINC-429 trên cả 32 kênh.<br />
Bước 4: Xử lý kết quả kiểm tra. Thông báo cho phần mềm trung tâm. Kết thúc.<br />
- Kiểm tra module TX1-MP: Việc kiểm tra TX1-MP phải sử dụng card TX1-<br />
MP trên máy kiểm tra để tạo các gói tin trao đổi theo chuẩn MIL-STD-1553B. Quá<br />
trình kiểm tra tiến hành các bước như sau:<br />
Bước 1: Tiến hành quét tham số, xác định tính hợp lệ của tham số. Chuẩn bị<br />
kiểm tra.<br />
Bước 2: Mở kênh kết nối TMK. Kiểm tra ngắt và driver TX1.<br />
Bước 3: Thực hiện kiểm tra truyền dữ liệu trên cả 2 kênh cơ bản và dự phòng (bus<br />
A và bus B) trên cả 2 chế độ có giám sát và không giám sát (RT_MODE và<br />
BC_MODE).<br />
Bước 4: Xử lý kết quả kiểm tra. Thông báo cho phần mềm trung tâm. Kết thúc.<br />
- Kiểm tra module DI-32-5: Khối BM-1 có 2 module DI-32 có địa chỉ cơ sở<br />
lần lượt là 0x100 và 0x110. Quá trình kiểm tra mỗi module bao gồm các bước<br />
như sau:<br />
Bước 1: Tiến hành quét tham số, xác định tính hợp lệ của tham số. Chuẩn bị<br />
kiểm tra.<br />
Bước 2: Tạo các kích thích phần cứng lên card DI để đọc dữ liệu vào. Việc kiểm<br />
tra được tiến hành đối với tất cả 32 kênh.<br />
Bước 3: Xử lý kết qủa kiểm tra. Thông báo cho phần mềm trung tâm.Kết thúc.<br />
- Kiểm tra module DO-32-5: Quá trình kiểm tra bao gồm các bước như sau:<br />
Bước 1: Tiến hành quét tham số, xác định tính hợp lệ của tham số. Chuẩn bị<br />
kiểm tra.<br />
Bước 2: Đẩy dữ liệu ra card DO-32 đồng thời sử dụng card DI-32 để thu dữ liệu<br />
đối chiếu.Việc kiểm tra được tiến hành đối với tất cả 32 kênh.<br />
Bước 3: Xử lý kết qủa kiểm tra. Thông báo cho phần mềm trung tâm.Kết thúc.<br />
4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN<br />
FLEET là một giao thức đặc trưng duy nhất chỉ có trên QNX, là giao thức<br />
mạng cực nhẹ, tốc độ cao. Khi một hệ thống các máy tính QNX nối mạng với<br />
nhau, các ứng dụng có thể chạy trên các máy khác cũng hoàn toàn giống như chạy<br />
tại máy cục bộ. Các thiết bị của hệ thống KACY 3Р-60УЭ-1241.8 sử dụng giao<br />
<br />
<br />
254 P. X. Công, D. M. Cường, N. Đ. Thịnh, “Ứng dụng kỹ thuật truyền … máy tính BM-1.”<br />
Thông tin khoa học công nghệ<br />
<br />
thức này trong toàn bộ quá trình hoạt động điều khiển chuẩn bị phóng và phóng tên<br />
lửa, cũng như quá trình kiểm tra hệ thống.<br />
Nhóm phát triển cũng sử dụng giao thức này trong việc thực hiện kiểm tra độc<br />
lập khối BM-1 bằng thiết bị kiểm tra chạy QNX 4. Kết quả thử nghiệm cho thấy<br />
quá trình hoạt động, truyền tải các ứng dụng, truyền tải lệnh, trao đổi thông<br />
tin..được thực hiện rất tốt và tính ổn định, độ tin cậy cao.<br />
<br />
TÀI LIỆU THAM KHẢO<br />
<br />
[1]. Quân chủng Hải quân, Bộ Tài liệu Hướng dẫn sử dụng Tổ hợp 3Р-60УЭ-<br />
1241.8.<br />
[2]. Phạm Hồng Long và các cộng sự, Nghiên cứu, thiết kế hệ thống tổ hợp thiết bị<br />
điều khiển phóng tên lửa КАСУ 3Р-60УЭ-12418 và thiết kế, chế thử máy<br />
КБ163П, Báo cáo tổng kết đề tài KC-T.11 (2017).<br />
[3]. QNX Software Systems Ltd, FLEET™ High-performance Networking for the<br />
QNX® RTOS, 1998.<br />
ABSTRACT<br />
APPLYING SOME MESSAGE-PASSING TECHNIQUES<br />
ON NETWORK PROTOCOL OF QNX 4 FLEET<br />
FOR BM-1 TECHNICAL DIANOGTICS<br />
A unique feature of theQNX realtime operating system, FLEET is an ultralight,<br />
high-speed networking protocol. Its innovative and feature-richdesign turns isolated<br />
machines into a singlelogical supercomputer. The BM-1 block is the control unit of<br />
the КБ163П in the 3M-24 missile control system on board (КАСУ). This article<br />
presents some message-passing techniques on network protocol of QNX 4 FLEET<br />
for BM-1 technical dianogtics.<br />
Keywords: 3M-24Э missile, КАСУ, BM-1, QNX, FLEET.<br />
<br />
<br />
Nhận bài ngày 16 tháng 8 năm 2017<br />
Hoàn thiện ngày 26 tháng 11 năm 2017<br />
Chấp nhận đăng ngày 28 tháng 11 năm 2017<br />
<br />
<br />
Địa chỉ: 1Viện Công nghệ thông tin/Viện KH&CNQS;<br />
2<br />
Ban CNTT/Bộ Tham mưu/Tổng cục Hậu cần.<br />
*<br />
Email: congpx@gmail.com.<br />
<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 255<br />