Đề Xuất 3/2023 # Nói Chuyện Về Hệ Thời Gian Thực – Phần 3: Định Nghĩa # Top 5 Like | Comforttinhdauthom.com

Đề Xuất 3/2023 # Nói Chuyện Về Hệ Thời Gian Thực – Phần 3: Định Nghĩa # Top 5 Like

Cập nhật nội dung chi tiết về Nói Chuyện Về Hệ Thời Gian Thực – Phần 3: Định Nghĩa mới nhất trên website Comforttinhdauthom.com. Hy vọng thông tin trong bài viết sẽ đáp ứng được nhu cầu ngoài mong đợi của bạn, chúng tôi sẽ làm việc thường xuyên để cập nhật nội dung mới nhằm giúp bạn nhận được thông tin nhanh chóng và chính xác nhất.

Như vậy, tới đây chúng ta đã hoàn thành phác thảo xong những đường nét, hình dáng chung của một hệ đáp ứng thời gian thực, theo cảm nhận của chúng ta. Những cảm nhận về tính chất liên tục, tức thời của các đối tượng vật lý theo thời gian, đặt ra cho một hệ thống chạy trên vi xử lý, để nó có thể tham gia vào thế giới thực, tương tác với các đối tượng thực. Đây là cách tiếp cận tương đối dễ dàng, trực quan nhưng lại có phần cảm tính, thiếu thuyết phục. Vì vậy, trong phần này, chúng ta sẽ cùng nhau phân tích các khái niệm về thời gian thực từ những tài liệu khác nhau để làm sáng tỏ hơn nội dung đó.

Nội dung cơ bản của hệ thời gian thực

Tác giả Hoàng Minh Sơn, trong bài viết được dẫn ở link số [2], có nhắc lại định nghĩa của Stankovic, như một quan niệm phổ biến và được công nhận rộng rãi về hệ thời gian thực:

“Hệ thời gian thực là một hệ thống mà ở đó tính chính xác trong hoạt động của chúng không chỉ phụ thuộc vào kết quả mang tính logic, mà còn phụ thuộc cả vào thời điểm đưa ra kết quả ấy.”

Định nghĩa này nói lên mối quan tâm đặc biệt của hệ thời gian thực đối vời thời gian tính toán và thời điểm đưa ra đáp ứng của hệ thống. Cùng với quan điểm này, tác giả Robert Oshana trong tài liệu số [5], có nhắc lại định nghĩa trong từ điển Oxford như sau:

“Hệ thời gian thực là bất cứ hệ thống nào mà ở đó, thời gian nơi kết quả được xuất ra, là một yếu tố quan trọng.” ([5] tr. 19).

Ở một chương khác, ông cũng nhấn mạnh:

“Hãy luôn ghi nhớ điều này khi đề cập đến hệ thời gian thực, rằng: đưa ra quá muộn đáp án đúng thì cũng là kết quả sai.” ([5] tr. xii)

Giới hạn cho xử lý vào ra

Được rồi, hệ thời gian thực là hệ rất coi trọng tới thời điểm đưa ra kết quả, rồi sao nữa? hãy nói cụ thể hơn đi!

Về vấn đề này, tác giả Robert Oshana có lý giải thông qua một ví dụ về việc xếp hàng mua vé xem phim. Đây là một ví dụ khá hay, nên mình xin được trích dịch lại ra đây:

“Hãy quay trở lại ví dụ về thế giới thực của chúng ta. Gần đây, tôi có đưa bọn trẻ nhà tôi đi xem phim. Khi tới nơi, chúng tôi phải xếp hàng để mua vé. Thực tế là, chúng tôi đã được đưa vào một hàng đợi đang trong quá trình xử lý, và phải đứng sau những người đến xem phim khác. Nếu dòng người giữ nguyên độ dài và không tăng lên theo thời gian. Điều đó có nghĩa, hàng đợi đó đáp ứng được thời gian thực – theo khía cạnh: số lượng khách hàng đã được xử lý bằng với số lượng người mới thêm vào. Dòng người này có thể trở nên ngắn đi hoặc dài hơn một chút, nhưng không được phát triển tới mức không thể giới hạn. Nếu bạn nhớ lại cuộc di dân tại Houston, khi cơn bão Rita ập đến, nó là một hàng đợi đã phát triển tới mức không thể kiểm soát nổi! Hàng đợi này rõ ràng không đáp ứng thời gian thực vì đã tăng lên một cách không giới hạn, và hệ thống (hệ thống di dân) được xem như đã thất bại. Nếu một hệ real-time (real-time system) không thể thực thi trong thời gian thực thì nó sẽ thất bại.

