当前位置: 首页>后端>正文

操作系统认知拓展

按工作方式分类

  • 批处理操作系统(Batch Processing operating systems)
  • 在计算机上无须人工干预而执行系列程序的作业
  • 允许多用户共享计算机资源
  • 可以把作业处理转移到计算机资源不太繁忙的时段
  • 避免计算资源闲置,而且无须时刻有人工监视和干预
  • 在昂贵的高端计算机上,使昂贵的资源保持高使用率,以减低平均开销
  • 分时操作系统(Time-sharing operating systems)
  • 计算机科学中对资源的一种共享方式
  • 利用多道程序与多任务处理使多个用户可以同时使用一台计算机
  • 分时的概念出现于1960年代
  • 在1970年代作为一种杰出的模型引发了计算机历史上的一次重大技术革新
  • 实时操作系统(Real-time operating system, RTOS)
  • 又称即时操作系统,它会按照排序执行、管理系统资源,并为开发应用程序提供一致的基础。
  • 最大的特色就是“实时性”,如果有一个任务需要执行,实时操作系统会马上(在较短时间内)执行该任务,不会有较长的延时。这种特性保证了各个任务的及时执行。
  • 网络操作系统(Network operating system, NOS)
  • 一种面向计算机网络的操作系统
  • 允许网络中的多台计算机访问共享的文件和打印机,允许共享数据,用户,组,安全,应用和其他网络功能。通常部署在局域网或私有网络。
  • 由于通用操作系统现在已经包含了很多功能特性,这个说法已成为历史。
  • 分布式操作系统(Distributed operating system)
  • 分布式操作系统是分布式软件系统的重要组成部分,负责管理分布式处理系统资源、控制分布式程序运行等。

内核

  • (英语:Kernel,又称核心)在计算机科学中是一个用来管理软件发出的资料I/O(输入与输出)要求的电脑程序,将这些要求转译为资料处理的指令并交由中央处理器(CPU)及电脑中其他电子组件进行处理,是现代操作系统中最基本的部分。

分别为宏内核、微内核、混合内核的操作系统结构

操作系统认知拓展,第1张
分别为宏内核、微内核、混合内核的操作系统结构
  • 内核在设计上可以概分为宏内核微内核两大架构。在宏内核与微内核之间,进行妥协的设计,这称为混合内核,但是混合内核能否被列为第三大架构,目前仍然有争议。
  • 另外与微内核相似,有一种极端的设计方式,称为外内核,仍还在研究阶段,没有任何一个流行的操作系统采用了这种设计。
  • 外核心


    操作系统认知拓展,第2张
    外核心的图形概述

Exokernel,一种操作系统内核架构,是一种极简化的核心,也被称为外核心(Exokernel),外核、或极限核心

  • 设计理念是尽可能的减少软件的抽象化,这使得开发者可以专注于硬件的抽象化。
  • 目标就是让应用程序直接请求一块特定的物理空间,一块特定的磁盘块等等。
  • 系统本身只保证被请求的资源当前是空闲的,应用程序就允许直接访问它。
  • 增加额外的运行库支持。这些运行库运行在外核之上,给用户程序提供了完整的功能。
  • 宏内核
    宏内核架构的概要示意图
    操作系统认知拓展,第3张
    宏内核架构的概要示意图

    Monolithic kernel,也译为集成式内核单体式内核,此架构的特性是整个内核程序是一个单一二进制可执行文件,在内核态kernel space以监管者模式(Supervisor Mode)来执行。
  • 宏内核被视作为运行在单一地址空间的单一的进程,内核提供的所有服务,都以特权模式,在这个大型的内核地址空间中运作,这个地址空间被称为内核态(kernel space)。
  • 优点是设计简单。在内核之中的通信成本很小,内核可以直接调用内核态内的函数,跟用户态的应用程序调用函数一样,因此它的性能很好
  • 微内核
    微内核的示意图
    操作系统认知拓展,第4张
    微内核的示意图

