CHƯƠNG 1 - TỔNG QUAN VỀ HỆ THỜI GIAN THỰC VÀ HỆ NHÚNG 1.1 Khái niệm về hệ thời gian thực Trong nhiều hệ thống, từ các máy tính cá nhân đơn giản cho đến các hệ thống máy móc phức tạp trong các nhà máy, các bộ xử lý được dùng để điều khiển chúng. Những hệ thống này tương tác trực tiếp với các thiết bị phần cứng, Phần mềm trong nó được gọi là hệ thời gian thực nhúng (Embedded Real Time System). Khi nhận được các sự kiện phát sinh từ các phần cứng, chúng thực hiện các xử lý để sản ra các tín hiệu điều khiển gửi đến các thiết bị tác động để tạo ra các hoạt động nhằm đáp ứng những sự kiện từ môi trường. Như vậy, một hệ thời gian thực [8] hoạt động hiệu quả không chỉ phụ thuộc vào sự chính xác của kết quả tạo ra mà còn phụ thuộc vào thời điểm đưa ra kết quả.
Hệ thống sẽ là thất bại mỗi khi các yêu cầu về thời gian hay mức độ đáp ứng không được thoả mãn.1 [4] mô tả mức độ đáp ứng kịp thời của hệ thống theo bốn yêu cầu khác nhau. Sự kiện Phản ứng Sự kiện Phản ứng T T ts tp-1 tp-2 Thời gian ts tp Thời gian a) Chính xác tại t = tp b) Trong khoảng. tp-1 ≤ t ≤ tp-2 Sự kiện Phản ứng Sự kiện Phản ứng T T ts tp Thời gian ts tp Thời gian c) Chậm nhất là. t ≤ tp d) Sớm nhất là .1: Các mức đáp ứng sự kiện về mặt thời gian Trên hình 1.1 (a) sự kiện xảy ra tại thời điểm ts hệ thống mất khoảng thời gian T để nhận biết có sự kiện kích ứng và xử lý tức thời ngay sau đó tại thời điểm tp.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang 13 Trên hình 1.1 (c) sự kiện xảy ra tại thời điểm ts hệ thống mất khoảng thời gian T để nhận biết có sự kiện kích ứng và yêu cầu phải xử lý xong trước thời điểm tp.1 (d) sự kiện xảy ra tại thời điểm ts hệ thống mất khoảng thời gian T để nhận biết có sự kiện kích ứng và yêu cầu phải được xử lý từ thời điểm tp không giới hạn thời điểm hoàn thành. Do các tính chất của hệ thời gian thực khác với các phần mềm khác là khả năng đáp ứng của nó đối với các sự kiện môi trường trong một khoảng thời gian nhất định (thường là khoảng thời gian ngắn) nên nó được định nghĩa như sau: Một hệ thời gian thực là một hệ thống mà trong đó tính đúng đắn của nó không chỉ phụ thuộc vào các kết quả logic được tạo ra mà còn phụ thuộc vào thời điểm mà tại đó các kết quả được đưa ra [8]. Nhiều thay đổi của các sự kiện trong thế giới thực thường xảy ra rất nhanh, mỗi hệ thống thời gian thực phải thực hiện việc xử lý và đưa ra kết quả trong một khoảng thời gian xác định hay thời điểm kết thúc (deadline). Khoảng thời gian này được xác định từ thời điểm bắt đầu và thời điểm hoàn tất công việc.
Trong thực tế, nhiều yếu tố kích thích xảy ra trong khoảng thời gian rất ngắn, ví dụ vào khoảng vài mili giây, và khi đó thời gian mà hệ thống cần đáp ứng lại các yếu tố kích thích thường vào khoảng dưới 1 giây mới đảm bảo được yêu cầu mong muốn. Khoảng thời gian này bao gồm: thời gian tiếp nhận kích thích, thời gian xử lý thông tin và thời gian đáp ứng kích thích [8].2 Phân loại hệ thời gian thực Hệ thời gian thực được chia thành hai loại, hệ thời gian thực cứng (Hardware real time system) và hệ thời gian thực mềm (Sofware real time system).2 [2] dưới đây minh họa cho sự khác biệt giữa hai loại hệ thống đó. Với đồ thị có nét đậm biểu thị cho hệ thời gian thực mềm nên kết quả trả về và thời điểm đáp ứng có dung sai lớn hơn đồ thị thể hiện hệ thời gian thực cứng. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang 14 Giá trị kết quả xử lý đồ thị hệ mềm đưa ra đồ thị hệ cứng - + thời gian thời điểm đáp ứng (deadline) Hình 1.2: Đồ thị mô tả đặc trưng hai loại hệ thời gian thực Trong đó: hạn định (deadline) là khoảng thời gian hay thời điểm mà tại đó các tác vụ thực hiện yêu cầu cần được hoàn thành.1 Hệ thời gian thực cứng Trong một số hệ thống, sự đáp ứng vi phạm giới hạn về thời gian cho phép có thể gây ra những ảnh hưởng trầm trọng, như đến đến sinh mạng con người.
Trong trường hợp này, yêu cầu đáp ứng về mặt thời gian của hệ thống là rất khắt khe. Chính vì vậy, người ta đưa ra định nghĩa về hệ thời gian thực cứng như sau: Một hệ thời gian thực cứng là một hệ thống mà hoạt động không đúng đắn của nó sẽ để lại hậu quả nghiêm trọng [8]. Do đó hệ thời gian thực cứng buộc phải đưa ra các kết quả chính xác trong khoảng thời gian đã xác định trước.2 Hệ thời gian thực mềm Ngược lại với hệ thời gian thực cứng là hệ thời gian thực mềm. Kết quả đưa ra của một hệ thống chấp nhận một sai số nhất định cả về giá trị và thời gian so với yêu cầu dự kiến.
Tuy nhiên, nếu sự sai lệch này không được đảm bảo nó cũng không gây ra điều gì nghiêm trọng. Trong trường hợp này, người ta nói rằng hệ thống có ràng buộc định thời gian mềm. Hệ thời gian thực mềm có định nghĩa như sau: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang 15 Một hệ thời gian thực mềm là một hệ thống mà trong đó các hoạt động của nó được phép hoàn thành trong một sai số cho phép mà không gây hậu quả nghiêm trọng [8], tức là sự đáp ứng của hệ thống có thể vượt ra ngoài một giới hạn cho phép mà vẫn có thể chấp nhận được. Ví dụ về hệ thống này bao gồm những hệ thống thực hiện tương tác trực tuyến, những bộ chuyển mạch điện thoại, hay các trò chơi điện tử.
Sự phân biệt giữa khoảng thời gian bắt buộc cứng hay mềm của hệ thời gian thực hiện thường tùy thuộc trạng thái định lượng những giới hạn mang lại kết quả hữu dụng. Tuy nhiên, trong thực tế, sự phân chia này nhiều khi không cần thiết. Vì vậy, sự phân chia này chỉ có tính tương đối.3 Đặc điểm của hệ thời gian thực Một hệ thống thời gian thực có các đặc trưng tiêu biểu [2] sau: − Tính bị động: Hệ thống thường phải phản ứng lại với các sự kiện xuất hiện vào các thời điểm thường không biết trước. − Tính nhanh nhạy: Hệ thống phải xử lý thông tin một cách nhanh chóng để có thể đưa ra kết quả phản ứng một cách kịp thời.
Đây là một đặc điểm tiêu biểu. Tuy nhiên, đối với một hệ thống có tính năng thời gian thực không nhất thiết phải đáp ứng thật nhanh mà quan trọng hơn là phải có phản ứng kịp thời đối với các yêu cầu, tác động từ bên ngoài. − Tính đồng thời: Hệ thống phải có khả năng phản ứng và xử lý đồng thời nhiều sự kiện diễn ra. − Tính tiền định: Dự đoán trước được thời gian phản ứng tiêu biểu, thời gian phản ứng chậm nhất cũng như trình tự đưa ra các phản ứng.
Phải lập lịch cho các sự kiện.4 Cấu trúc thành phần của một hệ thời gian thực Baker và Scallon (1986) đã đưa ra một thảo luận hay về các yêu cầu thiết bị cho hoạt động thời gian thực. Cooling (1991) cũng đề cập tới vấn đề này, và thảo luận tóm tắt về sản phẩm hoạt động thời gian thực thương mại. Các yêu cầu riêng cho hệ thời gian thực thường là yêu cầu phần thực thi cần được thiết kế như là một phần của hệ thống. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang 16 Các thành phần của một RTS [7] (hình 1.3) phụ thuộc vào kích cỡ và sự phức tạp của hệ thời gian thực được xây dựng.
Thông thường, với mọi hệ thời gian thực (trừ những hệ thống đơn giản) đều có các thành phần sau: 1. Một đồng hồ thời gian thực (real - time clock): thiết bị này cung cấp thông tin cho việc lập lịch trình xử lý một cách định kỳ. Bộ điều khiển ngắt (interrupt handler): thành phần này dùng để quản lý các yêu cầu đáp ứng các sự kiện không theo chu kỳ. Bộ lập lịch (scheduler): thành phần này có nhiệm vụ kiểm tra tiến trình những phần có thể được thực hiện và chọn ra một ra một thành phần trong số chúng đề thực hiện.
Bộ quản lý tài nguyên (resource manager): phân phối một số tài nguyên về bộ nhớ và bộ xử lý cho một tiến trình đã được sắp lịch thực hiện. Bộ điều vận (despatcher): thành phần này được phân nhiệm vụ để khởi động sự thực thi của một tiến trình. Thông tin lập lịch Đồng hồ thời Lập lịch Điều khiển ngắt gian thực Xử lý các yêu cầu về tài nguyên Tài nguyên Danh sách tài Quản lý tài nguyên nguyên có giá trị chờ xử lý Sẵn sàng Giải phóng xử lý tài nguyên Danh sách Danh sách Bộ điều vận sẵn sàng xử lý Hoạt động xử lý Hình 1.3: Các thành phần của hoạt động thời gian thực LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang 17 Các hệ thống cung cấp dịch vụ liên tục, như hệ thống viễn thông và hệ thống giám sát thường có các yêu cầu về độ tin cậy cao. Chúng có thể còn cần đến những khả năng thực thi khác nữa như là: 6.
Quản lý cấu hình (configuration manager): Bộ phận này cho phép thiết lập lại cấu hình động của phần cứng hệ thống (Kramer và Magee, 1985). Ví dụ như: một đơn vị phần cứng không còn phù hợp với hệ thống. Do đó, hệ thống cần được nâng cấp bằng việc thêm hay thay bằng một phần cứng mới mà không cần phải ngừng hoạt động của toàn hệ thống. Quản lý lỗi (fault manager): Bộ phận này có nhiệm vụ tự tìm lỗi gây ra từ phần cứng và phần mềm và tiến hành những hoạt động thích hợp để khôi phục lại trạng thái ổn định từ những trạng thái lỗi đó.
Hệ thống thời gian thực thường phải xử lý các tác nhân kích thích với các mức ưu tiên khác nhau. Các tác nhân như là các sự kiện đặc biệt mà thời gian xử lý cần thiết phải được hoàn thành trong khoảng thời gian xác định. Những bộ xử lý khác được đặt trong một độ trễ an toàn. Do đó, hoạt động của một hệ thống thời gian thực phải quản lý tối thiểu hai mức ưu tiên cho các tiến trình hệ thống: 1.
Mức ngắt (interrupt level): đây là mức ưu tiên cao nhất.