操作系统的作用
1.资源管理:
(1)跟踪记录资源的使用状况
(2)确定资源分配策略——算法:静态分配策略、动态分配策略(大多数OS使用,效率高)
(3)实施资源的分配和回收
(4)提供资源的利用率,保护资源的使用
(5)协调多进程请求资源的冲突
五大基本功能:
进程/线程管理(CPU管理)、存储管理、文件管理、设备管理、用户接口
2.向用户提供服务
3.对硬件的拓展
操作系统的特征:
1.并发:同时处理多个活动
2.共享:OS与多个用户程序共同使用系统资源(互斥共享/同时共享)
3.虚拟:一个物理实体映射为多个对应的逻辑实体(分时或分空间),以提高资源利用率
4.随机:对以不可预测的次序发生的时间进行响应并处理
OS分类
1.批处理操作系统(单道、多道),技术:SPOOLING
2.分时操作系统,技术:时间片
通用操作系统:分时系统与批处理系统的结合
原则:分时优先,批处理在后
3.实时操作系统
4.个人计算机操作系统:在某一时间只为单用户服务
5.网络操作系统
6.分布式操作系统
7.嵌入式操作系统
1.1操作系统的定义及特征
(1) 操作系统的主要工作
a 用户告诉操作系统执行该程序。该程序在运行前一般在外存上存放着,操作系统通过目录表从外存找到该程序。
b. 内存管理模块根据程序的大小为代码和变量分配内存,文件系统定位并读磁盘块将该程序写入内存。
c. 系统创建进程以执行该程序,进程由进程控制块(PCB)和代码、数据组成,PCB是系统用于管理进程的数据结构。
d. 进程开始执行, scanf(“%d%d”,&a,&b);涉及到硬件输入设备(如键盘)的操作,设备处理模块投入工作,使用户输入数据,用户无须关心设备端口状态以及机械操作细节。
e. 操作系统以系统功能调用的形式在内部提供了完成从输入设备输入数据的程序模块,该模块负责所有涉及硬件机械电子特性的处理。
f. printf(“a+b=%d\n”,a+b);涉及到CPU的计算处理功能和输出设备(如显示器)的操作,在多任务系统中,需要有专门的处理机调度模块负责分配处理机和保护处理机现场,在进程间完成进程切换的工作。
g. return 0;结束用户进程的运行,将控制权返回给操作系统,操作系统回收用户进程所占用的内存等软硬件资源,进行结束处理,用户同样无须关心这些善后事宜。
h. 对于用户来说,操作系统屏蔽了上述处理过程,用户只需通过鼠标的点击或者在程序中简单地安排几条系统功能调用即可完成,无需关心底层细节。
i. 综上所述,操作系统在执行程序的过程中向用户提供了文件存取服务、内存分配服务、处理机调度服务、设备分配和处理服务等功能。
(2) 操作系统定义
从所处的位置看,操作系统充当了计算机用户和计算机硬件资源之间的媒介。用户是通过操作系统来使用计算机的。
定义:OS 是一个系统程序集合,管理和控制计算机的所有软件和硬件资源,合理地组织计算机工作流程,以便有效地利用系统资源,为用户提供一个功能强大、使用方便的工作环境。
image.png
(3) 操作系统特征---并发
并发性(Concurrence)是指两个或两个以上的运行程序在同一时间间隔段内同时执行。
并发性的例子:
①多个I/O设备同时在输入输出;
②设备输入输出和CPU计算同时进行;
③内存中同时有多个程序被启动交替、穿插地执行。
(3) 操作系统特征---共享
共享指操作系统中的资源(包括硬件资源和信息资源)可被多个并发执行的进程所使用。
第一种是互斥共享。在同一时间内却只允许一个进程访问这些资源,称为临界资源。如打印机、磁带机,以及一些变量、数据等都是临界资源。
第二种是同时访问。允许同一时间内多个进程对它进行访问,这里“同时”是宏观上的说法。典型的可供多进程同时访问的资源是磁盘。
共享性和并发性是操作系统两个最基本的特征,它们互为依存。
(3) 操作系统特征---异步性
在多道程序环境中,允许多个进程并发执行,由于资源有限而进程众多,多数情况,进程的执行不是一贯到底,而是“走走停停”。
进程以不确定的方式运行,这种不确定性给系统带来了潜在的危险,有可能导致与时间有关的错误。但只要运行环境相同,操作系统必须保证多次运行作业,都会获得完全相同的结果。
1.2 操作系统的发展
单道批处理系统
多道批处理系统
分时系统
实时系统
单道批处理系统
严格地说,它只能算作是OS的前身而并非是现在人们所理解的OS。
由操作员将若干作业合成一批,由监督程序依次将作业调入主存并运行,主存中始终只有一个作业在运行。特点:自动性、顺序性、单道性。
单道批处理系统中,内存中仅有单个作业在运行,致使系统中仍有许多资源空闲,设备利用率低,系统性能较差。
在输入操作结束之前,处理机空闲,其原因是I/O处理与本道程序有关。所以就提出了多道程序的概念。
多道批处理系统
多道批处理系统是指允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。在该系统中, 用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。
多道程序合理搭配输入输出为主与计算为主程序交替运行,充分利用资源,提高系统效率。
特点:
多道:计算机内存中同时存放多道相互独立的程序。
并行:宏观上并行运行,微观上串行运行。
无序性:程序完成顺序与程序提交顺序不一定相同。
调度性:程序从提交到完成须经多次调度。
单、多道程序运行示意图
分时系统
分时系统把处理机的运行时间分为很短的时间片,一般采用时间片轮转的方式,使一台计算机为多个终端服务。
推动多道批处理系统形成和发展的主要动力,是提高资源利用率和系统吞吐量。
推动分时系统形成和发展的主要动力,则是用户的需求。
典型案例:超市的收银机。
分时系统的特点
交互性:系统能及时响应用户的请求,方便程序的调试和修改。
多路性:多个用户分别利用不同的终端,共享系统资源,获得主机的服务。
独立性:各用户独立操作,互不干扰。
及时性:系统能在用户可接受的时间内处理用户请求。
UNIX是当今最流行的一种多用户分时操作系统。
实时操作系统
实时操作系统(Real Time Operating System)是指当外界事件或数据产生时,能够接收并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制监控的生产过程或对处理系统作出快速响应,并控制所有实行任务协调一致运行的操作系统。
典型应用:飞行器的自动控制,飞机订票系统、银行管理系统等