Microkernel,由尽可能精简的程序所组成,以实现一个操作系统所需要的最基本功能,包括了底层的寻址空间管理、线程管理、与进程间通信。

  • 设计理念,是将系统服务的实现,与系统的基本操作规则区分开来。
  • 实现方式,是将核心功能模块化,划分成几个独立的进程,各自运行,这些进程被称为服务(service)。所有的服务进程,都运行在不同的地址空间。只有需要绝对特权的进程,才能在具特权的执行模式下运行,其余的进程则在用户空间运行。
  • 需要特权的进程,只有基本的线程管理,内存管理和进程间通信等,这个部分,由一个简单的硬件抽象层与关键的系统调用组成。其余的服务进程,则移至用户空间。
  • 让服务各自独立,可以减少系统之间的耦合度易于实现与调试,也可增进可移植性。它可以避免单一组件失效,而造成整个系统崩溃,内核只需要重启这个组件,不致于影响其他服务器的功能,使系统稳定度增加。同时,操作系统也可以视需要,抽换或创建新某些服务进程,使功能更有弹性

UNIX

  • 非复用信息和计算机服务,英语:Uniplexed Information and Computing Service,UnICS),一种多用户、多进程的计算机操作系统
  • 属于分时操作系统
  • 前身是Multics,名称来自于多任务信息与计算系统(英语:MULTiplexed Information and Computing System)的缩写,它是一套分时多任务操作系统
- 1925年,当时AT&T总裁华特·基佛德收购了西方电子公司的研究部门,成立了一个叫做“贝尔电话实验室公司”的独立实体。
- 诺基亚贝尔实验室(英语:Nokia Bell Labs,简称贝尔实验室),是美国的一个科技研究机构.
  • 1964年,由贝尔实验室、麻省理工学院及美国通用电气公司所共同参与研发,并安装在大型主机上。
  • 1969年,因MULTICS项目的工作进度过于缓慢,最后终究遭裁撤的命运,贝尔实验室由此退出此项目。

Unix谱系

