当前位置:文档之家› 操作系统概述

操作系统概述

1.操作系统概述1.1操作系统概念操作系统为应用程序提供与硬件交互的接口,为运行中的程序动态地分配可共享的系统资源,与之相关的研究主要涉及内存、进程及外设的管理和调度。

相邻层次间的接口不断改变:一方面,原来由操作系统负责的部分功能被迁移到硬件中;另一方面,一些与应用程序解决的问题无关的程序化函数也被加入操作系统中。

1.2相关观点1.2.1资源管理者最经典的观点认为操作系统是资源管理者( resource manager)。

从这个观点来看,操作系统负责系统的硬件。

在这个角色中,操作系统接收来自应用程序对资源访问的请求,其可以授权访问或拒绝访问。

当授予分配请求时,它必须谨慎地分配资源,使程序间不能相互干扰。

1.2.2服务提供者我们可以想象,资源管理者的观点代表了系统拥有者需要确保资源能得到有效的使用。

另一方面,我们可以应用程序或应用程序的程序员的观点来分析操作系统。

从这个角来看,需要操作系统提供丰富的服务,使应用程序的工作变得更加轻松。

并且应用程序特别希望,访问I/设备、分配内存等许多细节都由操作系统完成。

当我们从服务提供者的角度来考虑操作系统时,经常说程序运行在操作系统之上(on)。

1.2.3虚拟机最后一个观点是我们将操作系统作为虚拟机(virtual machine)进行分析。

之所以从这个角度分析操作系统,是因为我们将操作系统作为应用程序和硬件之间的接口。

通过想象应用程序在操作系统和硬件之上,我们可以获得这样的基本思想。

在硬件简单而特性很少的计算机与硬件复杂而又特性很多的计算机之间,如果对这两种类型的计算机操作系统提供相同的特征,那么应用程序无法对两者进行区分。

换言之,对应用程序而言,其就是运行在硬件和操作系统结合的“计算机”之上,我们称之为虚拟机操作系统( virtual machine operating system)2.操作系统的功能2.1进程与线程进程:在进程模型中,计算机上所有可运行的软件,通常也包括操作系统,被组织成若干顺序进程(sequential process),简称进程(process)。

一个进程就是一个正在执行程序的实例,包括程序计数器、寄存器和变量的当前值。

从概念上说,每个进程拥有它自己的虚拟CPU。

当然,实际上真正的CPU在各进程之间来回切换。

但为了理解这种系统,考虑在(伪)并行情况下运行的进程集,要比我们试图跟踪CPU如何在程序间来回切换简单得多,这种快速的切换称作多道程序设计。

线程:在传统操作系统中,每个进程有一个地址空间和一个控制线程。

事实上,这几乎就是进程的定义。

不过,经常存在在同一个地址空间中淮并行运行多个控制线程的情形,这些线程就像(差不多)分离的进程(共享地址空间除外)。

2.2内存管理通过支持模块化程序设计的计算环境和数据的灵活使用,可以很好地满足用户的要求:系统管理员需要有效且有条理地控制存储器分配。

操作系统为满足这些要求,担负着5个基本的存锗器管理责任:●进程隔离:操作系统必须保护独立的进程,防止互相干涉各自的存储空间,包括数据和指令。

●自动分配和管理:程序应该根据需要在存储层次间动态地分配,分配对程序员是透明的。

因此,程序员无须关心与存储限制有关的问题,操作系统有效地实现分配问题,可以仅在需要时才给作业分配存储空间。

●支持模块化程序设计:程序员应该能够定义程序模块,并且动态地创建、销毁模块,动态地改变模块大小。

●保护和访问控制:不论在存储层次中的哪一级,存储器的共享都会产生—个程序访问另—个程序存储空间的潜在可能性。

当一个特定的应用程序需要共享时,这是可取的。

但在别的时候,它可能会威胁到程序的完整性,甚至威胁到操作系统自身。

操作系统必须允许一部分☆存可以由各种用户以各种方式进行访问。

●长期存储:许多应用程序需要在计算机关机后长时间保存信息。

2.3信息安全与保护操作系统几乎所有的功能区都有自身的安全要素。

操作系统绝对不允许任何进程终止另一个进程。

正如前面已经提到的,我们必须谨慎,以确保进程无法乱写入其他进程的内存空间。

同样,访问I/O设备和文件的请求必须通过所有权和权限的筛选测试。

根据强制的安全策略来实现这些措施,这些策略对应用程序而言是透明的。

程序向操作系统提出请求,操作系统将确定是否允许。

在网络安全领域有一些非常有趣的新发展。

随着全球因特网的迅速激增,对网络请求采取强认证的需求越来越重要。

最后,各种各样的管理级应用程序也都有各自额外的安全功能。

常见的任务有:扫描系统的己知弱点、测试系统的未授权访问、验证第三方软件的安全性等。

除了后台的强制运行机制之外,应用程序能请求的服务如下:●设置安全性策略。

●查询安全性策略。

●验证自身的远程系统。

●侦听远程系统来验证自身。

●加密/解密消息,特别是经由网络的消息。

从应用程序的角度来看,操作系统充当的是看门的角色。

当进程请求任何子系统的服务时,操作系统检查它是否有使用服务的权限。

如果它有使用服务的权限,那么批准请求,但如果没有使用服务的权限,则拒绝请求。

2.4调度与资源管理操作系统的一个关键任务是管理各种可用资源(内存空间、I/O设备、处理器),并调度各种活动进程使用这些资源。

任何资源分配和调度策略都必须考虑三个因素:●公平性:通常希望给竞争使用某一特定资源的所有进程提供几乎相等和公平的访问机会。

对同一类作业,也就是说有类似请求的作业,更是需要如此。

