一、操作系统的目标
操作系统(Operating System,OS)是计算机硬件的第一层软件,是计算机必备配置的最基本、最重要的系统软件。
1、有效性
有效提高CPU和I/O设备利用率;提高的方法:合理地组织计算机的工作流程
2、方便性
可使计算机系统更容易使用
3、可扩展性
OS为了能适应发展的要求,比具有良好的可扩展性;如何才有可扩充性?例如:采用新的OS结构,如微内核结构和客户服务器模式
4、开放性
** 计算机网络,特别特别是LAN的迅速发展,使OS的应用环境由单机转向网络环境。为使不同厂家的计算机和设备能通过网络加以集成化,并能正确、有效地协同工作,实现应用的可移植性和互操作性,必须具有统一的开放环境,进而要求OS具有开放性。 **
** 开放性是指系统能遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。**
二、操作系统的作用
从用户观点看,OS是用户和计算机硬件系统之间的****接口
从资源管理观点看,OS是计算机系统资源(软、硬)的****管理者
操作系统的作用:
1.OS****作为用户和计算机硬件系统的接口
2.OS****作为计算机资源的管理者
3.OS****实现了对计算机资源的抽象
1、操作系统作为用户和计算机硬件系统的接口
用户可以通过三种方式使用计算机
命令方式(键盘命令)
图标、窗口方式(GUI****)
系统调用方式(程序接口****)
2、操作系统作为计算机资源的管理者
计算机系统资源可归结为四类:处理器、存储器、I/O设备、文件**/**信息(数据和程序)
OS****的主要功能也正是针对这四类资源进行有效管理:
处理机管理:分配和控制处理机
存储器管理:主要是内存分配和回收
I/O设备管理:I/O设备的分配与操纵
文件管理:文件的存取、共享和保护
3、操作系统实现了对计算机资源的抽象
完全无软件的计算机——裸机。“裸机”难于使用。
** 裸机覆盖了一层I/O设备管理软件如图1-2所示,由它来实现对I/O设备操作的细节,并向上提供一组I/O操作命令,如Read和Write命令,用户可以利用它进行数据输入/输出,而无需关心I/O**实现的细节。
** 为了方便用户使用文件系统,又在第一层软件上再覆盖一层用于文件的管理软件,用它来实现对文件操作的细节,并向上提供一组对文件进行存取操作的命令。第二个层次的抽象。**
三、操作系统的基本特性
1、并行与并发
并行性——两个或多个事件在同一时刻发生。
*并发性——*两个或多个事件在同一时间间隔内发生。 **
** 在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却只能有一道程序执行,故微观上这些程序只能是分时地交替执行。若计算机系统中有多个处理机,则这些可以并发执行的程序可被分配到多个处理机上,实现**并行执行。
进程简述
** 通常的程序是静态实体,它是不能并发执行的。为了使程序能并发执行,系统必须分别为每个程序建立进程(Process)。**
** 进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个活动实体。**
** 多个进程之间可以并发执行和交换信息。**
关于进程和线程的基本概念
在OS中引入进程的目的,是使多个程序能并发执行。
进程和并发是现代OS中最重要的基本概念,也是OS运行的基础。
*直到80年代中期,人们才提出了比进程更小的单位 ——线程(Threads)。*
一个进程通常包含若干线程。
*近年来推出的***OS **都引入了线程。
2、共享
共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。
目前主要有以下两种资源共享方式:
(1)****互斥共享方式
对于临界资源,要求被互斥地共享;
(2)****同时访问方式
允许在一段时间内由多个进程“同时”对它进行访问。这里所说的“同时”往往是宏观上的,而微观上,这些进程可能是交替地对该资源进行访问。
并发和共享是操作系统的两个最基本的特征,它们是互为存在条件的。
资源的共享是以进程的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题;
若系统不能对资源共享实施有效管理,协调好诸进程对共享资源的访问,也必然影响到程序并发执行的程度,甚至根本无法并发执行。
3、虚拟
虚拟——是指通过某种技术把一个**物理实体变为若干个逻辑上的对应物。 **
操作系统中利用了两种方式实现虚拟技术****,即时分复用技术和空分复用技术,分别用来实现虚拟处理机、虚拟内存、虚拟外部设备和虚拟信道等。
4、异步性
** **** 内存中的每个进程在何时能获得处理机运行,何时又因提出某种资源请求而暂停,以及进程以怎样的速度向前推进,每道程序总共需要多少时间才能完成等等,都是不可预知的。很可能是先进入内存的作业后完成,而后进入内存的作业先完成。进程是以人们不可预知的速度向前推进,此即进程的异步性。**
四、操作系统的主要功能
1、处理机管理功能
** 在传统的多道程序设计系统中,处理机的分配和运行,都是以进程为基本单位的,因而对处理机的管理,可以归结为对进程的管理。**
** 在引入线程的OS中,还包含对线程**的管理。
•创建和撤消进程(线程) ----进程控制
•对诸进程(线程)的运行进行协调 ----进程同步
•实现进程(线程)之间的信息交换 ----进程通讯
•按照一定的算法把处理机分配给进程(线程) ----进程调度
2、存储器管理
存储器管理应具有以下功能:
内存分配(静态、动态分配方式)
内存保护(硬件检查越界,软件处理)
地址映射(逻辑、物理地址,硬件支持)
内存扩充(虚拟存储技术)
3、设备管理功能
主要任务:
完成进程提出的I/O请求;
为用户进程分配其所需的I/O设备;
提高CPU和I/O设备的利用率;
提高I/O速度;
方便用户使用I/O设备。
**设备管理应具有以下功能: **
1、*缓冲管理——在设备和CPU之间引入缓冲,可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU*的利用率,进而提高系统的吞吐量。 **
2、设备分配——按某种策略将设备分配给用户进程。需设备控制表等数据结构。
3、*设备处理——设备处理程序又称为设备驱动程序。基本任务是实现CPU与设备控制器通信:*CPU 发I/O*命令;*设备控制器发中断请求。
4、文件管理
主要任务****:
对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。
**文件管理应具有以下功能: **
**1****.文件存储空间的管理 ** **2****.目录管理 ** **3.文件的读****/****写管理和保护 **
5、用户接口
命令接口(联机命令、脱机命令)
程序接口(系统调用)
图形接口(GUI)
五、操作系统的结构设计
微内核OS结构——现代OS结构
** 微内核结构能有效地支持多处理机运行,故非常使用于分布式系统环境。Windows NT采用微内核结构。**
** 在与微内核技术发展的同时,客户/服务器技术、面向对象技术也在迅速发展,把它们应用到基于微内核结构的OS中,便具有了以微内核为OS核心,以客户****/**服务器为基础,并且采用了面向对象的程序设计方法的特征。
1、微内核技术
微内核技术——是指精心设计的、能实现现代OS****核心功能的小型内核。
1****)足够小的内核
微内核是指精心设计的、能实现现代OS最基本的核心功能的部分。
2)基于客户**/**服务器模式
把OS的最基本部分放在内核中,****把OS的绝大部分功能放在内核外面的一组服务器(进程)中实现。
3****)应用“机制与策略分离”原理
所谓机制,是指****实现某一功能的具体执行机构。
策略****是在机制基础上,借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标。
机制处于系统的低层,而策略处于系统的高层。
传统OS将机制放在内核低层,策略放在内核高层。
微内核OS将机制放在微内核中,策略放在微内核外。
4****)采用面向对象技术
2、微内核的基本功能
1)进程(线程)管理
2)低级存储管理
3)中断和陷入处理
3、微内核的优点与缺点
优点:
1)提高了系统的可扩展性
2)增强了系统的可靠性
3)可移植性
4)提供了对分布式系统的支持
5)融入了面向对象技术
缺点:
6)微内核OS****的运行效率有所降低。
版权归原作者 唯见江心秋月白、 所有, 如有侵权,请联系我们删除。