Sự khác nhau giữa hệ thống nhúng và hệ thống máy tính

Thế giới công nghệ không ngừng phát triển. Khi chúng ta làm quen với một công nghệ này, một công nghệ khác bắt đầu chiếm lĩnh thế giới. IoT hay Internet of Things cho đến nay đã là một thuật ngữ được sử dụng rộng rãi trong thế giới công nghệ. Hệ thống nhúng là một thuật ngữ tương đối mới; tuy nhiên, thực tế vẫn là chúng ta đã bị chúng bao vây quá lâu.

Nó thường bị nhầm lẫn với IoT. Một số khía cạnh phân biệt hệ thống nhúng với IoT. Hãy cùng chúng tôi hiểu sự khác biệt cơ bản giữa hai công nghệ này.

Embedded systems Vs IoT:

Nói một cách đơn giản, nếu Internet of Things [IoT] là một dòng sông, thì các hệ thống nhúng là một đại dương. IoT là một loại hệ thống nhúng. Có một số các loại hệ thống nhúng chẳng hạn như hệ thống nhúng độc lập, hệ thống nhúng thời gian thực, hệ thống nhúng mạng và hệ thống nhúng di động.

IoT thuộc loại hệ thống nhúng mạng. Vì nó cung cấp tính linh hoạt và kết nối, nó là loại hệ thống nhúng phát triển nhanh nhất.

What are embedded systems?

Không giống như IoT, các hệ thống nhúng có một vai trò rất cụ thể về chức năng. Nó là một hệ thống phần cứng máy tính dựa trên bộ vi xử lý có phần mềm được thiết kế để thực hiện một tác vụ chuyên dụng. Các hệ thống có thể lập trình này có một chức năng cố định.

Nó có thể là một hệ thống độc lập, hoặc nó cũng có thể là một phần của một hệ thống lớn. Tuy nhiên, trọng tâm của nó vẫn là một chức năng duy nhất. Nó có khả năng thực hiện tính toán cho các hoạt động thời gian thực thông qua một mạch tích hợp.

Bạn sẽ ngạc nhiên khi biết rằng 98% bộ vi xử lý được sử dụng trong các hệ thống nhúng. Điều này có thể cung cấp cho bạn ý tưởng về quy mô mà tại đó những hệ thống nhúng đang được sử dụng. Bạn đang sử dụng nó trong cuộc sống hàng ngày dưới dạng đồng hồ kỹ thuật số, lò vi sóng, tủ lạnh, xe hybrid, máy bán hàng tự động, thiết bị gia dụng, máy bay, thiết bị di động hoặc thậm chí là đồ chơi như búp bê biết nói với các lệnh cài đặt sẵn.

What is IoT technology? 

Internet of Things [IoT] đề cập đến các sự vật hoặc đối tượng vật lý được nhúng bằng cảm biến, phần mềm hoặc công nghệ phức tạp khác. Nó có khả năng kết nối và trao đổi dữ liệu với các thiết bị và hệ thống khác bằng kết nối internet. Hệ thống an ninh nhà thông minh, thiết bị canh tác tự động, máy theo dõi sức khỏe có thể đeo được, máy theo dõi không dây là một số ví dụ về cách IoT có thể hoạt động tuyệt vời như thế nào. Ước tính đến năm 2025, thế giới sẽ có 22 tỷ thiết bị IoT.

Importance of IoT in daily life: 

IoT đã nổi lên như một trong những công nghệ quan trọng nhất của thế kỷ 21. Nó tạo điều kiện giao tiếp liền mạch giữa các thiết bị, con người và tương tác giữa con người với máy tính. Nó làm giảm sự can thiệp của con người ở một mức độ lớn bằng cách tạo ra một hệ sinh thái kỹ thuật số siêu kết nối.

Thông qua IoT, các thiết bị gia dụng, thiết bị di động, máy tính, máy theo dõi sức khỏe có thể đeo được, mọi thứ đều có thể được kết nối để mang lại trải nghiệm người dùng mượt mà. IoT có khả năng ghi lại, giám sát và điều chỉnh sự tương tác giữa những thứ được kết nối. Sẽ không quá lời khi nói rằng IoT đã xóa mờ ranh giới giữa thế giới vật lý và thế giới kỹ thuật số.