●有差别的响应性:另一方面,操作系统可能需要区分有不同服务要求的不同作业类。

操作系统将试图给出满足所有要求的分配和调度决策,并且动态地进行决策。

例如,如果—个进程正在等待使用一个I/O设备,操作系统会尽可能迅速地调度这个进程,从而释放这个设备以方便其他进程使用。

●有效性:操作系统希望获得最大的吞吐量和最小的响应时间,并且在分时的情况下,能够容纳尽可能多的用户。

这些标准互相矛盾,在给定状态下寻找适当的平衡是操作系统中—个正在进行研究的问题。

调度和资源管理任务是—个基本的操作系统研究问题,并且可以应用数学研究成果。

此外,系统活动的度量对监视性能并进行调节是非常重要的。

3.操作系统类型3.1大型机操作系统在操作系统的高端是用于大型机的操作系统,这些房间般大小的计算机仍然可以在一些大型公司的数据中心中见到。

这些计算机与个人计算机的主要差别是其1/0处理能力。

一台拥有Iooo个磁盘和上百万吉字节数据的大型机是很正常的。

用于大型机的操作系统主要用于面向多个作业的同时处理,多数这样的作业需要巨大的I/O能力。

系统主要提供三类服务:批处理、事务处理和分时处理。

批处理系统处理不需要交互式用户干预的周期性作业。

3.2服务器操作系统下一个层次是服务器操作系统。

它们在服务器上运行,服务器可以是大型的个人计算机、工作站,甚至是大型机。

它们通过网络同时为若干个用户服务,并且允许用户共享硬件和软件资源。

服务器可提供打印服务、文件服务或Web服务。

Internet服务商们运行着许多台服务器机器,以支持他们的用户,使Web站点保存Web页面并处理进来的请求。

典型的服务器操作系统有Solaris. FreeBSD. Linux和Windows Server 200x。

3.3多处理器操作系统一种获得大量联合计算能力的操作系统,其越来越常用的疗式是将多个CPU连接成单个的系统。

依据连接和共享方式的不同,这些系统称为并行计算机、多计算机或多处理器。

它们需要专门的操作系统,不过通常采用的操作系统是配有通信、连接和一致性等专门功能的服务器操作系统的变体。

个人计算机中近来出现了多核芯片,所以常规的台式机和笔记本电脑操作系统也开始与小规模的多处理器打交道,而核的数量正在与时俱进。

幸运的是,由于先前多年的研究,已经具备不少关于多处理器操作系统的知识,将这些知识运用到多核处理器系统中应该不存在困难。

难点在于要有能够运用所有这些计算能力的应用。

许多主流操作系统,包括Windows和Linux,都可以运行在多核处理器上。

3.4个人计算机操作系统接着一类是个人计算机操作系统。

现代个人计算机操作系统都支持多道程序处理,在启动时,通常有十多个程序开始运行。

它们的功能是为单个用户提供良好的支持。

这类系统广泛用于字处理、电子表格、游戏和Internet访问。

常见的例子是Linux、FreeBSD、Windows Vista和Macintosh操作系统。

个人计算机操作系统是如此地广为人知,所以不需要再做介绍了。

事实上,许多人甚至不知道还有其他的操作系统存在。

3.5掌上计算机操作系统随着系统越来越小型化,我们看到了掌上计算机。

掌上计算机或者个人数字助理( Personal Digital Assistant,PDA)是一种可以装进衬衫口袋的小型计算机.它们可以实现少量功能,诸如电子地址簿和记事本之类。

而且,除了键盘和屏幕之外,许多移动电话与PDA几乎没有差别。

在_实际效果上,PDA和移动电话已经在逐渐融合,其差别主要在于大小,重量以及用户界面等方面。

这些设备几乎都是基于带有保护模式的32位CPU,并且运行最尖端的操作系统。

运行在这些掌上设备上的操作系统正在变得越来越复杂,它们有能力处理移动电话、数码照相以及其他功能。

多数设备还能运行第三方的应用。

事实上,其中有些设备开始采用十年前的个人操作系统。

掌上设备和PC机之间的主要携别是,前者没有若干GB的、不断变化的硬盘。

在掌上设备上最主要的两个操作系统是Symbian OS和Plam O.S。

3.6嵌入式操作系统嵌入式系统在用来控制设备的计算机运行,这种设备不是一般般意义上的计算机,并且不允许用户安装软件。

典型的例子有微波炉,电视剧、汽车、DVD刻录机、移动电话以及MP3播放器一类的设备。

区别嵌入式系统与掌上设备的主要特征,不可信的软件肯定不能在嵌入式系统上运行。

用户不能给自己的微波炉下载新的应用程序——所有的软件都保存在ROM中。

这意味着在应用程序之间不存在保护,这样系统就获得了某种简化。

在这个领域中,主要的嵌入式操作系统QNX和VxWorks等。

3.7传感器节点操作系统有许多用途需要配置微小传感器冉点网络。

这些冉点迅一种可以彼此通信并且使用无线通信基站的微型计算机。

这类传感器网络可以用于建筑物周边保护、国土边界保卫、森林火灾探测、气象预测用的温度和降水测量、战场上敌方运动的信息收集等。

传感器是一种内建有无线电的电池驱动的小型计算机。

它们能源有限,必须长时间工作在无人的户外环境中,通常足恶劣的环境条件下。

其网络必须足够健强壮,以允许个别节点失效。

随着电池开始耗尽,这种失效节点会不断增加。

每个传感器节点是一个配有CPU、RAM、ROM以及一个或多个环境传感器的实实住在的计算机。

节点上运行一个小型但是真实的操作系统,通常这个操作系统是事件驱动的,可以响应外部事件,或者基于内部时钟进行周期性的测量。

相关主题