版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处http://xinyistudio.vicp.net/和作者信息及本声明
在本篇笔记中,关于操作系统的很多术语目前不需要太了解,只要对操作系统的概念和认识有个总体把握就可以了,在笔记的结尾以Windows2000个人计算机操作系统为例,使之对操作系统的功能、结构有进一步的认识。
Ø 操作系统的概念
让我们先从计算机系统开始,接着引入操作系统。
计算机系统是一种可以按用户的要求接收和存储信息、自动进行数据处理并输出结果信息的系统。
计算机系统包括硬件子系统和软件子系统。硬件系统是计算机赖以工作的实体,它包括中央处理器(CPU)、主存储器、外存储器以及各种类型的输入输出设备;软件系统则保证了计算机系统按用户指定的要求协调地工作,它包括各种程序和数据;这两个部分又构成了计算机系统的资源,各个程序及各用户对计算机资源的要求和使用是不同的,适当的控制和协调计算机资源的分配是必要的。
由此,我们引入了操作系统:在计算机系统中,集中了资源管理功能和控制程序执行功能的一种软件,称为操作系统。
Ø 操作系统的特点
1. 并发性:计算机系统中存在若干个运行的程序,从宏观上看,这些程序在同时向前推进。注意并行性和并发性这两个概念的区别:并行性是指两个或多个事件在同一时刻发生(微观概念),而并发性是指两个或多个事件在同一时间的间隔内发生(宏观概念)。
2. 共享性:操作系统程序与多个用户程序共用系统中的各种资源:中央处理器,内外存储器,外部设备等。共享的两种形式:互斥共享和同时共享。
3. 随机性:操作系统的运行是在随机的环境下运行的。这种随机环境的含义是:操作系统不可能对所运行的程序的行为以及硬件设备的情况作出任何事先的假定。
Ø 对操作系统本质的不同观点
由于对操作系统本质的不同观点,将会影响操作系统的设计思想。对操作系统的几种观点如下:
1.软件的观点,将操作系统以软件的形式来学习和研究,但要注意的是它又具有一般应用软件不具备的特殊结构。
2.资源管理的观点,操作系统就是要负责用户和系统程序更有效的使用和协调计算机系统的各个资源(硬件和软件资源)。
3.进程的观点,可以简单的认为进程是运行中的程序,每个进程都完成某一特定的任务,可以是系统任务,也可以来自用户提交的作业任务。依据这种观点,主要侧重于分析系统各部分的并行工作,并处理和管理任务相互之间的关系。
4.虚拟器的观点,在操作系统的支持下将原来的计算机(裸机)扩充为功能强的计算机系统,我们把这种计算机系统称为虚拟计算机。操作系统的全部功能,包括系统调用/命令/作业控制语言等,统称为操作系统虚拟器。可以将操作系统再分解为若干层次,每个层次完成特定的功能,从而构成一个虚机器,并为上层提供支持。通过逐个层次扩充并最终完成整个操作系统虚拟器的构造。
5.服务提供者的观点,操作系统提供了一系列的功能和便利的工作环境为用户服务,所以
可以把操作系统看作是服务提供者。
Ø 操作系统的分类
1.批处理操作系统
基本工作方式:用户将作业交给系统操作员,系统操作员收到作业后,并不立即将作业输入
计算机,而是在收到一定数量的用户作业后,组成一批作业,再把这批作业输入到计算机中
进行批处理。
早期的批处理监控程序不具备并发功能,为了提高硬件资源利用率,主要通过假脱机(SPOOLing)技术实现了真正并发机制的多道批处理系统:即在内存中同时保持多个作业,主机可以以交替的方式同时处理多个作业。
2.分时系统
为弥补批处理方式不能提供交互式快速服务的缺点而发展起来的。
基本工作方式:一台计算机主机连接了若干个终端,每个终端可由一个用户使用,用户通过终端交互式地向系统提出命令请求,系统接受用户命令后,采用时间片轮转的方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据系统送回的处理结果发出下一道交互命令。
分时操作系统具有多路性、交互性、独占性和及时性的特点。
典型的UNIX操作系统结合了分时系统和批处理系统的特点。
在通用操作系统中,对于分时与批处理的处理原则是:分时优先,批处理在后。并且一般把系统的分时和批处理运行状态称称为前台和后台,前台作业主要处理来自终端用户的、交互式的、比较小的且需要及时处理的作业;后台作业主要处理运行时间较长、要调用其他外部设备的、大型的无需终端用户干预的,且不需要立即处理的作业。
4. 实时操作系统(RTOS:Real Time Operating System)
在严格时间范围内,对外部请求做出反应,系统具有高度可靠性。
实时操作系统主要有两大类:硬实时系统和软实时系统。硬实时系统在事件处理时对时间有极严格要求,而软实时系统在事件处理中仅是一定时间范围的要求。
5.个人计算机操作系统(Personal Computer Operating System)
主要供个人使用,在某一时间内为单个用户服务,采用图形界面人机交互方式,界面友好,使用方便,用户无需专门知识,也能熟练地操纵系统。
5. 网络操作系统
基于计算机网络的、在各种计算机操作系统之上按网络体系结构协议标准设计开发的软件,它包括网管理、通全、安全、资源共享和各种网络应用。
6. 分布式操作系统
将大量的计算机通过网络连结在一起,以获得极高的运算能力及广泛的数据共享。
与网络操作系统一样,同样基于计算机网络,但与网络操作系统不同在于:连结在网络上的各计算机采用统一的操作系统,且分布式操作系统淡化了所访问资源的位置,即网络的概念在应用层被淡化了,而网络操作系统对资源的访问就必须显示的指明资源的位置和类型。
=====================================================
学习体会
上文只是很简单地对操作系统的功能、特点等作了一个小结,让我对操作系统似乎有点清楚了,不就是有组织的管理计算机系统资源的软件吗?好了好了,操作系统确实是软件,但不要把它与平时应用程序软件相提并论哦,对操作系统不同的认识产生了对操作系统设计思想的差异,上文已讲得很清楚了。
让我们看一下windows2000个人计算机操作系统(兼有分布式操作系统的功能),它对资源管理、进程调度、虚拟器分层做得可是一点不差。
进一步考察windows2000操作系统的分层,我也来划分一下:用户界面,应用程序,作业管理,文件管理,输入输出(I/O)管理,进程通信,存储管理,处理器管理,到最后对各硬件设备的操作。
Windows2000操作系统在与用户程序交互的同时,比如你打开一个word处理程序,你是否想过系统作了些什么呢?开始时系统需要为word处理程序进行存储资源的分配,然后就是进程的管理,还有要将你处理完成的结果输出到各种各样的外部设备,要知道我们的word处理程序随时可能会崩溃,系统还需要有极强的容错性和稳定性,能够避免由于应用程序的不稳定,而影响整个应用程序的不稳定,Windows2000操作系统对上述问题都提供了相应的解决方案。