加入收藏 | 设为首页 | 会员中心 | 我要投稿 天瑞地安资讯网 (https://www.52baoding.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

操作系统精髓与设计原理(原书第6版)——学习笔记(9)_chonghe1987的

发布时间:2022-11-03 14:01:54 所属栏目:Unix 来源:转载
导读: 2.5.4 客户/服务器模型
Windows操作系统服务、受保护子系统和应用程序都采用客户/服务器计算模型构造,客户/服务器模型是分布式计算中的一种常用模型。
客户/服务器结构的优点如下:
2.5.5

2.5.4 客户/服务器模型

Windows操作系统服务、受保护子系统和应用程序都采用客户/服务器计算模型构造,客户/服务器模型是分布式计算中的一种常用模型。

客户/服务器结构的优点如下:

2.5.5 线程和SMP

Windows的两个重要特征是支持线程和支持对称多处理(SMP),windows支持线程和SMP的下列特征:

2.5.6 Windows 对象

Windows大量使用面向对象设计的概念。面向对象方法简化了进程间资源和数据的共享,便于保护资源面试未经许可的访问。Windows使用的面向对象重要概念如下:

Windows中的所有实体并非都是对象。当数据对用户态的访问时开放的,或者当数据访问是共享的或受限制的时都使用对象。对象表示的实体有文件、进程、线程、信号、计时器和窗口。Windows通过对象管理器以一致的方法创建和管理所有的对象类型,对象管理器代表应用程序负责创建和销毁对象,并负责授权访问对象的服务和数据。

执行体中的每个对象有时称为内核对象(区分执行体并不关心的用户级对象),作为内核分配的内存块存在unix系统结构,并且只能被内核访问。数据结构的一些元素对所有的对象类型都是相同的,而其余的元素是某一特定对象所特有的。因为这些对象的数据结构位于只能由内核来访问的进程地址空间,应用程序不可能引用这些数据结构并且直接地读写。

对象可以有与之相关联的安全信息,以安全描述符(SD)的形式表示。安全信息可以用于限制对对象的访问。例如,一个进程可以创建一个命名信号量对象,使得只有某些用户可以打开和使用这个信号。信号对象的安全描述符可以列出那些允许(或不允许)访问信号对象的用户,以及允许访问的类型(读、写、改变等)。

在Windows中,对象可以是命名的,也可以是未命名的。当一个进程创建了一个未命名对象,对象管理器返回这个对象的句柄,而句柄是访问该对象的唯一途径。命名对象有一个名字,其他进程可以使用这个名字获得对象的句柄。

作为Windows管理的对象的一个例子,下面列出了微内核管理的两类对象:

Windows不是一个成熟的面向对象操作系统,它不是用面向对象语言实现的,完全位于执行体组件中的数据结构没有表示成对象。Windows展现了面向对象技术的能力,表明了这种技术在操作系统设计中不断增长的趋势。

unix 结构文件 数据库_unix系统_unix系统结构

2.6 传统的UNIX系统2.6.1 历史

UNIX最初是在贝尔实验室开发,1970年在PDP-7上开始运行。在贝尔实验室,第一个著名的里程碑是把UNIX系统从PDP-7上移植到PDP-11上,第一次暗示了UNIX将成为所有计算机上的操作系统;下一个重要的里程碑是用C语言重写UNIX。通常人们认为操作系统必须完全用汇编语言编写。产生这种看法的原因如下:

C语言实现证明了对大部分而不是全部系统代码使用高级语言的优点。现在,实际上所有的UNIX实现都是用C语言编写。

1974年,UNIX系统第一次出现在一本技术期刊中国,激发了人们的兴趣,UNIX的许可证提供给了商业机构和大学。第一个在贝尔实验室外可以使用的版本是1976年的第6版本,接着1978年发行的第7版是大多数现代UNIX系统的先驱。1982年,贝尔实验室将UNIX的多个AT&T变种合并成一个系统,即商业销售的UNIX System III。后来在操作系统中又增加了很多功能组件,产生了UNIX System V。

2.6.2 描述

unix系统_unix 结构文件 数据库_unix系统结构

图2.14给出了对UNIX结构的概述。底层硬件被操作系统软件包围,操作系统通常称作系统内核,或简称为内核,以强调它与用户和应用程序的隔离。本书中举的UNIX的例子,主要关注的是UNIX内核。但是,UNIX拥有许多用户服务和接口,它们也被看做是系统的一部分,可以分为命令解释器、其他接口软件和C编译器部分(编译器、汇编器和加载器),它们的外层由用户应用程序和到C编译器的用户接口组成。

图2.15提供了对内核的更深入描述。用户程序可以直接调用操作系统服务,也可以通过库程序调用。系统调用接口是内核和用户的边界,它允许高层软件使用特定的内核函数。另一方面,操作系统包含直接与硬件交互的原子例程(primitive routine)。在这两个接口之间,系统被划分成两个主要部分,一个关心进程控制,另一个关心文件管理和I/O。进程控制子系统负责内存管理、进程的调度和分发、进程的同步以及进程间的通信。文件系统按字符流或块的形式在内存和外部设备间交换数据,为实现这一点,需要各种设备驱动程序。面向块的传送,使用磁盘高速缓存方法:内存中的一个系统缓冲区介于用户地址空间和外部设备之间。

关于传统UNIX系统的综述:它被设计成在单一处理器上运行,缺乏保护其数据借故偶避免被多个处理器器同时访问的能力;它的内核不是通用的,只支持一种文件系统、进程调用策略和可执行文件格式。传统UNIX的内核没有设计成可扩展的,几乎没有代码重用的设施。其结果是,当以往不同的UNIX版本中增加新功能时,必须增加很多新的代码,因而产生一个膨胀的、非模块化的内核。

2.7 现代UNIX系统

典型的现代UNIX内核具有如图2.16所示的结构。有一个核心软件,它以模块化的风格编写,提供许多操作系统进程所需功能和服务;每个外部圆圈表示相应的功能和以多种方式实现的接口。

unix 结构文件 数据库_unix系统_unix系统结构

2.7.1 系统V版本4(SVR4)

由AT&T和Sun Microsystem联合开发的SVR4结合了SVR3、4.3BSD、MiscrosoftXenix System V和SunOS的特点。这个版本的新特点包括对实时处理的支持、进程调度、动态分配数据结构、虚拟内存管理、虚拟文件系统和可以剥夺的内核。

2.7.2 BSD

UNIX版本的BSD(BerkeleySoftware Distribution)系列在操作系统设计原理的发展中扮演着重要角色。4.4BSD是4.3BSD的升级,包含新的虚拟内存系统、对内核结构所做的改变以及对一系列其他特征的增强。应用最广且文档最好的一个BSD版本是FreeBSD。FressBSD在基于因特网的服务器和防火强中最长用到,还应用在许多嵌入式系统中。

最新版本的Macintosh操作系统Mac OS X基于FreeBSD 5.0和 Mach 3.0微内核的。

2.7.3 Solaris 10

Solaris是Sun基于SVR4的UNIX版本,最新版本是10。Solaris的实现提供了SVR4的所有特征以及许多高级的特征,如完全可抢占、支持多线程的内核、完全支持SMP以及文件熊的面向对象接口。Solaris是使用最为广泛、最成功的商业UNIX实现版本。

转载于:

(编辑:天瑞地安资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章