Nếu hàng đợi là quá lớn (nghĩa là tôi phải đứng trong dòng người mua vé rất dài), mà không tăng thêm, hệ thống vẫn có thể  không đáp ứng. Nếu tôi mất 50 phút mới tới được đầu hàng để mua vé, tôi sẽ vô cùng nản chí và cùng các con bỏ đi trước khi mua được vé xem phim (các con tôi sẽ cho đó là một sự thất bại). Hệ thời gian thực cũng cần chú ý tới hàng đợi dài, chúng có thể khiến hệ thống bị lỗi. Hệ thời gian thực có thể xử lý thông tin (hàng đợi) theo một trong hai cách sau: hoặc là xử lý ngay từng phần dữ liệu tại từng thời điểm, hoặc là sử dụng bộ đệm để lưu thông tin, và sau đó xử lý ‘hàng đợi’. Kích thước hàng đợi sẽ không được quá dài, nếu không hệ thống sẽ có độ trễ đáng kể và sẽ không được coi là thời gian thực.

Nếu thời gian thực bị vi phạm, hệ thống sẽ xảy ra lỗi, và phải khởi động lại. Nếu phân tích chi tiết hơn, sẽ có hai khía cạnh của hệ thời gian thực. Khía cạnh thứ nhất là quan điểm rằng: với mỗi chu kỳ trích mẫu, một nhóm dữ liệu ở đầu vào phải được cập nhật và một nhóm dữ liệu đầu ra phải được gửi đi. Khía cạnh thứ 2 là quan điểm về trễ. Độ trễ ở đây là thời gian trễ từ khi có tín hiệu đi vào hệ thống cho đến lúc có tín hiệu đi ra khỏi hệ thống đó, nó phải được đảm bảo gần như tức thì.

Hãy luôn ghi nhớ điều này khi đề cập đến hệ thời gian thực, rằng: đưa ra quá muộn đáp án đúng thì cũng là kết quả sai! Nếu tôi nhận được vé và trả đủ số tiến sau khi chờ đợi nhưng bộ phim thì đã bắt đầu thì hệ thống vẫn không đáp ứng. ” ([5] tr. xii).

Như vậy, bằng ví dụ về việc xếp hàng mua vé, tác giả đã minh họa những khía cạnh của hệ thời gian thực với lĩnh vực xử lý tín hiệu. Theo đó, hệ thời gian thực được đặt trong hoàn cảnh phải liên tục xử lý thông tin đi vào hệ thống, chúng cần có tốc độ xử lý phù hợp để nhanh chóng đưa ra được đáp ứng trước khi có dữ liệu mới đẩy tới. Thời gian ‘trễ’ từ khi nhận được dữ liệu cho tới khi đưa ra kết quả phải đủ nhỏ đến mức gần như tức thời.

Một cách không thực sự rõ ràng tác giả Robert Oshana cũng đã đề cập đến việc một hệ thống muốn đáp ứng thời gian thực, chúng phải có khả năng đưa ra kết quả trong một khung thời gian cho trước, mà nếu nó bị vi phạm (hàng đợi phát triển tới mức không thể giới hạn) thì hệ thống sẽ bị lỗi. Ở một chương khác, chương 2 ‘Overview of Embedded Systems and Real-Time Systems’, tác giả có đề cập cụ thể hơn:

“Hệ thống thời gian thực là hệ thống được yêu cầu để phản ứng lại với kích thích của môi trường (bao gồm sự thay đổi của thời gian vật lý) bên trong những khoảng thời gian được quy định bởi môi trường đó” … “Một cách hiểu khác về hệ thống thời gian thực là bất cứ những hoạt động hay hệ thống xử lý thông tin nào, mà phải đáp ứng lại kích thích từ bên ngoài trong những chu kỳ hữu hạn và xác định. Thông thường, hệ thời gian thực là hệ mà có thể duy trì sự tương tác liên tục theo thời gian với môi trường của chúng ”  ([5] tr. 19).

Trong các ứng dụng xử lý tín hiệu, khung thời gian này thường gắn với chu kỳ trích mẫu (mà ta đã đề cập tới ở phần trước). Tác giả cũng nhắc tới ý này khi viết về một khía cạnh của hệ thời gian thực: “Khía cạnh thứ nhất là quan điểm rằng: với mỗi chu kỳ trích mẫu,một nhóm dữ liệu ở đầu vào phải được cập nhật và một nhóm dữ liệu đầu ra phải được gửi đi”.

Các khung thời gian

Về ý này, tác giả Lưu Hồng Việt trong ‘Tài liệu tóm tắt bài giảng hệ thống điều khiển nhúng’ có viết

