操作系统:全面概述
立即解锁
发布时间: 2025-08-14 01:36:55 阅读量: 8 订阅数: 25 


计算机系统与网络通信精要
### 操作系统:全面概述
#### 系统生成
操作系统的生成是一个关键过程。首先,操作系统的组件会被汇编、编译并链接,形成可加载的二进制操作系统。有两种常见的方式来执行系统生成(sysgen)过程:
- 可以在目标系统上提供一个基本的操作系统以及适当的编译工具,以便在该系统上进行sysgen。
- 也可以在不同的机器上执行此过程。
还有一些操作系统使用安装程序来确定应包含在操作系统中的模块,并在安装过程中选择参数。在这些系统中,各种模块已经以二进制形式提供,只需在sysgen过程中进行链接。
在许多系统中,sysgen过程以一系列菜单选择和参数输入表单的形式提供,引导操作员完成该过程。在一些系统中,该过程以脚本或批处理文件的形式输入。大多数系统还允许一定程度的动态配置,这使得在不重建整个系统的情况下对系统进行更改成为可能。例如,Linux使用配置脚本文件来实现这一目的。
#### 操作系统的组织模型
操作系统的组织没有标准模型。有些系统是经过精心规划和设计的,而有些则是在长时间内逐渐发展起来的,根据需要添加新的功能和服务。总体而言,大多数操作系统的组织可以用以下三种配置模型来描述:
1. **整体式配置(Monolithic Configuration)**:以UNIX为例,其各种内存驻留的操作系统功能由一个整体式内核表示。内核中的程序根据需要相互交互以执行其功能。关键功能在内核的受保护模式(通常称为内核模式)下运行,其余部分在用户模式下运行。shell与内核分离,作为用户、实用程序和用户程序与内核之间的接口,因此可以在不影响内核操作的情况下替换shell。然而,整体式配置的主要问题是系统的稳定性和完整性。内核中任何程序的缺陷或不同程序之间的意外交互都可能导致整个系统崩溃。不过,通过适当的设计和控制,也可以构建一个安全稳定的系统,如Linux。
2. **分层或层次式配置(Layered or Hierarchical Configuration)**:这种操作系统组织围绕分层结构构建。操作系统被分为多个层,上层对用户可见,中间层包含主要的内核操作,最底层是与硬件交互的I/O设备驱动程序。每层相对独立,文件管理层确定文件的逻辑位置并解释请求的性质,但不直接访问硬件,而是向内核发出请求。本地请求传递到I/O设备驱动程序层以访问硬件,网络请求传递到提供服务的机器上的I/O设备驱动程序。层次结构的访问是从顶层开始的,每层调用下一层来请求所需的服务。这种设计提供了安全性和清晰的接口,但需要精心设计,因为请求必须向下流动,且程序不能从更高层请求服务,否则会影响系统完整性。此外,通过中间层传递请求以获得底层服务所需的时间较长,相比之下,整体式操作系统中的程序可以直接向提供服务的程序请求服务,操作速度更快。分层方法的明显优势是由结构良好的模块化设计带来的稳定性和完整性。
3. **微内核配置(Microkernel Configuration)**:基于一个小的受保护内核,提供最小的基本功能。不同系统对“最小基本功能”的定义不同,例如Mach操作系统内核包括消息传递、中断处理、虚拟内存管理、调度和一组基本的I/O设备驱动程序。微内核配置构成了一个客户端 - 服务器系统,客户端和服务器位于同一系统中。操作系统的基本功能之外的服务由用户模式下的程序执行,每个程序作为服务器,根据应用程序和其他操作系统程序(客户端)的请求执行特定的操作系统任务。客户端通过直接向微内核发送消息来请求服务,微内核将消息传递给适当的服务器,服务器执行所需的功能,并通过向客户端发送消息来回复请求,回复也通过微内核传递。这种方式维护了系统的安全性和完整性。微内核配置的优点是可以通过更改微内核之外的服务程序来创建不同的操作系统设计,同时保持微内核的安全性和稳定性。它提供了可靠性、灵活性、可扩展性和可移植性,特别适合面向对象设计,并且可以轻松添加新功能而不影响系统。然而,微内核配置中大量的消息传递可能会导致性能下降,但实际应用表明,通过精心设计可以将这种潜在的劣势最小化。
以下是三种配置模型的对比表格:
| 配置模型 | 优点 | 缺点 | 示例 |
| --- | --- | --- | --- |
| 整体式配置 | 实现简单,程序交互直接 | 稳定性和完整性差,一个模块出错可能导致系统崩溃 | UNIX、Linux |
| 分层或层次式配置 | 稳定性和完整性好,模块独立性强 | 请求传递时间长,设计要求高 | - |
| 微内核配置 | 灵活性、可扩展性和可移植性好,安全性高 | 消息传递开销大,可能影响性能 | Macintosh OS X(基于Mach微内核) |
#### 计算机系统的类型
现代计算机系统的硬件基本相似,因此计算机系统之间的差异主要由操作系统软件决定。操作系统软件的选择是为了满足特定的需求和目标。影响操作系统设计/架构的因素包括主要用户群体类型、系统是用于直接用户访问还是后台服务器访问,以及系统是否用于特定目的,如嵌入式电子控制或移动使用。
计算机操作系统可以大致分为以下七种类型:
1. **单用户系统和工作站(Single-User Systems and Workstations)**:这是当前使用最广泛的系统,常见于笔记本电脑、台式计算机和工作站。例如Windows、Macintosh OS X、Linux和Sun Solaris等。这些系统通常具有图形用户界面(GUI),允许用户轻松同时运行多个进程,提高整体生产力。窗口界面可以同时显示多个任务的输出,并提供方便的任务切换方法。不过,并非所有单用户系统都需要窗口环境来实现多任务处理,一些基于UNIX的系统允许用户从命令行界面进行多任务处理,例如指定进程在“后台”执行。
2. **移动设备操作系统(Operating Systems for Mobile Devices)**:为智能手机、电子阅读器和平板电脑等小型手持设备设计,如IOS和Android。这些系统在电力限制、内存有限、CPU执行速度较低和文件存储通常限于小型固定非易失性存储设备的约束下,提供了传统单用户多任务系统的大部分功能,同时还
0
0
复制全文
相关推荐










