当前位置: 首页 > news >正文

漫谈UNIX、Linux、UNIX-Like

漫谈UNIX、Linux、UNIX-Like

使用了这么多年Redhat、Ubuntu等Linux、Windows、Solaris操作系统,你是否对UNIX、Unix-Like(类UNIX)还是不太清楚?我以前一直认为Unix-Like就等于Linux。其实,由UNIX派生出来而没有取得UNIX许可的操作系统都是Unix-Like。是的,UNIX必须要取得许可才能被冠以商标。

所以呢?几乎所有的开源操作系统都是类Unix,因为取得UNIX商标或者说获得UNIX许可是需要支付费用的。因为 UNIX 商标的使用权是受到商业授权的。UNIX 商标是由 The Open Group 组织掌管的,而 The Open Group 对于商标的使用往往会涉及商业授权费用。

这里提一个问题:FreeBSD是UNIX还是Linux?答案:都不是,它是类UNIX。当然广义上我们可以把它当UNIX看待。

当然,操作系统根据其设计目标、用途和特性进行不同的分类。最常见的分类方式:单用户操作系统(Single User)、多用户操作系统(Multi-User)、单任务操作系统(Single Tasking)、多任务操作系统(Multi-Tasking)、实时操作系统(Real-Time)、嵌入式操作系统(Embedded)、网络操作系统(Network OS)、分布式操作系统(Distributed OS)。也可以说是按照上面的维度进行划分;但是,这些分类方式并不是互斥的,一个操作系统可以同时属于多个分类。例如,一个多用户多任务操作系统可以同时具有分布式系统的特性。

我们常见的操作系统基本都属于多用户多任务操作系统,例如:

  1. UNIX 和 UNIX-like 操作系统:

    • UNIX 操作系统最早是为多用户多任务设计的,后来的 UNIX-like 系统(例如 Linux 和各种 BSD 变种)也继承了这一特性。它们支持多个用户同时登录,并能够同时运行多个任务和进程。
  2. Windows Server 系列:

    • Windows Server 是 Microsoft 公司推出的面向服务器环境的操作系统系列。它支持多用户多任务,可以在服务器环境中同时处理多个用户的请求和任务。
  3. macOS(基于 UNIX 的):

    • macOS 是 Apple 公司的操作系统,基于 UNIX。类似于 UNIX 系统,macOS 也支持多用户多任务,允许多个用户同时使用一台计算机。
  4. Linux 发行版:

    • Linux 是一个开源的 UNIX-like 操作系统内核,众多的 Linux 发行版(如 Ubuntu、Fedora、Debian 等)都继承了 UNIX 的多用户多任务特性。它们广泛用于服务器和个人计算机。

聊到这里貌似有点跑题,让我们回到UNIX、类UNIX这个话题。通过前面的讲述,其实我们已经有了一个模糊而不太准确的认识。请看下面一段讲述:

UNIX(由 AT&T Bell 实验室的 Ken Thompson、Dennis Ritchie 等人开发)是最早的类 Unix 操作系统,而后出现了许多 UNIX 标准的变种和衍生版本。

按我们的理解:先有UNIX,随着时间的推移,一些机构和个人开始开发基于 UNIX 思想的类似系统,这些系统通常被称为类 Unix 操作系统或 UNIX-like 操作系统。这些系统在设计上模仿了 UNIX,并且很多时候兼容 UNIX 标准。最终,许多类 Unix 操作系统开源,例如 Linux 和各种 BSD 变种,它们在设计上受到 UNIX 的启发。

为什么说 UNIX 是最早的类 Unix 操作系统?那是因为那时候的UNIX操作系统并没有形成标准(The Open Group 制定的 UNIX 标准),只是UNIX思想下的早期产物,和后来的系统在设计上模仿或受到 UNIX 影响的系统(后期类UNIX)一样,他们都不符合UNIX标准。

所以UNIX严格意义上不是操作系统,而是操作系统标准或商标。

UNIX商标和UNIX-like操作系统

  1. UNIX 商标:

    • "UNIX" 是最初由 AT&T Bell 实验室(现在是 Open Group 的一部分)开发的操作系统的商标。只有符合 Open Group 制定的一系列规范和标准的系统才能称为 "UNIX"。例如,AIX 和 HP-UX 符合这些标准,因此可以被称为 "UNIX"。
  2. UNIX-like 操作系统:

    • 由于 UNIX 系统的成功,其他开发者和组织开始设计和实现与 UNIX 相似的操作系统,以模仿 UNIX 的设计和接口。这些系统被称为 "UNIX-like" 或 "类 Unix",因为它们模仿了 UNIX 的外观和感觉,但并未正式获得 "UNIX" 商标。
  3. 历史发展:

    • 在 UNIX 的发展初期,各个大学和机构都基于 UNIX 源代码进行了修改和扩展,形成了不同的变种。这些变种在满足 UNIX 标准的同时也引入了自己的特性。例如,BSD(Berkeley Software Distribution)是一个最早的 UNIX 变种,而 AIX、HP-UX 和 Solaris 是 UNIX 原始版本的派生。
  4. 商业实现和 UNIX 许可:

    • AIX、HP-UX 和 Solaris 是商业实现的 UNIX,它们通过获得 UNIX 许可证,确保了与 UNIX 标准的兼容性。这使得它们可以被称为 "UNIX"。其他 UNIX-like 操作系统(如 Linux 和 BSD 变种)没有正式获得 UNIX 许可,因此通常被称为 "UNIX-like"。

