当前位置: 首页 > 面试题库 >

* nix系统上有与COM等效的东西吗?如果不是,那么* nix的可重用性方法是什么?

姜鸿畴
2023-03-14
问题内容

我对Windows COM及其背后的想法有所了解。我想了解* nix系统是否具有等效功能,或者为什么没有?


问题答案:

Unix模型是围绕轻量级进程的概念构建的,该进程通过套接字,管道,信号和命令行相互通信。从历史上看,Unix没有线程(POSIX线程模型只有大约10年的IIRC年代),但是Unix上的进程总是比Windows上便宜得多,因此将功能分解为单独的可执行文件比允许创建一个可执行文件更具性能。单个程序可以变得庞大且庞大。

在COM中,您定义允许共享内存通信的二进制接口。COM与 面向对象的
范例相关联。在经典的Unix模型中,您定义了面向流的接口,这些接口允许通过管道进行通信,而无需共享内存。从概念上讲,这更接近于 功能 编程范例。

Unix模型鼓励创建可以通过轻量级“外壳”轻松耦合在一起的小程序,而COM模型鼓励创建暴露“组件”的大型程序,这些组件可以被其他大型程序重用。这实际上是一个“橘子橘子”的比较,因为这两种模型都针对不同的情况提供了利弊。

当然,现代Unix系统可以具有类似COM的功能。Mozilla具有XPCOM,它是一种跨平台框架,建立在与COM相同的原则上。GNOME长期以来一直使用Bonobo,Bonobo在概念上与Microsoft
OLE非常相似,后者是COM的先驱。但是GNOME的最新版本已经从Bonobo转移到了D-Bus,而D-Bus更像是事件/消息传递模式。



 类似资料:
  • 问题内容: nix的含义是什么,它与Ruby有什么关系? 刚刚在一个采访问题中看到了这一点……我认为这与UNIX发行版有关,但我不确定。 在这里或在Wikipedia中找不到它,所以我问。 什么意思 ? 它与Ruby有什么关系?因为问题是关于Ruby的。 问题答案: nix仅表示类似于旧版Unix的操作系统。一些示例包括Linux,FreeBSD和Mac OS X(其内核Darwin基于BSD)。

  • 问题内容: 在将算法从JavaScript移植到Java时,我遇到了需要替换JavaScript的toPrecision()的问题。问题是我不知道数字的大小是多少,所以我不能使用具有正确格式的简单NumberFormat。 是否有提供类似功能的标准类? 编辑这是我想出的: 原则上,它做对了,但是舍入错误完全毁了它。例如, 返回 编辑2此版本非常适合12个测试用例中的11个… 但是仍然返回而不是 问

  • 主要内容:一、从单块系统说起,二、团队越来越大,业务越来越复杂,三、分布式出现:庞大系统分而治之,四、分布式系统所带来的技术问题,五、一句话总结:什么是分布式系统设计和开发经验?,六、补充说明:中间件系统及大数据系统前言 现在有很多Java技术方向的同学在找工作的时候,肯定都会去招聘网站上找职位投递简历。 但是在很多职位JD上往往会有这样的一个要求:熟悉分布式系统理论、设计和开发,具备复杂分布式系统构建经验。 之前不少同学后台留言问过我:这个分布式系统的设计和开发经验,到底指的是什么?那么这篇文

  • Nix

    Nix 项目包含下面相关的开源子项目: Nix 是一个完全的软件包管理器,可进行独立的包升级而不会影响其他包,而且可以回滚到以前的版本。同一个软件允许同时存在多个版本。 Nixpkgs 包含了大量的软件包,可通过 Nix 包管理器进行安装。 NixOS 是一个基于 Nix 的 Linux 发行版,支持原子升级、回滚、多用户包管理,以及可轻松的在不同机器间同步配置。 Hydra 是一个基于 Nix 的持续构建系统。

  • 问题内容: 我想在Linux系统上用C编写一个简单的X终端仿真器。 一开始,我只是想我必须弹出一个shell并显示其输出。我检查了xterm和rxvt代码,它看起来更加复杂。 首先,我必须使用openpty打开一个伪终端。因此,我看了手册页,发现openpty填充了两个文件描述符,即主文件和从文件。由于这些特殊文件的系统相关性,因此xterm和rxvt代码都很混乱。 我了解termios的内容:这

  • 问题内容: 我知道这就是某些人不同意的原因,但这真的重要吗?我认为,在与JavaScript交互以及从服务器存储信息和向服务器发送信息时,它们提供的功能胜过了验证问题。我想念什么吗?“无效” HTML的后果是什么?而且自定义DTD是否也无法解决它们? 问题答案: 后果是w3c出现于2、5、10年,并创建了一个具有相同名称的属性。现在,您的页面已损坏。 HTML5将为合法的自定义属性提供一种数据属性