精华内容
下载资源
问答
  • 2021-11-04 19:26:56

    UNIX操作系统中,文件的索引结构放在( )
    A. 超级块
    B. 索引结点
    C. 目录项
    D. 空闲块

    UNIX采用树形目录结构,文件信息存放在索引结点中。
    超级块是用来面熟文件系统的。

    更多相关内容
  • 高清扫描版 带完整的目录 ;由于linux系统内核实现,最早是根据M.J.Bach的《UNIX操作系统设计》的基本原理开发的,源代码中许多变量或函数名称都来自此书,因此阅读此书可更易于对linux内核代码的理解;
  • UNIX操作系统

    2018-09-21 13:01:12
    详细介绍了UNIX操作系统的运行机制包括,多线程 ,文件系统等
  • UNIX操作系统设计(电子书),对着方面有兴趣的小伙伴可以了解一下
  • Unix操作系统.docx

    2022-06-22 12:14:41
    Unix操作系统 Unix发展历程介绍以及未来发展趋势 Unix服务器操作系统,主要支持大型的文件系统服务、数据服务等应用。但是只在服务器厂商生产的高端服务器产品中支持Unix操作系统应用,因此SUNSolaris、IBM-AIX都是...
  • 本书全面而实用地介绍UNIX操作系统。全书共设计了四个学习过程,即UNIX系统基本应用技术的学习(第1~4章)、UNIX应用技术的掌握(第5~6章)、UNIX核心技术及并行机制的学习(第7~10章)、网络功能及其他实用技术的学习...
  • Unix与Linux操作系统是同一个操作系统吗?是,也不是。或许这个答案有自相矛盾的地方,但是却是一个比较合理的答案...但是其并没有采用Unix操作系统的源代码,并没有采用Unix操作系统的运行方式。从这一点来说,他们两
  • Unix操作系统介绍.doc

    2022-06-22 12:16:20
    Unix操作系统 目 录 1. Unix发展历程介绍以及未来发展趋势 1 1.1 Unix操作系统由来 1 1.2 Unix操作系统进化史 1 1.3 Unix系统的未来 1 2. 性能 2 2.1 系统硬件 2 2.2 文件系统 3 2.3 核心参数 4 3. 特点 4 4. 应用...
  • 对于学习Unix操作系统的可以作为了解材料,从Unix操作系统简介开始 1.1 Unix 发展简史 1.2 Unix的主要特征 1.3 Linux 1.4 Unix的结构 对于Unix学习有一定帮助
  • Unix的由来,细数Unix操作系统10位伟大开发者
  • Unix操作系统的原理、优点与缺点

    千次阅读 2021-07-18 08:59:30
    Unix是20世纪70年代初出现的一...本文对Unix操作系统的原理、优点与缺点做了简单的分析。 Unix系统在计算机操作系统的发展史上占有重要的地位,对我们学习嵌入式操作系统有重大的意义。本文主要分析了Unix操作系统的原

    Unix是20世纪70年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用。现在Unix系统的用户日益增多,应用范围也日益扩大。Unix系统在计算机操作系统的发展史上占有重要的地位,对已有技术不断作了精细、谨慎而有选择的继承和改造,并且,在操作系统的总体设计构想等方面有所发展,才使它获得如此大的成功。本文对Unix操作系统的原理、优点与缺点做了简单的分析。

    Unix系统在计算机操作系统的发展史上占有重要的地位,对我们学习嵌入式操作系统有重大的意义。本文主要分析了Unix操作系统的原理、优点和缺点。其中原理部分包括Unix系统的基本结构、Unix文件系统、Unix存储管理。

    一. Unix操作系统的原理

    Unix是一种多用户、多任务管理操作系统。Unix系统由硬件部分、内核、Shell和应用程序构成,用户通过Shell发送用户命令到内核。Unix文件系统采用树形结构。Unix支持多种处理器架构,按照操作系统的分类,属于分时操作系统。苹果系统就是基于Unix的。

    1.Unix系统的基本结构

    (1)内核层
    Unix系统内核的作用是与硬件交互并控制硬件向用户程序提供抽象服务。负责计算机系统中的资源管理和进程调度分配,其中包括中断处理、存储器管理、进程管理和I/O文件管理等。这些功能由Unix内核中的各个模块实现。其中包括直接控制硬件的各模块。Unix的内核是计算机硬件的第一次延伸,向用户提供接口进行服务,而用户不能够直接访问内核。

    (2)Shell及专用程序层
    Shell是Unix的用户接口,是Unix系统的重要组成部分。它负责完成用户命令的解释执行,完成Unix系统用户工作环境的设定等,但它不是内核的组成部分。在Unix系统中,一些命令通过应用程序的命令接口来实现。其中编译部件也在Shell及专用程序层上。

    (3)用户程序层
    用户程序层在Shell和专用程序的外部,与编译器同处最外层的是用户的实际应用程序。编译器主要完成将用户程序编译成系统可识别和处理的形式,也在用户程序层上。

    2.Unix文件系统

    Unix文件系统采用树形文件结构、内核与外核结合、设备与文件一样的管理机制和使用方法。Unix文件系统通过“磁盘索引i节点”和“目录项”来进行管理的,在文件被打开或被引用后还需要“内存索引i节点”、“用户文件描述表”、“文件表”。

    文件系统在磁盘中大致分为以下三个区域:

    (1)超级块
    作用是存放文件系统本身的结构信息,比如每个区域的大小以及有哪些空余的磁盘块信息。超级块中保存了全局文件信息,如硬盘已用空间、数据块可用空间、i结点信息等等。

    (2)i-节点表
    存储文件的属性,大小以及所有者等。每个i-节点结构的大小一致,而且访问的方式就和数组类似,比如要访问i-节点号为9的i-节点结构,就对应i-节点表中的第10个位置。i结点是Unix操作系统中文件的核心,也是操作系统与硬盘中存储的数据间的中介,如果这个结点信息出现错误的话,那么硬盘中存储的数据块将无法被用户所采用。

    (3)数据区
    文件的内容就保存在这个区域,磁盘上的所有块的大小都是相同的,如果该文件的内容存储下来不止需要一个块,那就使用多个块进行存储。如果文件很大的话,就需要很多个磁盘块才能存储下来。

    3.Unix存储管理

    存储管理是对作业从进入就绪状态起到运行结束之间所使用的存储器进行管理。可以将存储管理模块的任务分为存储分配、地址映射和存储保护。

    (1)存储分配
    一个程序在编译和链接后,得到一个称为内存映像的文件。该文件描述了这个程序在运行时所需要的内存大小,其中包括代码和数据区的地址。这些地址称为逻辑地址,并且以首地址0为参考地址。每当一个作业调入内存,进入就绪状态,存储管理模块就要根据可利用的内存空间与作业所需要的内存两者进行计算,给该作业分配相应的内存空间。

    (2)地址映射
    将一个作业装入内存,意味着一个进程将被创建。存储管理模块会把该作业的映像文件首地址(为零)对准内存中进程的首地址。这个进程的首地址或起始地址是内存中的物理地址,称为偏移量。映像文件的逻辑地址加上偏移量,得到内存中的地址值均为物理地址。计算逻辑地址到物理地址的转换工作称为地址映射。映像中所有的逻辑地址都可转换为物理地址。

    (3)存保护
    内存空间总是被若干个进程分享,其中包括操作系统本身要常驻在内存中的那一部分。内存保护的任务是对内存空间中已划分出的区域,知道它们各属于哪些进程,并且知道每个进程有权访问的区域。每当一个进程执行过程中需要访问某个地址时,存储管理模块就要检查一下这个进程是否有权访问这个物理地址。通常,每个进程在内存中的区域是该进程可以访问的合法地址。如果访问的地址落在该进程的区域之外,即产生了非法访问。一旦遇到非法访问,内存保护就要拒绝访问,并进行出错处理。

    二. Unix操作系统的优点

    Unix系统是最早出现的操作系统之一,现在Unix系统的技术已经变得成熟,它具有以下优点:

    1.可靠性高

    Unix操作系统具有较高的可靠性,Unix主机和服务器可以保持24小时不间断运行,使用Unix系统的主机/服务器更加稳定可靠。现在的Unix操作系统采用64位技术,多路I/O提高系统可靠性和性能,支持控制器热插拔、硬盘跨接和镜像等,满足了复杂的应用要求。

    2.良好的用户界面

    Unix系统提供了良好的用户界面,具有使用方便、功能齐全、清晰而灵活、易于扩充和修改等特点。Unix系统的使用有两种形式:一种是操作命令,即Shell语言,是用户可以通过终端与系统发生交互作用的界面;另一种是面向用户程序的界面,它不仅在汇编语言,而且在C语言中向用户提供服务。并且Unix有3种主流的Shell,同时为用户提供数千条系统命令,大大方便了系统操作、系统管理。系统的可操作性强,可以用非常简易的输出设备代替显示器,来操作计算机和完成复杂的系统开发和管理工作。

    3.良好的文件系统

    Unix系统的文件系统是树形结构。它由基本文件系统和若干个可装卸的子文件系统组成,既能扩大文件存储空间,又有利于安全和保密。Unix系统把文件、文件目录和设备统一处理。它把文件作为不分任何记录的字符流进行顺序或随机存取,并使得文件、文件目录和设备具有相同的语法语义和相同的保护机制,这样既简化了系统设计,又便于用户使用。其中跨平台的文件系统和网络文件系统都为用户提供了很大便利。

    4.可移植性强

    Unix系统包含有非常丰富的语言处理程序、实用程序和开发软件用的工具性软件,向用户提供了相当完备的软件开发环境。Unix系统的绝大部分程序是用C语言编程的,只有约占5%的程序用汇编语言编程。C语言是一种高级程序设计语言,它使得Unix系统易于理解、修改和扩充,并且具有非常好的移植性。

    5.强大的网络功能

    这是Unix系统的一大重要特色。作为Internet网络技术和异构系统互连重要手段的TCP/IP协议就是在Unix上开发和发展起来的,而且他也成为Unix系统的一个不可分割的部分。Unix几乎所有系统都包括对TCP/IP的支持。同时,在Internet网络服务器中,Unix服务器占80%以上,占绝对优势。还支持所有常用的网络通讯协议,能方便的与其他主机系统、各种广域网和局域网相连接。

    6.开放性

    这也是Unix系统的一大重要特色。一些Unix是部分开源的,也有一些分支是开源的。例如macOS就是基于Unix的bsd分支。任何人都可以一起发现漏洞,改进、增加新功能,提高安全性能,提高了知识的利用率,也促进了生态的发展。

    三. Unix操作系统的缺点

    虽然Unix系统具有很多优点,但也存在一些缺点。

    1.不适合普通用户

    Unix操作系统的使用需要使用者掌握晦涩难懂的计算机语言,而且操作复杂,没有智能修正,命令行易产生歧义,造成使用上的一些问题。因此,Unix系统具有一定的入门门槛,不适合普通用户使用。

    2.文本流作为接口不够方便可靠

    Unix系统从标准输入得到文本流,处理,向标准输出打印文本流。程序之间用管道进行通信,让文本流可以在程序间传递。在程序向标准输出打印时,数据被转换成文本,这是一个编码过程,而程序之间用管道进行通信,程序从文本中提取信息是一个解码过程。由于鼓励使用文本流,很多程序员很随意的设计他们的编码方式而不经过严密思考。这就造成了 Unix 的几乎每个程序都有各自不同的输出格式,使得解码成为非常头痛的问题,经常出现歧义和混淆。

    3.传统Unix内核可扩展性差

    Unix用一种极简的方法构建工具,大型和复杂的工具都可以通过小型简单的工具组合创建出来,而同样的方法没有在内核上继续应用。传统Unix内核只有少量的基础功能用于代码重用,可扩展性差。随着Unix的发展,开发者直接将代码添加到内核中,会使内核变得臃肿复杂、反模块化。

    展开全文
  • [unix操作系统教程pdf]Unix操作系统认识教程.doc
  • UNIX操作系统设计(英文版)

    热门讨论 2012-04-18 13:06:17
    UNIX操作系统设计(英文版).
  • 教程名称:UNIX操作系统视频课程27讲(哈工大)课程目录:【】linux系统学习站点和参考书介绍【】UNIX操作系统-linxu系统介绍1【】UNIX操作系统-linxu系统介绍2【】UNIX操作系统-linxu系统介绍3【】UNIX操作系统-...
  • 教程名称:电子科技大学Unix操作系统基础视频教程(20讲)课程目录:【】unix操作系统基础教程 01【】unix操作系统基础教程 02【】unix操作系统基础教程 03【】unix操作系统基础教程 04【】unix操作系统基础教程 05...
  • UNIX操作系统发展史简介

    千次阅读 2020-10-02 21:37:32
    1964年贝尔实验室(Bell Labs)、通用电气(General Electric)和麻省理工学院(MIT)联合启动研发第二代分时操作系统MULTICS(Multiplexed Information and Computing Service)(注:MULTICS正式研制始于1965年) ...

    本文来自 https://mp.weixin.qq.com/s/GgXAGj0Kbo1gKPT4D4WYSA

    1964年贝尔实验室(Bell Labs)、通用电气(General Electric)和麻省理工学院(MIT)联合启动研发第二代分时操作系统MULTICS(Multiplexed Information and Computing Service)(注:MULTICS正式研制始于1965年)

    1969年,贝尔实验室研究人员Ken Thompson在退出MULTICS项目时,准备将原本在MULTICS系统上开发的“star travel”游戏转移到DEC PDP-7上运行。在转移游戏程序运行环境的过程中,Thompson和Dennis M. Ritchie共同动手设计了一套包含文件系统、命令解释器以及一些实用程序的支持多任务的操作系统。与Multics相对应,这个新操作系统被同事Brian Kernighan戏称为UNICS(UNiplexed Information and Computing System,非复用信息和计算机服务),之后大家取谐音便叫成了UNIX。

    1970年Thompson尝试用Fortran重写UNIX失败后整合BCPL成B语言,1971年他用B语言在PDP-11/24上重写UNIX,当年的11月3日,UNIX第1版(UNIX V1)正式诞生。

    注:BCPL(Basic Combined Programming Language)是Martin Richards写的,他在1967年写了篇文章“编译器编写和系统编程工具(A tool for compiler writing and systems programming)”。因为B是“BCPL的精简版”,所以它的名字也是一个缩写,B成为第一个在Unix上使用的高级语言。

    1972年,UNIX发布了第2版,最大的改进是添加了后来成为UNIX标志特征之一的管道功能。在开发UNIX V2的时候,Ritchie给B语言加上了数据类型和结构的支持,推出了C语言。

    1973年,Thompson和Ritchie使用C语言重写了UNIX,形成第3版UNIX。在当时,为了实现最高效率,系统程序都是由汇编语言编写,所以Thompson和Ritchie此举是极具大胆创新和革命意义的。用C语言编写的Unix代码简洁紧凑、易移植、易读、易修改,为此后UNIX的发展奠定了坚实基础。

    1974年,Thompson和Ritchie合作在ACM通信上发表了一篇关于UNIX的文章,这是UNIX第一次出现在贝尔实验室以外。此后UNIX被政府机关,研究机构,企业和大学注意到,并逐渐流行开来。

    1975年,UNIX发布了4、5、6三个版本。1978年,已经有大约600台计算机在运行UNIX。

    1975年,Thompson应邀回母校——加州大学伯克利分校任客座教授,讲授的科目就是UNIX。同年,Bill Joy大学毕业来到伯克利分校。当UNIX V6安装在学校的PDP-11/70机器上后,Joy和他的同事便开始完善Pascal的性能,编写ex编辑器以及csh命令解释器等。1977年初,Joy制作了一卷包含新的Pascal编译器、ex等程序的磁带。这就是1BSD(1st Berkeley Software Distribution)。1983年,4.2BSD发布。它是UNIX历史上第一个包含TCP/IP协议栈以及rcp、rsh、rlogin和rwho等网络工具的系统。

    1979年,UNIX V7发布。这是历史上第一个完整意义上的UNIX版本,也是最后一个广泛发布的研究型UNIX版本。20世纪80年代相继发布的8、9、10版本只授权给了少数大学。此后这个方向上的研究导致了九号计划的出现,这是一个新的分布式操作系统。

    注:贝尔实验室九号项目(Plan 9 from Bell Labs,常简称为Plan 9)是一个分布式操作系统,由贝尔实验室的计算科学研究中心在1980年代中期至2002年开发,以作为UNIX的后继者。它现在仍然被操作系统的研究者和爱好者开发使用。

    1980年,美国电话电报公司发布了UNIX的可分发二进制版(Distribution Binary)许可证,启动了将UNIX商业化的计划。

    1981年,美国电话电报公司基于UNIX V7开发了UNIX System III 的第一个版本(1982年发布)。这是一个商业版本,仅供出售。

    1983年,美国电话电报公司成立了UNIX系统实验室(UNIX System Laboratories,USL),并综合其他大学和公司开发的各种UNIX,开发出UNIX System V Release 1(简称SVR1)。这个新的UNIX商业发布版本不再包含源代码。美国电话电报公司开始积极地保护UNIX的源代码。从发布System III开始,该公司的所有UNIX版本转由一个强调稳定的商业发行版本小组进行维护。

    此后,其他一些公司也开始为其自己的小型机或工作站提供商业版本的UNIX系统,有些选择System V作为基础版本,有些则选择了BSD。BSD的一名主要开发者,Bill Joy,在BSD基础上开发了SunOS,并最终创办了SUN公司。

    1991年,一群BSD开发者(Donn Seeley、Mike Karels、Bill Jolitz和Trent Hein)离开了加州大学,创办了Berkeley Software Design, Inc (BSDI)。BSDI是第一家在Intel平台上提供全功能商业BSD UNIX的厂商。后来Bill Jolitz离开了BSDI,开始了386BSD的工作。386BSD被认为是FreeBSD、OpenBSD和NetBSD、DragonFlyBSD的先辈。

    AT&T继续为UNIX System V增加了文件锁定,系统管理,作业控制,流和远程文件系统。1987到1989年,AT&T决定将Xenix(微软开发的一个x86-pc上的UNIX版本),BSD,SunOS和System V融合为System V Release 4(SVR4)。这个新发布版将多种特性融为一体,结束了混乱的竞争局面。

    1993年以后,大多数商业UNIX发行商都基于SVR4开发自己的UNIX变体了。

    UNIX System V Release 4发布后不久,AT&T就将其所有UNIX权利出售给了Novell。Novell期望以此来对抗微软的Windows NT,但其核心市场受到了严重伤害,1993年Novell将SVR4的商标权利出售给了X/OPEN公司,后者成为定义UNIX标准的机构。1996年,X/OPEN和OSF/1合并,创建了国际开放标准组织,由它公布的“单一UNIX规范”定义着具有什么特征的操作系统可以冠上UNIX之名,相对地,不符合这些标准但与Unix有类似性的操作系统只能称为“类Unix”(unix-like)。

    UNIX代码著作权则由Novell售给Santa Cruz Operation(SCO)公司,2001年这家公司的商标与UNIX产品和业务都出售给了Caldera Systems,交易完成后,Caldera又被重命名为SCO Group。

    截止到2020年6月,目前除类UNIX系统(BSD、GNU)外,仍有Oracle Solaris,IBM AIX,HP-UX,MINIX等符合标准的UNIX系统。而原System V Unix则随着“1127”部门的解散而停止更新。

    注:根据一项报导指出,当年负责研发UNIX与后续维护工作的贝尔实验室1127部门已于2005年8月正式宣告解散。肯·汤普逊已退休,现居加州;丹尼斯·里奇调到别的部门;而Douglas McIlroy则在达特茅斯学院担任教授。

     

    官司:

    1983年,AT&T发布了Unix最新版system V,这是一个商业化版本,付费才能使用,并且不得传播源码。这个决定对BSD构成了限制,为了减少纠纷,伯克利分校规定,BSD本身依然保持免费,但是只能提供给持有AT&T源码许可的公司。不过,与此同时,伯克利的师生也开始着手另一项工作:将AT&T的专有代码从BSD中逐渐去除。

    80年代后期,几个伯克利毕业的学生,成立了一家Berkeley Software Design Inc.公司,简称BSDi,专门销售BSD的一个商业版本。他们在广告中宣称,自己的产品不包含任何AT&T代码。这句话惹恼了AT&T,1990年BSDi被告上法庭,稍后伯克利分校也被追加为被告。AT&T起诉BSD侵犯了Unix的版权。

    这场诉讼对BSD打击极大,所有的开发活动都被迫停止,用户人心惶惶,担心自己也遭到AT&T的追究,因此BSD的使用急剧减少。最后在1994年,双方达到和解,BSD才恢复开发。

    这场战争给Unix和BSD带来毁灭性的打击。BSD在1992~1994年期间,开发处于停滞,错过了发展的黄金时机。官司结束以后,又不幸发生分裂,变成了FreeBSD、NetBSD和OpenBSD三个版本。这些原因导致BSD直到今天,都还在操作系统的竞争中处在落后地位。

    如果换个时间,官司的损失也许还没这么大。偏偏90年代初是计算机工业决定性的年代,错过了那几年,从此你就不要想翻身了。因为从80年代末期开始,Intel的80×86芯片有巨大的发展,性能快速上升,而成本快速下降,个人电脑的年代就要到来了。市场迫切需要能够运行在386芯片上的操作系统,但是Unix和BSD忙于打官司,都没有去做移植操作系统这件事。其他两个这样做的人,改变了人类历史。

    一个是比尔·盖茨,他推出了Windows,占领了个人电脑市场,后来赚了几百亿美元。另一个是芬兰大学生Linus Torvalds,他想学习Unix,但是买不起工作站,就自己写了一个能在386上运行的Linux操作系统,现在全世界超过一半的网络服务器都在使用这个系统。Linus Torvalds后来说,如果他早知道BSD没有法律问题,并且可以被移植到386,他就会加入BSD的开发,而不是自己写一个。

    我们不禁要问,如果AT&T不打版权官司、不对Unix收费的话,会发生什么事?……人类的历史、市场的格局也许都会被改写。

     

    [1] MAC项目:CTSS和Multics(译)

    [2] https://www.cnblogs.com/lsdb/p/6627528.html

    [3] https://zh.wikipedia.org/wiki/UNIX

    [4] https://www.sohu.com/a/119456926_464065

     

    展开全文
  • 第 章 UNIX操作系统.doc

    2020-11-22 11:30:33
    第8章UNIX操作系统 UNIX操作系统从一个非常简单的操作系统发展成为性能先进功能强大使用广泛的操作系统,并成为事实上的多用户多任务操作系统标准 8.1内容辅导 8.1.1 UNIX操作系统概述 1.UNlX系统的特点 UNIX系统的...
  • 通过介绍 linux 和 unix 的发展历史,说明 unix 与 Linux 的关系与区别。最后阐述了 unix / Linux 系统的结构(内核层、shell层、应用层)。

    摘要: 通过介绍 linux 和 unix 的发展历史,说明 unix 与 Linux 的关系与区别。最后阐述了 unix / Linux 系统的结构(内核层、shell层、应用层)。

    UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的"老大哥",后来的 Windows 和 Linux 都参考了 UNIX。

    现代的 Windows 系统已经朝着“图形界面”的方向发展了,和 UNIX 系统有了巨大的差异,从表面上甚至看不出两者的关联。

    UNIX 的坎坷历史

    UNIX 操作系统由肯•汤普森(Ken Thompson)和丹尼斯•里奇(Dennis Ritchie)发明。它的部分技术来源可追溯到从 1965 年开始的 Multics 工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电气公司联合发起,目标是开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统。

    说明:分时操作系统使一台计算机可以同时为多个用户服务,连接计算机的终端用户交互式发出命令,操作系统采用时间片轮转的方式处理用户的服务请求并在终端上显示结果(操作系统将CPU的时间划分成若干个片段,称为时间片)。操作系统以时间片为单位,轮流为每个终端用户服务,每次服务一个时间片。

    可惜,由于 Multics 工程计划所追求的目标太庞大、太复杂,以至于它的开发人员都不知道要做成什么样子,最终以失败收场。

    以肯•汤普森为首的贝尔实验室研究人员吸取了 Multics 工程计划失败的经验教训,于 1969 年实现了一种分时操作系统的雏形,1970 年该系统正式取名为 UNIX。

    想一下英文中的前缀 Multi 和 Uni,就明白了 UNIX 的隐意。Multi 是大的意思,大而且繁;而 Uni 是小的意思,小而且巧。这是 UNIX 开发者的设计初衷,这个理念一直影响至今。

    有意思的是,肯•汤普森当年开发 UNIX 的初衷是运行他编写的一款计算机游戏 Space Travel,这款游戏模拟太阳系天体运动,由玩家驾驶飞船,观赏景色并尝试在各种行星和月亮上登陆。他先后在多个系统上试验,但运行效果不甚理想,于是决定自己开发操作系统,就这样,UNIX 诞生了。

    自 1970 年后,UNIX 系统在贝尔实验室内部的程序员之间逐渐流行起来。1971-1972 年,肯•汤普森的同事丹尼斯•里奇发明了传说中的C语言,这是一种适合编写系统软件的高级语言,它的诞生是 UNIX 系统发展过程中的一个重要里程碑,它宣告了在操作系统的开发中,汇编语言不再是主宰。

    到了 1973 年,UNIX 系统的绝大部分源代码都用C语言进行了重写,这为提高 UNIX 系统的可移植性打下了基础(之前操作系统多采用汇编语言,对硬件依赖性强),也为提高系统软件的开发效率创造了条件。可以说,UNIX 系统与C语言是一对孪生兄弟,具有密不可分的关系。

    20 世纪 70 年代初,计算机界还有一项伟大的发明——TCP/IP 协议,这是当年美国国防部接手 ARPAnet 后所开发的网络协议。美国国防部把 TCP/IP 协议与 UNIX 系统、C语言捆绑在一起,由 AT&T 发行给美国各个大学非商业的许可证,这为 UNIX 系统、C语言、TCP/IP 协议的发展拉开了序幕,它们分别在操作系统、编程语言、网络协议这三个领域影响至今。肯•汤普森和丹尼斯•里奇因在计算机领域做出的杰出贡献,于 1983 年获得了计算机科学的最高奖——图灵奖。

    在这里插入图片描述

    图 1 为肯•汤普森与丹尼斯•里奇的合影,天才都是不修边幅的……

    随后出现了各种版本的 UNIX 系统,目前常见的有 Sun Solaris、FreeBSD、IBM AIX、HP-UX 等

    Solaris 和 FreeBSD

    我们重点介绍一下 Solaris,它是 UNIX 系统的一个重要分支。Solaris 除可以运行在 SPARC CPU 平台上外,还可以运行在 x86 CPU 平台上。在服务器市场上,Sun 的硬件平台具有高可用性和高可靠性,是市场上处于支配地位的 UNIX 系统。

    对于难以接触到 Sun SPARC 架构计算机的用户来说,可以通过使用 Solaris x86 来体验世界知名大厂的商业 UNIX 风采。当然,Solaris x86 也可以用于实际生产应用的服务器,在遵守 Sun 的有关许可条款的情况下,Solaris x86 可以免费用于学习研究或商业应用。

    FreeBSD 源于美国加利福尼亚大学伯克利分校开发的 UNIX 版本,它由来自世界各地的志愿者开发和维护,为不同架构的计算机系统提供了不同程度的支持。FreeBSD 在 BSD 许可协议下发布,允许任何人在保留版权和许可协议信息的前提下随意使用和发行,并不限制将 FreeBSD 的代码在另一协议下发行,因此商业公司可以自由地将 FreeBSD 代码融入它们的产品中。苹果公司的 OS X 就是基于 FreeBSD 的操作系统。

    在这里插入图片描述
    FreeBSD 与 Linux 的用户群有相当一部分是重合的,二者支持的硬件环境也比较一致,所采用的软件也比较类似。FreeBSD 的最大特点就是稳定和高效,是作为服务器操作系统的不错选择;但其对硬件的支持没有 Linux 完备,所以并不适合作为桌面系统。

    其他 UNIX 版本因应用范围相对有限,在此不做过多介绍。

    Linux 的那些往事

    Linux 内核最初是由李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,当时他觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,于是决定自己开发一个操作系统。第 1 版本于 1991 年 9 月发布,当时仅有 10 000 行代码。
    在这里插入图片描述
    李纳斯•托瓦兹没有保留 Linux 源代码的版权,公开了代码,并邀请他人一起完善 Linux。与 Windows 及其他有专利权的操作系统不同,Linux 开放源代码,任何人都可以免费使用它。

    据估计,现在只有 2% 的 Linux 核心代码是由李纳斯•托瓦兹自己编写的,虽然他仍然拥有 Linux 内核(操作系统的核心部分),并且保留了选择新代码和需要合并的新方法的最终裁定权。现在大家所使用的 Linux,我更倾向于说是由李纳斯•托瓦兹和后来陆续加入的众多 Linux 好者共同开发完成的。

    李纳斯•托瓦兹无疑是这个世界上最伟大的程序员之一,何况,他还搞出了全世界最大的程序员交友社区 GitHub (开源代码库及版本控制系统)。

    关于 Linux Logo 的由来是一个很有意思的话题,它是一只企鹅。

    在这里插入图片描述
    为什么选择企鹅,而不是选择狮子、老虎或者小白兔?有人说因为李纳斯•托瓦兹是芬兰人,所以选择企鹅,有人说因为其他动物图案都被用光了,李纳斯•托瓦兹只好选择企鹅。

    我更愿意相信以下说法,企鹅是南极洲的标志性动物,根据国际公约,南极洲为全人类共同所有,不属于世界上的任何国家,可国家都无权将南极洲纳入其版图。Linux 选择企鹅图案作为 Logo,其含义是:开放源代码的 Linux 为全人类共同所有,可公司无权将其私有。

    UNIX与Linux的亲密关系

    二者的关系,不是大哥和小弟,"UNIX 是 Linux 的父亲"这个说法更怡当。之所以要介绍它们的关系,是因为要告诉读者,在学习的时候,其实 Linux 与 UNIX 有很多的共通之处,简单地说,如果你已经熟练掌握了 Linux,那么再上手使用 UNIX 会非常容易。

    二者也有两个大的区别:

    1. UNIX 系统大多是与硬件配套的,也就是说,大多数 UNIX 系统如 AIX、HP-UX 等是无法安装在 x86 服务器和个人计算机上的,而 Linux 则可以运行在多种硬件平台上;
    2. UNIX 是商业软件,而 Linux 是开源软件,是免费、公开源代码的。

    Linux 受至旷大计算机爱好者的喜爱,主要原因也有两个:

    1. 它属于开源软件,用户不用支付可费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿使用,无约束地继续传播;
    2. 它具有 UNIX 的全部功能,任何使用 UNIX 操作系统或想要学习 UNIX 操作系统的人都可以从 Linux 中获益。

    开源软件是不同于商业软件的一种模式,从字面上理解,就是开放源代码,大家不用担心里面会搞什么猫腻,这会带来软件的革新和安全。

    另外,开源其实并不等同于免费,而是一种新的软件盈利模式。目前很多软件都是开源软件,对计算机行业与互联网影响深远。

    开源软件本身的模式、概念比较晦涩,这套《Linux教程》旨在指导读者应用 Linux,大家简要理解即可。

    近年来,Linux 已经青出于蓝而胜于蓝,以超常的速度发展,从一个丑小鸭变成了一个拥有庞大用户群的真正优秀的、值得信赖的操作系统。历史的车轮让 Linux 成为 UNIX 最优秀的传承者。

    总结一下 Linux 和 UNIX 的关系/区别

    Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。

    说模仿可能会被人喷,你也可以说微创新或者改进。

    相比于 UNIX,Linux 最大的创新是开源免费,这是它能够蓬勃发展的最重要原因;而目前的 UNIX 大部分都是收费的,小公司和个人都难以承受。

    正是由于 Linux 和 UNIX 有着千丝万缕的联系,所以人们把 Linux 叫做“类UNIX系统”,下节我们将会着重讲解。

    UNIX/Linux系统结构

    UNIX/Linux 系统可以粗糙地抽象为 3 个层次(所谓粗糙,就是不够细致、精准,但是便于初学者抓住重点理解),如图 3 所示。底层是 UNIX/Linux 操作系统,即系统内核(Kernel);中间层是 Shell 层,即命令解释层;高层则是应用层。

    UNIX/Linux 系统可以粗糙地抽象为 3 个层次(所谓粗糙,就是不够细致、精准,但是便于初学者抓住重点理解),如图 3 所示。底层是 UNIX/Linux 操作系统,即系统内核(Kernel);中间层是 Shell 层,即命令解释层;高层则是应用层。

    img

    图 3 UNIX/Linux 系统结掏层次概要

    1) 内核层

    内核层是 UNIX/Linux 系统的核心和基础,它直接附着在硬件平台之上,控制和管理系统内各种资源(硬件资源和软件资源),有效地组织进程的运行,从而扩展硬件的功能,提高资源的利用效率,为用户提供方便、高效、安全、可靠的应用环境。

    2) Shell层

    Shell 层是与用户直接交互的界面。用户可以在提示符下输入命令行,由 Shell 解释执行并输出相应结果或者有关信息,所以我们也把 Shell 称作命令解释器,利用系统提供的丰富命令可以快捷而简便地完成许多工作。

    3) 应用层

    应用层提供基于 X Window 协议的图形环境。X Window 协议定义了一个系统所必须具备的功能(就如同 TCP/IP 是一个协议,定义软件所应具备的功能),可系统能满足此协议及符合 X 协会其他的规范,便可称为 X Window。

    现在大多数的 UNIX 系统上(包括 Solaris、HP-UX、AIX 等)都可以运行 CDE (Common Desktop Environment,通用桌面环境,是运行于 UNIX 的商业桌面环境)的用户界面;而在 Linux 上广泛应用的有 Gnome(见图 4)、KDE 等。

    img

    图 4 Gnome图形界面

    X Window 与微软的 Windows 图形环境有很大的区别:

    • UNIX/Linux 系统与 X Window 没有必然捆绑的关系,也就是说,UNIX/Linux 可以安装 X Window,也可以不安装;而微软的 Windows 图形环境与内核捆绑密切。
    • UNIX/Linux 系统不依赖图形环境,依然可以通过命令行完成 100% 的功能,而且因为不使用图形环境还会节省大量的系统资源。

    作为服务器部署,绝大多数 Linux 并不安装或并不启用图形环境,本教程的讲解也基本上为 Linux 命令行下的操作。

    (本文已完)
    展开全文
  • unix操作系统入门基础

    2014-10-15 15:11:28
    unix操作系统入门和基础,这文档适合刚刚接触unix系统的学习者
  • UNIX操作系统图标大全

    2013-12-09 15:08:41
    UNIX操作系统图标大全,包含redhat,ubuntu,suse,aix,hp-unix,solaris等以及windows
  • UNIX操作系统的历史发展和特点UNIX系统简介UNIX系统特点UNIX系统简介UNIX操作系统是由美国BELL实验室发明的一种多用户多任务多进程的通用分时操作系统在当前的操作系统中可以说WindowsNT处于中低端而UNIX处于高端...
  • unix操作系统简介.pptx

    2020-02-25 03:10:47
    UNIX操作系统培训 ;课程内容; UNIX简介 UNIX系统概述 UNIX登陆与使用 UNIX基本命令 vi编辑器 UNIX系统管理 ;UNIX系统起源;UNIX标准版本;UNIX流派;UNIX特点;UNIX特点;Solaris操作系统; UNIX简介 UNIX系统基础 UNIX...
  • UNIX操作系统概述

    2010-01-26 09:52:37
    Unix操作系统自1969年问世以来,至今已有20年的历史,它的第一版于1969年在Bell实验室产生,1975年对外公布,1976年以后在Bell实验室外广泛使用。目前这个操作系统已经广泛移植在微型计算机,小型计算机,工作站,...
  • UNIX操作系统基础[PDF]

    2018-08-01 00:47:28
    UNIX操作系统基础[PDF] 介绍了UNIX和Solaris系统 学习UNIX操作系统的好资料
  • 系统知识汇编Compilation of system knowledge 系统知识汇编 Compilation of system knowledge 20XX 20XX 系统知识汇编整理 word可编辑 UNIX操作系统 目 录 基础篇 TOC \o "1-3" 第一章 UNIX操作系统概述 1 1.1 UNIX...
  • UNIX操作系统的优势总结网络服务器 电脑资料 1 UNIX 是最早出现的操作系统之一发展到现在已趋于成熟C语言因UNIX系统而出现UNIX系统具有强大的可移植性适合多种硬件平台 1UNIX是最早出现的操作系统之一发展到现在已...
  • Unix操作系统常用命令

    万次阅读 多人点赞 2017-12-11 09:30:36
    Unix操作系统常用命令 一、关于档案/目录处理的命令 1、ls——列目录 这是最基本的档案指令。ls的意义为"list",也就是将某一个目录或是某一个档案的内容显示出来。 格式:ls-1ACFLRabcdfgilmnopqrstux-W[sv]...
  • UNIX和类Unix操作系统

    万次阅读 2020-09-08 09:55:23
    UNIX和类Unix操作系统 Unix是20世纪70年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用。 Linux的起源可以追溯到古老的UNIX系统。正因为受到了UNIX的影响,才诞生了Linux。 Linux...
  • Unix操作系统介绍安装

    2012-02-14 10:16:19
    Unix操作系统介绍安装和具体的操作方法。
  • UNIX 操作系统体系结构调整

    千次阅读 2021-05-18 00:23:31
    为了确认自己的观点,打开了《UNIX环境高级编程第二版》,UNIX 操作系统的体系结构图了然如下: 结合这张图,所以我建议 man 手册 的前 3 部分排序改为如下: 1 System calls (functions provided by the kernel) 2 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 584,828
精华内容 233,931
关键字:

unix操作系统

友情链接: 123.rar