How does an embedded system work? 

Hệ thống nhúng là một máy tính riêng được thiết kế để thực hiện một chức năng cụ thể. Nó hoạt động như một phần của một thiết bị hoàn chỉnh. Chúng được làm bằng một bộ xử lý và có các cổng cho bộ nhớ và giao tiếp. Chúng chạy bằng nguồn điện. Sử dụng một giao thức truyền thông, chúng truyền dữ liệu giữa bộ xử lý và các thiết bị ngoại vi.

Phần mềm được lưu trữ trong bộ nhớ của hệ thống nhúng giúp bộ xử lý giải thích dữ liệu. Các bộ xử lý này có thể là một bộ vi xử lý hoặc một bộ vi điều khiển. Hệ thống nhúng sử dụng hệ điều hành thời gian thực [RTOS] để giao tiếp với phần cứng.

A standard embedded system will have-

  • Bộ vi xử lý hoặc bộ vi điều khiển
  • Đơn vị xử lý đồ họa [GPU]
  • Bộ nhớ [Dễ bay hơi và không bay hơi]
  • Giao diện và cổng cho giao tiếp đầu vào / đầu ra
  • Hệ thống và mã ứng dụng
  • Nguồn cấp

Salient features that distinguish embedded systems:

  • Chúng là nhiệm vụ cụ thể.
  • Chúng đi kèm với phần cứng, phần mềm và phần sụn.
  • Chúng thực hiện một chức năng cụ thể trong một sơ đồ lớn hơn.
  • Họ không có khả năng thực hiện nhiều nhiệm vụ.
  • Sức mạnh tính toán của chúng nằm trong bộ vi xử lý hoặc bộ vi điều khiển.
  • Trong các thiết bị IoT, các hệ thống nhúng thực hiện các chức năng như cảm biến và tính toán thời gian thực.
  • Một hệ thống lớn hơn hoạt động tốt với một số hệ thống nhúng hoạt động hiệu quả đồng thời.

Types of embedded systems: 

Hệ thống nhúng chủ yếu có thể được chia thành bốn loại dựa trên các yêu cầu chức năng của chúng.

Các hệ thống nhúng nhỏ bé này được thiết kế để di động. Điện thoại di động, máy tính xách tay là một số ví dụ về hệ thống nhúng di động. Đáng chú ý, tất cả các hệ thống nhúng di động đều là các hệ thống độc lập.

  1. Network embedded systems: 

Các hệ thống nhúng này chủ yếu dựa vào kết nối mạng để tạo ra đầu ra. Chúng có thể hoạt động với mạng có dây hoặc không dây. Hệ thống an ninh gia đình và văn phòng, máy ATM, máy tính điểm bán hàng [POS] là một số ví dụ phổ biến về hệ thống nhúng mạng.

  1. Standalone embedded systems: 

Một hệ thống độc lập có thể thực hiện một nhiệm vụ chuyên dụng mà không cần phụ thuộc vào máy chủ. Máy ảnh kỹ thuật số, đồng hồ đeo tay kỹ thuật số, máy nghe nhạc MP3, thiết bị nhà bếp như tủ lạnh, máy giặt, lò vi sóng là những hệ thống nhúng độc lập.

  1. Real-time embedded systems:

Họ cung cấp đầu ra trong khung thời gian và thời hạn đã định. Chúng được sử dụng rộng rãi trong các nhiệm vụ và lĩnh vực quan trọng về thời gian như y tế, công nghiệp và quân sự. Hệ thống kiểm soát lưu lượng là ví dụ dễ hiểu nhất về hệ thống nhúng thời gian thực. Các hệ thống phòng thủ tên lửa, hệ thống giám sát độ ẩm và nhiệt độ là một số ví dụ khác.

Author Bio: Mayur Panchal là CTO tại Excellent Webworld [Công ty phát triển ứng dụng web & di động]. Anh ấy được cập nhật tất cả các xu hướng mới nhất trong công nghệ ứng dụng dành cho thiết bị di động và có những sáng tạo enterprise mobile solutions. Anh ấy viết blog hữu ích cho các doanh nghiệp trong việc triển khai công nghệ trong hoạt động. Bạn sẽ thấy anh ấy bơi bất cứ khi nào anh ấy rảnh rỗi.

