Skip to content

系统编程(System Programming)指开发和维护计算机系统层面的软件:操作系统内核、设备驱动、文件系统、网络协议栈、系统工具。它贴近硬件和操作系统,多用低级语言(如 C 或汇编)来写。

下面简要介绍常见的三种操作系统:Windows、Linux和macOS。

Windows ​

概述 ​

  • 开发者:微软公司(Microsoft Corporation)
  • 内核类型:混合内核
  • 主要语言:C, C++, C#

特点 ​

  • 图形用户界面(GUI):Windows以其友好的图形用户界面著称,用户可以通过图标和菜单进行操作。
  • 应用范围:家庭、企业和学校的个人计算机上都有在用。
  • 软件兼容性:第三方应用程序和游戏数量多,多数能直接安装使用。
  • 开发工具:提供 Visual Studio 这类集成开发工具,用于开发Windows应用程序。

核心组件 ​

  • NT内核:Windows的核心组件,提供内存管理、进程管理、文件系统和网络功能。
  • Win32 API:供开发者创建Windows应用程序的应用接口。
  • 文件系统:使用NTFS(New Technology File System)文件系统,提供高效、安全的数据存储和检索。

Linux ​

概述 ​

  • 开发者:最初由Linus Torvalds开发,现由全球社区协作维护
  • 内核类型:单内核(Monolithic kernel)
  • 主要语言:C, C++

特点 ​

  • 开源:Linux是开源的,用户可以自由修改和分发其源代码。
  • 多样性:存在多种发行版(如Ubuntu、Fedora、Debian),用户可以根据需要选择适合的版本。
  • 安全性和稳定性:由于其开源性质,安全性和稳定性得到了广泛认可,常用于服务器和开发环境。
  • 包管理器:各发行版有自己的包管理器(如apt, yum),方便软件安装和管理。

核心组件 ​

  • Linux内核:提供底层硬件抽象层、进程管理、内存管理和网络堆栈。
  • GNU工具链:包括编译器、调试器和其他开发工具,是Linux系统的基础。
  • 文件系统:支持多种文件系统,如ext4、Btrfs、XFS等,提供灵活的数据存储解决方案。

macOS ​

概述 ​

  • 开发者:苹果公司(Apple Inc.)
  • 内核类型:混合内核(基于XNU内核)
  • 主要语言:Objective-C, Swift

特点 ​

  • 与苹果硬件配套:系统和苹果硬件紧密结合,提供一致的用户体验。
  • 图形用户界面:菜单和窗口操作,容易上手。
  • 开发工具:提供Xcode集成开发环境(IDE),支持Objective-C和Swift编程语言,广泛用于开发macOS和iOS应用。
  • Unix基础:macOS基于Unix,命令行工具齐全,开发环境可以直接用。

核心组件 ​

  • XNU内核:结合了Mach微内核和BSD子系统,提供高效的内存管理和进程管理。
  • 文件系统:使用APFS(Apple File System),提供快速、安全的文件存储和检索。
  • Cocoa框架:面向对象的应用框架,供开发者创建macOS应用程序。

对比 ​

  • Windows:适合个人和商业用途,提供广泛的软件支持和友好的用户界面。
  • Linux:适合服务器和开发环境,开源、稳定且安全,具有多种发行版选择。
  • macOS:适合苹果硬件用户,配套 Xcode 这套开发工具。

选型看用途:桌面和商业软件看 Windows,服务器和开发环境看 Linux,苹果硬件上开发应用看 macOS。

参考资料 ​

同层页面 ​

相关页面 ​

Hello Golang