首页 > 编程知识 正文

计算机工作原理的设计思想是什么(Unix操作系统的原理、优点与缺点)

时间:2023-05-05 14:34:11 阅读:121219 作者:3401

Unix是20世纪70年代初出现的操作系统,除了网络操作系统外,还可以作为独立操作系统使用。 目前,Unix系统的用户越来越多,应用范围也越来越广。 Unix系统在计算机操作系统发展史上占有重要地位,不断细致、仔细、有选择地继承改造现有技术,并在操作系统的总体设计思路等方面发展,取得了如此巨大的成功本文对Unix操作系统的原理、优点和缺点进行了简要分析。

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

另一方面,UnixOS的原理UNIX是多用户、多任务管理OS。 Unix系统由硬件部分、内核、shell和APP应用程序组成,用户通过shell向内核发送用户命令。 Unix文件系统采用树结构。 Unix支持多种处理器体系结构,按操作系统划分,属于时分操作系统。 苹果系统是基于Unix的。

1.Unix系统的基本结构(1)内核层

Unix系统内核的作用是与硬件交互,并控制硬件向用户程序提供抽象服务。 负责计算机系统中的资源管理和进程调度的分配,包括中断处理、存储管理、进程管理和I/O文件管理。 这些功能由Unix内核中的每个模块实现。 这包括直接控制硬件的各个模块。 Unix内核是计算机硬件的第一个扩展,它为用户提供界面和服务。 用户不能直接访问内核。

(2)外壳及专用程序层

shell是Unix用户界面,是Unix系统的重要组成部分。 负责解释和执行用户命令,设置Unix系统的用户操作环境等,但不是内核的一部分。 在Unix系统上,一些命令通过APP应用程序的命令接口实现。 其中编译部件也在外壳和专用程序层。

(3)用户程序层

用户程序层位于shell和专用程序的外部,与编译器位于同一位置,最外面的是用户的实际APP应用程序。 编译器主要完成将用户程序编译为系统可以识别和处理的格式,也位于用户程序层。

2.Unix文件系统Unix文件系统采用树文件结构、内核和内核绑定、设备和文件这样的管理机制和使用方法。 Unix文件系统由“磁盘索引inode”和“目录项”管理,在打开或引用文件后由“内存索引inode”、“用户文件描述表”和“文件表”管理

文件系统在磁盘内大致分为以下三个空间。

)1)超块

作用是保存文件系统本身的结构信息,包括每个区域的大小和可用磁盘块信息。 超级块存储全局文件信息,如硬盘已用空间、数据块可用空间和inode信息。

)2) I节点表

存储文件的属性、大小、所有者等。 每个i-节点结构的大小一致,访问方式与数组相同。 例如,要访问i-节点编号为9的i-节点结构,它对应于i-节点表中的第十个位置。 inode是Unix操作系统中文件的核心,也是操作系统与存储在硬盘上的数据之间的中介。 如果该节点信息有错误,则用户不会采用硬盘中存储的数据块。

(3)数据区

文件的内容保存在此区域。 磁盘上所有块的大小相同。 如果保存文件内容需要多个块,请使用多个块进行保存。 如果文件很大,则需要很多磁盘块才能保存。

3.Unix存储管理存储管理是指管理从作业就绪到运行结束之间使用的存储。 存储管理模块任务可以分为存储分配、地址映射和存储保护。

(1)存储分配

程序编译并链接后,会获取一个称为内存映像的文件。 此文件包含运行程序所需的内存大小,如代码和数据区地址。 这些地址称为逻辑地址,以起始地址0为参照地址。 每次将一个作业加载到内存中并就绪时,存储管理模块都会根据可用内存空间和作业所需的内存进行计算,并为该作业分配适当的内存空间。

)2)地址映射

将作业加载到内存中意味着将创建进程。 存储模块将该作业的图像文件的起始地址(零)与内存中进程的起始地址匹配。 此进程的起始地址或起始地址是内存中的物理地址,称为偏移。 如果对图像文件的逻辑地址进行偏移,则内存中的所有地址值都是物理地址。 从逻辑地址到物理地址的转换工作称为地址映射。 可以将映像中的所有逻辑地址转换为物理地址。

)3)保存保护

内存空间始终由几个进程共享,包括操作系统本身驻留在内存中的部分。 内存保护任务是知道内存空间中每个分区的进程属于哪个进程,每个进程都可以访问哪些区域。 每次在该过程运行时需要访问地址时,存储管理模块都会检查该过程是否可以访问此物理地址。 每个进程内存中的空间通常是该进程可以访问的合法地址。 如果访问的地址不在该进程的区域内,则会发生非法访问。 发生非法访问时,内存保护会拒绝访问并进行错误处理。

2.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的发展,开发者直接将代码添加到内核中,会使内核变得臃肿复杂、反模块化。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。