5/5 - (3 bình chọn)

Tổng quan về hệ điều hành OSEK/VDX OS

OSEK/VDX

Nếu như trước đây, sự phát triển công nghệ ô tô tập trung vào cơ khí như hiệu suất động cơ, thì gần đây, việc phát triển công nghệ điện tử nhằm cải thiện an toàn, tiện nghi và chi phí thông qua việc sử dụng thiết bị điều khiển điện tử (ECU, Electronic Control Unit) đang diễn ra mạnh mẽ. Ngoài ra, khi yêu cầu của người tiêu dùng về ô tô thay đổi nhanh chóng, số lượng mẫu xe được sản xuất đa dạng hơn, và do sự phát triển các dịch vụ như tự lái, điện hóa, độ phức tạp của phần mềm trong xe tăng lên đáng kể.
Những thay đổi này đã làm cho chi phí phát triển phần mềm chiếm một tỷ trọng đáng kể trong chi phí sản xuất ô tô. Ngành công nghiệp ô tô đã ban hành tiêu chuẩn OSEK/VDX, một hệ thống nhúng dành cho ô tô, nhằm giảm chi phí phát triển phần mềm bằng cách cung cấp một hệ điều hành (OS) hỗ trợ tăng cường khả năng tái sử dụng (Reusability) và khả năng di chuyển (Portability) của phần mềm ứng dụng theo từng mô-đun và dễ dàng chuyển sang các thiết bị điều khiển khác. Trong trang này, chúng ta sẽ tìm hiểu về hệ điều hành OSEK/VDX OS, tiêu chuẩn Real-Time OS cho xe hơi.

Lịch sử

• OSEK: Tháng 5 năm 1993, dự án chung của ngành công nghiệp ô tô Đức
o Offene Systeme und deren Schnittstellen für die Elektronik im Kraftfahrzeug
o Các công ty tham gia: BMW, Bosch, Daimler Chrysler, Opel, Siemens và các hãng khác.
• VDX: Cùng thời điểm, dự án chung của ngành công nghiệp ô tô Pháp
o Vehicle Distributed eXecutive
o Các công ty tham gia: PSA, Renault
• Năm 1994, hai dự án OSEK và VDX hợp nhất thành OSEK.
• Năm 1997, chính thức công bố tiêu chuẩn OSEK, hệ điều hành thời gian thực cho xe hơi.
OSEK/VDX được ban hành với mục đích giảm chi phí phát triển phần mềm bằng cách cung cấp một hệ điều hành (OS) hỗ trợ tăng cường khả năng tái sử dụng (Reusability) và khả năng di chuyển (Portability) của phần mềm.
Lưu ý rằng, dựa trên OSEK/VDX, nền tảng phần mềm tiêu chuẩn cho xe hơi AUTOSAR đã được ban hành.

Tiêu chuẩn mở

OSEK/VDX đưa ra 4 tiêu chuẩn chính (Main Standard) và 3 tiêu chuẩn phụ (Sub Standard) như sau:
Tiêu chuẩn chính
• OS :: Operating System
• OIL :: OSEK Implementation Language
• COM :: Communication
• NM :: Network Management
Tiêu chuẩn phụ
• ORTI :: OSEK/VDX Real-Time Interface
• OSEK/VDX Time-Triggered Operating System
• OSEK/VDX Fault-Tolerant Communication Specification
Quy cách
Mặc dù OSEK/VDX được ban hành và phát triển trong ngành công nghiệp ô tô, nhưng nó không chỉ là một Real-Time OS dành cho ô tô. OSEK là một quy cách (Specification), trong đó mô tả chi tiết về cách thức OSEK được cấu thành. Nếu đáp ứng được tiêu chuẩn mở (Open Standard) của OSEK, bất kỳ tổ chức hay cá nhân nào cũng có thể tạo ra và cập nhật mã nguồn triển khai (Implementation) tối ưu cho mục đích của mình.
Do đặc điểm này, OSEK/VDX OS được áp dụng và sử dụng trong các hệ thống cần tính nhỏ gọn (Compact), phân tán (Distributed) và thời gian thực (Real-Time). Không giống như các hệ điều hành khác, OSEK là một tiêu chuẩn mở (Open Standard) cung cấp triển khai hiệu quả nhất phù hợp với bộ xử lý (Processor). Các hệ thống dựa trên tiêu chuẩn OSEK/VDX có thể sử dụng dịch vụ OS với tài nguyên tính toán tối thiểu.

Implementation

