SlideShare a Scribd company logo
QNX Neutrino
Real Time Operating System



QNX PERSISTENT PUBLISH/SUBSCRIBE
Nội dung

1.   Dịch vụ QNX PPS

2. Đối tượng và các thuộc tính

3. Persistence

4. Publish

5. Subscribe
1. QNX PPS Service


 Là một dịch vụ đăng ký/xuất bản mở rộng, nhỏ .

 Được cung cấp liên tục ngang qua quá trình khởi động lại.

 Được thiết kế cho những hệ nhúng sử dụng cả hai giải pháp đăng

  ký/xuất bản một cách đơn giản và dễ dàng.

 Đáp ứng nhu cầu xây dựng hệ thống kết nối lỏng lẻo sử dụng các phương

  thức thông báo và công bố bất đồng bộ.

 Với PPS quá trình xuất bản bất đồng bộ
1. QNX PPS Service


• Publishers không cần phải
chờ subscribers
• Publishers và Subscribes
thường không biết nhau
• Chỉ kết nối thông qua một
đối tượng chứa cả subscribe
và publish
1. QNX PPS Service

 Cú pháp lệnh:                       pps [options]
 Trong đó option:
      -b: không chạy dưới nền. Dùng cho debug
      -1 đối số : thiết lập hành vi lấy về đối tượng
       o 0-mặc định, lấy về các đối tượng và tên thư mục theo yêu cầu.

       o 1-lấy về các đối tượng và tên thư mục khi khởi động nhưng không chứa nội dung.

           Lấy về nội dung các đối tượng theo yêu cầu
       o 2-lấy về tên thư mục, đối tượng kèm nội dung khi khởi động

      -m mount: chỉ định gắng đường dẫn cho PPS. Mặc định /pps/
      -p path: thiết lập đường dẫn cho việc sao lưu lưu trữ liên tục
      -t period : chỉ định chu kỳ persistence bắt buộc. Mặc định là persistence không bắt buộc
      -v: Kích hoạt chế độ verbose. Tăng giá trị của v để tăng tính verbosity
2.Objects and their Attributes

 Đối tượng
 Được thực hiện như những file trong hệ thống file PPS đặc biệt
 Xuất hiện mặc định sau “/pps”
 Có chứa các thuộc tính
 Kích thước thư mục và đối tượng
 Mặc định là 16 kB
 Lớn nhất là 64 kB
 Đối tượng đặc biệt
 .all
 .notify
 .server
 Cú pháp lệnh với đối tượng
                 @ object_name
                    attrib 1 :: value 1
                    attrib 2 :: value 2
                            …
2.Objects and their Attributes

 Thuộc tính
   Do người dùng định nghĩa
   Có dạng: tên_đối_tượng : kiểu_mã_hóa : giá_trịn
      Giá trị không phải null hoặc linefeed
      Kiểu_mã_hóa gồm có
         “::” – kết thúc dòng lệnh bằng dòng tiếp theo
         “:c:” - n, t,
         “:b64:” – mã hóa base 64
3. Peristence

 Persistence Storage
   Disk - QNX 6 filesystem
   NAND flash – ETFS filesystem
   NOR flash – FFS3 filesystem
   Other – customer generated filesystem
 Saving Object
 Loading Object
4. Publish

 Tạo mới, sửa đổi, xóa đối tượng và thuộc tính
  Có thể tạo mới, sửa đổi và xóa đối tượng kèm thuộc tính
 Tạo mới: tạo một file mới có tên của đối tượng.
     Đối tượng mới tạo ra chưa có thuộc tính
     Có thể thêm mới thuộc tính cho đối tượng.
 Xóa: xóa file đối tượng.
 Tạo mới thuộc tính: Ghi thuộc tính vào đối tượng.
 Sửa thuộc tính: Ghi giá trị mới vào thuộc tính của đối tượng
 Xóa các thuộc tính đang tồn tại: Mở đối tượng với O_ TRUNC.
 Xóa 1 thuộc tính:thêm dấu trừ vào trước tên thuộc tính và gọi hàm write() .
     For example:
          sprintf( ppsobj, "-urln" ); // Delete the "url" attribute
          write( ppsobj-fd, ppsobj, strlen( ppsobj ) );

 Multiple Publishers (Đa xuất bản)