“Thực chất, theo cách hiểu nếu nói trong các hệ thống kỹ thuật đặc biệt các hệ thống yêu cầu khắt khe về sự ràng buộc thời gian, thời gian thực được hiểu là yêu cầu của hệ thống phải đảm bảo thoả mãn về tính tiền định trong hoạt động của hệ thống. Tính tiền định nói lên hành vi của hệ thống thực hiện đúng trong một khung thời gian cho trước hoàn toàn xác định. Khung thời gian này được quyết định bởi đặc điểm hoặc yêu cầu của hệ thống, có thể là vài giây và cũng có thể là vài nano giây hoặc nhỏ hơn nữa.” ([1] tr. 6).

Để nhấn mạnh yêu cầu phải liên tục hoàn thành các thao tác trong khung thời gian định trước đối với hệ thời gian thực. Tác giả Michael J. Pont, trong chương 6: Meeting real-time constraints, ở tài liệu [8] có viết:

“Như ví dụ sau, hãy xem sét ứng dụng điều khiển bay tự động ở hình trên. Chúng ta giả sử rằng, phi công đã nhập vào hướng lộ trình cần thiết, khi đó, hệ thống phải đưa ra những thay đổi thường xuyên và ổn định cho cánh lái hướng, cánh lái độ cao, cánh liệng và động cơ (ví dụ như vậy) để giữ cho máy bay đi theo lộ trình ấy.

Một đặc điểm quan trọng của hệ thống nhúng là phải xử lý đầu vào và đưa ra kết quả đầu ra thật nhanh, theo đơn vị thời gian được đo bằng ms. Đối với trường hợp này, thậm chí một khoảng trễ nhỏ trong thay đổi cánh lái hướng (ví dụ như thế) có thể gây ra cho máy bay những dao động không mong muốn, đi vào các trạng thái cực đoan hoặc thậm chí bị rơi. Tuy nhiên, để có thể giúp hệ thống bay tự động như vậy được chứng nhận và đi vào sử dụng, thì việc đảm bảo rằng quá trình xử lý đã ‘nhanh nhất mà chúng tôi có thể’ không thỏa mãn được các nhà chức năng. Trong trường hợp này, cũng như với rất nhiều các ứng dụng thời gian thực khác, tính năng trọng yếu là khả năng xử lý tiền định. Điều đó có nghĩa rằng, trong rất nhiều các hệ thống nhúng thời gian thực, chúng ta cần có khả năng để đảm bảo rằng từng chức năng riêng biệt sẽ luôn luôn được hoàn thành trong 2 ms (ví dụ như thế). Nếu quá trình xử lý không đáp ứng đặc tính kỹ thuật này, thì ứng dụng không chỉ đơn thuần là chậm hơn những gì mà chúng ta muốn, mà là – chúng đã vô dụng” ([8] tr.113).

Như vậy, với hệ thời gian thực, nội dung quan trọng trong việc đưa ra đáp ứng đúng thời điểm là chúng phải nằm trong một khung thời gian cho trước, khung thời gian này phải đủ nhanh để đảm bảo tính tức thời với môi trường mà hệ thống tương tác.

Tính tiền định

Cùng với các khung thời gian quy định trước, ta thấy đi kèm với nó trong các phát biểu trên là tính tiền định. Tức tính chất cho biết trước thời hạn mà hệ đưa ra đáp ứng kể từ khi nhận được kích thích. Tính tiền định là một khái niệm quan trọng của hệ thời gian thực. Đối với hệ thống đơn giản, chỉ phải đáp ứng với 1 kích thích đơn, tính tiền định gắn liền với một khung thời gian đã biết trước khi thiết kế hệ thống (ví dụ với các ứng dụng xử lý tín hiệu, thì là các chu kỳ trích mẫu). Trong các hệ thống khác, phải đáp ứng nhiều tác vụ, phản ứng với nhiều kích thích, khái niệm này cũng được mở rộng thêm.

Tác giả Dave Stewart, trong bài viết ‘Introduction to Real Time’ ở tài liệu số [6] có bàn luận thêm về tính tiền định này trong hệ thống có nhiều tác vụ, với 2 cách gọi cùng mang ý nghĩa chỉ tính tiền định. Đó là tính tất định ‘deterministic’ và tính có thể dự đoán trước ‘predictable’. Hai khái niệm này có nội dung tương tự nhau và thường hay được dùng lẫn cho nhau với ý nghĩa chỉ tính tiền định. Tuy nhiên, nếu phải phân biệt, thì từ predictable thường đề cập tới hệ thống thời gian thực một cách tổng thể, nơi ‘tất cả các tác vụ đều thỏa mãn thời hạn deadline của mình’, còn từ deterministic để chỉ một cách tiếp cận rõ ràng, rạch ròi hơn trong quá trình thiết kế hệ thống, với sự phân chia cụ thể toàn thời gian thực thi của hệ thống thành các khung (khe, lát) thời gian xác định, ứng với từng tác vụ tương ứng.