操作系统认知拓展,第5张
Unix谱系
  • 1969年,贝尔实验室退出Multics计划后,肯·汤普逊(Ken Thompson),丹尼斯·里奇(Dennis Ritchie),道格拉斯·麦克罗伊(Douglas McIlroy),和乔伊·欧桑纳于1969年在AT&T贝尔实验室开发
  • 第一版UNIX是用PDP-7汇编语言编写的,一些应用是由叫做B语言的解释型语言和汇编语言混合编写的。
  • 因为PDP-7的性能不佳,把第一版UNIX移植到PDP-11/20的机器上,开发第二版UNIX。在性能提升后,真正可以提供多人同时使用,布莱恩·柯林汉提议将它的名称改为UNIX
  • 1973年,汤普逊和里奇用C语言重写了Unix,形成第三版UNIX
  • 在进行系统编程时不够强大,所以汤普逊和里奇对其进行了改造,并于1971年共同发明了C语言
  • 1975年,在罗彻斯特大学(University of Rochester)开发出了Aleph内核,其作为罗彻斯特大学智能网关(Rochester’s intelligence Gateway,RIG)项目的一部分。
  • 1977年加利福尼亚大学伯克利分校(University of California, Berkeley;UC Berkeley或Cal)的研究生比尔·乔伊( Bill Joy)将程序整理到磁带上,作为First Berkeley Software Distribution(1BSD)发行。 1BSD 本身并不是一个完整的操作系统,而是 Version 6 Unix 的一个插件。主要程序包括Pascal编译器,以及比尔·乔伊的ex行编辑器。
  • 1978年,微软从美国电话电报公司(AT & T)购买了Version 7 Unix的许可证,并于1980年8月25日宣布,它将使该软件可用于16位微型计算机市场。因为微软不能授权“Unix”这个名字本身,所以公司给了它一个原始的名字——“Xenix”
  • 1979年,5月2BSD发布,其中包括1BSD 软件的更新版本以及乔伊的两个新程序,这两个程序至今仍然存在于 Unix 系统上: vi 文本编辑器(ex 的可视化版本)和 c shell。
  • 1979年,年底3BSD诞生了,这个新系统完整包括了一个新内核、从2BSD移植到VAX的工具,还有32V原来的工具。3BSD 也称为 Virtual VAX/UNIX 或 VMUNIX (用于虚拟内存 UNIX) ,BSD 内核映像通常称为/VMUNIX,直到4.4 BSD。
  • 1979年,Aleph的一位工程师理查德·法里斯·拉希德(Richard Farris Rashid)前往卡内基·梅隆大学(英语:Carnegie Mellon University,缩写为CMU) ,开始研究一种能够避免问题的新版 Aleph。
  • 1981年-1985年Accent最初是在卡内基·梅隆大学(CMU)开发的,受到了罗彻斯特大学开发的 Aleph 内核的影响。最值得注意的是它是 Mach 内核的前身。Accent改进了 Aleph,并修复了几个问题,是卡内基·梅隆大学 SPICE 项目的一部分。
  • 1981年,年底发布了 UNIX System III,是第一个商业UNIX系统。该系统是各种 AT & T UNIX 系统的混合体: Version 7 UNIX、 PWB/UNIX 2.0、 CB UNIX 3.0、 UNIX/RT 和 UNIX/32V,支持 DEC PDP-11和 VAX 计算机。
  • 1982年,史考特·麦克里尼(英语:Scott McNealy)、安迪·贝托尔斯海姆(Andy Bechtolsheim)和维诺德·柯斯拉(Vinod Khosla)三位斯坦福大学研究生共同创立了SUN公司。来自伯克利的比尔 · 乔伊是 BSD (BSD)的主要开发者,他很快就加入了公司,并被认为是最初的创始人之一。“SUN”这个名字来源于斯坦福大学网络(Stanford University Network,SUN)的首字母缩写。SunOS名称通常只用于指代基于 BSD 的版本1.0到4.1.4
  • 1983年System V的第一个版本发布。它引进了一些特性,例如vi编辑器和Curses库(这是从加州大学伯克利分校开发的BSD中引进的)。其中也包括了对DEC VAX机器的支持。同时也支持使用消息进行进程间通讯,信号量,和共享内存。
  • 1983年,理查德·马修·斯托曼(Richard Stallman)创立GNU计划(GNU is Not Unix)。目标是创建一个完全自由且向下兼容UNIX的操作系统。GNU项目的产品,如Emacs、GCC等已经成为各种其它自由发布的类UNIX系统中的核心角色。
  • 1985年Mach是一个由卡内基·梅隆大学(CMU)开发的计算机操作系统微内核,为了用于操作系统之研究,特别是在分布式与并行运算上。Mach的开发是为了取代BSD的UNIX核心,所以是许多新的操作系统的设计基础。Mach开发项目从1985年运行到1994年,到Mach 3.0版结束。
  • 1987年,美国电话电报公司和 Sun 宣布,他们正在合作一个项目,合并当时市场上最流行的 UNIX 变体: BSD、 UNIX System V和 Xenix。这就是 Unix 系统 V 版本4(SVR4)。
  • 1987年,理查德·马修·斯托曼(Richard Stallman)决定以Mach微内核进行开发,认为可以借此加速操作系统的开发,但因为一直不确定卡内基·梅隆大学(CMU)何时要将核心源代码发布,造成项目三年进展缓慢。他在之后承认这是个错误。
  • 1989年GNU通用公共许可协议(英语:GNU General Public License,缩写GNU GPL 或 GPL),是被广泛使用的自由软件许可证,给予了终端用户运行、学习、共享和修改软件的自由。
  • 1989年,GNU项目中的其他部分,如编辑器、编译器、Shell等都已经完成,独缺操作系统核心。
  • 1989年,Sun 发布了 OpenWindows,这是一个兼容 OPEN 的基于 X11的环境,同时也支持 SunView 和 NeWS 应用程序。这成为 SunOS 4.1.1中默认的 SunOS GUI。
  • 1989年System V Release 4.0公开,并于1990年发布。是Unix系统实验室和Sun联合进行的项目,它融合了来自Release 3,4.3BSD,Xenix,以及SunOS的技术。
  • Unix系统实验室(Unix System Laboratories,简称:USL)最初设立时是贝尔实验室的一部分。
  • USL于1990年并入贝尔实验室的另一个部门UNIX Software Operation。它被认为是负责Unix的开发和许可证发布的。就在当时它成为了一个独立的子公司,组织权、所有权和经营权都归美国电报电话公司,也就是贝尔实验室的母公司所有。
  • 1993年6月Novell收购了USL及其所有的Unix资产,包括所有的版权、商标和颁发执照的权利。