Trong ngành công nghiệp ô tô, họ không sử dụng OS đã được tạo sẵn. Thay vào đó, họ tự cấu hình (Configuration) và tạo ra (Generation) các dịch vụ và chức năng của OS phù hợp với đối tượng OSEK (OSEK Object) và mục đích sử dụng. Để làm điều này, họ viết tệp OSEK OIL và tạo mã nguồn nhân OS thông qua một công cụ xây dựng riêng biệt gọi là OS Generator.
Có các triển khai của OSEK dưới dạng thương mại (Commercial) (ví dụ: ETAS RTA-OSEK, EB TRESOS OSEKCORE, Vector osCAN, …) và cũng có dạng mã nguồn mở (Open Source) (ví dụ: Erika Enterprise, Trampoline OSEK, nxtOSEK, …). Tất nhiên, những sản phẩm được cài đặt trên ô tô là sản phẩm thương mại (Commercial). Mã nguồn mở (Open Source) được sử dụng trong các phòng thí nghiệm đại học và tương tự.
Trong ngành công nghiệp ô tô, thay vì tự phát triển hệ điều hành OSEK OS, thông thường họ mua stack OSEK đã được phát triển và tùy chỉnh nó theo nhu cầu.

Sự khác biệt với Linux

Sự Khác Biệt Với Linux
Sự Khác Biệt Với Linux

Hệ thống dựa trên Linux, dù được trang bị nhiều bộ xử lý (Processor) khác nhau, thì bên trong kernel chỉ tồn tại một bản triển khai (Implementation) duy nhất. Ngoài ra, mặc dù mã nguồn của Implementation được công khai, nhưng việc cập nhật thực tế bị hạn chế chỉ được thực hiện bởi đội ngũ của Linus Torvalds.
Tuy nhiên, OSEK/VDX cho phép áp dụng các Implementation phù hợp nhất cho từng bộ xử lý (Processor).

Mức độ xử lý

Mức độ Xử Lý
Mức độ Xử Lý

Mức độ xử lý
OSEK có 3 mức độ xử lý (Processing Level) sau:
• Interrupt Level
• Logical Level for Scheduler
• Task Level
Quy tắc ưu tiên
• Interrupt có mức ưu tiên cao hơn Task.
• Interrupt Processing Level bao gồm một hoặc nhiều mức ưu tiên Interrupt.
• ISR (Interrupt Service Routine) có một Interrupt Priority Level được gán cố định.
• Phương thức gán mức ưu tiên Interrupt cho ISR phụ thuộc vào việc thực thi và kiến trúc phần cứng (Hardware Architecture).
• Ở Task Level, Task được lập lịch theo non, full, hoặc mixed dựa trên mức ưu tiên do người dùng gán.
• Mức ưu tiên của Task càng lớn thì ưu tiên càng cao.
• Mức ưu tiên của Task được gán cố định bởi người dùng.
Conformance Class
Hệ điều hành OSEK/VDX OS lựa chọn và sử dụng một trong các Conformance Class từ BCC1 đến BCC4 để hỗ trợ các yêu cầu đa dạng của phần mềm ứng dụng (Application SW) và khả năng đa dạng của hệ thống.

Conformance Class
Conformance Class

Các Đối tượng OSEK

OSEK/VDX OS cung cấp các chức năng dịch vụ sau:

Các Đối Tượng Osek
Các Đối Tượng Osek

Task
• Đơn vị cơ bản của chương trình được OS điều khiển (Task kích hoạt, kết thúc, chuyển đổi, v.v.)
Event
• Đối tượng đồng bộ hóa của Task
• Cơ chế làm cho Task chờ đến khi Event xảy ra để xác định thứ tự thực thi và đồng bộ hóa giữa các Task
Resource
• Cung cấp dịch vụ điều khiển để đồng bộ hóa việc truy cập tài nguyên chia sẻ giữa các Task có ưu tiên khác nhau
o Tài nguyên chia sẻ: bộ nhớ (Memory), phần cứng (Hardware), thứ tự chương trình (Program Order), bộ lập lịch (Scheduler), v.v.
Interrupt
• Cung cấp chức năng xử lý ngắt theo 2 loại (CAT1, CAT2) cho ISR (Interrupt Service Routine)
Alarm
• Cung cấp dịch vụ để thực hiện chức năng nhất định khi đến thời gian chỉ định (Alarm expired)
• Kích hoạt Task một lần hoặc định kỳ
Error
• Truyền tải thông tin về lỗi đã xảy ra và cung cấp cơ chế Hook để người dùng có thể xử lý lỗi
Hook
• Cung cấp routine cho phép người dùng thực hiện các tác vụ định nghĩa trong quá trình xử lý bên trong OS
o Ví dụ: Pre Task Hook, Post Task Hook, Error Hook, Start-up Hook, Shutdown Hook
System Start-Up / Shutdown
• Cung cấp cách thức chuẩn hóa cho khởi động hệ thống (Start-up) và tắt hệ thống (Shutdown)

Xem Thêm chuyên mục :

Autosar Classic

Autosar Adaptive

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây