Các hệ điều hành và môi trƣờng hoạt động

Một phần của tài liệu Bài giảng mạng cảm biến (Trang 61 - 66)

CHƢƠNG 2 KIẾN TRÚC NÚT ĐƠN

2.3 Các hệ điều hành và môi trƣờng hoạt động

2.3.1 Các hệ điều hành nhúng

Nhiệm vụ thông thƣờng của một hệ điều hành là điều khiển và bảo vệ truy cập tới các tài nguyên (bao gồm sự hỗ trợ cho đầu vào/đầu ra), quản lý sự cấp phát đến các ngƣời dùng khác nhau và hỗ trợ việc thực hiện cùng lúc của một số quá trình và liên lạc giữa các quá trình này. Tuy nhiên, các nhiệm vụ này chỉ đƣợc yêu cầu một phần trong hệ thống nhúng vì việc thực hiện mã lệnh có nhiều hạn chế và thƣờng phù hợp hơn trong các hệ thống đa dụng.

Đúng hơn, một hệ điều hành hay mơi trƣờng thực hiện càng đơn giản thì càng phù hợp. WSN sẽ hỗ trợ các nhu cầu chuyên dụng của chúng. Đặc biệt, nhu cầu về hiệu quả năng lƣợng sẽ yêu cầu sự hỗ trợ để quản lý năng lƣợng, ví dụ nhƣ điều khiển tắt của các thành phần riêng rẽ hay kỹ thuật phạm vi điện áp động (DVS). Các thành phần bên ngoài nhƣ các cảm biến, modem vô tuyến hay các bộ định thời phải đƣợc xử lý một cách dễ dàng và có hiệu quả, phải xử lý đƣợc thơng tin khơng đồng bộ (tại thời điểm bất kỳ).

Tất cả điều này yêu cầu một mơ hình lập trình phù hợp, một phƣơng pháp rõ ràng để xây dựng ngăn xếp giao thức và hỗ trợ rõ ràng cho việc quản lý năng lƣợng.

62

a. Các mơ hình lập trình

Lập trình đồng thời:

Câu hỏi đầu tiên cho mơ hình lập trình là nó hỗ trợ thực hiện cùng lúcnhƣ thế nào? Hỗ trợ thực hiện cùng lúc là điều cốt yếu của các nút WSN vì chúng sử dụng dữ liệu đến từ các nguồn khác nhau (từ nhiều cảm biến hay bộ thu phát vơ tuyến) tại các thời điểm bất kỳ. Ví dụ, hệ thống có thể thăm dị cảm biến để quyết định xem dữ liệu có sẵn có và đƣợc xử lý đúng cách hay khơng, sau đó thăm dị bộ thu phát để kiểm tra xem liệu gói tin có sẵn có khơng rồi xử lý gói tin ngay lập tức… (hình 2.5). Mơ hình tuần tự đơn giản nhƣ vậy (hình 2.5(a)) sẽ hoạt động với nguy cơ bị mất dữ liệu trong khi một gói tin đƣợc xử lý hoặc khi mất một gói tin thơng tin từ cảm biến đang đƣợc xử lý. Nguy cơ này sẽ cao nếu quá trình xử lý dữ liệu từ cảm biến hay các gói tin đến chiếm một lƣợng lớn thời gian. Do đó, mơ hình lập trình tuần tự, đơn giản rõ ràng là khơng hiệu quả.

Hình 2.5.Hai mơ hình khơng tƣơng thích với hệ điều hành WSN Thực hiện sự đồng thờidựa trên quá trình:

Phần lớn các hệ điều hành đa dụng hiện đại nhất hỗ trợ thực hiện cùng lúc nhiều quá trình trên CPU đơn lẻ. Do đó, phƣơng pháp dựa trên quá trình là lựa chọn đầu tiên để hỗ trợ sự đồng thời trong một nút cảm biến, nó đƣợc mơ tả trong phần (b) hình 2.5. Trong khi phƣơng pháp này làm việc bình thƣờng thì ánh xạ một mơ hình thực hiện các tiến trình (process) cùng lúc nhƣ vậy tới một nút cảm biến lại cho thấy một số điểm không phù hợp: việc làm cân bằng các chức nănghoặc lớp giao thức riêng lẻ với các tiến trình riêng lẻsẽ địi hỏi chi phícao khi chuyển từ tiến trình này sang tiếntrình khác. Vấn đề này đặc biệt nghiêm trọng nếu các tác vụ thƣờng xuyên phải đƣợc thực hiện là nhỏ so với chi phí dùng để chuyển giữa các tác vụ - trƣờng hợp này thƣờng xảy ra trong các mạng cảm biến. Ngồi ra mỗi tiến trình u cầu một khơng gian ngăn xếp riêng trong bộ nhớ, điều này không phù hợp với ràng