“Các nhà nghiên cứu hệ thống thời gian thực thường sử dụng thuật ngữ có thể dự đoán được (predictable) để đề cập tới một hệ thống, nơi mà tính định thời luôn được đảm bảo nằm trong một phạm vi chấp nhận được. Tính chất này xác định trên cơ sở là toàn hệ thống, chẳng hạn như “tất cả các tác vụ đều đáp ứng tất cả deadline của chúng”. Thông thường, người thiết kế cần phải biết trước chu kỳ xử lý, deadline, và thời gian giải quyết trường hợp xấu nhất của mỗi tác vụ, để xây dựng một hệ thống đáp ứng tính dự đoán được (predictable). Một thuật toán lập lịch phù hợp, cùng với quá trình phân tích lập lịch tương ứng sẽ được sử dụng để đảm bảo hệ thống là dự đoán được.

Một hệ thống có tính tất định (deterministic) là một trường hợp đặc biệt của hệ dự đoán được.Ở đó tính chất định thời không chỉ đáp ứng nằm trong phạm vi yêu cầu mà nó còn cho phép được xác định từ trước. Như ví dụ về việc thiết kế một hệ thống với những khe thời gian được sắp đặt, tổ chức từ trước cho mỗi tác vụ. Việc thực thi mỗi tác vụ chỉ được diễn ra bên trong những khe thời gian đó. Và với những hệ thống như thế, cần phải biết trước thời gian thực thi cho tất cả các tác vụ, cũng như chắc chắn rằng sẽ không có sự kiện bất thường nào có thể xảy ra đe dọa tính chất tiền định của hệ thống. Vì vậy, đương nhiên, chúng rất khó đạt được. ” ([6]).

Cũng tương tự với ý này, tác giả Hoàng Minh Sơn có viết trong bài viết được dẫn ở tài liệu số [2] như sau:

“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. Nếu một bộ điều khiển phải xử lý đồng thời nhiều nhiệm vụ, ta phải tham gia quyết định được về trình tự thực hiện các công việc và đánh giá được thời gian xử lý mỗi công việc. Như vậy người sử dụng mới có cơ sở để đánh giá về khả năng đáp ứng tính thời gian thực của hệ thống.” [2].

Tựu chung lại, từ yêu cầu về tính kịp thời của môi trường đặt ra cho các thiết bị xử lý tính toán mà hình thành nên các khung thời gian giới hạn cho quá trình tính toán của hệ thời gian thực.  Từ khung thời gian đó, người ta phải – ít nhất – ước lượng được từ trước: khối lượng của công tác xử lý tính toán bằng ngần nào, tốc độ hoạt động của khối CPU là bao nhiêu, có sự kiện nào xen vào chương trình tính toán hay không? … để hệ thống đáp ứng deadline của chúng. Điều này hình thành nên tính tiền định cho các hệ thời gian thực.

 Cũng với ý này, tác giả Ulrich Kiffmeier trong bài ‘Real-Time Implementation’ có viết:

“Các bộ điều khiển số gián đoạn yêu cầu thao tác thời gian thực, khi kết nối với thiết bị thực, ví dụ như chức năng điều khiển cần phải được kích hoạt tại những thời điểm xác định và được hoàn thành bên trong một giới hạn thời gian quy định từ trước. Khi thiết kế những hệ thống như thế, kỹ sư điều khiển cần xác định được những ảnh hưởng từ năng lực xử lý có hạn của phần cứng bộ điều khiển và các khối vào ra. Trễ tính toán và sự biến động cần được chú ý một cách cẩn thận khi thiết kế hệ thời gian thực, bởi vì chúng sẽ tạo ra những khoảng trễ khác nhau vào hệ thống, dẫn đến suy giảm chất lượng điều khiển, thậm chí là mất ổn định, làm hư hại tới hệ thống.” [4].

Thời gian thực cứng và thời gian thực mềm

Nói một cách ngắn gọn, hệ thời gian thực cứng là hệ đòi hỏi một cách tuyệt đối việc chấp hành giới hạn của các khung thời gian. Nếu giới hạn này bị vi phạm thì hệ thống sẽ bị lỗi nghiêm trọng hoặc bị phá hủy. Còn với hệ thời gian thực mềm, thì yêu cầu này là tương đối. Tức, chúng cho phép chức năng thời gian thực có thể bị vi phạm trong một giới hạn, điều kiện nào đó.

Trên trang chúng tôi tác giả David B. Stewart có cách tiếp cận khá thú vị về vấn đề này. Trong đó, tác giả cho rằng rất khó để phân biệt một cách rõ ràng khi nào thì ứng dụng là hệ thời gian thực cứng và khi nào thì hệ là thời gian thực mềm. Tùy thuộc vào mức độ cần thiết của việc chấp hành deadline, mà ứng dụng sẽ nằm đâu đó trong dải phân bố giữa hệ không đáp ứng thời gian thực và hệ đáp thời gian thực cứng.