5. Subcribe

 Blocking and non-blocking reads
 Hàm io_notify()
     Cho phép subscribers yêu cầu thông báo qua cơ chế PULSE, SIGNAL , SEMAPHORE, etc.
     Khi thay đổi thông báo, một subscriber phải gọi read() để lấy nội dung của đối tượng.
 Subscribtion modes
     Full mode
     Delta mode
 Subscripting to multuple objects
     .all
     .notify

More Related Content

Similar to QNX Embedded RealTime OS

Bài tập thực hành C#
Bài tập thực hành C#Bài tập thực hành C#
Bài tập thực hành C#
Dân Chơi Khu Phố
 
Linq n hibernate net-tier
Linq n hibernate net-tierLinq n hibernate net-tier
Linq n hibernate net-tierNguyen Tran
 
2010 de taicuoiky
2010 de taicuoiky2010 de taicuoiky
2010 de taicuoikyluacavesong
 
Tài liệu hướng dẫn sử dụng dublin core
Tài liệu hướng dẫn sử dụng dublin coreTài liệu hướng dẫn sử dụng dublin core
Tài liệu hướng dẫn sử dụng dublin core
jackjohn45
 
Hỏi tình hình bk tiny bktiny-hdsd
Hỏi tình hình bk tiny   bktiny-hdsdHỏi tình hình bk tiny   bktiny-hdsd
Hỏi tình hình bk tiny bktiny-hdsdVu Hung Nguyen
 
Lappj trình hướng đối tượng
Lappj trình hướng đối tượngLappj trình hướng đối tượng
Lappj trình hướng đối tượng
Hưởng Nguyễn
 
[Cntt] bài giảng java khtn hcm
[Cntt] bài giảng java   khtn hcm[Cntt] bài giảng java   khtn hcm
[Cntt] bài giảng java khtn hcm
Hong Phuoc Nguyen
 
Bao cao-cloud-linux-hosting
Bao cao-cloud-linux-hostingBao cao-cloud-linux-hosting
Bao cao-cloud-linux-hostinglaonap166
 

Similar to QNX Embedded RealTime OS (9)

Bài tập thực hành C#
Bài tập thực hành C#Bài tập thực hành C#
Bài tập thực hành C#
 
Linq n hibernate net-tier
Linq n hibernate net-tierLinq n hibernate net-tier
Linq n hibernate net-tier
 
2010 de taicuoiky
2010 de taicuoiky2010 de taicuoiky
2010 de taicuoiky
 
Tài liệu hướng dẫn sử dụng dublin core
Tài liệu hướng dẫn sử dụng dublin coreTài liệu hướng dẫn sử dụng dublin core
Tài liệu hướng dẫn sử dụng dublin core
 
Hỏi tình hình bk tiny bktiny-hdsd
Hỏi tình hình bk tiny   bktiny-hdsdHỏi tình hình bk tiny   bktiny-hdsd
Hỏi tình hình bk tiny bktiny-hdsd
 
Lappj trình hướng đối tượng
Lappj trình hướng đối tượngLappj trình hướng đối tượng
Lappj trình hướng đối tượng
 
[Cntt] bài giảng java khtn hcm
[Cntt] bài giảng java   khtn hcm[Cntt] bài giảng java   khtn hcm
[Cntt] bài giảng java khtn hcm
 
Bao cao-cloud-linux-hosting
Bao cao-cloud-linux-hostingBao cao-cloud-linux-hosting
Bao cao-cloud-linux-hosting
 
Dsd02 sta
Dsd02 staDsd02 sta
Dsd02 sta
 