Cảm biến hỏi vòng Xử lý dữ liệu cảm biến Bộ thu phát hỏi vịng Xử lý gói tin nhận Mơ hình lập trình tuần tự (a) Xử lý quá trình

cảm biến Xử lý q trình gói tin

Chuyển q trình OS trung gian

Mơ hình lập trình dựa trên quá trình (b)

63 buộc nghiêm ngặt về bộ nhớ của các nút cảm biến.

Lập trình dựa trên sự kiện:

Với các lý do này, mơ hình lập trình hơi khác một chút dƣờng nhƣ thích hợp hơn. Ý tƣởng này dùng đặc tính phản ứng tự nhiêncủa một nút WSN và tích hợp nó trong thiết kế hệ điều hành. Hệ thống cần đợi sự kiện xảy ra trong khi sự kiện có thể là sự có mặt của dữ liệu từ một cảm biến, sự đến của một gói tin hoặc sự kết thúc của bộ định thời. Sự kiện nhƣ vậy sau đó đƣợc xử lý bởi một chuỗi lệnh ngắn để chỉ lƣu giữ sự thật là sự kiện đã xảy ra và lƣu giữthơng tin cần thiết, ví dụ một byte đến đối với một gói tin đến hoặc giá trị của cảm biến. Q trình xử lý thực tế thơng tin này không đƣợc thực hiện trong các thủ tục bộ xử lý sự kiện này mà nó đƣợc tách từ sự xuất hiện thực tế của các sự kiện. Mơ hình lập trình dựa trên sự

kiệnđƣợc biểu diễn trên hình 2.6.

Hình 2.6. Mơ hình lập trình dựa trên sự kiện

Bộ xử lý sự kiện nhƣ vậy có thể ngắt q trình xử lý của bất kỳ mã lệnh thơng thƣờng nào nhƣng do nó rất đơn giản và ngắn nên nó có thể đƣợc yêu cầu thực hiện cho đến hết trong tất cả các tình huống mà khơng làm xáo trộn mã lệnh khác một cách quá đáng. Các bộ xử lý sự kiện không thể ngắt lẫn nhau nhƣng nó dễ dàng thực hiện liên tiếp nhau.

Kết quả là mơ hình lập trình dựa trên sự kiện phân biệt hai tình huống (ngữ cảnh) khác nhau: một cho các bộ xử lý sự kiện yêu cầu thời gian nghiêm ngặt (time-critical event handler), nơi mà q trình thực hiện khơng thể bị ngắt và một cho quá trình xử lý mã lệnh thơng thƣờng, nó chỉ đƣợc khởi động bởi các bộ xử lý sự kiện.

Li và các đồng nghiệp so sánh hiệu suấtcủa mơ hình lập trình dựa trên q trình và dựa trên sự kiện trên cùng một phần cứng và nhận thấy rằng hiệu suấtđƣợc cải thiện theo hệsố 8, các yêu cầu bộ nhớ lệnh/dữ liệu giảm tƣơng ứng theo các hệ số 2 và 30, công suất tiêu thụ giảm theo hệsố 12.

b. Các giao diện với hệ điều hành

Nếu mơ hình lập trình quy định khơng đƣợc chấp nhận trên thực tế bởi hệ điều hành thì cần phải chỉ rõ một số giao diện là làm cách nào để trạng thái bên trong của hệ thống có thể đƣợc hỏi và đƣợc thiết lập.

Khi sự phân biệt rạch ròi giữa ngăn xếp giao thức và các chƣơng trình ứng dụng trong các WSN khơng cịn trong các mạng cảm biến khơng dây, thì phải truy cập đƣợc một giao diện nhƣ vậy từ các thực hiện giao thức và nó phải cho phép các thực hiện này truy cập lẫn

64

nhau. Giao diện này cũng liên kết một cách chặt chẽ với kiến trúc của các ngăn xếp giao thức sẽ đƣợc giới thiệu trong phần tiếp sau.

