UNIX 系统概要
- UNIX 家族
- UNIX 家谱
- 家族后起之秀 Linux
- UNIX vs Linux
- UNIX/Linux 应用领域
- UNIX 操作系统
- 诞生与发展
- UNIX 操作系统概要
- 内核
- 常驻模块
- shell
- 虚拟计算机
- 特性
- 其他操作系统 Linux
- Richard Stallman
- GNU 项目
- FSF 组织
- GPL 协议
- Linus Torvalds
UNIX 家族
有人说,这个世界上只有两种操作系统:
-
UNIX 和 类 UNIX 操作系统
-
其他操作系统
因为 UNIX 是现代操作系统的开山鼻祖,是操作系统的发源地,windows 和 Linux 都参考了 UNIX。
UNIX 家谱
目前为止,UNIX 有两大流派:那就是 AT&T 发布的 UNIX 操作系统 System V 与美国加州大学伯克利分校发布的 UNIX 版 BSD(Berkeley Software Distribution)。

家族后起之秀 Linux
Linux 是最著名的 类 UNIX 系统,经历了时间的考验,风头正盛。
Linux 占据了原属于 UNIX 的市场份额,在操作系统发展历程中的地位不可否认。
下图是一些 Liunx 版本:

UNIX vs Linux
无论是要学 Linux 还是学 UNIX,二者都是 类 UNIX 系统,是同一家族。
【总结】
- Linux 是 类 UNIX 系统,设计实现参考了 UNIX
- Linux 和其他类 UNIX 系统一样,都 大体遵循 POSIX 等 UNIX 标准化规范
- 类 UNIX 系统的 多数操作和命令都大同小异
- 部分程序 甚至可以 不通过重新编译就可以在不同类 UNIX 系统上执行
UNIX/Linux 应用领域
- Internet 服务器 OS 可以通过 Netcraft 网址,输入网址查看该服务器使用的 OS 类型。
- 个人计算机 OS 如,
Mac OS是苹果公司为 Mac 系列 PC 开发的专属操作系统,基于 FreeBSD 系统(类 UNIX 系统)。此外,Red hat桌面版,国内使用人数众多,学习资料丰富;ubuntu界面友好,硬件支持全面,是最适合做桌面系统的 Linux。 - 移动设备 OS 如
iOS,源自 Mac OS X,是类 UNIX 操作系统;android使用了 Linux 内核,也是类 UNIX 操作系统。
UNIX 操作系统
诞生与发展
当时 AT&T 和 麻省理工学院 和 通用电信公司 合作了一个项目叫 Multics,但不幸的是失败了。
Thompson 为在小型机上玩游戏,找到 Ritchie 开发了一个操作系统 UNIX,借鉴了 Multics 的一些思想,如:
- 分时设计思想 (把计算机的时间片分成若干小片,然后分给各个程序去运行,仿佛用户在独占计算机)。
- 注重交互思想,认为用户的交互式需求和设备效率一样重要。

UNIX 的 设计理念 是 KISS,即 Keep It Simple, Stupid ! 简单易用。
UNIX 最初使用 汇编语言 开发,后来 C 语言诞生,二人又使用 C 语言重写 UNIX 源代码,UNIX 和 C 完美地结合成为一个统一体。
1983年,二人获得图灵奖,十年磨一剑。
急功近利的大多数商业软件,都在没有充分完善前就匆匆推向市场。UNIX 很幸运,它发展得很慢,但每一步都很扎实。它的酝酿阶段从 1969 年到 1979 年持续了整整 10 年,UNIX 作为产品面对用户时,已被充分应用完善了。
贝尔实验室以较低价格向教育机构提供 UNIX,大学广泛开设 UNIX 课程,学生们将 UNIX 带入商业和工业领域,UNIX 以 源代码 形式发行,形成了 两个重要流派:
- UNIX SYSTEM V
- Berkeley UNIX
20世纪80年代 UNIX 版本的剧增导致各版本之间差别的扩大,所以有必要对 UNIX 进行 标准化,即对每种实现必须定义的各种限制进行说明。
两个重要的 UNIX 标准 如下:
- 系统 V 接口定义 SVID(AT&T)
- 可移植操作系统接口 POSIX(IEEE,ISO)
UNIX 操作系统概要

