最近开始学习操作系统,总结第一章用于复习。水平有限,若有出错,烦请指正。
首先18年408考试大纲对操作系统的要求,分值为35分。
这是对第一章的要求:我们就按照这个来复习吧
这样我们就知道了,第一章我们需要理解->什么是操作系统,为什么需要操作系统,它能实现什么,它的发展是怎么样的,每一代有什么样的特点等等。。。
(一)操作系统的概念,特征,功能和提供的服务
概念:
1.资源管理的观点:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以及方便用户的程序集合。
2.用户的观点:操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的第一次扩充。
操作系统内部分为3个层次:1.操作系统对象 2.控制和管理的软件集合 3.用户接口
特征:并发性、共享性、虚拟性、异步性
1.并发体现在两个方面:1.用户程序与用户程序并发 2.用户程序与系统程序并发
2.共享是操作系统程序和多个用户程序共用系统中的资源。
3.虚拟性是指通过某种技术将一个物理实体变为若干个逻辑对应物。在操作系统中利用时分复用技术与空分复用技术来实现虚拟。
例如一个8核cpu,可以运行远不止8个程序,这就是将一个实际CPU虚拟成多个逻辑CPU的结果
4.异步性即不确定性。同一程序和数据的多次运行可能得到不同的结果;程序的运行时间、运行顺序也具有不确定性;外部输入的请求、运行故障发生的时间难以预测。
功能:功能可以从操作系统需要完成的任务去记忆,即完成相应任务对应功能
1.处理器管理:主要包括进程控制和管理,进程同步和互斥,进程通信,进程调度,进程死锁
2.存储器管理:包括存储分配,存储共享,存储保护,地址转换,存储扩充
3.设备管理:设备控制于处理,设备分配于回收,设备独立性,缓冲区管理和虚拟设备
4.文件管理:文件存储空间管理,目录管理,文件读写管理,文件共享保护,和存取控制
服务:系统服务(system services)是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是底层(接近硬件)程序。
(二)操作系统的发展与分类
未配置操作系统的计算机系统人工方式
存在两方面缺点,一是用户独占全机;二是CPU等待用户操作;人工操作使得计算机效率低下,这也被称为人机矛盾,主要体现在CPU速度和IO设备速度的不匹配上面。
脱机输入/输出方式
用户首先将记录有程序和数据的纸带在外围机的控制下输入磁带上,然后当CPU需要这些数据的时候便直接从磁带上获取;当CPU输出时,也是先将数据从高速内存送到磁带,然后再通过另外的外围机将磁带上的结果通过相应输出设备进行输出;因为系统的输入和输出都是在外围机的控制下完成,即在脱离主机的情况下完成,这种方法称为脱机输入/输出方式。这种方式有两个好处:
一是减少了CPU等待时间。因为装带、卸带、数据从低速IO设备到高速磁带(或者相反)的操作是在外围机上进行的,并不占用主机时间。但是,这是从一道作业执行的角度来看,当有多道作业需要处理时,作业切换时间仍旧存在,即磁带上还是只有一道作业的数据。
二是提高了IO速度。CPU从磁带上获取数据的速度要高于从纸带上直接获取的速度。IO速度虽然提高,但和CPU的处理速度还是不匹配的。
这个时期的计算机属于第一代计算机。
一.单道批处理系统
为实现对作业的连续处理,将一批作业以脱机输入/输出的方式输入到磁带上,并为系统添加监控程序,计算机系统在监控程序的控制下,连续处理这一批作业;
虽然系统对作业的处理是成批进行的,但是内存中始终还是只有一道作业,故称为单道批处理系统。单道批处理系统旨在解决人机矛盾和CPU与IO设备速度不匹配的问题。这和操作系统的目的是一致的,但是单道批处理系统仍然不能充分利用系统资源,最终被淘汰。
单道批处理系统的缺点主要体现在当程序发出IO请求后,CPU便处于等待状态,必须在IO处理结束后才能继续处理,而IO设备的速度又不是很高(和CPU的处理速度相比),所以CPU的空闲时间仍旧很多。
从这里可以看出,单道批处理系统减小了作业切换时间,即减少了CPU在系统执行某一作业之前以及之后的空闲时间,但是并没有减少CPU在处理作业过程中产生的空闲时间。即磁带上存有多道作业,但是内存中仍然只有一道作业。
这个时期的计算机多属于第二代晶体管计算机
二.多道批处理系统
为了进一步提高计算机系统的吞吐量和资源利用效率,出现了多道批处理系统。多道批处理系统将用户提交的作业视为一个队列,然后由作业调度程序按照一定的算法从该队列中选出若干作业调入内存,使它们共享计算机系统资源。由于内存中存在多道作业,当一道作业发出IO请求时,CPU可以执行其他作业,从而减少了CPU空闲时间。
多道批处理系统的优缺点:
1.资源利用效率高:该方式减少了CPU在处理作业中产生的空闲时间,同时内存中存有多道作业,也提高了内存的利用效率,IO设备的利用率也得到了提高;
2.系统吞吐量大:这是因为CPU等系统资源一直处于“忙碌”状态,并且只有当作业完成以及无法继续执行时才发生调度切换,系统的开销也相对较小。(即没有频繁的切换)
3.平均的周转周期长,因为作业要排队被处理。
4.作业和用户之间没有交互能力。一旦作业被送入系统,直到作业完成,用户都不能和作业进行交互,这为程序调试带来不便;
多道批处理系统需要处理的问题:
1.处理机分配问题:既要满足各道作业的运行需求,又要提高处理机的利用率;
2.内存分配和保护问题:系统需要为每道作业分配必要的内存空间,同时要保证该空间不被其他作业打扰;
3.IO设备分配问题:同处理机有相同的要求;
4.文件组织和管理问题:系统既要有效组织存放在系统中的大量的程序和数据又要便于用户使用,保证数据的安全性;
5.作业管理问题:系统中存在各种作业,需要对它们进行管理;
6.用户和系统的接口问题:用户和计算机系统的交互方式,计算机系统应该对用户友好。
从这里可以看出,随着系统功能和性能的提高,所涉及的管理管理越来越多:从没有管理程序到为系统添加监督程序,再到增加调度程序等。而这些软件正是操作系统的重要组成部分。
三.分时系统
由于多道批处理系统中用户没有办法同作业进行交互,为满足用户同作业的交互,一种新型的操作系统出现了,即分时系统。分时系统的出现是为了满足用户对人-机交互的需求,此时计算机系统不再单纯的执行计算任务,具有了人-机交互能力的计算机系统,功能上将更加丰富。同时由于计算机系统当时比较昂贵,一台计算机要同时供很多用户共享使用,用户希望共享的过程更加友好即共享状态下的使用就像是独占使用。
分时系统需要解决的问题:
及时接受:为解决该问题,分时系统中配有多路卡。多路卡的作用就是分时多路复用,即主机以很快的速度周期性扫各个终端,接收数据。比如,有64个终端共享一台计算机主机,那么只需配置一个64多路卡。同时还需要为每一个终端分配相应的缓冲区进行暂存用户的命令。
及时处理:人机-交互的关键是用户可以对其程序进行实时控制,这要求用户的程序需要在用户发出控制指令的时候位于内存当中并且频繁获得处理机进行运行;否则就无法实现用户控制;因此,分时系统彻底改变了批处理系统的运行方式:
作业直接入内存。
采用轮转运行的方式,引入时间片的概念,每一个程序每次只能运行一个时间片的时间,从而避免一个作业长期占用处理机的现象;
分时系统的特点:
多路性:多台终端(显示器和键盘,即输入和输出设备)同时连接到一台主机,按分时原则共享系统资源;
独立性:各个终端独立运行,互不干扰;
及时性:用户的请求通常在很短时间里就能得到响应。
交互性:用户通过终端可以同系统进行广泛的交互。即请求系统提供多方面的服务。
促进多道批处理系统形成和发展的主要动力是提高系统吞吐量和资源利用率,而促进分时系统形成和发展的主要动力则是用户关于人机交互以及共享主机的需求;
四.实时系统
实时系统是这样的一个系统:系统的正确性不仅通过运算结果确定还取决于产生这些结果的时间,它必须对所接受的信号及时或者实时做出响应。即实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调统一地运行;实时任务可以分为周期性实时任务和非周期性任务,它们都有一个Deadline,包括开始截止时间以及完成截止时间。也可以分为硬实时任务以及软实时任务。硬实时任务要求高实时性;软实时任务则要求比较松。
实时系统常用于工业控制系统、信息查询系统、多媒体系统、嵌入式系统;
总结:记忆时可以这么理解:上一代的缺点往往在下一代解决并是下一代的优点
(三)操作系统的运行环境
(1)用户态和内核态
内核态:cpu可以访问内存的所有数据,包括外围设备,例如硬盘,网卡,cpu也可以将自己从一个程序切换到另一个程序。
用户态:只能受限的访问内存,且不允许访问外围设备,占用cpu的能力被剥夺,cpu资源可以被其他程序获取。
(2)中断,异常
中断:是指CPU在程序执行的过程中,当新的情况或事件出现时,CUP暂时停止当前程序的执行,转而处理新情况的过程
-
-
可屏蔽中断(maskable interrupt)。硬件中断的一类,可通过在中断屏蔽寄存器中设定位掩码来关闭。
-
非可屏蔽中断(non-maskable interrupt,NMI)。硬件中断的一类,无法通过在中断屏蔽寄存器中设定位掩码来关闭。典型例子是时钟中断(一个硬件时钟以恒定频率—如50Hz—发出的中断)。
-
处理器间中断(interprocessor interrupt)。一种特殊的硬件中断。由处理器发出,被其它处理器接收。仅见于多处理器系统,以便于处理器间通信或同步。
-
伪中断(spurious interrupt)。一类不希望被产生的硬件中断。发生的原因有很多种,如中断线路上电气信号异常,或是中断请求设备本身有问题。
-
-
软件中断。是一条CPU指令,用以自陷一个中断。由于软中断指令通常要运行一个切换CPU至内核态(Kernel Mode/Ring 0)的子例程,它常被用作实现系统调用(System call)
中断机制在操作系统中的作用
1.中断可以实时处理许多紧急事件
2.中断可以实现CPU与外设并行工作,从而提高CPU的效率和系统的吞吐量
3.中断可以实现多到程序之间的切换
‘ 4.中断可以使得操作系统为服务的支撑平台,用户通过系统调用完成相应任务,从而简化了操作系统和应用程序的开发设计过程
(3)系统调用
系统调用:由操作系统实现提供的所有系统调用所构成的集合即程序接口或应用编程接口(Application Programming Interface,API)。是应用程序同系统之间的接口。
(四)操作系统的体系结构
简单体系结构
单体内核结构
层次式结构
微内核结构
外核结构
习题:
1.用户程序调用操作系统的功能必须使用()。
A 调用命令 B 系统调用 C 作业控制 D 控制命令
2.操作系统的基本类型主要有()。
A、批处理系统、分时系统及多任务系统 B、实时系统、批处理系统及分时操作系统 C、单用户系统、多用户系统及批处理系统 D、实时系统、分时系统、多用户系统
3.多道批处理系统的硬件支持是20世纪60年代初发展起来的()
A、 RISC技术 B、通道和中断机构C、集成电路D、高速内存
4.下面关于操作系统的叙述中正确的是。
A、批处理作业必须具有作业控制信息。 B、分时系统不一定都具有人机交互功能 C、从响应时间的角度看,实时系统与分时系统差不多 D、由于采用了分时技术,用户可以独占计算机的资源
5.如果分时操作系统的时间片一定,那么()则响应时间越长。
A、用户数越少 B、用户数越多C、内存越少 D、内存越多
6.分时操作系统的主要特征有 【多路性】、【交互性】、【独占性】、【及时性】。
7.()允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互使用计算机。
A 多道批处理 B 单道批处理 C 分时 D 实时
8. 系统调用是( )。
A用户编写的一程序 B高级语言中的库程序 C操作系统中的一条命令 D操作系统向用户程序提供的接口