UNIX 系统的主要版本和变种

  1. AT&T UNIX:

    • 原始的 UNIX 版本,由 AT&T Bell 实验室的 Ken Thompson 和 Dennis Ritchie 等人开发。它为后来的 UNIX 系统奠定了基础。
  2. BSD UNIX(Berkeley Software Distribution UNIX):

    • 由加州大学伯克利分校开发,引入了许多对 UNIX 进行了扩展和改进的特性。BSD 系统的一些版本包括 FreeBSD、OpenBSD、NetBSD 等。
  3. System V UNIX:

    • 由 AT&T 和 Sun Microsystems 开发,引入了一些新的特性和标准。System V 的一些版本包括 HP-UX(Hewlett Packard UniX)和 AIX(IBM Advanced Interactive eXecutive)等。
  4. Solaris:

    • 由 Sun Microsystems 开发的 UNIX 操作系统。Solaris 是 System V UNIX 的一个变种,后来被 Oracle 公司收购。
  5. AIX(Advanced Interactive eXecutive):

    • 由 IBM 开发,用于 IBM Power 系列服务器。AIX 是一种符合 UNIX 标准的操作系统。
  6. HP-UX(Hewlett Packard UniX):

    • 由惠普(现为惠普企业)开发,用于惠普的服务器和工作站。HP-UX 是 System V UNIX 的一个变种。
  7. IRIX:

    • 由 SGI(Silicon Graphics)开发,用于 SGI 的图形工作站和服务器。IRIX 为了支持图形和多媒体应用引入了许多特殊的功能。
  8. UnixWare:

    • 由 Novell 开发的 UNIX 操作系统。

相关文章:

漫谈UNIX、Linux、UNIX-Like

漫谈UNIX、Linux、UNIX-Like 使用了这么多年Redhat、Ubuntu等Linux、Windows、Solaris操作系统,你是否对UNIX、Unix-Like(类UNIX)还是不太清楚?我以前一直认为Unix-Like就等于Linux。其实,由UNIX派生出来而没有取得UN…...

Netty Review - Netty与Protostuff:打造高效的网络通信

文章目录 概念PrePomServer & ClientProtostuffUtil 解读测试小结 概念 Pre 每日一博 - Protobuf vs. Protostuff&#xff1a;性能、易用性和适用场景分析 Pom <dependency><groupId>com.dyuproject.protostuff</groupId><artifactId>protostuff-…...

在ClickHouse数据库中启用预测功能

在这篇博文中&#xff0c;我们将介绍如何将机器学习支持的预测功能与 ClickHouse 数据库集成。ClickHouse 是一个快速、开源、面向列的 SQL 数据库&#xff0c;对于数据分析和实时分析非常有用。该项目由 ClickHouse&#xff0c; Inc. 维护和支持。我们将探索它在需要数据准备以…...

目标检测YOLO实战应用案例100讲-树上果实识别与跟踪计数(续)

目录 3.2 损失函数优化 3.3 实验过程 3.3.1 果实图像采集 3.3.2 数据扩增...

Docker 文件和卷 权限拒绝

一 创作背景 再复制Docker影像文件或访问Docker容器内已安装卷上的文件时我们常常会遇到&#xff1a;“权限被拒绝”的错误&#xff0c;在此&#xff0c;您将了解到为什么会出现“权限被拒绝”的错误以及如何解决这个问题。 二 目的 在深入探讨 Docker 容器中的 Permission De…...

Appium Server 启动失败常见原因及解决办法

Error: listen EADDRINUSE: address already in use 0.0.0.0:4723 如下图&#xff1a; 错误原因&#xff1a;Appium 默认的4723端口被占用 解决办法&#xff1a; 出现该提示&#xff0c;有可能是 Appium Server 已启动&#xff0c;关闭已经启动的 Appium Server 即可。472…...

将Abp默认事件总线改造为分布式事件总线

文章目录 原理创建分布式事件总线实现自动订阅和事件转发 使用启动Redis服务配置传递Abp默认事件传递自定义事件 项目地址 原理 本地事件总线是通过Ioc容器来实现的。 IEventBus接口定义了事件总线的基本功能&#xff0c;如注册事件、取消注册事件、触发事件等。 Abp.Events…...

Jupyter Notebook修改默认工作目录

1、参考修改Jupyter Notebook的默认工作目录_jupyter文件路径-CSDN博客修改配置文件 2.在上述博客内容的基础上&#xff0c;这里不是删除【%USERPROFILE%】而是把这个地方替换为所要设置的工作目录路径&#xff0c; 3.【起始位置】也可以更改为所要设置的工作目录路径&#x…...

