Hệ thống thời gian thực và ứng dụng các mẫu trong thiết kế

  • Số trang: 91 |
  • Loại file: PDF |
  • Lượt xem: 23 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ THANH THOAN HỆ THỐNG THỜI GIAN THỰC VÀ ỨNG DỤNG CÁC MẪU TRONG THIẾT KẾ LUẬN VĂN THẠC SĨ Hà Nội - 2007 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ -------------- Nguyễn Thị Thanh Thoan HỆ THỐNG THỜI GIAN THỰC VÀ ỨNG DỤNG CÁC MẪU TRONG THIẾT KẾ Chuyên ngành : Công nghệ phần mềm Mã số : 68.40.10 LUẬN VĂN THẠC SỸ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS. Nguyễn Văn Vỵ Hà Nội - 2007 MỤC LỤC Các thuật ngữ và các từ viết tắt .......................................................................................4 Danh mục các hình ..........................................................................................................5 MỤC LỤC .......................................................................................................................7 MỞ ĐẦU .......................................................................................................................10 Chƣơng I : TỔNG QUAN VỀ HỆ THỜI GIAN THỰC ...............................................11 1.1. Khái niệm về hệ thời gian thực [1] .....................................................................11 1.2 Phân loại hệ thời gian thực ..................................................................................12 1.2.1 Hệ thời gian thực cứng .................................................................................13 1.2.2 Hệ thời gian thực mềm .................................................................................13 1.3 Đặc điểm của hệ thời gian thực [6] .....................................................................14 1.4 Cấu trúc thành phần của một hệ thời gian thực ..................................................14 1.5. Xử lý thời gian thực ............................................................................................17 1.5.1 Xử lý ngắt .....................................................................................................19 1.5.2 Quản lý tiến trình ..........................................................................................21 1.6 Một số ứng dụng tiêu biểu của hệ thời gian thực ................................................22 1.6.1 Điều khiển tín hiệu số ...................................................................................23 1.6.2 Điều khiển mức cao .....................................................................................24 1.6.2.1 Các ví dụ về phân cấp điều khiển ..........................................................24 1.6.2.2 Hƣớng dẫn và kiểm soát ........................................................................26 1.6.3 Điều khiển lệnh.............................................................................................26 1.6.4 Xử lý tín hiệu ................................................................................................27 1.6.4.1 Hệ thống radar .......................................................................................27 1.7 Một số hệ thống thời gian thực điển hình ............................................................30 1.7.1 Hệ thống giám sát .........................................................................................31 1.7.2 Hệ thống điều khiển......................................................................................32 1.7.3 Hệ thống thu nhận dữ liệu ............................................................................33 Chƣơng 2: PHƢƠNG PHÁP PHÂN TÍCH THIẾT KẾ HƢỚNG MẪU ......................35 2.1 Mẫu thiết kế .........................................................................................................35 2.1.1 Khái niệm về mẫu .........................................................................................35 2.1.2 Vai trò của mẫu trong phát triển phần mềm .................................................36 2.1.3 Vòng đời của một mẫu .................................................................................37 2.1.4 Một số mẫu cho hệ thời gian thực ................................................................38 2.1.4.1 Mẫu hành vi Observer ...........................................................................38 2.1.4.2 Mẫu chiến lƣợc ......................................................................................40 2.1.4.3 Mẫu ngắt ................................................................................................41 2.1.4.4 Mẫu luân chuyển Robin ........................................................................43 2.2 Phân tích thiết kế hƣớng mẫu - POAD ................................................................45 2.3.1 Mục tiêu của POAD .....................................................................................45 2.2.2 Những vẫn đề của POAD .............................................................................45 2.2.3 Phân tích hƣớng mẫu ....................................................................................46 2.3.3.1 Tổng quan ..............................................................................................46 2.2.3.2 Mục đích của việc phân tích hƣớng mẫu...............................................48 2.2.3.3 Phân tích các yêu cầu ............................................................................48 2.2.3.4 Làm quen bƣớc đầu ...............................................................................49 2.2.3.5 Tìm và lấy ra các mẫu ...........................................................................49 2.2.3.6 Lựa chọn mẫu ........................................................................................50 2.2.4 Thiết kế hƣớng mẫu ......................................................................................51 2.2.4.1 Tổng quan ..............................................................................................51 2.2.4.2 Mục đích của việc thiết kế hƣớng mẫu ................................................51 2.2.4.3 Cấu trúc mẫu..........................................................................................51 2.2.4.4 Cấu trúc các mô hình mức mẫu chi tiết .................................................53 2.4 UML trợ giúp các mẫu thiết kế ...........................................................................54 Chƣơng 3: HỆ THỐNG GIÁM SÁT TRẠNG THÁI HOẠT ĐỘNG TRONG TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG ...........................................................57 3.1 Tổng quan về trƣờng Đại học Dân lập Hải phòng ..............................................57 3.2 Bài toán giám sát hoạt động trong khuôn viên nhà trƣờng .................................58 3.2.1 Mô tả Bài toán ..............................................................................................58 3.2.2 Những vấn đề đặt ra .....................................................................................59 3.2.3 Đặc tả hệ thống .............................................................................................60 3.2.3.1 Hệ thống phần cứng...............................................................................60 3.2.3.2 Hệ thống phần mềm ..............................................................................60 3.3 Phát triển hệ thống phần mềm theo POAD .........................................................61 3.3.1 Xác định mô hình nghiệp vụ ........................................................................61 3.3.1.1 Các chức năng nghiệp vụ của hệ thống .................................................63 3.3.1.2 Các tác nhân nghiệp vụ .........................................................................67 3.3.1.3 Các biểu đồ hoạt động của tiến trình nghiệp vụ ....................................67 3.3.1.4 Mô hình miền lĩnh vực ..........................................................................69 2.3.1.5 Từ diển giải thích...................................................................................70 3.3.2. Biểu diễn mô hình hệ thống nghiệp vụ........................................................71 3.3.2.1 Mô hình ca sử dụng mức cao ................................................................72 3.3.2.2 Các mô hình ca sử dụng chi tiết ............................................................73 3.3.4 Lựa chọn các mẫu .........................................................................................80 3.4 Thiết kế “Hệ thống giám sát trạng thái hoạt động” ............................................80 3.4.1 Thiết kế ca sử dụng “Quản trị hệ thống” ......................................................80 3.4.2 Thiết kế ca sử dụng “Kiểm soát vào ra” .......................................................82 3.4.3 Thiết kế ca sử dụng “Xử lý hỏa hoạn” .....................................................83 3.4.4 Thiết kế ca sử dụng “Quản trị vận hành” .................................................84 3.5 Một số giao diện chƣơng trình ............................................................................85 KẾT LUẬN ...................................................................................................................89 TÀI LIỆU THAM KHẢO .............................................................................................90 Các thuật ngữ và các từ viết tắt Viết tắt Tên đầy đủ Ý nghĩa A/D Analog / Digital Bộ chuyển đổi tương tự - số ATC Air Traffic Control Điều khiển máy bay lên xuống CSDL Cơ sở dữ liệu D/A Digital / Analog Bộ chuyển đổi số - tương tự HRT Hard Real Time Thời gian thực cứng I /O Input / Ouput Vào/ra PloP Patterns language of Program Chương trình của ngôn ngữ mẫu PloPD Patterns language of Program Design Thiết kế chương trình của ngôn ngữ mẫu POAD Pattern Oriented Analys and Design Phân tích và thiết kế hướng mẫu RTS Real Time System Hệ thời gian thực RUP Rational Unified Process Tiến trình thống nhất của Rational SRT Soft Real Time Thời gian thực mềm UML Unified Modeling Language Ngôn ngữ mô hình hóa thống nhất Danh mục các hình Hình 1.1: Các mức đáp ứng sự kiện về mặt thời gian ...............................................11 Hình 1.2 Đồ thị mô tả đặc trưng hai loại hệ thời gian thực ......................................12 Hình 1.3: Các thành phần của hoạt động thời gian thực ...........................................15 Hình 1.4: Các kiểu tác vụ theo chuẩn IEC 61131-3..................................................17 Hình 1.5: Mô hình chung của hệ thời gian thực .......................................................18 Hình 1.6 Mô hình xử lý ngắt .....................................................................................19 Hình 1.7 Ưu tiên ngắt ................................................................................................20 Hình 1.8: Hành động thực thi thời gian thực yêu cầu bắt đầu một tiến trình ...........21 Hình 1.9. Một bộ điều khiển số .................................................................................23 Hình 1.10: Cấu trúc hệ thống điêu khiển máy bay....................................................25 Hình 1.11. Xử lý tín hiệu radar và hệ thống hiệu chỉnh ............................................28 Hình 1.13: Kiến trúc tiến trình hệ thống báo động trộm ...........................................31 Hình 1.14: Kiến trúc tiến trình của hệ thống điều khiển nhiệt độ .............................32 Hình 1.15: Kiến trúc của luồng giám sát hệ thống....................................................33 Hình 1.16: Bộ đệm tròn cho bộ thu nhận dữ liệu ......................................................34 Hình 2.1 Vòng đời của một mẫu ..............................................................................37 Hình 2.2 Cấu trúc mẫu Quan sát ...............................................................................39 Hình 2.3 Mô tả cấu trúc mẫu chiến lược ..................................................................40 Hình 2.4. Cấu trúc mẫu ngắt .....................................................................................41 Hình 2.5. Phương thức điều khiển ngắt ....................................................................42 Hình 2.7 Sự cấu thành những thiết kế ứng dụng khi sử dụng những mẫu ................46 Hình 2.8. Pha phân tích của POAD...........................................................................47 Hình 2.9 Biểu đồ lớp (a) và Biểu đồ tương tác (b) của mẫu Observer. ....................55 Hình 3.1. Sơ đồ cấu trúc hệ thống phần cứng ...........................................................60 Bảng 3.1. Bảng phân quyền vào ra ...........................................................................62 Hình 3.2. Biểu đồ hoạt động tiến trình nghiệp vụ “Điều khiển đóng – mở cửa” .....68 Hình 3.3. Biểu đồ hoạt động tiến trình nghiệp vụ “Cảnh báo nguy cơ hỏa hoạn” ...69 Hình 3.4. Biểu đồ miền lĩnh vực ...............................................................................70 Hình 3.5 Mô hình ca sử dụng mức tổng quát ............................................................72 Hình 3.6: Biểu đồ ca sử dụng gói “Quản trị hệ thống” ............................................73 Hình 3.7: Biểu đồ ca sử dụng “Kiểm soát vào ra” ....................................................75 Hình 3.8: Mô hình gói ca sử dụng “Cảnh báo hỏa hoạn” .........................................76 Hình 3.9: Biều đồ ca sử dụng gói “Quản lý vận hành” .............................................78 Hình 3.10. Biểu đồ lớp của các lớp đối tượng chính ...............................................81 Hình 3.11. Biểu đồ lớp cập nhật bảng phân quyền sử dụng mẫu chiến lược............82 Hình 3.12. Biểu đồ lớp thiết kiểm soát vào ra theo mẫu quan sát ............................83 Hình 3.13 Biểu đồ lớp mức mẫu “Xử lý hỏa hoạn” .................................................84 Hình 3.14 Biểu đồ lớp cho ca sử dụng giám sát truy nhập và ghi nhật ký ...............85 Hình 3.15 Giao diện đăng nhập hệ thống ..................................................................85 Hình 3.16 Giao diện vào ra hệ thống .......................................................................86 Hình 3.17 Giao diện cảm ứng nhiệt độ .....................................................................86 Hình 3.18 Giao diện quan sát nhiệt độ ......................................................................87 Hình 3.19 Giao diện lựa chọn chiến lược cập nhật ...................................................87 Hình 3.20 Giao diện cập nhật trực tiếp .....................................................................88 Hình 3.21 Giao diện cập nhật từ tệp .........................................................................88 MỞ ĐẦU Ngày nay, hầu hết các tương tác tính toán trong nhiều hệ thống trên máy tính đều tíến hành theo thời gian thực như các hệ thống điều khiển phản hồi, hệ thống giám sát, các hệ thống điều khiển tự động... Các hệ thống trên thường phải đáp ứng được các sự kiện trong thế giới thực về mặt thời gian khi tương tác với môi trường bên ngoài. Có rất nhiều phương pháp được dùng để phân tích thiết kế phần mềm này như: phương pháp “biểu đồ trạng thái”, hay máy trạng thái hữu hạn [11], phương pháp phân tích thiết kế hướng đối tượng,... Trong các phương pháp thiết kế trên, phương pháp phân tích hướng đối tượng và sử dụng mẫu trong thiết kế đang là một hướng nghiên cứu và ứng dụng đang phát triển rất mạnh hiện nay. Nó mang đặc trưng của công nghệ sử dụng lại cho việc phát triển các hệ thống phần mềm ở mức thiết kế. Vì vậy, đề tài “Hệ thống thời gian thực và ứng dụng các mẫu trong thiết kế” được chọn làm luận văn tốt nghiệp của tôi. Trong luận văn này, sau khi trình bày tổng quan về hệ thống thời gian thực và trình bày phương pháp phát triển hệ thống phần mềm trên cơ sở phương pháp phân tích hướng đối tượng định hướng mẫu. Nó được vận dụng để phân tích thiết kế hệ thống giám sát trạng thái hoạt động trong khuôn viên Trường đại học dân lập Hải Phòng - một hệ thống thời gian thực. Nội dung luận văn gồm ba chương Chương 1: Tổng quan về Hệ thời gian thực. Trong chương này, trình bày các khái niệm về hệ thống thời gian thực, các ứng dụng điển hình của hệ thống này. Chương 2: Phương pháp phân tích thiết kế hướng mẫu Trong chương này, trình bày tổng quan về mẫu thiết kế và phương pháp phân tích thiết kế hệ thống phần mềm hướng mẫu. Ngoài ra trình bày một số mẫu được sử dụng cho thiết kế cho ứng dụng đề xuất như mẫu Quan sát (Observer), mẫu chiến lược (Trategy), mẫu ngắt (Interruptt), và mẫu luân chuyển Robin (Round Robin). Chương 3: Hệ thống giám sát trạng thái hoạt động trong khuôn viên Trường Đại học Dân Lập Hải Phòng Đây là phần xây dựng ứng dụng dựa trên cơ sở lý thuyết đã trình bày ở trên. Sử dụng phương pháp phân tích hướng đối tượng và các mẫu để tiến hành phân tích và thiết kế ứng dụng và tiến hành một số cài đặt thử nghiệm. Cuối cùng là phần kết luận và hướng phát triển tiếp theo của đề tài. Chƣơng I TỔNG QUAN VỀ HỆ THỜI GIAN THỰC 1.1. Khái niệm về hệ thời gian thực [1] Hầu hết các bộ xử lý được dùng để điều khiển các máy tính cá nhân đơn giản cho đến toàn bộ các hệ thống máy móc trong các nhà máy. 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 những hệ thống này được gọi là hệ thời gian thực nhúng (Embedded Real Time System). Nó thực hiện các xử lý để đáp ứng lại với các sự kiện phát sinh từ các phần cứng bằng cách tạo ra các tín hiệu điều khiển gửi đến các thiết bị phần cứng nhằm đáp ứng những sự kiện của môi trường. Những phần mềm này được nhúng vào trong hệ thống phần cứng hay hệ thống lớn hơn và phải sản ra các tín hiệu điều khiển trong khoảng thời gian thực xác định để đáp ứng được các sự kiện phát sinh từ môi trường của hệ thống. Như vậy, một hệ thời gian thực là một hệ thống mà hoạt động hiệu quả của nó 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 và mức độ đáp ứng không được thoả mãn. Hình 1.1 [5] 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 Sự kiện Phản ứng T T ts Thời gian tp ts tp-1 Phản ứng Sự kiện T ts tp-2 Thời gian b) Trong khoảng ... tp-1 ≤ t ≤ tp-2 a) Chính xác tại t = tp Sự kiện Phản ứng Phản ứng T tp Thời gian c) Chậm nhất là ... t ≤ tp ts tp Thời gian d) Sớm nhất là ... t ≥ tp Hình 1.1: Các mức đáp ứng sự kiện về mặt thời gian 12 Các hệ thời gian thực khác với các phần mềm khác là những chức năng đáp ứng của hệ thống đối với các sự kiện của 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). Do vậy người ta định nghĩa hệ thời gian thực (Real Time System - RTS) 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.[10] 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 giám sát các sự kiện này phải thực hiện việc xử lý và đưa ra kết quả trong một khoảng thời gian bắt buộc gọi là một hạn đị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 gian bắt đầu và thời gian 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 hồi đáp kích thích.[10] 1.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). Hình 1.2 [5] dưới đây minh họa cho sự khác biệt giữa hai loại hệ thống đó. Giá trị kết quả xử lý đưa ra đồ thị hệ mềm đồ thị hệ cứng - + thời điểm đáp ứng (deadline) thời gian Hình 1.2 Đồ thị mô tả đặc trưng hai loại hệ thời gian thực 13 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.2.1 Hệ thời gian thực cứng Trong một số hệ thống được quan tâm đặc biệt đến các hậu quả do sự vi phạm giới hạn về thời gian cho phép. Những hậu quả này có thể rất tồi tệ. Nó mang lại những thiệt hại nặng nề về vật chất, và có thể gây ra những ảnh hưởng to lớn đến sinh mạng con người. Một ví dụ cho loại hệ thống này như việc ra lệnh dừng tàu đã không được thực hiện đúng lúc để tàu đi băng qua ga sẽ là nguyên nhân dẫn đến một tai nạn thảm khốc, hay việc điều khiển ném bom xảy quá chậm có thể nổ vào dân thường thay vì nổ đúng mục tiêu của một căn cứ quân sự đối phương. 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 [10]. 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 nhất định đã cho. Ví dụ: Một đoàn tàu điều khiển tự động không thể dừng lại ngay lập tức. Khi có tín hiệu dứng, hành động phanh lại của nó phải được kích hoạt từ một khoảng cách xác định trên đường ray từ cổng tín hiệu đến vị trí nó phải dừng. Khoảng cách phanh này phụ thuộc không chỉ vào tốc độ của con tàu mà còn vào hệ số an toàn của bộ phanh giảm tốc độ. Từ tốc độ và sự giảm tốc độ an toàn của tàu, bộ điều khiển có thể tính toán ra thời gian bắt buộc tàu cần hãm phanh và cường độ phanh yêu cầu trước điểm cần dừng bao xa. Thời gian giới hạn bắt buộc này chính là thời gian sự cưỡng bức để hoàn thành các công việc như là quan sát, xử lý tín hiệu dừng và kích hoạt phanh. Vì vậy, sự cưỡng bức thời gian này phải là cứng mới đảm bảo sự dừng đúng vị trí của con tàu. 1.2.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 cho phép một sai số nhất định cả về giá trị và thời gian so với khoảng thời gian 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. Đối với hệ thời gian thực mềm, thời gian đáp ứng của hệ thống với yếu tố kích thích cũng quan trọng. Tuy nhiên, trong trường hợp này thời gian đáp ứng của hệ thống có thể vượt quá giới hạn trễ cho phép, hệ thống vẫn hoạt động bình thường, không quan tâm đến các tác hại do sự vi phạm này gây ra (thường thì các tác hại này là 14 không đáng kể). Trong trường hợp này, người ta gọi là hệ thống có ràng buộc định thời gian mềm. Vì vậy người ta định nghĩa hệ thời gian thực mềm như sau: 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[10], tức là sự đáp ứng của hệ thời gian thực mềm 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 (game) điện tử. Trong các tài liệu về hệ thời gian thực, sự phân biệt giữ khoảng thời gian bắt buộc cứng hay mềm thường tùy theo trạng thái định lượng trong 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. 1.3 Đặc điểm của hệ thời gian thực [6] Một hệ thống thời gian thực có các đặc trưng tiêu biểu 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. 1.4 Cấu trúc thành phần của một hệ thời gian thực Baker và Scallon (1986) đã trình bày 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. 15 Các thành phần của một RTS [11] (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: Thông tin lập lịch Đồng hồ thời gian thực Lập lịch Điều khiển ngắt Xử lý các yêu cầu về tài nguyên Tài nguyên chờ xử lý Quản lý tài nguyên Sẵn sàng xử lý Danh sách sẵn sàng Danh sách tài nguyên có giá trị Giải phóng tài nguyên Bộ điều vận Danh sách 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 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ỳ. 2. Một bộ điều khiển ngắt (unterrupt 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ỳ. 16 3. Một 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. 4. Một 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. 5. 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. 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. 7. 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 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 sau 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. Nó là một đặc trưng dùng để phân biệt các hệ thống thời gian thực với các kiểu hệ thống khác. 2. Mức đồng hồ (clock level): mức này chỉ ra sự ưu tiên của một tiến trình đã xác định trước và được thực hiện theo thời gian định kỳ tính được từ đồng hồ. Trong khoảng thời gian của mỗi mức ưu tiên này, các lớp khác nhau của tiến trình có thể được chỉ định sự ưu tiên khác nhau. Ví dụ, một ngắt từ một thiết bị cần thực hiện nhanh có thể dành được quyền ưu tiên xử lý từ một thiết bị chậm hơn để tránh mất thông tin. Sự chỉ định tiến trình ưu tiên, thường được yêu cầu phân tích và mô phỏng nhiều. 17 1.5. Xử lý thời gian thực Xử lý thời gian thực (realtime processing) [5] là hình thức xử lý thông tin trong một hệ thống để đảm bảo tính năng thời gian thực của nó. Như vậy, xử lý thời gian thực cũng có các đặc điểm tiêu biểu nêu trên như tính bị động, tính nhanh nhạy, tính đồng thời và tính tiền định. Để có thể phản ứng với nhiều sự kiện diễn ra cùng một lúc, một hệ thống xử lý thời gian thực cần sử dụng các tiến trình tính toán đồng thời. Quá trình tính toán là một tiến trình thực hiện một hoặc một phần chương trình tuần tự do hệ điều hành quản lý trên một máy tính, có thể tồn tại đồng thời với các quá trình khác trong thời gian thực hiện lệnh và thời gian xếp hàng chờ thực hiện. Có ba hình thức tổ chức các quá trình tính toán đồng thời:  Tính toán tương tranh: Nhiều quá trình tính toán chia sẻ thời gian xử lý thông tin trên một bộ xử lý.  Tính toán song song: Các quá trình tính toán được phân chia thực hiện song song trên nhiều bộ xử lý của một máy tính.  Tính toán phân tán: Mỗi quá trình tính toán được thực hiện riêng trên một máy tính. Trong các hình thức trên đây thì hình thức xử lý tương tranh có vai trò chủ chốt tương ứng với trường hợp phổ biến khi hệ thống chỉ có một bộ xử lý. Mặc dù hệ thống điều khiển có thể có nhiều trạm, và mỗi trạm là một hệ đa bộ xử lý, số lượng các quá trình tính toán cần thực hiện luôn lớn hơn số lượng các bộ vi xử lý. Trong khi một Bộ vi xử lý không thể thực hiện song song nhiều lệnh, nó phải phân chia thời gian để thực hiện xen kẽ nhiều nhiệm vụ khác nhau theo thứ tự tùy theo mức ưu tiên và phương pháp lập lịch. Chờ tới chu kỳ Chờ sự kiện Sự kiện Thời gian Mã thực thi Mã thực thi Tác vụ mặc định Ví dụ: - Điều khiển logic - Kiểm tra lỗi Tác vụ tuần hoàn Ví dụ: - Điều khiển vòng kín - Xử lý truyền thông Mã thực thi Tác vụ sự kiện Ví dụ: - Điều khiển trình tự - Xử lý sự cố Hình 1.4: Các kiểu tác vụ theo chuẩn IEC 61131-3 18 Trong các hệ thống điều khiển, khái niệm tác vụ hay được sử dụng bên cạnh quá trình tính toán. Có thể nói, tác vụ là một nhiệm vụ xử lý thông tin trong hệ thống, được thực hiện theo cơ chế tuần hoàn hoặc theo sự kiện. Các dạng tác vụ qui định trong chuẩn IEC 61131-3 (Programmable Controllers – Part3: Programming Languages) được minh họa trên hình 1.4. Ví dụ, một tác vụ thực hiện nhiệm vụ điều khiển cho một hoặc nhiều mạch vòng kín có chu kỳ trích mẫu giống nhau. Hoặc, một tác vụ có thể thực hiện nhiệm vụ điều khiển logic, điều khiển trình tự theo các sự kiện xảy ra. Tác vụ có thể thực hiện dưới dạng một quá trình tính toán duy nhất, hoặc một dãy các quá trình tính toán khác nhau. Hoạt động của hệ thống thời gian thực được xác định thông qua việc xác định danh sách các kích thích hệ thống nhận được, danh sách các đáp ứng, và thời điểm các đáp ứng cần được sinh ra. Sự kích thích được chia thành hai loại: 1. Kích thích có chu kỳ: Những kích thích này xuất hiện trong khoảng thời gian nhất định cho trước. Ví dụ hệ thống có thể kiểm tra một bộ cảm biến, cứ mỗi 50 milli giây thực hiện một hoạt động (hồi đáp phụ thuộc vào giá trị của bộ cảm biến – “kích thích”). 2. Kích thích không theo chu kỳ: Những kích thích này xuất hiện không đều, chúng thường là những tín hiệu được sử dụng cơ chế ngắt của máy tính. Ví dụ, một kích thích sẽ là một ngắt chỉ ra rằng sự truyền vào/ra đã hoàn tất, hoặc chỉ ra rằng dữ liệu đang có trong bộ đệm. Bộ cảm biến Bộ cảm biến Bộ cảm biến Bộ cảm biến Bộ cảm biến Bộ cảm biến Hệ thống điều khiển thời gian thực Bộ thao tác Bộ thao tác Bộ thao tác Hình 1.5: Mô hình chung của hệ thời gian thực Bộ thao tác 19 Kích thích có chu kỳ trong hệ thời gian thực thường được tạo ra bằng một bộ cảm biến gắn trong hệ thống. Các kích thích này cung cấp thông tin trạng thái về môi trường hệ thống. Chúng điều khiển các hồi đáp tác động tới một tập Bộ thao tác có nhiệm vụ điều khiển một số đơn vị phần cứng, rồi sau đó Bộ thao tác làm ảnh hưởng trực tiếp tới môi trường hệ thống. Kích thích không có chu kỳ có thể sinh ra bởi các Bộ thao tác hay bởi các bộ cảm biến. Chúng thường chỉ ra một số điều kiện ngoại lệ, như ổ cứng hỏng, nó cần phải được quản lý của hệ thống. Mô hình cảm biến - hệ thống - bộ thao tác này trong hệ thời gian thực nhúng, được minh họa trong hình 1.5. 1.5.1 Xử lý ngắt Một đặc trưng hay dùng để phân biệt các hệ thống thời gian thực với các kiểu hệ thống khác là việc xử lý ngắt. Hệ thống thời gian thực phải đáp ứng với các kích thích bên ngoài (hay thường gọi là các ngắt) trong một khuôn khổ thời gian do thế giới bên ngoài ấn định. Bởi vì nhiều kích thích (ngắt) thường xuất hiện nên phải thiết lập các mức ưu tiên ngắt. Xử lý ngắt bắt buộc không chỉ lưu trữ thông tin để cho máy tính có thể chạy lại đúng đắn nhiệm vụ đã bị ngắt trước đó mà còn phải tránh tắc nghẽn và các chu trình vô hạn. Luồng xử lý “thông thường” Xử lý ngắt ngắt được thông báo     Chương trình bị ngắt Xác định bản chất ngắt Thực hiện dịch vụ ngắt Khôi phục trạng thái của chương trình khi bị ngắt  Tiếp tục thực hiện chương trình khi bị ngắt Hình 1.6 Mô hình xử lý ngắt Cách tiếp cận tổng thể với xử lý ngắt được minh họa trong hình 1.6. Luồng xử lý thông thường bị “ngắt” bởi một sự kiện được bộ xử lý phát hiện ra từ phần cứng nào đó. Một sự kiện là bất kỳ một sự xuất hiện nào đòi hỏi được đáp ứng ngay lập tức và 20 sự đáp ứng đó có thể được sinh ra bởi phần cứng hoặc phần mềm. Trạng thái của chương trình bị ngắt được lưu trữ và điều khiển được chuyển cho dịch vụ ngắt, tức là chuyển tới một phần mềm thích hợp để xử lý ngắt. Khi hoàn thành xong nhiệm vụ ngắt thì trạng thái của máy lại được khôi phục và luồng xử lý dở dang (thông thường) lại được tiếp tục. Trong nhiều tình huống, bản thân dịch vụ ngắt cho một sự kiện có thể lại bị ngắt bởi một sự kiện khác, có mức ưu tiên cao hơn. Mức ưu tiên ngắt (Hình 1.7) có thể được thiết lập. Nếu một tiến trình có mức ưu tiên thấp ngẫu nhiên được phép ngắt bởi một tiến trình có mức ưu tiên cao thì có thể khó chạy lại các tiến trình theo đúng trật tự và có thể làm phát sinh chu trình vô hạn. Mức ưu tiên ngắt Thời gian 0 1 Luồng xử lý thông thường 2 3 Ngắt mức 1 Mức 1 dịch vụ ngắt Mức 2 dịch vụ ngắt Dịch vụ ngắt mức 3 Dịch vụ ngắt mức 3 hoàn thành Hình 1.7 Ưu tiên ngắt Để xử lý ngắt mà vẫn đáp ứng cho các ràng buộc thời gian hệ thống, nhiều hệ điều hành thời gian thực tiến hành tính toán động để xác định xem mục tiêu hệ thống đã đạt chưa. Những tính toán động này đều dựa trên tần số trung bình số lần xuất hiện của sự kiện, khối lượng thời gian cần để phục vụ nó (nếu chúng có thể được phục vụ), và chương trình có thể ngắt tạm thời ngăn cản chúng phục vụ. Nếu các tính toán động chỉ ra rằng, không thể xử lý được các sự kiện xuất hiện trong hệ thống mà vẫn đáp ứng các ràng buộc thời gian thì hệ thống phải quyết định theo sơ đồ hành động. Một sơ đồ có thể bao gồm việc đặt dữ liệu vào bộ đệm để nó có thể được xử lý nhanh chóng khi hệ thống sẵn sàng. 21 1.5.2 Quản lý tiến trình Quản lý tiến trình trong hoạt động thời gian thực đề cập tới việc quản lý một tập các tiến trình cùng thực hiện. Đó là một phần của hệ thời gian thực. Quản lý tiến trình cần chọn ra một tiến trình để thực hiện tại một thời điểm, phân chia bộ nhớ và tài nguyên xử lý cho các tiến trình đó và bắt đầu thực hiện nó trên một bộ xử lý. Tiến trình định kỳ là tiến trình cần được thực hiện sau một khoảng thời gian xác định đã cho giữa hai tiến trình với dữ liệu thu được và Bộ thao tác điều khiển. Sự hoạt động này sử dụng đồng hồ thời gian thực để quyết định thời điểm một tiến trình được thực hiện. Trong một hệ thời gian thực sẽ có một số lớp tiến trình định kỳ. Sẽ có sự khác nhau giữa thời gian thực hiện và hạn định. Khi thực hiện cần chọn tiến trình thích hợp để thực thi ở bất cứ thời điểm nào. Đồng hồ thời gian thực được cấu hình là những tiếng “tick” theo chu kỳ, mà khoảng cách giữa những lần “tick” là vài mili giây. Đồng hồ “tick” khởi tạo một mức ngắt tiến trình sau khi lập lịch quản lý tiến trình cho các tiến trình định kỳ. Tiến trình mức ngắt thường không hồi đáp cho sự quản lý tiến trình định kỳ bởi vì việc xử lý ngắt cần được hoàn thành nhanh nhất có thể. Bộ lập lịch Quản lý tài nguyên Chọn tiến trình cho thực hiện Phân chia bộ nhớ và bộ xử lý Bộ điều vận Bắt đầu thực hiện trên một bộ xử lý có giá trị Hình 1.8: Hành động thực thi thời gian thực yêu cầu bắt đầu một tiến trình Hoạt động quản lý tiến trình định kỳ được chỉ ra ở hình 1.8. Danh sách các tiến trình định kỳ được Bộ lập lịch kiểm tra và lựa chọn một tiến trình để thực hiện. Sự lựa chọn này phụ thuộc vào tiến trình ưu tiên, tiến trình định kỳ, thời gian thực thi mong muốn và giới hạn kết thúc của các tiến trình đã sẵn sàng. Đôi khi, có hai tiến trình với hai giới hạn khác nhau cần được thực hiện tại cùng một thời điểm. Trong tình huống này, một tiến trình sẽ được gán một khoảng thời gian trễ trong giới hạn thời gian của nó. Nguyên nhân gây ra ngắt của máy tính là điều khiển truyền tới một vị trí xác định trên bộ nhớ, nó bao gồm một lệnh nhảy tới một dich vụ ngắt thông thường. Dịch vụ ngắt thường cần đơn giản, ngắn và có số lần thực hiện ít. Khi một ngắt được phục vụ, những ngắt khác sẽ không thể thực hiện được và sẽ bị hệ thống bỏ qua. Để việc mất
- Xem thêm -