Một giao diện lập trình ứng dụng (API - Application Programming Interface) là một giao diện mà một hệ thống máy tính hay ứng dụng cung cấp để cho phép các yêu cầu dịch vụ có thể đƣợc tạo ra từ các chƣơng trình máy tính khác, và/hoặc cho phép dữ liệu có thể đƣợc trao đổi qua lại giữa chúng. Chẳng hạn, mộtchƣơng trình máy tính có thể (và thƣờng là phải) dùng các hàm API của hệ điều hành để xin cấp phát bộ nhớ và truy xuất tập tin. Nhiều loại hệ thống và ứng dụng hiện thựcAPI, nhƣ các hệ thống đồ họa, cơ sở dữ liệu, mạng, dịch vụ web, và ngay cả một số trò chơi máy tính.Đây là phần mềm hệ thống cung cấp đầy đủ các chức năng và các tài ngun mà các lập trình viên có thể rút ra từ đó để tạo nên các tính năng giao tiếp ngƣời- máy nhƣ: các trình đơn kéo xuống, tên lệnh, hộp hội thoại, lệnh bàn phím và các cửa sổ. Một trình ứng dụng có thể sử dụng nó để yêu cầu và thi hành các dịch vụ cấp thấp do hệ điều hành của máy tính thực hiện. Hệ giao tiếp lập trình ứng dụng giúp ích rất nhiều cho ngƣời sử dụng vì nó cho phép tiết kiệm đƣợc nhiều thời gian tìm hiểu các chƣơng trình mới, do đó khích lệ mọi ngƣời dùng nhiều ứng dụng hơn

Thơng thƣờng, giao diện lập trình ứng dụng nhƣ vậy bao gồm giao diện chức năng, sự trừu tƣợng hoá đối tƣợng và hiện thực chi tiết. Trừu tƣợng là các tuyến vô tuyến, các nút..; các chức năng có thể bao gồm truy vấn và thao tác trạng thái, gửi và nhận dữ liệu, truy cập phần cứng (các cảm biến, cơ cấu chấp hành, bộ thu phát), cài đặt các điều khoản nhƣ các thoả hiệp về năng lƣợng/ chất lƣợng.

2.3.3 Cấu trúc hệ điều hành và ngăn xếp giao thức

Phƣơng pháp truyền thống để xây dựng giao thức liên lạc là sử dụng lớp: các giao thức riêng rẽ đƣợc xếp lên nhau, mỗi lớp chỉ sử dụng các chức năng của lớp ngay bên dƣới. Phƣơng pháp xếp lớp có hiệu quả cao khi quản lý đƣợc bộ ngăn xếp giao thức. Tuy nhiên đối với WSN lại không rõ ràng là phƣơng pháp xếp lớp có đáp ứng đƣợc yêu cầu hay khơng.

Ví dụ: xem xét việc sử dụng thơng tin về cƣờng độ tín hiệu nhận đƣợc từ đối tác liên lạc. Thơng tin lớp vật lý có thể dùng để trợ giúp các giao thức mạng đểquyết định về thay đổi tuyến (tín hiệu yếu hơn nếu nút dịch chuyển ra xa và có lẽ khơng đƣợc sử dụng nữa trong bƣớc nhảy tiếp theo), tính tốn thơng tin vị trí bằng cách ƣớc lƣợng khoảng cách từ cƣờng độ tín hiệu hoặc để trợ giúp giao thức lớp liên kết trong các kênh thích nghi hoặc các sơ đồ FEC/ARQ lai. Do đó, một nguồn thơng tin đơn có thể đƣợc dùng để kết hợp một cách gián tiếp ƣu điểm của các giao thức khác nhau vớinguồn thông tin này.

Sự trao đổi thông tin liên lớp (cross-layer information exchange) là cách làm giảm bớt những quy định cứng nhắc của phƣơng pháp xếp lớp. Trong các mạng truyền thống, các mối quan tâm về hiệu quả, nhu cầu hỗ trợ các giao thức mạng hữu tuyến trong các hệ thống vơ tuyến (ví dụ TCP trong mạng vơ tuyến), nhu cầu di chuyển chức năng vào đƣờng trục mà không phụ thuộc vào các mô tả của mơ hình điểm tới điểm của Internet… rất đƣợc chú ý.

Tách khỏi kiến trúc phân lớp, xu hƣớng thơng dụng hiện nay là sử dụng mơ hình thành phần. Các lớp đơn khối tƣơng đối lớn đƣợc chia thành những thành phần, module nhỏ, độc lập. Các thành phần này chỉ đáp ứng một chức năng xác định, ví dụ nhƣ tính tốn kiểm tra

65

diện dễ hiểu. Sự khác nhau cơ bản so với kiến trúc phân lớp là các tƣơng tác này không bị hạn chế với các nút lân cận trung gian trong mối quan hệ trên/dƣới nhƣng có thể đối với bất kỳ thành phần nào khác.