Về cách thức tổ chức chương trình đáp ứng thời gian thực

Đến đây, câu hỏi đặt ra là chương trình trên vi xử lý được thiết kế như thế nào để đảm bảo đặc tính thời gian thực. Để đơn giản, chúng ta hãy xem sét ở một ứng dụng điều khiển đáp ứng lại một kích thích đơn. Ở đó, trong phần ‘Phác thảo’, chúng ta đã xác định, để thỏa mãn cho hoạt động của hệ thống luôn nằm trong những khung thời gian định trước, chương trình trong vi xử lý sẽ được cài đặt trong một hàm phục vụ ngắt của timer, với chu kỳ đếm được cài đặt bằng chu kỳ trích mẫu. Mình cũng đã từng viết một chương trình như thế cho thiết bị điều khiển nghịch lưu cầu 6 van IGBT, với chương trình điều khiển được cài đặt trong ngắt của bộ định thời của khối PWM trong DSP, chu kỳ đếm được cài đặt bằng chu kỳ trích mẫu và đồng bộ với chu kỳ phát xung tương ứng với tần số 5 kHz.

Trong mục này, mình sẽ trích dẫn lại một vài điểm trong bài viết “Real-Time Implementation” của tác giả Ulrich Kiffmeier để củng cố thêm luận điểm ấy. Theo nội dung này, tác giả có viết:

“Không nhất thiết lúc nào cũng phải chạy chương trình điều khiển trong môi trường của một hệ điều hành thời gian thực. Với rất nhiều ứng dụng nhỏ mà chỉ có một tác vụ yêu cầu đáp ứng thời gian thực, thì chỉ cần một chương trình thực thi đơn giản là đủ. Trái tim của chương trình thời gian thực có kích thước tối ưu như thế là một hàm phục vụ ngắt (ISR). Hàm ngắt này sẽ được gọi ra một cách định kỳ bởi bộ định thời nằm trong phần cứng của khối điều khiển. Các hàm phục vụ ngắt này cũng tương tự như các tác vụ thời gian thực, nhưng chúng không nằm dưới sự điều khiển của hệ điều hành. Khi nhận được ngắt của bộ định thời, vi xử lý sẽ nhảy vào chương trình phục vụ ngắt (ISR) để thực thi các bước tính trong cấu trúc điều khiển. Sau khi hoàn thành chương trình ISR, vi xử lý sẽ quay trở lại chương trình background đang bị gián đoạn và tiếp tục thực hiện nó .” ([4])

Như trên hình, ta thấy chương trình chạy trên vi xử lý cho các thiết bị điều khiển thời gian thực được chia là hai phần. Phần thực hiện chức năng điều khiển thời gian thực sẽ nằm trong chương trình phục ngắt (ISR) của timer, với chu kỳ đếm thường được cài đặt là chu kỳ trích mẫu của bộ điều khiển. Phần còn lại là một chương trình được gọi là ‘Background’ đây là phần chương trình không yêu cầu đáp ứng thời gian thực (hoặc có thể nhưng ở mức độ rất thấp) thực hiện các chức năng như truyền thông, giao tiếp người dùng … Trong đó, phần chức năng điều khiển thời gian thực có mức ưu tiên cao hơn, chúng có quyền yêu cầu vi xử lý dừng chương trình background để thực thi chức năng điều khiển, và vi xử lý chỉ được giải phóng để trở lại chương trình background sau khi chương trình điều khiển hoàn thành.

Chương trình điều khiển thường là một chu trình bao gồm: trích mẫu (đọc ADC), tính toán bộ điều khiển (như trên hình là ví dụ về bộ PI số), đưa ra kết quả điều khiển cho khối chấp hành thực thi (trên hình là hàm WriteDAC(y)). Quá trình này liên tục được thực hiện mỗi khi có ngắt định thời kích hoạt.

Toàn bộ chương trình cài đặt trên vi xử lý, ngoài phần chương trình điều khiển trên ISR, chương trình nền Background thì còn có phần khởi tạo hệ thống. Đây là phần chương trình chạy đầu tiên khi vi xử lý khởi động, nó sẽ thiết lập các tham số hoạt động chung cho hệ thống, khởi tạo các ngoại vi, khối I/O, cài đặt chu kỳ đếm cho bộ định thời bằng chu kỳ trích mẫu, cho phép ngắt định thời … Sau khi quá trình khởi tạo hoàn thành, bộ đếm sẽ được kích hoạt, chương trình điều khiển sẽ được gọi ra khi bố định thời đếm đủ chu kỳ trích mẫu. Trong những lúc không bị ngắt bởi chương trình điều khiển, chương trình nền Background sẽ thực hiện chức năng quản lý giám sát của nó trong vòng lặp vô tận (vòng while(1)). Chương trình nền này có thể bao gồm: thông báo các trường hợp lỗi, truyền thông người dùng với dữ liệu không bị quy định ngặt nghèo về thời gian đáp ứng, …

