操作系统是计算机系统中最重要,最基本的系统软件,它位于硬件和用户之间,一方面可以向用户提供接口,方便用户使用计算机;另一方面能管理计算机软硬件资源,以便充分利用他们。从资源管理的角度来看,它是计算机系统中的资源管理器,负责对系统的软硬件资源实施有效的控制和管理,提高系统资源的利用率;从方便用户使用的角度来看,操作系统是一台虚拟机,它是计算机硬件的首次扩充,隐藏了硬件操作细节,使用户与硬件细节隔离,从而方便了用户的使用。
1.操作系统概述
操作系统是控制和管理计算机软硬件资源,以尽可能合理,有效的方法组织多个用户共享多种资源的程序集合。它具有并发性,共享性,虚拟性和不确定性等特点,一般的操作系统都具有处理机管理,存储器管理,设备管理,文件管理和用户接口等5种主要功能。
1.1处理机管理。负责对处理机的分配和运行实施有效的管理。在多道程序环境下,处理机的分配和运行是以进程为基本单位的。因此,处理机管理可以归结为进程管理。
1.2存储器管理。存储器管理的主要任务是对内存进行分配,保护和扩充。
1.3设备管理。设备管理应具有设备分配,设备传输控制和设备独立性等功能。其中设备分配是指根据一定的原则对设备进行分配,为了使设备与主机并行工作,通常采用缓冲技术和虚拟技术。
1.4文件管理。负责对文件存储空间进行管理,包括存储空间的分配和回收,目录管理、文件操作管理和文件保护等功能。
1.5用户接口。为了使用户能灵活方便使用计算机和系统功能,操作系统还提供一组友好的使用其功能的手段,称为用户接口,包括两大类,分别是程序接口和操作接口。用户通过这些接口能方便地调用操作系统的功能,有效的组织作业和处理流程,并使整个系统能高效运行
2.操作系统的类型
一般来说,操作系统可分为单用户操作系统,批处理系统,分时系统,实时系统、网络操作系统,分布式操作系统,并行操作系统和嵌入式操作系统等。
2.1单用户操作系统
单用户操作系统的基本特征是在一台处理机上只能支持一个用户程序的运行,系统的全部资源都提供给改用户使用。多数微机上运行的操作系统都属于单用户操作系统。
2.2批处理系统
批处理系统也称为作业处理系统。在批处理系统中,作业成批装入计算机中,由操作系统在计算机的输入并将其组织好,按一定的算法选择其中的一个或多个作业,将其调入内存并使其运行。运行结束后,把结果存入磁盘输出井,由计算机统一输出后交给用户。
2.3 分时操作系统
为了解决批处理系统无法进行人工交互的问题,并使用多个用户能同时通过自己的终端以交互式使用计算机,共享主机中的资源,为此,系统中采用了分时技术,即把CPU的时间划分成很多的时间片,轮流地分配给各个终端作业使用。这种操作系统就称为分时操作系统。
分时操作系统具有多路性,独立性,及时性、交互性和同时性等特征。
2.4 网络操作系统
网络操作系统是指在计算机网络环境下,具有网络功能的操作系统。计算机网络是一个数据通信系统,它把地理上分散的计算机和终端设备连接起来,达到数据通信和资源共享的目的。网络操作系统最主要的特点是网络中各种资源的共享,以及各台计算机之间的通信。
2.5 分布式操作系统
分布式系统是由多台计算机组成的系统,系统中若干台计算机可以相互合作,共同完成一个任务。在分布式系统中,任意两台计算机之间都可以利用通信来交互数据,系统中的资源为所有用户共享。分布式系统的优点是各节点的自治性好,资源共享的透明性强,各节点具有协同性,其主要缺点是系统的状态不精确,控制机构复杂,通信开销会引起性能的下降。
2.6嵌入式操作系统
嵌入式操作系统运行在嵌入式智能芯片环境中,对整个智能芯片和它所有操作、控制的各种部件装置等资源进行统一协调、处理、指挥和控制。嵌入式操作系统具有微型化、可定制、实时性、可靠性,易移植性这些特点。嵌入式实时操作系统是指系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理。
3.操作系统的结构
从操作系统的结构来看,主要有整体结构,层次结构,客户/服务器结构和面向对象结构等。
3.1整体结构
整体结构也称为模块组合结构或无序结构,是基于结构化程序设计的一种软件设计方法。
设计思想步骤如下:
整体结构设计方法的优点如下:
整体结构设计方法的缺点如下:
模块独立性差,模块之间牵连多,调用关系复杂,系统结构不清晰,可靠性降低。对系统的修改比较困难。
3.2 层次结构
层次结构是将操作系统划分为内核和若干模块,这些模块按功能的调用次序排列成若干层次,各层之间只能是单向依赖或单向调用关系,及底层为高服务,高层可以调用底层的功能,反过来则禁止。
层次结构优点:
因此整个系统中的接口比其它结构方式的接口要少、简单。增加,修改或替换一个层次不会影响其它层次,有利于系统的维护和扩展。
层次结构缺点:分层单向依赖,必须要建立模块之间的通信机制,系统花费在通信上的开销较大,系统效率有所降低。
3.3 客户/服务器结构
现代操作系统大多拥有两种工作状态,分别是说核心态和用户态。一般应用程序工作在用户态你,而内核模块和最基本的操作系统核心工作在核心态。
客户/服务器结构也称为微内核结构。操作系统将传统的操作系统代码放置到更高层,从操作系统中去掉尽可能多的东西,留下一个最小的核心,称为微内核。通常的方法是将大多数操作系统功能由在用户态的服务器进程来实现。为了获取某个服务,用户进程将请求发送给一个服务进程,服务进程来完成这个操作后,把结果返回给用户进程。
优点:某个服务的奔溃不会导致整个系统的奔溃,更适用于分布式系统。
3.4 面向对象结构
面向对象结构被广泛应用于操作系统的设计和实现中,特别是在网络操作系统和分布式操作系统中。面向对象的操作系统中的对象是操作系统管理的信息和资源的抽象,可以被视为受宝华的信息或资源的总称。面向对象结构有自己的状态和存储空间,而且其状态只能由事先定义好的操作来改变,而改变这些对象状态的操作又需要其他对象发送相应的消息才能被启动。