Mơ hình thành phần này khơng chỉ giải quyết một số vấn đề kiến trúc đối với các ngăn xếp giao thức mà nó cịn phù hợp một cách tự nhiên với phƣơng pháp dựa trên sự kiện để lập trình các nút cảm biến vơ tuyến.

2.3.4 Quản lý công suất động

Chuyển các thành phần riêng rẽ sang các trạng thái ngủ khác nhau hay giảm hiệu suất của chúng bằng cách giảm tần số và nguồn cấp, lựa chọn điều chế và các mã chuyên dụng là các ví dụ nổi bật đƣợc giới thiệu trong phần 2.2 để cải thiện hiệu quả năng lƣợng. Để điều khiển các khả năng này, các quyết định phải đƣợc thực hiện bằng hệ điều hành, ngăn xếp giao thức hoặc bằng ứng dụng khi chuyển giữa các trạng thái này. Quản lý công suất động (DPM - Dynamic Power Management) trên mức hệ thống là vấn đề tiếp theo. Một trong các yếu tố phức tạp của DPM là năng lƣợng và thời gian yêu cầu cho việc chuyển giữa hai trạng thái của thành phần. Nếu các yếu tố này đƣợc bỏ qua thì rõ ràng đây là cách tối ƣu để luôn luôn và ngay lập tức chuyển chế độ với mức tiêu thụ cơng suất nhỏ nhất có thể. Nếu khơng nằm trongtrƣờng hợp này thì u cầu các thuật tốn tiên tiến hơn, tốc độ cập nhật các quyết định quản lý năng lƣợng, phân bố xác suất của thời gian cho đến khi các sự kiện tiếp theo xảy ra, các tính chất của thuật tốn sử dụng đều đƣợc đƣa vào chi phí.

Thoả hiệp giữa độ chính xác và mức tiêu thụ năng lƣợng:

Hầu hết các công việc đƣợc mô tả trên DVS điều khiển đều giả thiết giới hạn cứng cho mỗi nhiệm vụ (nhiệm vụ phải đƣợc hồn thành trong thời gian đã cho, nếu khơng kết quả sẽ không đƣợc sử dụng). Trong các WSN, giả thiết nhƣ vậy thƣờng không phù hợp. Hơn nữa, các nhiệm vụ đều có thể tính đƣợc độ chính xác cao hay thấp. Độ chính xác đạt đƣợc bằng các nhiệm vụ nhƣ vậy sẽ đƣợc dùng để thoả hiệp với các tiêu chí khác. Trong WSN, thoả hiệp đƣơng nhiên là năng lƣợng đƣợc u cầu để tính tốn nhiệm vụ. Câu hỏi đƣợc đặt ra ở đây là làm thế nào để đầu tƣ tốt nhất lƣợng năng lƣợng sẵn có cho nhiệm vụ đã cho. Đánh đổi kết

quả khơng chính xác để có mức tiêu thụ năng lượng thấp hơn là đặc điểm đặc trưng của các

WSN.

Một số phƣơng pháp khai thác các thoả hiệp này đã đƣợc đƣa ra nhƣng hầu hết đều trong các hệ thống đa phƣơng tiện. Sinha đã giới thiệu thoả hiệp năng lƣợng –chất lƣợng để thiết kế thuật tốn, đặc biệt là cho các mục đích xử lý tín hiệu (lọc, các biến đổi trong miền tần số, sự phân loại). Ý tƣởng để biến đổi thuật toán là xấp xỉ kết quả cuối cùng một cách nhanh chóng và giữ tính tốn miễn là năng lƣợng đủ để dùng.

Một ví dụ đơn giản là tính đa thức:

0 N i i i f x k x (2.10)

Phụ thuộc vào liệu x < 1 hay x 1 mà các tính tốn sẽ bắt đầu với các số hạng bậc thấp hay bậc cao để có xấp xỉ có thể tốt nhất trong trƣờng hợp phải ngừng tính vì tốn q nhiều

66

năng lƣợng cho nó. Đặc trƣng của các thuật toán này (cơ bản hay đã bị biến đổi) đƣợc nghiên cứu bằng cách sử dụng thông số năng lƣợng – chất lƣợng, nó biểu thị qua kết quả là chất lƣợng đạt đƣợc (đã đƣợc chuẩn hoá) ứng với bao nhiêu năng lƣợng (đã đƣợc chuẩn hoá).

Một phần của tài liệu Bài giảng mạng cảm biến (Trang 61 - 66)

Tải bản đầy đủ (PDF)

(170 trang)