操作系统

要求

商用现货(COTS)组件 must 可用于:

  • Microsoft Windows Server和Windows 7

  • Ubuntu 12.04.02升

  • CentOS 6

要开发的软件组件 must 支持/测试/接受:

  • Microsoft Windows Server和Windows 7

  • Ubuntu 12.04.02升 or 世纪6

理论基础

便携性

跨平台兼容性是一项非功能性的项目需求:其目标是促进将要开发的软件解决方案(以及可能包含的现有软件组件)的共享、重用和未来改进。

对于最终用户,大多数接口可能是基于Web的用户接口(WUI):因此,Web浏览器兼容性将比操作系统兼容性更为严格。

然而,当软件可用于不同的平台时,潜在用户可以在其本地计算机中安装和测试服务器端组件,从而促进重用和采用。

备选方案分析

所选软件组件必须具有跨平台兼容性,并且必须可用于最常见的操作系统,并且在最常见的操作系统上受支持。因此,必须确定哪些是 最常见的操作系统 .

除了专有操作系统(如Microsoft Windows和Mac OS X),没有可靠的市场份额统计数据。大多数FOSS(免费和开源软件)操作系统都可以免费下载和安装,不需要任何类型的用户注册:因此,只能间接估计其使用情况。

  • 对于服务器段, W3Techs report on web servers operating systems 提供粗略估计:

    • 65%是Unix系统,50%是Linux发行版

    • 35%是微软Windows系统

    • Mac OS系统不足0.1%。

    在三个专业中 Linux families ,相对比例为:

    • “Debian家族”的57%,包括 Debian (约58%的基于Debian的分配)和 Ubuntu (42%)

    • 39%用于“红帽家族”,包括 CentOS (70%) Red Hat (23%)和 Fedora (7%);

    • “Slackware系列”的1.8%,包括 SUSE (99.9%)。

    这些值不包括未暴露于Internet的服务器(例如,企业内部网中的数据库服务器)。

  • 对于台式机/移动用户段, Wikipedia request statistics 提供另一个粗略估计:

    • 68%是Microsoft Windows系统

    • 20%是苹果Mac OS或iOS系统

    • 7%是Linux系统(包括Android)

    如果只考虑非移动Linux系统,可用的示例再次显示了3个主要的Linux系列:

    • “Debian家族”的96%,以Ubuntu(基于Debian的发行量的98%)、Mint和Debian(均低于1%)为代表;

    • “红帽家族”占3%,分为Fedora(59%)、Mandriva(22%)、Centos(10%)和Red Hat(9%);

    • “Slackware家族”的比例低于2%,分别为SuSE(99.9%)和OpenSuSE(0.1%)。

    这些值反映了(主要是)国内用户的特定使用类型(维基百科查询)。但是,操作系统的使用排名与其他间接来源(如 Google Trends on operating systemsStatOWL Operating System Market Share 报告。根据Statowl的数据,7个最常见的Linux发行版的相对比例为:

    • “Debian家族”的97%,包括Ubuntu(98%的Debian发行版)、Mint(1%)和Debian(<1%);

    • “红帽家族”占2%,包括Fedora(40%)、Centos(40%)和Red Hat(20%);

    • “Slackware系列”为1%,仅由SUSE代表。

可以从这些数据源推断出的全局模式是:

  • 在服务器段和用户段上,操作系统的使用共享完全不同。

  • 在服务器部分,微软Windows和Linux发行版(如Debian、Ubuntu和CentOS)很常见。

  • 在用户细分市场上,专有系统(Microsoft Windows、Mac OS X)占主导地位。主要的Linux发行版是Ubuntu。

这些模式支持以下结论:

  • 服务器端软件组件 应该 可用于:

    • Microsoft Windows Server 2008 R2

    • “Debian家族”和“Red Hat家族”Linux发行版;

    • Mac OS X支持不是必需的,但对于开发人员来说,它可能是一个很好的特性。

  • 客户端软件组件 应该 可用于:

    • Microsoft Windows(至少适用于Windows 7);

    • “Debian系列”发行版,至少适用于Ubuntu 12.04.2 LTS(基于Debian的发行版,具有长期支持版本,支持生命周期更长);

    • “Red Hat Family”发行版,至少适用于CentOS 6(免费的Red Hat Enterprise Linux克隆版,其生命周期比Fedora长);

    • Mac OS X(尽管这种操作系统在欧洲公共管理中并不常见)。

这些结论可以在下面进一步综合。 must 要求:

  • 软件组件 must 可用于:

    • Microsoft Windows Server 2008 R2和Windows 7

    • Ubuntu 12.04.02升

    • 世纪6

  • 要开发的软件组件 must 测试/验收:

    • Microsoft Windows Server 2012和Windows 7

    • Ubuntu 12.04.02升 or 世纪6

关于两个选定的Linux操作系统:

  • Ubuntu中的软件分发基于deb包(与所有“debian家族”中的包一样);在CentOS中,它基于RPM包(与所有“Red Hat家族”中的包一样)。对于这两种类型(DEB和RPM),软件打包要求是不同的:不会为项目定义打包要求,而是为源代码分发定义通用的.tar.gz(压缩tar存档)文件类型(如果适用/需要)。

  • 这两个操作系统都是免费的,但Ubuntu(例如,由其主要开发人员, Canonical) Centos基本上是商业红帽发行版的免费复制品(因此任何需要商业支持的组织都可以获得和使用 Red Hat 分发)。