Sivelkiriya操作系统:介绍性说明

哈Ha

本文打开了有关Sivelkiriya操作系统的一系列出版物,该操作系统目前处于设计和开发的早期阶段。该系列文章将详细描述流行操作系统的系统问题,并提出解决方法。作者并没有设定说服任何人的目标,而只是专注于对建议的解决方案的描述,以便从讨论中受益。由于全部描述的内容超出了文章大小的任何合理限制,因此出版物将分部分进行。

每个有兴趣的人,欢迎猫。

如今,对于任何有关下一代操作系统开发的声明,您都不会感到惊讶,该操作系统应该比其前身和竞争对手更好,更方便,更有吸引力。个人计算机的操作系统市场中至少有三个主要参与者,移动设备的操作系统市场中至少有两个参与者。尽管存在明显的多样性,但也不能不指出它们之间的某些相似之处:尽管操作系统提供服务的技术和方法有所不同,但是大多数概念在从一个系统过渡到另一个系统的过程中保持不变。

因此,几乎所有当前流行的操作系统都在实现级别(窗口,图形,文件,网络,设备)提供对通用功能的支持,但在主题领域的概念表达(聊天消息,跟踪列表,服务账单)上则不提供支持。现有例外(联系人列表,剪贴板,通知栏)仅强调该规则。技术实现(文件,进程,线程)在许多方面也非常相似。

在所有情况下,计算机功能的使用单位都是应用程序,它自己决定如何引导可用资源以实现其目标。各种应用程序仅在它们的开发人员已经照顾到这种连接的情况下才互连。通常,执行关闭功能的程序无法交换数据,具有不同的接口,使用不同的术语,等等。组件之间的这种隔离纯粹是出于技术原因,但最终给用户带来痛苦。一台由集成工具制成的计算机将变成一堆异构解决方案,而普遍的兼容性(应成为设计的基本原则)仍然只是一个可选的机会。

当前,越来越多的解决方案将各种应用程序和服务彼此集成。软件产品的制造商似乎已经意识到,将多种可能性减少到一个便捷的系统中是实现和谐与秩序的唯一途径,这使用户的生活变得越来越美好。但是,在许多情况下,不兼容程序的盲目斗争(每种尝试都试图拥抱巨大的斗争)被更加激烈的集成商之争所取代,他们正在尽一切可能不让用户(和开发人员)离开他们的平台。整合者没有将世界团结在一起,而是将其独立于统治之下。

用于解决特定问题的单个应用程序世界的另一个不可避免的方面是,每个应用程序都有其自身的优点和缺点,通常是无法恢复的。在可用性,丰富的功能和对特定操作的支持之间进行选择是不可避免的。如果用户需要一个应用程序框架中未提供的功能来实现其目标,这将迫使他使用多个工具,从而花费大量时间和精力进行切换和传输数据。

软件开发是一个耗时的过程,因此任何产品中功能的数量和质量将不可避免地受到限制。同时,开发人员解决的大部分任务和问题已经在其他产品中解决;重用这些解决方案而不是重新开发它们将释放可用于实现用户更需要的其他目标的资源。

最后,程序行为通常是不道德的。程序并没有在帮助用户的过程中提供帮助,反而以烦人的评论和建议困扰着他。他们没有开发一种基于相互尊重的方便的提供服务的方式,而是将广告内容与目标结合在一起。结果是即使设备所有者也无法控制其行为。

Sivelkiriya操作系统旨在解决上述问题和其他一些问题。根据计划和设计,它应该在互惠互利的条件下集中,尊重地帮助开发和使用软件的过程中达到以下类别的参与者:

  1. — , , , .
  2. — , , , , — , - .
  3. — , , .
  4. — , , , .
  5. — , , , .

下面,我们将描述这种操作系统的体系结构以及如何帮助纠正这种情况。该系列的其他文章将详细研究它解决的问题,以表明它们需要系统的方法。最后,将展示所提出的解决方案的优缺点以及如何将其从概念转变为最终产品。

OS Sivelkiriya的概念


Sivelkiriya操作系统从对基础知识的修订开始,在其中删除或替换了一些普遍接受的概念。通常构成操作系统基础的以下实体在Sivelkiriya OS中不存在:

  1. 应用。
  2. 处理。
  3. 文件作为磁盘上的数据区域。
  4. 端到端文件系统,其导航仅受访问权限限制。
  5. 命令行作为运行单个应用程序的环境。
  6. 通用脚本。
  7. 基本操作系统API对任何组件的可用性。
  8. 直接传输大多数现代编程语言的标准库的能力。因此,除了某些情况外,还具有从其他操作系统直接转移现有软件的能力。
  9. 支持无面向对象的编程语言

此列表不完整。它绝不意味着限制程序员或用户的能力,仅表示在Sivelkiriya OS的框架内,与大多数现有操作系统相比,实现相同目标的方式有所不同。

放弃了这些已建立的实体之后,我们打算基于以下原则构建操作系统:

  1. «» - , , , . , , , , . . , , .
  2. . , , , , .
  3. , . , ( ). ( ) . , ( ) .
  4. , , , , . , .
  5. 每个模块仅提供执行其功能(由原型定义)所需的与操作系统交互的数据和方法。没有模块可以访问操作系统的所有功能。不允许在与另一个原型相关的模块内重复分配已分配给特定原型的功能。
  6. 在程序开发人员和操作系统开发人员的共同努力下,数据接口和原型模块的开发是连续进行的。接口和原型可以根据需要进行修改和补充。


本系列中的以下文章将详细展示如何将这些原则和其他原则应用于实践中。

该循环的第二篇文章可以在这里获得全文可在项目网站上找到

Source: https://habr.com/ru/post/undefined/


All Articles