Trong phần mềm, thuật ngữ này được nhúng vào thế nào?


9

Vì vậy, tôi đã xem xét nâng cao kiến ​​thức của mình vào lập trình phần cứng nhúng và cấp thấp hơn, tuy nhiên, mỗi khi tôi tìm kiếm các công việc có đề cập đến "nhúng" thì đó luôn là công cụ cấp cao. Đối với tôi, điều đó không có ý nghĩa gì cả.

Vì vậy, chính xác những gì "nhúng" đòi hỏi? Khi tôi nghĩ về nhúng tôi nghĩ đến lập trình vi điều khiển cấp thấp hơn và như vậy. Nếu nhúng không phải là tiêu đề thích hợp cho việc này, thì tôi nên tìm kiếm cái gì?

Câu trả lời:


4

Xác định những gì bạn có nghĩa là bằng công cụ cấp cao hơn. Viết trình điều khiển và bất kỳ loại phần mềm nào khác giao tiếp với phần cứng có lẽ là điều mà hầu hết mọi người nghĩ đến khi bạn đề cập đến phần mềm nhúng. Trong khi đó là một phần của nó, đó chỉ là một phần nhỏ. Một khi bạn đã có tất cả các thiết lập đó, vẫn còn toàn bộ ứng dụng để viết mà có lẽ không bao giờ thực sự nói chuyện trực tiếp với phần cứng và nhiều khả năng trong hầu hết các trường hợp, đây là phần lớn nỗ lực phát triển. Điều này ở một mức độ nào đó có thể so sánh với chương trình cấp độ "cao hơn". Tuy nhiên, trong thế giới nhúng, có lẽ bạn đang làm việc dưới một số ràng buộc, đặc biệt là về sức mạnh tính toán và bộ nhớ. Dưới đây là danh sách những điều mà tôi nghĩ về hàng ngày có lẽ ít quan trọng hơn trong phát triển cấp cao hơn trong hầu hết các trường hợp.

  • Đồng thời luồng (cả bảo vệ và thời gian)
  • Cấp phát bộ nhớ và phân bổ và sử dụng
  • Quản lý heap (tránh phân mảnh)
  • Đáp ứng thời hạn thực
  • Ưu tiên chủ đề
  • Hiệu suất I / 0
  • Chuyển DMA
  • Kích thước ngăn xếp
  • Hiệu suất thư viện
  • Các tính năng ngôn ngữ (ngoại lệ làm phồng mã của bạn)

Ngoài ra, các nền tảng nhúng có xu hướng chuyên môn hóa cao để hoàn thành một mục tiêu cụ thể trái ngược với PC được thiết kế để trở thành một nền tảng cho tính toán không đồng nhất chung. Điều này có nghĩa là bạn có thể có rất nhiều mã tùy chỉnh có thể hoặc không thể mang theo được.


7

Từ Wikipedia / Hệ thống nhúng :

Một hệ thống nhúng là một hệ thống máy tính được thiết kế để thực hiện một hoặc một vài chức năng chuyên dụng thường với các ràng buộc tính toán thời gian thực.

Nói tóm lại, thuật ngữ này có thể áp dụng cho bất kỳ loại hệ thống nào không phải là PC có mục đích chung. Điều này có thể bao gồm từ vi điều khiển đơn giản đến phần cứng Mạng đến Máy chơi game hiện đại.

Nếu bạn coi "công cụ cấp cao" có nghĩa là "sử dụng ngôn ngữ lập trình cấp cao" hoặc thậm chí "là một dự án hướng đối tượng lớn", thì dĩ nhiên bạn luôn có thể có phần mềm cấp cao trên hệ thống nhúng .

Nói chung, bằng cách chỉ định rằng phần mềm của bạn sẽ nằm trong hệ thống "Nhúng", bạn có nghĩa là theo một cách nào đó, phần mềm của bạn sẽ được ghép nối với hệ thống nhúng - và có thể không có tính di động cao.

Đó thực sự là một thuật ngữ rất rộng. Một số thứ tôi không mong đợi được gọi là "Nhúng" sẽ là phần mềm PC, ứng dụng web và Phần mềm máy chủ nói chung. Dù vậy, chắc chắn không có gì đảm bảo rằng phần mềm nhúng sẽ loại trừ mọi loại lập trình hoặc thiết kế cấp cao.


Ngoài ra, tôi có thể chỉ ra rằng mục đích chỉ định rằng phần mềm của bạn được nhúng là để biểu thị rằng bạn sẽ có ít thư viện hơn và các giải pháp hiện có để xây dựng giải pháp của bạn.
ProdigySim

+1. Ví dụ phổ biến cho các hệ thống nhúng là các máy tính trong máy POS hoặc ATM. Ngay cả khi họ chạy các hệ điều hành sẵn có như Windows hoặc Linux.
nikie

1

Tôi nghi ngờ bạn đang xem các công việc trong đó "nhúng" có nghĩa là "máy tính trong hộp", nói chung là một công việc thực hiện một nhiệm vụ cụ thể. Rất có khả năng chạy hầu hết các bản phân phối Linux hoặc Microsoft OS, nhưng nó sẽ khá hoàn chỉnh và bạn sẽ có thể sử dụng các IDE GUI tiêu chuẩn, v.v. Phần nhúng thực sự xuất hiện khi thiết bị xuất xưởng dưới dạng máy quay video đa kênh, thiết bị truyền phát phương tiện hoặc báo trộm.

Ngày nay, bạn có thể xử lý rất nhiều trong thiết bị 1W, do đó, định nghĩa về nhúng đã phát triển tương ứng. Nhưng thậm chí 20 năm trước chúng ta đã có các thiết bị nhúng chạy bằng pin chạy DOS khá chuẩn và xây dựng các chương trình cho chúng bằng IDE của thời đó (ví dụ, máy quét mã vạch Symbol có thư viện cho C và Pascal, vì vậy chúng tôi đã sử dụng Turbo Pascal trên Win3.1 để xây dựng các thực thi). Nhưng chúng tôi cũng đã chuyển "PC công nghiệp" khởi động DOS rồi phần mềm của chúng tôi và đầu vào bị giới hạn ở một vài nút chống nước lớn được gắn trên hộp thép không gỉ. Màn hình LCD 15 "phía sau kính trong hộp đó có nghĩa là chúng tôi có nhiều tùy chọn đầu ra, nhưng gắn bàn phím có nghĩa là mở hộp (bên trong một nhà máy thực phẩm). Chúng có thể được xem xét nhúng từ một số quan điểm. Hầu hết người dùng có ít tùy chọn khôi phục lỗi - chu kỳ điện hay không.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.