系统程序设计

编辑
本词条由“匿名用户” 建档。
系统程序设计或系统编程是对计算机系统软件进行编程的活动。 与应用程序编程相比,系统编程的主要区别特征是应用程序编程旨在生成直接为用户提供服务的软件(例如文字处理器),而系统编程旨在生成为其他软件提供服务的软件和软件平台, 性能受限,或两者兼而有之(例如操作系统、计算科学应用程序、游戏引擎、工业自动化和软件即服务应用程序)。 系统程序设计需要高度的硬件意识。 它的目标是实现可用资源的有效利...

系统程序设计

编辑

系统程序设计系统编程是对计算机系统软件进行编程的活动。 与应用程序编程相比,系统编程的主要区别特征是应用程序编程旨在生成直接为用户提供服务软件(例如文字处理器),而系统编程旨在生成为其他软件提供服务的软件和软件平台, 性能受限,或两者兼而有之(例如操作系统、计算科学应用程序、游戏引擎工业自动化软件即服务应用程序)。

系统程序设计需要高度的硬件意识。 它的目标是实现可用资源的有效利用,这要么是因为软件本身对性能至关重要,要么是因为即使是很小的效率改进也会直接转化为时间或金钱的显着节省。

概览

编辑

以下属性是系统编程的特征:

  • 程序员可以对运行程序的系统的硬件和其他属性做出假设,并且通常会利用这些属性,例如通过使用已知在与特定硬件一起使用时有效的算法。</ 李>
  • 通常使用低级编程语言或编程语言方言,以便:
    • 程序可以在资源受限的环境中运行
    • 程序可以高效且运行时开销很小,可能有一个小的运行时库或根本没有
    • 程序可以对内存访问和控制流使用直接和原始的控制
    • 程序员可以直接用汇编语言编写部分程序
  • 通常系统程序不能在调试器中运行。 在模拟环境中运行程序有时可以用来减少这个问题。

系统程序设计与应用程序编程有很大不同,程序员倾向于专注于其中一个。

在系统编程中,可用的编程工具通常有限。 自动垃圾收集的使用并不常见,有时很难进行调试。 运行时库(如果有的话)通常没有那么强大,并且做的错误检查也很少。 由于这些限制,经常使用xxx和日志记录; 操作系统可能有极其复杂的日志子系统。

在操作系统和网络中实现某些部分需要系统编程,例如实现分页(虚拟内存)或操作系统的设备驱动程序。

历史

编辑

最初系统程序员总是用汇编语言编写。 1960 年代后期对高级语言硬件支持的实验导致了 PL/S、BLISS、BCPL 和用于 Burroughs 大型系统的扩展 ALGOL 等语言。 Forth 也有作为系统语言的应用程序。 在 1970 年代,在 Unix 的帮助下,C 变得普遍。最近,称为嵌入式 C++ 的 C++ 子集已经有了一些用途,例如它被用于 macOS 的 I/O Kit 驱动程序中。

系统程序设计

替代含义

编辑

由于历史原因,一些组织使用术语系统程序员来描述工作职能,更准确地称为系统管理员。 在计算机资源历来由大型机主导的组织中尤其如此,尽管该术语甚至用于描述不涉及大型机的工作职能。 这种用法的出现是因为 IBM 大型机的管理通常涉及编写自定义汇编代码(IBM 的基本汇编语言 (BAL)),这些代码与操作系统集成。 事实上,一些 IBM 软件产品有大量来自客户编程人员的代码贡献。 这种类型的编程越来越不常见,但系统程序员一词仍然是直接管理 IBM 大型机的员工的实际职位名称。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/195618/

(1)
词条目录
  1. 系统程序设计
  2. 概览
  3. 历史
  4. 替代含义

轻触这里

关闭目录

目录