Bài viết này cần thêm chú thích nguồn gốc để kiểm chứng thông tin. Mời bạn giúp hoàn thiện bài viết này bằng cách bổ sung chú thích tới các nguồn đáng tin cậy. Các nội dung không có nguồn có thể bị nghi ngờ và xóa bỏ.

Bài viết hoặc đoạn này cần được wiki hóa để đáp ứng tiêu chuẩn quy cách định dạng và văn phong của Wikipedia. Xin hãy giúp sửa bài viết này bằng cách liên kết đến các trang liên quan hoặc cải thiện bố cục của bài viết.

Hệ thống nhúng [tiếng Anh: embedded system] là một thuật ngữ để chỉ một hệ thống có khả năng tự trị được nhúng vào trong một môi trường hay hệ thống mẹ. Đó là các hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc và truyền tin. Đặc điểm của các hệ thống nhúng là hoạt động ổn định và có tính năng tự động hoá cao.

Một hệ thống nhúng trên thẻ trình cắm có bộ xử lý, bộ nhớ, nguồn điện và giao diện bên ngoài

Hệ thống nhúng thường được thiết kế để thực hiện một chức năng chuyên biệt nào đó. Khác với các máy tính đa chức năng, chẳng hạn như máy tính cá nhân, một hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng nhất định, thường đi kèm với những yêu cầu cụ thể và bao gồm một số thiết bị máy móc và phần cứng chuyên dụng mà ta không tìm thấy trong một máy tính đa năng nói chung. Vì hệ thống chỉ được xây dựng cho một số nhiệm vụ nhất định nên các nhà thiết kế có thể tối ưu hóa nó nhằm giảm thiểu kích thước và chi phí sản xuất. Các hệ thống nhúng thường được sản xuất hàng loạt với số lượng lớn. Hệ thống nhúng rất đa dạng, phong phú về chủng loại. Đó có thể là những thiết bị cầm tay nhỏ gọn như đồng hồ kĩ thuật số và máy chơi nhạc MP3, hoặc những sản phẩm lớn như đèn giao thông, bộ kiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy năng lượng hạt nhân. Xét về độ phức tạp, hệ thống nhúng có thể rất đơn giản với một vi điều khiển hoặc rất phức tạp với nhiều đơn vị, các thiết bị ngoại vi và mạng lưới được nằm gọn trong một lớp vỏ máy lớn.

Các thiết bị PDA hoặc máy tính cầm tay cũng có một số đặc điểm tương tự với hệ thống nhúng như các hệ điều hành hoặc vi xử lý điều khiển chúng nhưng các thiết bị này không phải là hệ thống nhúng thật sự bởi chúng là các thiết bị đa năng, cho phép sử dụng nhiều ứng dụng và kết nối đến nhiều thiết bị ngoại vi.

Hệ thống nhúng đầu tiên là Apollo Guidance Computer [Máy tính Dẫn đường Apollo] được phát triển bởi Charles Stark Draper tại phòng thí nghiệm của trường đại học MIT. Hệ thống nhúng được sản xuất hàng loạt đầu tiên là máy hướng dẫn cho tên lửa quân sự vào năm 1961. Nó là máy hướng dẫn Autonetics D-17, được xây dựng sử dụng những bóng bán dẫn và một đĩa cứng để duy trì bộ nhớ. Khi Minuteman II được đưa vào sản xuất năm 1996, D-17 đã được thay thế với một máy tính mới sử dụng mạch tích hợp. Tính năng thiết kế chủ yếu của máy tính Minuteman là nó đưa ra thuật toán có thể lập trình lại sau đó để làm cho tên lửa chính xác hơn, và máy tính có thể kiểm tra tên lửa, giảm trọng lượng của cáp điện và đầu nối điện.

Từ những ứng dụng đầu tiên vào những năm 1960, các hệ thống nhúng đã giảm giá và phát triển mạnh mẽ về khả năng xử lý. Bộ vi xử lý đầu tiên hướng đến người tiêu dùng là Intel 4004, được phát minh phục vụ máy tính điện tử và những hệ thống nhỏ khác. Tuy nhiên nó vẫn cần các chip nhớ ngoài và những hỗ trợ khác. Vào những năm cuối 1970, những bộ xử lý 8 bit đã được sản xuất, nhưng nhìn chung chúng vẫn cần đến những chip nhớ bên ngoài.