高校/企业如何去做数据挖掘呢?

随着近年来人工智能及大数据、云计算进入爆发时期&#xff0c;依托三者进行的数据分析、数据挖掘服务已逐渐成为各行业进行产业升级的载体&#xff0c;缓慢渗透进我们的工作和生活&#xff0c;成为新时代升级版的智能“大案牍术”。 那么对于多数企业来说&#xff0c;如何做数据…...

数据仓库-数据治理小厂实践

一、简介 数据治理贯穿数仓中数据的整个生命周期&#xff0c;从数据的产生、加载、清洗、计算&#xff0c;再到数据展示、应用&#xff0c;每个阶段都需要对数据进行治理&#xff0c;像有些比较大的企业都是有自己的数据治理平台或者会开发一些便捷的平台&#xff0c;对于没有平…...

【C++多线程编程】(五)之 线程生命周期管理join() 与 detach()

在C中&#xff0c;std::thread 类用于创建和管理线程。std::thread 提供了两种主要的方法来控制线程的生命周期&#xff1a;join 和 detach。 detach方式&#xff0c;启动的线程自主在后台运行&#xff0c;当前的代码继续往下执行&#xff0c;不等待新线程结束。join方式&…...

金融信贷场景的风险“要素”与主要“风险点”

目录 要素一:贷款对象 风险点1:为不具备主体资格或主体资格有瑕疵的借款人发放贷款 风险表现: 防控措施: 风险点2:向国家限控行业发放贷款 风险表现: 防控措施: 风险点3:受理不符合准入条件的客户申请 风险表现: 防控措施: 要素二:金额 风险点4:过渡授…...

ubuntu下docker安装,配置python运行环境

参考自: 1.最详细ubuntu安装docker教程 2.使用docker搭建python环境 首先假设已经安装了docker&#xff0c;卸载原来的docker 在命令行中运行&#xff1a; sudo apt-get updatesudo apt-get remove docker docker-engine docker.io containerd runc 安装docker依赖 apt-get…...

在Docker中安装kafka遇到问题记录

命令含义解答&#xff1a; 在docker安装kafka的时候&#xff0c;启动kafka的时候会执行下面语句&#xff1a; docker run -d --log-driver json-file --log-opt max-size100m --log-opt max-file2 --name kafka -p 9092:9092 -e KAFKA_BROKER_ID0 -e KAFKA_ZOOKEEPER_CONNEC…...

aws-waf-cdn 基于规则组的永黑解决方案

1. 新建waf 规则组 2. 为规则组添加规则 根据需求创建不同的规则 3. waf中附加规则组 &#xff08;此时规则组所有规则都会附加到waf中&#xff0c;但是不会永黑&#xff09; 此刻&#xff0c;可以选择测试下规则是否生效&#xff0c;测试前确认保护资源绑定无误 4. 创建堆…...

如何实现免费无限流量云同步笔记软件Obsidian?

目录 前言 如何实现免费无限流量云同步笔记软件Obsidian&#xff1f; 一、简介 软件特色演示&#xff1a; 二、使用免费群晖虚拟机搭建群晖Synology Drive服务&#xff0c;实现局域网同步 1 安装并设置Synology Drive套件 2 局域网内同步文件测试 三、内网穿透群晖Synol…...

GPTs | Actions应用案例

上篇文章说道&#xff0c;如何使用创建的GPTs通过API接口去获取外部的一些信息&#xff0c;然后把获取的外部信息返回给ChatGPT让它加工出来&#xff0c;回答你的问题&#xff0c;今天我们就来做一个通俗易懂的小案例&#xff0c;让大家来初步了解一下它的使用法&#xff01; …...

Python Opencv实践 - 手势音量控制

本文基于前面的手部跟踪功能做一个手势音量控制功能&#xff0c;代码用到了前面手部跟踪封装的HandDetector.这篇文章在这里&#xff1a; Python Opencv实践 - 手部跟踪-CSDN博客文章浏览阅读626次&#xff0c;点赞11次&#xff0c;收藏7次。使用mediapipe库做手部的实时跟踪&…...

关于Selenium的网页对象单元测试的设计模式

写在前面&#xff1a;经过了实践总结一下经验&#xff0c;心得进行一个分享。 首先driver是可以单独抽出来的&#xff0c;变成一个driver函数放在driver.py。 from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver…...

基于多反应堆的高并发服务器【C/C++/Reactor】(上)

&#xff08;一&#xff09;初始化服务器端用于监听的套接字 Server.h #pragma once // 初始化监听的套接字 int initListenFd(unsigned short port); Server.c int initListenFd(unsigned short port) {// 1.创建监听的fdint lfd socket(AF_INET, SOCK_STREAM, 0);if(lf…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中&#xff0c;我们训练出的神经网络往往非常庞大&#xff08;比如像 ResNet、YOLOv8、Vision Transformer&#xff09;&#xff0c;虽然精度很高&#xff0c;但“太重”了&#xff0c;运行起来很慢&#xff0c;占用内存大&#xff0c;不适合部署到手机、摄…...