1.定义
控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件。
2.作用
设置操作系统的目的就是提高计算机系统的效率,增强系统的处理能力,充分发挥系统的利用率,方便用户使用。
3.四个特征
-
并发:两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。操作系统的并发性指计算机系统中“同时”运行着多个程序,这些程序宏观上看是同时运行着的,而微观上看是交替运行的。操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的。
-
并行:指两个或多个事件在同一时刻同时发生。(一起执行)
-
并发和并行的区别:示例:并行约会:同一时刻同时进行两个约会任务;并发约会:宏观上看,这一天老渣在同时进行两个约会任务。微观上看,在某一时刻,老渣最多正在进行一个约会任务。
-
单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行;多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行。
-
-
共享:资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
-
互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。
-
同时共享方式:系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问。所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)。
-
示例:互斥共享方式:使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。
同时共享方式:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。
-
-
并发与共享的关系:互为存在条件。如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义;如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发。
-
虚拟:指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
-
空分复用技术(如虚拟存储):
-
时分复用技术(如虚拟处理器):
-
如果失去了并发性,则一个时间段内系统中只需运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性。
-
-
异步:指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
4.发展与分类
-
手工操作阶段(此阶段无操作系统):用户在计算机上算题的所有工作都要人工干预,如程序的装入,运行,结果的输出等。主要缺点:用户独占全机、人机速度矛盾导致资源利用率极低。
-
批处理阶段(操作系统开始出现)
-
单道批处理系统:系统对作业的处理是成批进行的,但在内存中始终保持一道作业。
-
特征:自动性:磁带上的一批作业能自动地逐个运行。
顺序性:磁带上的各道作业顺利的进入内存,各道作业的完成顺序与他们进入内存的顺序相同
单道性:内存中仅有一道程序运行,即监督程序每次从磁带上只调入一道程序进入内存运行。
-
-
多道批处理系统:用户所提交的作业都先存放在外存上并排成一个队列。称为“后备队列”。然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。
允许多个程序同时进入内存并运行。即同时把多个程序放入内存,并允许它们交替在CPU中运行,它们共享系统中的各种硬、软件资源。当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序。它没有用某些机制提高某一技术方面的瓶颈问题,而是让系统的各个组成部分都尽量去“忙”,花费很少时间去切换任务,达到了系统各部件之间的并行工作,使其整体在单位时间内的效率翻倍。
特征有:多道:计算机内存中同时存放多道相互独立的程序;宏观上并行:同时进入系统的多道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕;微观上串行:内存中的多道程序轮流占有CPU,交替执行。
缺点是用户响应的时间较长。不提供人机交互能力,用户既不能了解自己程序的运行情况,也不能控制计算机。
问题有:如何分配处理器;多道程序的内存分配问题;I/O设备如何分配;如何组织和存放大量的程序和数据,以便于用户使用和保证其安全性与一致性。
-
-
分时操作系统
-
计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。主要优点:用户请求可以被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。主要缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/ 作业服务一个时间片,不区分任务的紧急性。
在操作系统中釆用分时技术就形成了分时系统。所谓分时技术就是把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时停止运行,把处理器让给其他作业使用,等待下一轮再继续运行。由于计算机速度很快,作业运行轮转得很快,给每个用户的感觉好像是自己独占一台计算机。分时操作系统是多个用户通过终端同时共享一台主机,这些终端连接在主机上,用户可以同时与主机进行交互操作而互不干扰。所以,实现分时系统最关键的问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回用户,所以也可以认为具有实时性。分时系统也是支持多道程序设计的系统,但它不同于多道批处理系统。多道批处理是实现作业自动控制而无需人工干预的系统,而分时系统是实现人机交互的系统。
特征有:同时性。也称多路性,指允许多个终端用户同时使用一台计算机,即一台计算机与若干台终端相连接,终端上的这些用户可以同时或基本同时使用计算机;交互性。用户能够方便地与系统进行人-机对话;独立性。系统中多个用户可以彼此独立地进行操作,互不干扰,单个用户感觉不到别人也在使用这台计算机,好像只有自己单独使用这台计算机一样;及时性。用户请求能在很短时间内获得响应。分时系统釆用时间片轮转方式使一台计算机同时为多个终端服务,使用户能够对系统的及时响应感到满意。
问题有:虽然分时操作系统比较好地解决了人机交互问题,但是在一些应用场合,需要系统能对外部的信息在规定的时间(比时间片的时间还短)内作出处理(比如飞机订票系统或导弹制导系统)。因此,实时系统应运而生。
-
-
实时操作系统
-
主要优点:能够优先响应一些紧急任务,某些紧急任务不需时间片排队。在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完事件。实时操作系统的主要特点是及时性和可靠性。
为了能在某个时间限制内完成某些紧急任务而不需时间片排队,诞生了实时操作系统。这里的时间限制可以分为两种情况:如果某个动作必须绝对地在规定的时刻(或规定的时间范围)发生,则称为硬实时系统。例如,飞行器的飞行自动控制系统,这类系统必须提供绝对保证,让某个特定的动作在规定的时间内完成。如果能够接受偶尔违反时间规定,并且不会引起任何永久性的损害,则称为软实时系统,如飞机订票系统、银行管理系统。在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完接收的事件。实时橾作系统的主要特点是及时性和可靠性。
-
-
网络操作系统:是伴随着计算机网络的发展而诞生的,能把网络中各个计算机有机地结合起来,实现数据传送等功能,实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信。(如:Windows NT 就是一种典型的网络操作系统,网站服务器就可以使用)
-
分布式操作系统:主要特点是分布性和并行性。系统中的各台计算机地位相同,任何工作都可以分布在这些计算机上,由它们并行、协同完成这个任务。
5.运行环境
1.运行机制
CPU执行两种不同性质的程序:内核程序和应用程序。内核程序要执行一些特权指令,所谓的特权指令值计算机中不允许用户直接使用的程序,如I/O指令、置中断指令、存取用于内存保护的寄存器、送程序状态字到程序状态字寄存器等的指令。将CPU状态分为用户态和核心态。
2.中断
“中断”会使CPU由用户态变为内核态,使操作系统重新夺回对CPU的控制权,“中断”是让操作系统内核夺回CPU使用权的唯一途径。如果没有“中断”机制,那么一旦应用程序上CPU运行,CPU就会一直运行这个应用程序。
内核态->用户态:执行一条特权指令——修改PSW的标志位为“用户态”,这个动作意味着操作系统将主动让出CPU使用权
用户态->内核态:由“中断”引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺回CPU的使用权
中断分为内中断和外中断。
-
内中断(异常或例外或陷入):与当前执行的指令有关,中断信号来源于CPU内部。如程序的非法操作码、算数溢出、专门的陷入指令等。
-
外中断(也称“中断”):与当前执行的指令无关,中断信号来源于CPU外部。如设备发出的I/O结束中断,时钟中断。
3.系统调用
“系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。