Hệ thời gian thực và hệ chia sẻ thời gian

Để khái niệm thời gian thực được phác họa một cách chân thực hơn, mục này sẽ đưa ra những so sánh giữa hệ thời gian thực và một hệ thống khác là hệ chia sẻ thời gian (đại diện cho hệ thống này là các phần mềm chạy trên PC). Nội dung này đã được đề cập trong tài liệu số [5] ‘DSP Software Development Techniques for Embedded and Real-Time Systems’, nhận thấy đây là một nội dung hay, nên mình xin dịch lại, để đưa thêm một góc tiếp cận khác giúp cho chúng ta có một cái nhìn toàn diện hơn.

Hệ thời gian thực khác với hệ chia sẻ thời gian trên 3 phương diện chính. Chúng bao gồm khả năng đáp ứng nhanh một cách tiền định với những sự kiện bất thường:

1.      Chế độ lập lịch ở mức độ cao – những yêu cầu về định thời trong hệ thống cần phải được thỏa mãn với mức độ sử dụng tài nguyên cao.

2.      Độ trễ trường hợp tồi tệ nhất – chắc chắn rằng hệ thống vẫn duy trì hoạt động và đáp ứng với thời gian của trường hợp xấu nhất dành cho các sự kiện.

3.      Năng lực ổn định trong quá tải tạm thời: khi hệ thống bị quá tải bởi các sự kiện và chúng không có khả năng để đảm bảo đáp ứng tất cả các deadline. Trong trường hợp ấy, những deadline của các tác vụ trọng yếu vẫn phải được đảm bảo.

Đặc tính

Hệ chia sẻ thời gian

Hệ thời gian thực

Năng lực của hệ thống

Năng suất cao

Chế độ lập lịch và năng lực của các tác vụ thỏa mãn đáp ứng toàn bộ các deadline

Mức độ đáp ứng

Tốc độ đáp ứng trung bình là cao

Luôn đảm bảo thời gian trễ của trường hợp xấu nhất, tức thời gian đáp ứng trong trường hợp xấu nhất cho các sự kiện

Quá tải

Tất cả đều giống nhau

Ổn định – khi hệ thống bị quá tải, những tác vụ quan trọng vẫn phải đáp ứng deadline của chúng trong khi những tác vụ khác có thể không được ưu tiên

V0.0 – 12/05/2017

Thanh Phong dịch và tổng hợp

Tài liệu tiếng Việt

[1] TS. Lưu Hồng Việt, Tài liệu tóm tắt bài giảng hệ thống điều khiển nhúng, Trường Đại học Bách khoa Hà Nội, Bộ môn Điều khiển tự động.

[2] chúng tôi Hệ thời gian thực và điều khiển thời gian thực, thành viên PPIICC đăng lại bài viết cùng tên của tác giả Hoàng Minh Sơn trên tạp chí TĐHNN.

http://www.dientuvietnam.net/forums/forum/x%E1%BB%AD-l%C3%BD-t%C3%ADn-hi%E1%BB%87u-v%C3%A0-h%E1%BB%87-th%E1%BB%91ng-nh%C3%BAng/h%E1%BB%87-th%E1%BB%91ng-nh%C3%BAng/441-h%E1%BB%87-th%E1%BB%9Di-gian-th%E1%BB%B1c-v%C3%A0-%C4%91i%E1%BB%81u-khi%E1%BB%83n-th%E1%BB%9Di-gian-th%E1%BB%B1c

[3] embedded247, Hệ thống thời gian thực

https://sites.google.com/site/embedded247/embedded_system/rtsystem

Tài liệu tiếng Anh

[4] Ulrich Kiffmeier, Real-Time Implementation, Control System, Robotics, and Automation – Vol. II

[5] Robert Oshana, DSP Software Development Techniques for Embedded and Real-Time Systems, Newnes, 2006

[6] Dave Stewart, Introduction to Real Time, embedded.com

http://www.embedded.com/electronics-blogs/beginner-s-corner/4023859/Introduction-to-Real-Time

[7] Kanaka Juvva, Real-Time Systems, users.ece.cmu.edu

https://users.ece.cmu.edu/~koopman/des_s99/real_time/

[8] Michael J. Pont, Embedded C,Addison-Wesley Professional 2002. Chapter 6: Meeting real-time constraints