UNIX 操作系统按 分层模型 实现。
内核

- 内核是 上层应用 连接 底层硬件 的桥梁。
- 可以把内核理解为基本操作系统,直接控制硬件,如访问文件(硬盘)。
- 系统工具、UNIX 命令 不属于 内核。
常驻模块

- 常驻模块用来 执行用户的请求(接近底层)。
- 应用程序 通过 系统调用 访问常驻模块,如 I/O 控制、进程创建/中止服务、文件访问。
shell


- shell 是 命令解释程序,是工具层。
- shell 是 UNIX 的 用户接口,是 UNIX 系统软件的组成部分,含命令、工具。
- shell 向用户和应用程序提供各种服务(给用户的)。
虚拟计算机

- 虚拟计算机 不属于 UNIX 的系统组件。
- UNIX 是多用户操作系统,是虚拟计算机的集合,这些虚拟计算机 共享 CPU 及其他硬件资源。
特性
可移植性:

多任务性、分级文件系统:

与设备独立的输入输出操作:

用户界面 shell:

系统工具与系统服务:

其他操作系统 Linux

Richard Stallman
Richard Stallman 是 MIT 的 AI 实验室的一个研究员,他收到了一个 UNIX 的版本,但是随着时间的推移,UNIX 逐渐不是开源的发行了。
他收到的不开源的版本让他很不开心,他认为一个软件要获得使用软件和获得源代码的自由,所以他认为 UNIX 已经背离了它的初衷,所以他要 再开发一个开源的 UNIX !
他启动了 GNU 项目,创建了 FSF 组织,提出了 Copyleft 理念,制定了 GPL 协议,发起了开源运动。
GNU 项目

GNU 的吉祥物是一只羊。


FSF 组织

GPL 协议


GNU 开发的工具都在 GPL 下发行。
GPL 确保任何使用自由软件创建的新产品,必须在 GPL 协议下发行;以自由软件为基础,修改后重新发行,也必须公开源代码。
Linus Torvalds
Linus Torvalds 搞定了 kernel !
他当年是赫尔辛基大学计算机二年级学生,他也希望开发一个自由(开放源代码)的 UNIX,他在 1991 年发布第一版内核,且在 GPL 协议下发布。由于参与开源运动,Linux 内核更新速度极快。
Linus 和 UNIX 的简写就是 Linux,Linux 就是这样来的。Linux 的吉祥物是一只企鹅 tux。


