Plan9操作系统基本概念

简介:

什么是Plan 9

Plan9 是一个操作系统。由贝尔实验室开发的,其主要的负责人是Rob Pike(现在在google工作,负责Go语言的开发)。当然这个操作系统的参与者还有几个大名鼎鼎的人:包括Ken Thompson(C语言和Unix创始人),Dennis Ritchie(C语言和Unix创始人),Brain Kernighan(awk之父),Doug Mcllroy(Unix管道提出者,Unix开发参与者)。

为什么有了Unix还需要有Plan9呢?

Plan9中最本质的思想是“一切皆是文件”,CPU是一个文件,内存是一个文件,网络是一个文件,任何的东西都是一个文件。

Unix是一个多用户分时操作系统,就是多个用户共享一个操作系统资源。不管是CPU,内存,网络,都需要通过Unix进行分配调度。但是这样的问题就导致了多个机器之间的信息传输必须通过网络来进行了。比如A机器的文件需要使用B机器的CPU来处理,方法就只有通过某种协议,将A机器的文件下载到B机器中,然后B机器处理完以后再回传到A机器中。

Plan 9的“一切皆是文件”就很好的解决了这个问题,A机器想要使用B机器的CPU,只需要将B机器的CPU挂载到A机器的CPU的文件中,就能完成这个需求了。当然两个机器之间也有一个协议9P来进行文件挂载表示的。但是这个对上层的操作系统来说已经是透明的了。

Plan9是一个分布式操作系统,它能把网络上一切的资源当作文件来进行使用,这其实就是云的概念了。

Unix上不能实现跨网络分布式的操作系统吗?

首先是“一切皆是文件”的概念当然在Unix上也有很好体现。这点这些牛掰的作者已经运用在Unix上了,比如/sys/devices/system/cpu/cpu0下的CPU文件代表的就是当前CPU的状态。但是由于Unix发展太快了,导致后面有很多功能已经超出贝尔实验室的控制了。比如引入了ioctl,而不是使用文件的read/write命令。也是因为这些原因,贝尔实验室的这些人就想着能创建一个超越Unix的操作系统,从而有了plan9。

Plan9的后续

Plan9的全部代码都是由C写的。后来Rob Pike又开始写了一门语言:Limbo。Limbo语言是一种专门写分布式系统的编程语言。这种语言运用最多的就是Inferno操作系统上。

Inferno操作系统

这个操作系统是Plan9的姐妹操作系统。它的思想和Plan9基本相同,都是基于文件的。但是它只有内核是C编写,其他的应用程序都是Limbo编写的。所以它和Plan9不同的地方就是在这个系统上运行的程序都是Limbo程序而不是C或C衍生程序了。更多关于Inferno的资料可以看:http://zh.wikipedia.org/wiki/Inferno

后来Rob Pike又开发出的Go语言有一些地方的思想就是借鉴于Limbo语言。

Plan9 操作系统的截图

Image(1)

目录
相关文章
|
7月前
|
存储 Linux Android开发
操作系统的概述
操作系统(Operating System,简称OS)简单通俗来讲就是一款软件。不过和一般软件不同,操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件。任何其他软件都必须在操作系统的支持下才能运行。 Linux 也是众多操作系统之一,要想知道 Linux 是什么,首先得说一说什么是操作系统。 计算机是一台机器,它按照用户的要求接收信息、存储数据、处理数据,然后再将处理结果输出(文字、图片、音频、视频等)。计算机由硬件和软件组成: 硬件是计算机赖以工作的实体,包括显示器、键盘、鼠标、硬盘、CPU、主板等; 软件会按照用户的要求协调整台计算机的工
67 1
|
7天前
|
算法 安全 Linux
深入理解操作系统的内存管理:原理与实践
【5月更文挑战第4天】 在现代计算领域,操作系统的内存管理是保证系统稳定、高效运行的关键。本文旨在深入剖析操作系统内存管理的基本原理,包括虚拟内存、物理内存、分页机制和内存交换等概念。同时,文章将探讨如何通过优化内存分配策略,提升系统性能及响应速度。此外,还将讨论当前流行的操作系统(如Linux和Windows)中内存管理的创新技术及其应用案例。
|
11天前
|
缓存 算法 内存技术
深入理解操作系统内存管理:原理与实践
【4月更文挑战第30天】本文旨在深入探讨操作系统中的内存管理机制,包括物理内存的分配与回收、虚拟内存技术、分页系统以及内存优化策略。通过对内存管理概念的详细解读和实际案例分析,读者将获得对操作系统如何处理内存资源的全面认识,并了解如何在实践中应用这些知识以提高系统性能和稳定性。
|
5月前
|
调度 Windows
【操作系统】—操作系统的概念 目标和功能
【操作系统】—操作系统的概念 目标和功能
|
9月前
|
存储 算法 索引
02 操作系统基本原理
02 操作系统基本原理
|
算法 调度 索引
【操作系统】第七章:进程管理(Part1:进程的概念)
【操作系统】第七章:进程管理(Part1:进程的概念)
105 0
|
存储 安全 前端开发
【操作系统】第一章:操作系统概念
【操作系统】第一章:操作系统概念
106 0
|
存储 供应链 API
操作系统的基本概念
操作系统的基本概念
操作系统的基本概念
|
存储 C++
3.2操作系统(基本分页存储管理的基本概念)
💧什么是分页存储 🍓如何实现地址的转换 🍒逻辑地址结构 🥦重要的数据结构——页表
3.2操作系统(基本分页存储管理的基本概念)
|
调度 C语言 Python
【操作系统】1.1.1 操作系统的概念、目标和功能
【操作系统】1.1.1 操作系统的概念、目标和功能
【操作系统】1.1.1 操作系统的概念、目标和功能