Vào giữa thập niên 80, kỹ thuật mạch tích hợp đã đạt trình độ cao dẫn đến nhiều thành phần có thể đưa vào một chip xử lý. Các bộ vi xử lý được gọi là các vi điều khiển và được chấp nhận rộng rãi. Với giá cả thấp, các vi điều khiển đã trở nên rất hấp dẫn để xây dựng các hệ thống chuyên dụng. Đã có một sự bùng nổ về số lượng các hệ thống nhúng trong tất cả các lĩnh vực thị trường và số các nhà đầu tư sản xuất theo hướng này. Ví dụ, rất nhiều chip xử lý đặc biệt xuất hiện với nhiều giao diện lập trình hơn là kiểu song song truyền thống để kết nối các vi xử lý. Vào cuối những năm 80, các hệ thống nhúng đã trở nên phổ biến trong hầu hết các thiết bị điện tử và khuynh hướng này vẫn còn tiếp tục cho đến nay.

Cho đến nay, khái niệm hệ thống nhúng được nhiều người chấp nhận nhất là: hệ thống thực hiện một số chức năng đặc biệt có sử dụng vi xử lý[cần dẫn nguồn]. Không có hệ thống nhúng nào chỉ có phần mềm.

Hệ thống nhúng thường có một số đặc điểm chung như sau:

• Các hệ thống nhúng được thiết kế để thực hiện một số nhiệm vụ chuyên dụng chứ không phải đóng vai trò là các hệ thống máy tính đa chức năng. Một số hệ thống đòi hỏi ràng buộc về tính hoạt động thời gian thực để đảm bảo độ an toàn và tính ứng dụng; một số hệ thống không đòi hỏi hoặc ràng buộc chặt chẽ, cho phép đơn giản hóa hệ thống phần cứng để giảm thiểu chi phí sản xuất.

• Một hệ thống nhúng thường không phải là một khối riêng biệt mà là một hệ thống phức tạp nằm trong thiết bị mà nó điều khiển.

• Phần mềm được viết cho các hệ thống nhúng được gọi là firmware và được lưu trữ trong các chip bộ nhớ ROM hoặc bộ nhớ flash chứ không phải là trong một ổ đĩa. Phần mềm thường chạy với số tài nguyên phần cứng hạn chế: không có bàn phím, màn hình hoặc có nhưng với kích thước nhỏ, dung lượng bộ nhớ thấp Sau đây, ta sẽ đi sâu, xem xét cụ thể đặc điểm của các thành phần của hệ thống nhúng.

Giao diện

Các hệ thống nhúng có thể không có giao diện [đối với những hệ thống đơn nhiệm] hoặc có đầy đủ giao diện giao tiếp với người dùng tương tự như các hệ điều hành trong các thiết bị để bàn. Đối với các hệ thống đơn giản, thiết bị nhúng sử dụng nút bấm, đèn LED và hiển thị chữ cỡ nhỏ hoặc chỉ hiển thị số, thường đi kèm với một hệ thống menu đơn giản.

Còn trong một hệ thống phức tạp hơn, một màn hình đồ họa, cảm ứng hoặc có các nút bấm ở lề màn hình cho phép thực hiện các thao tác phức tạp mà tối thiểu hóa được khoảng không gian cần sử dụng; ý nghĩa của các nút bấm có thể thay đổi theo màn hình và các lựa chọn. Các hệ thống nhúng thường có một màn hình với một nút bấm dạng cần điểu khiển [joystick button]. Sự phát triển mạnh mẽ của mạng toàn cầu đã mang đến cho những nhà thiết kế hệ nhúng một lựa chọn mới là sử dụng một giao diện web thông qua việc kết nối mạng. Điều này có thể giúp tránh được chi phí cho những màn hình phức tạp nhưng đồng thời vẫn cung cấp khả năng hiển thị và nhập liệu phức tạp khi cần đến, thông qua một máy tính khác. Điều này là hết sức hữu dụng đối với các thiết bị điều khiển từ xa, cài đặt vĩnh viễn. Ví dụ, các router là các thiết bị đã ứng dụng tiện ích này.

Kiến trúc CPU

Các bộ xử lý trong hệ thống nhúng có thể được chia thành hai loại: vi xử lý và vi điều khiển. Các vi điều khiển thường có các thiết bị ngoại vi được tích hợp trên chip nhằm giảm kích thước của hệ thống. Có rất nhiều loại kiến trúc CPU được sử dụng trong thiết kế hệ nhúng như ARM, MIPS, Coldfire/68k, PowerPC, x86, PIC, 8051, Atmel AVR, Renesas H8, SH, V850, FR-V, M32R, Z80, Z8 … Điều này trái ngược với các loại máy tính để bàn, thường bị hạn chế với một vài kiến trúc máy tính nhất định. Các hệ thống nhúng có kích thước nhỏ và được thiết kế để hoạt động trong môi trường công nghiệp thường lựa chọn PC/104 và PC/104++ làm nền tảng. Những hệ thống này thường sử dụng DOS, Linux, NetBSD hoặc các hệ điều hành nhúng thời gian thực như QNX hay VxWorks. Còn các hệ thống nhúng có kích thước rất lớn thường sử dụng một cấu hình thông dụng là hệ thống on chip [System on a chip – SoC], một bảng mạch tích hợp cho một ứng dụng cụ thể [an application-specific integrated circuit – ASIC]. Sau đó nhân CPU được mua và thêm vào như một phần của thiết kế chip. Một chiến lược tương tự là sử dụng FPGA [field-programmable gate array] và lập trình cho nó với những thành phần nguyên lý thiết kế bao gồm cả CPU.

Thiết bị ngoại vi

Hệ thống nhúng giao tiếp với bên ngoài thông qua các thiết bị ngoại vi, ví dụ như:

• Serial Communication Interfaces [SCI]: RS-232, RS-422, RS-485...

• Synchronous Serial Communication Interface: I2C, JTAG, SPI, SSC và ESSI

• Universal Serial Bus [USB]

• Networks: Controller Area Network, LonWorks...

• Bộ định thời: PLL[s], Capture/Compare và Time Processing Units

• Discrete IO: General Purpose Input/Output [GPIO]

Công cụ phát triển

Tương tự như các sản phẩm phần mềm khác, phần mềm hệ thống nhúng cũng được phát triển nhờ việc sử dụng các trình biên dịch [compilers], chương trình dịch hợp ngữ [assembler] hoặc các công cụ gỡ lỗi [debuggers]. Tuy nhiên, các nhà thiết kế hệ thống nhúng có thể sử dụng một số công cụ chuyên dụng như:

• Bộ gỡ rối mạch hoặc các chương trình mô phỏng [emulator]

• Tiện ích để thêm các giá trị checksum hoặc CRC vào chương trình, giúp hệ thống nhúng có thể kiểm tra tính hợp lệ của chương trình đó.

• Đối với các hệ thống xử lý tín hiệu số, người phát triển hệ thống có thể sử dụng phần mềm workbench như MathCad hoặc Mathematica để mô phỏng các phép toán.

• Các trình biên dịch và linker [trình liên kết] chuyên dụng được sử dụng để tối ưu hóa một thiết bị phần cứng.

• Một hệ thống nhúng có thể có ngôn ngữ lập trình và công cụ thiết kế riêng của nó hoặc sử dụng và cải tiến từ một ngôn ngữ đã có sẵn.

Các công cụ phần mềm có thể được tạo ra bởi các công ty phần mềm chuyên dụng về hệ thống nhúng hoặc chuyển đổi từ các công cụ phát triển phần mềm GNU. Đôi khi, các công cụ phát triển dành cho máy tính cá nhân cũng được sử dụng nếu bộ xử lý của hệ thống nhúng đó gần giống với bộ xử lý của một máy PC thông dụng.

Độ tin cậy

Các hệ thống nhúng thường nằm trong các cỗ máy được kỳ vọng là sẽ chạy hàng năm trời liên tục mà không bị lỗi hoặc có thể khôi phục hệ thống khi gặp lỗi. Vì thế, các phần mềm hệ thống nhúng được phát triển và kiểm thử một cách cẩn thận hơn là phần mềm cho máy tính cá nhân. Ngoài ra, các thiết bị rời không đáng tin cậy như ổ đĩa, công tắc hoặc nút bấm thường bị hạn chế sử dụng. Việc khôi phục hệ thống khi gặp lỗi có thể được thực hiện bằng cách sử dụng các kỹ thuật như watchdog timer – nếu phần mềm không đều đặn nhận được các tín hiệu watchdog định kì thì hệ thống sẽ bị khởi động lại.

Một số vấn đề cụ thể về độ tin cậy như:

• Hệ thống không thể ngừng để sửa chữa một cách an toàn, ví dụ như ở các hệ thống không gian, hệ thống dây cáp dưới đáy biển, các đèn hiệu dẫn đường,… Giải pháp đưa ra là chuyển sang sử dụng các hệ thống con dự trữ hoặc các phần mềm cung cấp một phần chức năng.

• Hệ thống phải được chạy liên tục vì tính an toàn, ví dụ như các thiết bị dẫn đường máy bay, thiết bị kiểm soát độ an toàn trong các nhà máy hóa chất,… Giải pháp đưa ra là lựa chọn backup hệ thống.

• Nếu hệ thống ngừng hoạt động sẽ gây tổn thất rất nhiều tiền của ví dụ như các dịch vụ buôn bán tự động, hệ thống chuyển tiền, hệ thống kiểm soát trong các nhà máy …

Một số loại kiến trúc phần mềm thông dụng trong các hệ thống nhúng như sau:

Vòng lặp kiểm soát đơn giản

Theo thiết kế này, phần mềm được tổ chức thành một vòng lặp đơn giản. Vòng lặp gọi đến các chương trình con, mỗi chương trình con quản lý một phần của hệ thống phần cứng hoặc phần mềm.

Hệ thống ngắt điều khiển

Các hệ thống nhúng thường được điểu khiển bằng các ngắt. Có nghĩa là các tác vụ của hệ thống nhúng được kích hoạt bởi các loại sự kiện khác nhau. Ví dụ, một ngắt có thể được sinh ra bởi một bộ định thời sau một chu kỳ được định nghĩa trước, hoặc bởi sự kiện khi cổng nối tiếp nhận được một byte nào đó.

Loại kiến trúc này thường được sử dụng trong các hệ thống có bộ quản lý sự kiện đơn giản, ngắn gọn và cần độ trễ thấp. Hệ thống này thường thực hiện một tác vụ đơn giản trong một vòng lặp chính. Đôi khi, các tác vụ phức tạp hơn sẽ được thêm vào một cấu trúc hàng đợi trong bộ quản lý ngắt để được vòng lặp xử lý sau đó. Lúc này, hệ thống gần giống với kiểu nhân đa nhiệm với các tiến trình rời rạc.

Đa nhiệm tương tác

Một hệ thống đa nhiệm không ưu tiên cũng gần giống với kỹ thuật vòng lặp kiểm soát đơn giản ngoại trừ việc vòng lặp này được ẩn giấu thông qua một giao diện lập trình API. Các nhà lập trình định nghĩa một loạt các nhiệm vụ, mỗi nhiệm vụ chạy trong một môi trường riêng của nó. Khi không cần thực hiện nhiệm vụ đó thì nó gọi đến các tiến trình con tạm nghỉ [bằng cách gọi "pause", "wait", "yield" …].

Ưu điểm và nhược điểm của loại kiến trúc này cũng giống với kiểm vòng lặp kiểm soát đơn giản. Tuy nhiên, việc thêm một phần mềm mới được thực hiện dễ dàng hơn bằng cách lập trình một tác vụ mới hoặc thêm vào hàng đợi thông dịch [queue-interpreter].

Đa nhiệm ưu tiên

Ở loại kiến trúc này, hệ thống thường có một đoạn mã ở mức thấp thực hiện việc chuyển đổi giữa các tác vụ khác nhau thông qua một bộ định thời. Đoạn mã này thường nằm ở mức mà hệ thống được coi là có một hệ điều hành và vì thế cũng gặp phải tất cả những phức tạp trong việc quản lý đa nhiệm.

Bất kỳ tác vụ nào có thể phá hủy dữ liệu của một tác vụ khác đều cần phải được tách biệt một cách chính xác. Việc truy cập tới các dữ liệu chia sẻ có thể được quản lý bằng một số kỹ thuật đồng bộ hóa như hàng đợi thông điệp [message queues], các phương thức truyền tin thị giác [semaphores]… Bởi những phức tạp nói trên, giải pháp thường được đưa ra đó là sử dụng một hệ điều hành thời gian thực. Lúc đó, các nhà lập trình có thể tập trung vào việc phát triển các chức năng của thiết bị chứ không cần quan tâm đến các dịch vụ của hệ điều hành nữa.

