操作系统基本概念
操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
操作系统的基本功能
操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。
操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持。
1. 操作系统管理着计算机硬件资源,同时按照应用程序的资源请求,分配资源,如:划分CPU时间,内存空间的开辟,调用打印机。(资源管理)
2. 提供各种形式的用户界面,使用户有一个好的工作环。(人机交互)
3. 为其它软件的开发提供必要的服务和相应的接口等。(程序控制)
具体包含以下几点:进程管理,内存管理,文件系统,用户界面,网络通信,安全机制,驱动程序
操作系统的基本类型
批处理操作系统(Batch Processing Operating System)
用户将作业交给系统操作员,系统操作员将许多用户的作业组成一批作业,之后输入到计算机中,在系统中形成一个自动转接的连续的作业流,然后启动操作系统,系统自动、依次执行每个作业。最后由操作员将作业结果交给用户。批处理操作系统的特点是:多道和成批处理。
分时操作系统(Time Sharing Operating System,简称 TSOS)
一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。
分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU。
特点:
- 多路性,有多个用户使用一台计算机。
- 交互性,用户直接干预每一步。
- 独占性,用户感觉不到计算机为其他人服务,就像整个系统为他所独占。
- 及时性,系统对用户提出的请求及时响应。
实时操作系统(Real Time Operating System,简称 RTOS)
指使计算机能及时响应外部事件的请求在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。此外,实时操作系统应有较强的容错能力。
通用操作系统
批处理系统、分时操作系统、实时操作系统是操作系统的三种基本类型。在此基础上又发展了具有多种类型特征的操作系统,它可以同时兼有批处理、分时、实时处理和多重处理或其中两种以上的功能,称为通用操作系统。
个人操作系统
目前在个人计算机上使用的操作系统以Windows系统和Linux系统。
网络操作系统(Network Operating System,简称 NOS)
通常运行在服务器上的操作系统,是基于计算机网络的,是在各种计算机操作系统上按网络体系结构协议标准开发的软件,包括网络管理、通信、安全、资源共享和各种网络应用。其目标是相互通信及资源共享。特点是与网络的硬件相结合来完成网络的通信任务。行的网络操作系统有Linux,UNIX,BSD,Windows Server,Mac OS X Server等等。
分布式操作系统(Distributed Software Systems)
是为分布计算系统配置的操作系统。大量的计算机通过网络被连结在一起,可以获得极高的运算能力及广泛的数据共享。这种系统被称作分布式系统(DistributedSystem) 。由于分布计算机系统的资源分布于系统的不同计算机上,操作系统对用户的资源需求不能像一般的操作系统那样等待有资源时直接分配的简单做法而是要在系统的各台计算机上搜索,找到所需资源后才可进行分配。分布操作系统的通信功能类似于网络操作系统。由于分布计算机系统不像网络分布得很广,同时分布操作系统还要支持并行处理,因此它提供的通信机制和网络操作系统提供的有所不同,它要求通信速度高。分布操作系统的结构也不同于其他操作系统,它分布于系统的各台计算机上,能并行地处理用户的各种需求,有较强的容错能力。
分布式操作系统是网络操作系统的更高形式,它保持了网络操作系统的全部功能,而且还具有透明性、可靠性和高性能等。网络操作系统和分布式操作系统虽然都用于管理分布在不同地理位置的计算机,但最大的差别是:网络操作系统知道确切的网址,而分布式系统则不知道计算机的确切地址;分布式操作系统负责整个的资源分配,能很好地隐藏系统内部的实现细节,如对象的物理位置等。
嵌入式操作系统(Embedded Operating System)
是用在嵌入式系统的操作系统。嵌入式系统使用非常广泛的操作系统。嵌入式设备一般专用的嵌入式操作系统(经常是实时操作系统,如VxWorks、eCos、uCos)或者指定程序员移植到这些新系统。以及某些功能缩减版本的Linux(如Android,Tizen,MeeGo,webOS)或者其他操作系统
多道处理概念
多道处理在内存中可同时装入几个作业,当一个作业因等待外部传输而不能工作下去时,中央处理机马上可以执行另一个作业,若第二个作业又因某种原因不能继续执行时,中央处理机便执行第三个作业,如此继续直至第一个作业外部传输完毕后再执行第一个作业。采用多道作业合理搭配(例如把运算量大的科学计算作业和输入输出量大的数据处理作业搭配在一起)可以提高资源的利用率,增强系统的输入输出能力。
多道批处理与单道批处理的主要区别在于:第一,在作业管理中必须有作业调度功能和进程调度功能。宏观上的作业调度是从外存上选择若干作业调入内存,微观的进程调度是从主流在内存的多个作业中选择一个,使它获得处理机并执行。第二,多道批处理在内存中可以同时存放多道作业,宏观上这些作业在同时进行,而每一时刻则只有一道作业在运行。而且作业完成的顺序与它们进入内存的顺序无严格的对应关系,后进入内存的程序可能先完成。
多道程序设计和多重处理有何区别?
多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时执行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。多重处理系统比起单处理系统来说,虽增加了硬件设施,却换来了提高系统吞吐量、可靠性、计算能力和并行处理能力等好处。
如何区分多道批处理操作系统与分时操作系统?
多道批处理操作系统与分时操作系统关键在处理上,批处理是要积累一定量再处理,在处理的时候不再接受其他的请求了(PS:多道,可以同时处理多个用户提供的工作)。分时操作系统是有时间片的(PS:1次只能响应1个请求),有轮转算法。本质上他们是不同的,但是如果多道批处理操作系统支持的道很多,设置的批处理量也很低还是很接近分时操作系统的。
设计计算机操作系统时与哪些硬件器件有关?
CPU、寄存器、内存、外存、输入和输出设别(键盘、鼠标、显示器).
为什么说分时系统没有作业的概念?
因为在分时系统中,每个用户得到的时间片有限,用户的程序和数据信息直接输入到内存工作区中和其它程序一起抢占系统资源投入执行,而不必进入外存输入井等待作业调度程序选择。因此,分时系统没有作业控制表,也没有作业调度程序。