Các Cách Nói Về Thời Gian Trong Tiếng Anh.

a.Khi người được hỏi thì có vai vế thấp hơn hay những cuộc trò chuyện mang tính chất thân mật.

What’s the time? / What time is it? : Bây giờ là mấy giờ?

b. Trong những hoàn cảnh mang tính trang nghiêm thì chúng ta nên đặt những câu hỏi mang tính lịch sự hơn.

* Could you tell me the time, please? : Bạn có thể xem giúp tôi mấy giờ rồi được không?* Do you happen to have the time? : Bạn có biết mấy giờ rồi không? * Do you know what time it is? : Bạn có biết mấy giờ rồi không?

Với 2 cách hỏi giờ mang tính chất khác nhau như vậy thì điều chúng ta cần làm đó là xác định cho đúng trường hợp cần dùng những câu hỏi trên để mang lại hiệu quả cao trong giao tiếp.

Những câu trả lời cho câu hỏi về thời gian cũng có rất nhiều những kiến thức mà chúng ta cần nhớ để có thể vận dụng thật chuyên nghiệp trong giao tiếp.

a. Câu trả lời thời gian cần có gì ?

Cấu trúc câu trả lời gồm có trạng từ hay chủ ngữ It đứng trước cụm từ chỉ thời gian, các trạng từ đó gồm:

* It’s …: Bây giờ là … giờ * Exactly … : Chính xác là … giờ * About … : khoảng … giờ * Almost … : Gần … giờ * Just gone … : Hơn … giờ

Hoặc nếu bạn thấy có vấn đề gì đấy có thể dùng :

* My watch is … (slow/fast) : Đồng hồ của tôi thì bị (chậm/nhanh) * That/this/The clock’s a little … (slow/fast) : Cài đồng hồ kia thì hơi (chậm/nhanh)

Với trường hợp các bạn sử dụng hệ thời gian 12h thì kí hiệu để nhận biết buổi sáng (AM) buổi chiều (PM) là điều vô cùng quan trọng, nó giúp bạn không bị sai lịch với ngwoif khác.

b. Các cách nói giờ đúng nhất cho bạn

* Cách nói giờ chung : It’s + số giờ + số phút * Cách nói giờ đúng : it’s + số giờ + o’clock * Cách nói giờ hơn : It’s + số phút + PAST + number * Cách nói giờ kém : It’s + số phút + TO + số của giờ

C.Những sự chuyên nghiệp hơn trong cách gọi giờ.

* a quarter past = 15 minutes past : hơn 15 phút * a quarter to = 15 minutes to : kém 15 phút * half past = 30 minutes past : hơn 30 phút Ví dụ : 6:15: It’s a quarter past six (= It’s fifteen past six) 6:45: It’s a quarter to seven (= It’s fifteen to seven) 6:30 : It’s half past six. (= It’s thirty past six)

Cách Nói Thời Gian Và Thời Điểm Trong Tiếng Anh

Cách học tiếng anh hiệu quả: Nói về thời gian

Bạn đã học tiếng Anh trong bao lâu? Bạn có chắc chắn rằng khi ai đó hỏi ” What time is it now?” thì có thể trả lời ngay tức thì mà không phải băn khoăn về việc mình trả lời đúng hay sai?

Trong bài viết này, xin giới thiệu với bạn những cách nói giờ thông dụng bằng tiếng Anh để bạn có thể sử dụng dễ dàng.

Có hai cách thông dụng để nói về thời gian trong tiếng Anh:

Giờ trước, phút sau: đây là cách nói được dùng trong các ngữ cảnh trang trọng và dễ nhớ

Ví dụ: 7:45 – seven forty-five

Với những phút từ 01 đến 09, bạn có thể phát âm số ‘0’ là “oh”.

Ví dụ: 11:06 – eleven (oh) six

Phút trước, giờ sau: đây là cách nói phổ biến hơn. Nói phút trước giờ sau. Từ phút thứ 01 đến phút 30 dùng từ “past”, từ phút 31 đến phút 59 dùng từ “to”

Ví dụ: 7:15 – fifteen minutes past seven- 7: 45 – fifteen minutes to eight

Tuy nhiên, người ta cũng có cách nói khác với giờ hơn / kém 15 phút và 30 phút, như:

’15 minutes past’ = a quarter past

’15 minutes to’ = a quarter to

’30 minutes past’ = half past

5:30 – half past five

Chỉ dùng “o’clock” với giờ đúng – ví dụ: 7:00 – seven o’clock (nhưng 7:10 – ten past seven)