Vi nhân [Microkernel] và nhân ngoại [Exokernel]

Xem thêm: vi nhân

Khái niệm vi nhân [microkernel] là một bước tiếp cận gần hơn tới khái niệm hệ điều hành thời gian thực. Lúc này, nhân hệ điều hành thực hiện việc cấp phát bộ nhớ và chuyển CPU cho các luồng thực thi. Còn các tiến trình người dùng sử dụng các chức năng chính như hệ thống file, giao diện mạng lưới,… Nói chung, kiến trúc này thường được áp dụng trong các hệ thống mà việc chuyển đổi và giao tiếp giữa các tác vụ là nhanh.

Còn nhân ngoại [exokernel] tiến hành giao tiếp hiệu quả bằng cách sử dụng các lời gọi chương trình con thông thường. Phần cứng và toàn bộ phần mềm trong hệ thống luôn đáp ứng và có thể được mở rộng bởi các ứng dụng.

Nhân khối [monolithic kernels]

Trong kiến trúc này, một nhân đầy đủ với các khả năng phức tạp được chuyển đổi để phù hợp với môi trường nhúng. Điều này giúp các nhà lập trình có được một môi trường giống với hệ điều hành trong các máy để bàn như Linux hay Microsoft Windows và vì thế rất thuận lợi cho việc phát triển. Tuy nhiên, nó lại đòi hỏi đáng kể các tài nguyên phần cứng làm tăng chi phí của hệ thống. Một số loại nhân khối thông dụng là Embedded Linux và Windows CE. Mặc dù chi phí phần cứng tăng lên nhưng loại hệ thống nhúng này đang tăng trưởng rất mạnh, đặc biệt là trong các thiết bị nhúng mạnh như Wireless router hoặc hệ thống định vị GPS. Lý do của điều này là:

• Hệ thống này có cổng để kết nối đến các chip nhúng thông dụng

• Hệ thống cho phép sử dụng lại các đoạn mã sẵn có phổ biến như các trình điều khiển thiết bị, Web Servers, Firewalls, …

• Việc phát triển hệ thống có thể được tiến hành với một tập nhiều loại đặc tính, chức năng còn sau đó lúc phân phối sản phẩm, hệ thống có thể được cấu hình để loại bỏ một số chức năng không cần thiết. Điều này giúp tiết kiệm được những vùng nhớ mà các chức năng đó chiếm giữ.

• Hệ thống có chế độ người dùng để dễ dàng chạy các ứng dụng và gỡ rối. Nhờ đó, quy trình phát triển được thực hiện dễ dàng hơn và việc lập trình có tính linh động hơn.

• Có nhiều hệ thống nhúng thiếu các yêu cầu chặt chẽ về tính thời gian thực của hệ thống quản lý. Còn một hệ thống như Embedded Linux có tốc độ đủ nhanh để trả lời cho nhiều ứng dụng. Các chức năng cần đến sự phản ứng nhanh cũng có thể được đặt vào phần cứng.

Wikimedia Commons có thêm hình ảnh và phương tiện truyền tải về Hệ thống nhúng.
  • Embedded Systems course with mbed YouTube, ongoing from 2015
  • Trends in Cyber Security and Embedded Systems Dan Geer, November 2013
  • Modern Embedded Systems Programming Video Course YouTube, ongoing from 2013
  • Embedded Systems Week [ESWEEK] yearly event with conferences, workshops and tutorials covering all aspects of embedded systems and software
  • Workshop on Embedded and Cyber-Physical Systems Education Lưu trữ 2018-02-11 tại Wayback Machine, workshop covering educational aspects of embedded systems

  Bài viết chủ đề máy tính này vẫn còn sơ khai. Bạn có thể giúp Wikipedia mở rộng nội dung để bài được hoàn chỉnh hơn.

  • x
  • t
  • s

Lấy từ “//vi.wikipedia.org/w/index.php?title=Hệ_thống_nhúng&oldid=68289828”

Video liên quan

Chủ Đề