*   来自BSD: TCP/IP支持,C shell
*   来自SunOS: 网络文件系统,内存映射文件,以及一个新的共享库系统
*   其他的实现:
   *   ksh,Korn shell
   *   ANSI C兼容
   *   更好的国际化和本地化支持
   *   一个应用二进制接口
   *   支持POSIX、X/Open和SVID3标准
  • 1990年,自由软件基金会开始正式发展Hurd
  • 1991年Linux内核林纳斯·贝内迪克特·托瓦兹(Linus Benedict Torvalds)于1991年9月17日首次发布的操作系统内核。Linux 通常被打包成一个 Linux 发行版(就是通常所说的“Linux操作系统”),其中包括内核和支持系统的软件和库,其中许多是由 GNU 项目提供的。GNU计划中,运行用户层级的应用软件经过修改移植后,可以在Linux之上使用,因而很多开发者转向Linux。Linux成为最常见的GNU系统软件运行平台。
  • 1991年,Sun 宣布其下一个主要操作系统版本将从源自 BSD 的源代码转换为基于 SVR4的源代码。并将SUN OS 更名为Solaris

Linux发行版

  • Linux 发行版(英语:Linux distribution或distro,也被叫做GNU/Linux 发行版),为一般用户预先集成好的Linux操作系统及各种应用软件。
  • 一般用户不需要重新编译,在直接安装之后,只需要小幅度更改设置就可以使用,通常以软件包管理系统来进行应用软件的管理。
  • Linux发行版通常包含了包括桌面环境、办公包、媒体播放器、数据库等应用软件。>- 这些操作系统通常由Linux内核、以及来自GNU计划的大量的函式库,和基于X Window或者Wayland的图形界面。

不同主要发行版开发过程的时间线

操作系统认知拓展,第6张
不同主要发行版开发过程的时间线
  • Debian系
    • Debian于1993年8月16日由一名美国普渡大学学生伊恩·默多克(Ian Murdock)首次发布。最初把他的系统称为“Debian Linux Release”
    • Debian的名称是由他当时的女友(现在为其前妻Debra和Ian Murdock自己的名字合并而成的,所以Debian一词是根据这两个名字在美国英语的发音而读作/'d?bi?j?n/。
    • Debian GNU / Linux是一种强调使用自由软件的发行版,支持多种硬件平台。Debian及其派生发行版使用deb软件包格式,并使用dpkg及其前端作为软件包管理器。

出名的派生系统:

  • Deepin:曾基于Debian(deepin V23 Preview后,放弃了debian上游,也把软件包格式更换为自研的"玲珑"),使用自行开发的Deepin DE桌面环境的发行版,启动迅速,UI简洁,开发了深度文件管理器,深度音乐,深度截图,深度终端等特色软件,还与软件厂商合作开发了有道词典、网易云音乐等Linux原生应用。
    基于Deepin:统一操作系统(UOS):Deepin与中国电子、中兴、南京诚迈共同打造的商业化发行版。
  • Ubuntu:知名Linux发行版之一,由Canonical有限公司赞助,基于Debian,使用自己的软件包库,与Debian的有所不同,旨在开发出更加友好的桌面。
  • Red Hat系
    • Red Hat LinuxSUSE Linux是最早使用RPM格式软件包的发行版,如今RPM格式已广泛运用于众多的发行版。
    • 这两种发行版后来都分为商业版本社区支持版本
    • Red Hat Linux的社区支持但受红帽公司赞助的版本现称为Fedora,商业版本则称为Red Hat Enterprise Linux
    • SUSE Linux则分成了SUSE Linux EnterpriseOpenSUSE

出名的派生系统:

  • CentOSCommunity Enterprise Operating System是Linux发行版之一,它是来自于Red Hat Enterprise Linux(RHEL)依照开放源代码规定发布的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。CentOS 对上游代码 "上游 (软件开发)")的主要修改是为了移除不能自由使用的商标。CentOS和RHEL一样,都可以使用Fedora EPEL来补足软件。
  • Fedora Linux(第七版以前为Fedora Core)是较具知名度的Linux发行包之一,由Fedora项目社群开发、红帽公司赞助,目标是创建一套新颖、多功能并且自由(开放源代码)的操作系统。Fedora是商业化的Red Hat Enterprise Linux发行版的上游源码。

https://www.xamrdz.com/backend/3zx1937343.html

相关文章: