Tổng quan về lập trình hệ thống
Những điểm đặc biệt hơn trong lập trình hệ thống: Những nhà lập trình sẽ tạo những gánh vác về phần cứng và một số thuộc tính khác của những chương trình chạy trên hệ thống đó, và sẽ thường khai thác những thuộc tính đó (cho ví dụ bởi việc sử dụng ...
Những điểm đặc biệt hơn trong lập trình hệ thống:
- Những nhà lập trình sẽ tạo những gánh vác về phần cứng và một số thuộc tính khác của những chương trình chạy trên hệ thống đó, và sẽ thường khai thác những thuộc tính đó (cho ví dụ bởi việc sử dụng một giải thuật mà được biết mà hiệu quả khi nào được sử dụng với phần cứng đặc biệt).
- Thông thường một ngôn ngữ lập trình cấp thấp hoặc tiếng địa phương ngôn ngữ lập trình sử dụng đó là:
- có thể hoạt động trong những môi trường tài nguyên bắt buộc
- là rất hiệu quả và có thể thực hiện một ít ở trên đầu
- có một thư viện thực hiện nhỏ, hoặc không ở mọi thứ
- cho phép trực tiếp và “thô” mà điều khiển qua truy cập bộ nhớ và điều khiển chảy tràn
- để cho người lập trình viết những phần của chương trình ngay tức khắc trên ngôn ngữ assembly.
- Gỡ rối có thể là khó nếu nó là thật không có thể để chạy chương trình trong một chương trình gỡ rối vì những sự ràng buộc tài nguyên. Chạy chương trình bên trong một môi trường giả có thể sử dụng để giảm bớt vấn đề này.
Những nhà lập trình hệ thống một cách đầy đủ thì khác với lập trình ứng dụng mà những người lập trình hướng tới chuyên về một hoặc cái khác.
Trong lập trình hệ thống, những phương tiện lập trình có hạn thường sẵn có. Sự sử dụng của tập hợp rác tự động thì không phải là phổ biến và gỡ rối là không đổi đôi khi để làm. Thư viện thực hiện, nếu sẵn có ở mọi nơi, thì ít mạnh hơn nhiều thông thường, và làm ít sợ kiểm tra lỗi hơn. Bởi vì những sự hạn chế đó, màn hình và sự đăng ký thường được sử dụng; những hệ điều hành có thể có vô cùng chi tiết hóa những hệ thống con đăng ký.
Thực hiện những phần nhất định trong Hệ điều hành và những quy định hoạt động mạng những nhà lập trình hệ thống (cho ví dụ thi hành phân trang (bộ nhớ ảo) hoặc một trình điều khiển thiết bị cho một hệ điều hành).