相关文章:
UNIX 系统概要
UNIX 家族UNIX 家谱家族后起之秀 LinuxUNIX vs LinuxUNIX/Linux 应用领域 UNIX 操作系统诞生与发展UNIX 操作系统概要内核常驻模块shell虚拟计算机特性 其他操作系统 LinuxRichard StallmanGNU 项目FSF 组织GPL 协议Linus Torvalds UNIX 家族 有人说,这个世界上只有…...
Unity 基础函数
Mathf: //1.π-PI print(Mathf.PI); //2.取绝对值-Abs print(Mathf.Abs(-10)); print(Mathf.Abs(-20)); print(Mathf.Abs(1)); //3.向上取整-Ce il To In t float f 1.3f; int i (int)f; …...
【学习】若依源码(前后端分离版)之 “ 上传图片功能实现”
大型纪录片:学习若依源码(前后端分离版)之 “ 上传图片功能实现” 前言前端部分后端部分结语 前言 图片上传也基本是一个项目的必备功能了,所以今天和大家分享一下我最近在使用若依前后端分离版本时,如何实现图片上传…...
vue3 excel 导出功能
1.安装 xlsx 库 npm install xlsx2.创建导出函数 src/utils/excelUtils.js import * as XLSX from xlsx;const exportToExcel (fileName, datas, sheetNames) > {// 创建工作簿const wb XLSX.utils.book_new()for (let i 0; i < datas.length; i) {let data datas…...
python 相关框架事务开启方式
前言 对于框架而言,各式API接口少不了伴随着事务的场景,下面就列举常用框架的事务开启方法 一、Django import traceback from django.db import transaction from django.contrib.auth.models import User try:with transaction.atomic(): # 在with…...
vue使用ElementUI
1.安装 npm i element-ui -S 2.引入 2.1完整引入 import Vue from vue; import ElementUI from element-ui; import element-ui/lib/theme-chalk/index.css; import App from ./App.vue;Vue.use(ElementUI); 2.2按需引入 说明:为了输入时候有提示,建…...
Python做一个绘图系统3:从文本文件导入数据并绘图
文章目录 导入数据文件对话框修改绘图逻辑源代码 Python绘图系统系列:将matplotlib嵌入到tkinter 简单的绘图系统 导入数据 单纯从作图的角度来说,更多情况是已经有了一组数据,然后需要将其绘制。这组数据可能是txt格式的,也可能…...
flutter开发实战-获取Widget的大小及位置
flutter开发实战-获取Widget的大小及位置 最近开发过程中需要获取Widget的大小及位置,这时候就需要使用到了GlobalKey了和WidgetsBinding.instance.addPostFrameCallback了 一、addPostFrameCallback 该函数的作用: flutter中的界面组件Widget每一帧…...
软件测试工程师面试如何描述自动化测试是怎么实现的?
软件测试工程师面试的时候,但凡简历中有透露一点点自己会自动化测试的技能点的描述,都会被面试官问,那你结合你的测试项目说说自动化测试是怎么实现的?一到这里,很多网友,包括我的学生,也都一脸…...
Qt5兼容使用之前Qt4接口 intersect接口
1. 问题 项目卡中遇到编译报错, 错误 C2039 “intersect”: 不是“QRect”的成员 。 2. 排查过程 排查到依赖的第三方代码,使用 intersect 接口, 跟踪排查到头文件中使用了***#if QT_DEPRECATED_SINCE(5, 0)*** #if QT_DEPRECATED_SINCE…...
【云原生】Kubernetes节点亲和性分配 Pod
目录 1 给节点添加标签 2 根据选择节点标签指派 pod 到指定节点[nodeSelector] 3 根据节点名称指派 pod 到指定节点[nodeName] 4 根据 亲和性和反亲和性 指派 pod 到指定节点 5 节点亲和性权重 6 pod 间亲和性和反亲和性及权重 7 污点和容忍度 8 Pod 拓扑分布约束 官方…...
【Essential C++课后练习】纯代码(更新中)
文章目录 第一章 C编程基础1.41.51.61.71.8 第二章 面向过程的编程风格2.12.22.32.42.52.6 第一章 C编程基础 1.4 /*********************************************************************说明:试着扩充这个程序的内容:(1)要求用户同时输…...
C#仿热血江湖GClass
目录 1 C#仿热血江湖GClass 1.1 GClass32 1.2 method_4 1.3 smethod_0 C#仿热血江湖GClass public class GClass32 { private byte[] byte_0;...
[SQL智慧航行者] - 用户购买商品推荐
话不多说, 先看数据表信息. 数据表信息: employee 表, 包含所有员工信息, 每个员工有其对应的 id, salary 和 departmentid. --------------------------------- | id | name | salary | departmentid | --------------------------------- | 1 | Joe | 70000 | 1 …...
Idea配置Scala开发环境
1.首先安装scala插件: File--->Setting---->plugins,在输入框中输入scala,然后点击“Install”即可安装scala,需要稍微等待几分钟。 2 创建项目: File ---->new---->project-----Maven--->Next----输入名称(test…...
LT8711UXD 是一款高性能双通道 Type-C/DP1.4 至 HDMI2.0 转换器
LT8711UXD 1.描述 LT8711UXD是一款高性能的双车道TypeC/DP1.4到HDMI2.0转换器,设计用于将USB Type-C源或DP1.4源连接到HDMI2.0接收器。LT8711UXD集成了一个DP1.4兼容的接收机,和一个HDMI2.0兼容的发射机。此外,还包括两个CC控制器࿰…...
Android APK体积优化(瘦身)
1、基础知识: 1.1 apk结构 lib :存放so文件,对应不同的cpu架构 res :资源文件,layout、drawable等,经过aapt编译 assets :资源文件,不经过aapt编译 classes.dex :dx编译…...
python技术栈 之 单元测试中mock的使用
一、什么是mock? mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。 二、mock的作用 特别是开发过程中上下游未完成的工序导致当前无法测试,需要虚拟某些特定对象…...
python 提取冒号和逗号内的字符串
如果你想要从字符串中提取冒号和逗号之间的内容,你可以使用正则表达式来完成。以下是使用 Python 的re模块进行提取的示例: import retext 这是一个包含:冒号,逗号:的字符串# 使用正则表达式匹配冒号和逗号之间的内容 pattern r[:](.*?)[,] matches …...
CentOS安装Postgresql
PG基本安装步骤 安装postgresql: sudo yum install postgresql-server初始化数据库:安装完毕后,需要初始化数据库并创建初始用户: sudo postgresql-setup initdb启动和停止服务: sudo systemctl start postgresql sudo…...
西门子S7-1500PLC大型程序实战:FB块PTO控制多轴运动,S7-1200PLC智能IO...
西门子S7-1500PLC大型程序,各种FB块PTO控制20多个轴,5台S7-1200PLC智能IO通讯,ModbusRTU通讯轮询,完整威纶通触摸屏程序,是学习西门子PLC通信、伺服好帮手 程序结构分明,注释详细,有机械结构图&…...
Web自动化测试—如何生成高质量的测试报告?
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 运行了所有测试用例,控制台输入的结果,如果很多测试用例那也不能够清晰快速的知道多少用例通过率以及错误情况。 web自动化测试实战之批量…...
针对30%重复率的论文,aibiye的AI功能提供五条速成方案。智能识别高相似内容并重构表达,确保快速达到学术机构的基本要求。
嘿,大家好!我是AI菌。今天咱们来聊聊一个让无数学生头疼的问题:论文重复率飙到30%以上怎么办?别慌,我这就分享5个实用降重技巧,帮你一次搞定,轻松压到合格线以下。这些方法都是我亲身试验过的&a…...
3步解决Zotero PDF Translate翻译失效的终极指南:快速恢复学术研究工具
3步解决Zotero PDF Translate翻译失效的终极指南:快速恢复学术研究工具 【免费下载链接】zotero-pdf-translate Translate PDF, EPub, webpage, metadata, annotations, notes to the target language. Support 20 translate services. 项目地址: https://gitcode…...
考研数学二想拿高分?武忠祥老师强化讲义里的这些“坑”你绕过去了吗?
考研数学二高分避坑指南:武忠祥强化讲义典型误区全解析 1. 极限与连续:那些年踩过的"存在性"陷阱 极限存在性的判断一直是考生最容易栽跟头的地方。武忠祥老师在强化讲义中特别强调,很多同学对"去心邻域内处处有定义"这一…...
从GCN到GAT:基于PyTorch Geometric的Cora论文分类实战与可视化分析
1. 从零开始理解Cora数据集 第一次接触Cora数据集时,我完全被那些论文引用关系搞晕了。这个数据集就像学术界的社交网络,每篇论文都是一个"人",引用关系就是"谁认识谁"。具体来说,Cora包含2708篇机器学习论文…...
WordPress NextMove Lite 插件权限绕过漏洞利用工具 (CVE-2024-25092)
CVE-2024-25092 漏洞利用工具 项目描述 本项目是针对 CVE-2024-25092 漏洞的自动化利用脚本。该漏洞存在于 WordPress XLPlugins NextMove Lite 插件(版本号 ≤ 2.17.0)中,由于缺少授权检查,导致具有订阅者(Subscriber…...
免费获取全球900+语言支持的Noto字体库:设计师与开发者的终极解决方案
免费获取全球900语言支持的Noto字体库:设计师与开发者的终极解决方案 【免费下载链接】noto-fonts Noto fonts, except for CJK and emoji 项目地址: https://gitcode.com/gh_mirrors/no/noto-fonts Noto字体库是谷歌开发的开源字体项目,旨在为全…...
3分钟实现Zotero文献PDF自动下载:科研效率的终极革命
3分钟实现Zotero文献PDF自动下载:科研效率的终极革命 【免费下载链接】zotero-scipdf Download PDF from Sci-Hub automatically For Zotero7 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-scipdf 还在为找不到论文PDF而烦恼吗?每天花费数…...
研发公司一物一码如何打通产品研发与渠道数字化
研发公司一物一码如何打通产品研发与渠道数字化在快消行业,产品研发、渠道动销与消费者反馈原本应该形成闭环,但多数企业现实中仍是“研发看内部数据,销售看出货数据,市场看活动数据”。当产品从立项到铺市缺少统一的数据连接&…...