Khung thời gian 12 giờ thường được sử dụng trong lối nói hàng ngày. Còn trong thời gian biểu, người ta thường sử dụng khung giờ 24 tiếng. Tuy nhiên trong văn nói, khung giờ 24 tiếng chỉ được sử dụng trong những thông báo chính thức chứ không được sử dụng trong lối nói thông thường – ví dụ: 17:20 – twenty past five

Với những khoảng thời gian nửa đêm, nửa ngày, hoặc buổi trưa thì người ta thường sử dụng các từ như midnight hoặc midday / noon thay bằng con số 12.

Ví dụ 1: 00:00 – midnight

Ví dụ 2: 12:00 – midday hoặc noon

Để làm rõ ý hơn khi muốn nói thời gian trước hay sau 12 giờ trưa, bạn có thể sử dụng “in the morning”, “in the afternoon”, “in the evening” hoặc “at night”. Khi nào đổi “afternoon” thành “evening”, từ “evening” thành “night”, từ “night” thành “morning” là tùy thuộc vào ý nghĩa thời gian mà bạn muốn nói đến.

Ví dụ: 3:15 – a quarter past three in the morning HOẶC a quarter past three at night

Để chỉ thời điểm trước hay sau buổi trưa, người ta có cách diễn đạt mang tính trang trọng hơn là a.m ( ante meridian – trước buổi trưa) và p.m ( post meridian – sau buổi trưa).

Ví dụ: 3:15 – three fifteen a.m.

Người ta không hay dùng a.m. và p.m. với past/to. Ví dụ: 3:15 – fifteen minutes past three hoặc a quarter past three.

Định Nghĩa Và Cấu Tạo Của Relay Trung Gian

Relay trung gian là thiết bị điện khá phổ biến nhưng không hẳn ai cũng hiểu rõ về nó. Ở nội dung bài viết này, Thiết bị điện Schneider giúp bạn hiểu rõ hơn về định nghĩa cũng như cấu tạo của Relay trung gian.

Định nghĩa Relay trung gian

Relay trung gian về cơ bản là kiểu nam châm điện có kích thước nhỏ làm nhiệm vụ khuyếch đại và chuyển mạch tín hiệu điều khiển. Hay mặt khác, Relay trung gian chính là một công tắc có hai chế độ làm việc là ON và OFF.

Cấu tạo của Relay trung gian

Relay trung gian được cấu tạo gồm: cuộn dây, lõi thép động, lõi thép tĩnh, 2 ốc vít điều chỉnh, 2 tiếp điểm thường mở, 2 tiếp điểm thường đóng, 2 lò xo và giá cách điện. Trong đó, cuộn dây có thể là cuộn cường độ, cuộn điện áp hoặc cả hai. Lõi thép động được định vị bởi ốc vít đồng thời được găng bởi lò xo, lò xo được giữ bởi ốc vít. Tiếp điểm thường mở thường là tiếp điểm thuận, ngược lại tiếp điểm thường đóng là tiếp điểm nghịch.

Relay trung gian được thiết kế với hai mạch hoạt động độc lập với nhau. Trong đó: 1 mạch để điều khiển cuộn dây tức là điều khiển cho dòng điện chạy qua hoặc không cho chạy qua cuộn dây. Một mạch điều khiển dòng điện có được phép đi qua cuộn dây hay không.

Relay trung gian hoạt động theo nguyên lý: khi cấp điện dòng chạy qua cuộn dây. Dòng điện bên trong cuộn dây sẽ tạo ra từ trường hút tác động lên đòn bẩy làm đóng hoặc mở hệ thống tiếp điểm. Điều này sẽ kích hoạt Relay mở hoặc đóng.

Lưu ý: Một Relay chất lượng thường có hệ thống tiếp điểm nhiều tức là sử dụng 4-6 tiếp điểm có thể làm đảm nhiệm 2 chức năng vừa mở vừa đóng.

Ưu điểm của Relay trung gian

Đúng như tên gọi Relay trung gian làm trung gian giữa mạch điện và thiết bị khác. Khi điện yếu hoặc không đủ yêu cầu thì Relay sẽ tự ngắt điện không cho thiết bị làm việc. Ngược lại nếu điện ổn định trở lại Relay cấp điện cho thiết bị làm việc bình thường.

Relay trung gian có nhiều tiếp điểm được sử dụng chia tín hiệu đến các bộ phận khác nhau trong hệ thống mạch điện điều khiển.

Ngoài ra, Relay trung gian còn được sử dụng để truyền tín hiệu cho bộ phận phía sau bằng cách làm phần tử đầu ra.

Bạn đang đọc nội dung bài viết Nói Chuyện Về Hệ Thời Gian Thực – Phần 3: Định Nghĩa trên website Comforttinhdauthom.com. Hy vọng một phần nào đó những thông tin mà chúng tôi đã cung cấp là rất hữu ích với bạn. Nếu nội dung bài viết hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!