QNX Embedded RealTime OS

  • 1. QNX Neutrino Real Time Operating System QNX PERSISTENT PUBLISH/SUBSCRIBE
  • 2. Nội dung 1. Dịch vụ QNX PPS 2. Đối tượng và các thuộc tính 3. Persistence 4. Publish 5. Subscribe
  • 3. 1. QNX PPS Service  Là một dịch vụ đăng ký/xuất bản mở rộng, nhỏ .  Được cung cấp liên tục ngang qua quá trình khởi động lại.  Được thiết kế cho những hệ nhúng sử dụng cả hai giải pháp đăng ký/xuất bản một cách đơn giản và dễ dàng.  Đáp ứng nhu cầu xây dựng hệ thống kết nối lỏng lẻo sử dụng các phương thức thông báo và công bố bất đồng bộ.  Với PPS quá trình xuất bản bất đồng bộ
  • 4. 1. QNX PPS Service • Publishers không cần phải chờ subscribers • Publishers và Subscribes thường không biết nhau • Chỉ kết nối thông qua một đối tượng chứa cả subscribe và publish
  • 5. 1. QNX PPS Service  Cú pháp lệnh: pps [options]  Trong đó option:  -b: không chạy dưới nền. Dùng cho debug  -1 đối số : thiết lập hành vi lấy về đối tượng o 0-mặc định, lấy về các đối tượng và tên thư mục theo yêu cầu. o 1-lấy về các đối tượng và tên thư mục khi khởi động nhưng không chứa nội dung. Lấy về nội dung các đối tượng theo yêu cầu o 2-lấy về tên thư mục, đối tượng kèm nội dung khi khởi động  -m mount: chỉ định gắng đường dẫn cho PPS. Mặc định /pps/  -p path: thiết lập đường dẫn cho việc sao lưu lưu trữ liên tục  -t period : chỉ định chu kỳ persistence bắt buộc. Mặc định là persistence không bắt buộc  -v: Kích hoạt chế độ verbose. Tăng giá trị của v để tăng tính verbosity
  • 6. 2.Objects and their Attributes  Đối tượng  Được thực hiện như những file trong hệ thống file PPS đặc biệt  Xuất hiện mặc định sau “/pps”  Có chứa các thuộc tính  Kích thước thư mục và đối tượng  Mặc định là 16 kB  Lớn nhất là 64 kB  Đối tượng đặc biệt  .all  .notify  .server  Cú pháp lệnh với đối tượng @ object_name attrib 1 :: value 1 attrib 2 :: value 2 …
  • 7. 2.Objects and their Attributes  Thuộc tính  Do người dùng định nghĩa  Có dạng: tên_đối_tượng : kiểu_mã_hóa : giá_trịn  Giá trị không phải null hoặc linefeed  Kiểu_mã_hóa gồm có  “::” – kết thúc dòng lệnh bằng dòng tiếp theo  “:c:” - n, t,  “:b64:” – mã hóa base 64
  • 8. 3. Peristence  Persistence Storage  Disk - QNX 6 filesystem  NAND flash – ETFS filesystem  NOR flash – FFS3 filesystem  Other – customer generated filesystem  Saving Object  Loading Object
  • 9. 4. Publish  Tạo mới, sửa đổi, xóa đối tượng và thuộc tính Có thể tạo mới, sửa đổi và xóa đối tượng kèm thuộc tính  Tạo mới: tạo một file mới có tên của đối tượng.  Đối tượng mới tạo ra chưa có thuộc tính  Có thể thêm mới thuộc tính cho đối tượng.  Xóa: xóa file đối tượng.  Tạo mới thuộc tính: Ghi thuộc tính vào đối tượng.  Sửa thuộc tính: Ghi giá trị mới vào thuộc tính của đối tượng  Xóa các thuộc tính đang tồn tại: Mở đối tượng với O_ TRUNC.  Xóa 1 thuộc tính:thêm dấu trừ vào trước tên thuộc tính và gọi hàm write() .  For example:  sprintf( ppsobj, "-urln" ); // Delete the "url" attribute  write( ppsobj-fd, ppsobj, strlen( ppsobj ) );  Multiple Publishers (Đa xuất bản)
  • 10. 5. Subcribe  Blocking and non-blocking reads  Hàm io_notify()  Cho phép subscribers yêu cầu thông báo qua cơ chế PULSE, SIGNAL , SEMAPHORE, etc.  Khi thay đổi thông báo, một subscriber phải gọi read() để lấy nội dung của đối tượng.  Subscribtion modes  Full mode  Delta mode  Subscripting to multuple objects  .all  .notify