考研·第一章操作系统概述·知识点总结

考研·第一章操作系统概述·知识点总结

操作系统的概念

1、操作系统是指控制和管理整个计算机系统的硬件与软件资源,合理的组织、调度计算机工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。
2、操作系统作为系统资源的管理者
所具有的功能
处理机功能:分配处理机资源(让CPU(处理机)处理对应进程)。在多道程序设计环境下,处理机的分配和运行都以进程(或线程)为基本单位,因为对处理机的管理可看成是对进程的管理。进程管理的最主要任务:进程何时创建、何时撤销、如何管理、如何避免冲突、合理共享;进程管理的主要功能:进程控制、进程同步、进程通信、死锁处理、处理机调度等。
(注:执行一个程序之前需要将该程序从硬盘放入内存中,然后才能被CPU处理)
存储器功能:把程序相关数据存入内存。管理存储器的目的:给多道程序的运行提供良好的环境方便用户使用提高内存的利用率。包括的主要功能:内存分配与回收、地址映射、内存保护与共享、内存扩充等。
文件管理:逐层打开文件夹,找到文件,进而可执行文件对应的程序。主要包括:文件存储空间的管理、目录管理、文件读写管理、文件保护等。
设备管理:分配摄像头等资源,将资源分配给进程。主要任务:完成用户的I/O请求,方便用户使用各种设备,提高设备的利用率。主要功能:缓冲管理、设备分配、设备处理、虚拟设备等。
所拥有的目标:安全、高效
3、操作系统向上层提供方便易用的服务(操作系统的功能与目标)
操作系统所拥有的封装思想:把一些“丑陋”的硬件功能封装成简单易用的服务,使得用户能更方便地使用计算机。用户无需关系底层硬件的原理,只需对操作系统发出命名即可获取操作系统的服务。
OS向上层提供的服务:
GUI接口指图形化用户接口,用户可使用形象的图形界面进行操作。最终是通过调用程序接口实现的。用户通过鼠标和键盘在图形界面上点击或使用快捷键,就能很方便地使用操作系统。图形接口不是OS的一部分,但是图形接口所调用的系统调用命令时OS的一部分。
命令接口包括联机命令接口和脱机命令接口。
程序接口是供程序员和软件使用的。
4、操作系统为用户提供的接口
命令接口:用户利用这些操作命令来组织和控制作业的执行。命令接口分为联机命令接口(又称交互式命令接口)和脱机命令接口(又称批处理命令接口)。
联机命令接口:该类接口进行作业控制的主要方式为联机控制方式。适用于分时或实时系统的接口。用户一条一条地输入命令,命令在输入完后执行(交互性的体现)。
由一组键盘操作命令组成。用户通过控制台或终端输入操作命令,向系统提出各种服务要求,用户每输入一条命令,控制权就转给操作系统的命令解释程序,然后由命令解释程序解释并执行输入的命令,完成指定的功能,之后控制权转回控制台或终端,用户又可以输入下一条指令。(在windoes10中使用win+r,输入cmd可以打开命令解释器,在命令解释器中输入命令就可以实现对计算机的联机控制方式)
脱机命令接口:该类接口进行作业控制的主要方式为脱机控制方式。适用于批处理系统。很多条命令一起被操作系统处理。
由一组作业控制命令组成。脱机用户不能直接干预作业的进行,而是事先用相应的作业控制命令写成一份作业操作说明书(.bat文件),连同作业一起提交给系统,系统调度到该作业时,由系统中的命令解释程序逐条执行作业说明书上的命令,从而间接地控制作业的进行。
程序接口:编程人员可以使用它们来请求操作系统服务。
由一组系统调用(也称为广义指令)组成。用户通过在程序中使用这些系统调用来为其提供服务(可以在程序中进行系统调用来使用程序接口)。普通用户不能直接使用程序接口,只能通过程序代码间接使用。类似于函数调用(在printf函数的底层就使用了OS提供的与显示相关的系统调用),是应用程序请求OS服务的唯一方式。例如:使用各种外部设备、申请分配和回收内存及其他各种要求。
5、操作系统作为计算机系统中最接近硬件的一层软件
需要对硬件机器进行拓展。
把覆盖了软件的机器称为扩充机器(虚拟机)。
没有任何软件支撑的计算机称为裸机,在裸机上安装的操作系统可提供资源管理的功能和方便用户的服务功能。
在这里插入图片描述

6、Windows任务管理器的打开方式:Ctrl+ Alt+Del。
7、操作系统的基本特征:并发、共享、虚拟、异步(最基本的特征是并发和共享)。
8、 并发:指两个或多个事件在同一时间间隔内发生。操作系统的并发性是通过分时得以实现的。操作系统的并发性是指计算机系统中可以同时存在多个运行的程序,因此OS具有处理和调度多个程序同时执行的能力。在多道程序环境中,一段时间内,单处理机环境下,宏观上可以有多道程序同时执行,但在微观上这些程序是分时交替执行的。若:一个4核CPU可以并行执行4个程序,当有4个以上的程序需要“同时”运行,这是需要就需要体现操作系统的并发性并行性指系统能够同时进行运算或操作,在同一时刻能够完成多种工作,需要相关硬件的支持。如:多流水线或多处理机硬件环境。
(注意:单核CPU同时只能执行一个程序,各个程序只能并发的执行。多核CPU同一时刻可以同时多个程序,即多个程序可以并行的执行。)
9、共享:资源共享,指系统中的资源可供内存中的多个并发执行的进程共同使用。共享可分为:互斥共享方式同时访问方式
互斥资源共享方式:指在一段时间内只允许一个进程访问该资源(一种资源在一段时间内只能满足一个请求)。若进程A要访问某资源,必须先提出申请,若资源空闲,系统可将该资源分配给进程A使用;若资源不空闲,进程A必须等待,当且仅当上一使用该资源的进程访问完并释放资源后,进程A才能对该资源进行访问。在一段时间内仅允许一个进程进行访问的资源称为“临界资源(被要求互斥地共享)”。计算机系统中大部分物理设备以及软件中的栈、变量表格均为临界资源。如:QQ和微信,同一时刻只有一个进程可以申请使用摄像头。
同时访问方式(同时共享方式):指在一段时间内可以由多个进程“同时”访问的资源。比如:磁盘设备,一些重入码编写的文件(允许多个用户同时访问该文件)。这里的“同时”指的是宏观上的,微观上这些进程可能是交替的对该资源进行访问(分时共享)。
例子:使用QQ发送文件A,同时使用微信发送文件B,宏观上看,两者都在读取发送文件,即两个进程都在访问硬盘资源,并从中读取数据;微观上看,两个进程是交替访问硬盘的。
10、虚拟:指把一个物理上的实体(实际存在的)变为若干逻辑上的对应物(用户感觉上的事物)。OS的虚拟技术可分为:时分复用技术空分复用技术
虚拟处理器技术(时分复用技术):通过多道程序设计技术,采用让多道程序并发执行的方法,来分时使用一个处理器。即利用多道程序设计技术把一个物理上的CPU虚拟为多个逻辑上的CPU(虚拟处理器)。
虚拟存储器技术(空分复用技术):将物理内存变为虚拟内存,在逻辑上扩充存储器容量(虚拟存储器)。
虚拟设备技术:将一台物理I/O设备虚拟为多台逻辑上的I/O设备。
11、异步:多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行走走停停,以不可预知的速度向前推进。并发执行的程序会抢着使用系统资源。
12、操作系统的出现就是为了支持“多道程序技术”,操作系统适合程序并发一起“诞生”的。
13、并发和共享互为存在的条件:资源共享是以程序的并发为条件的,若程序不允许程序并发执行,就不存在资源共享问题;若系统不能对资源共享实施有效的管理,就会影响到程序的并发执行,甚至导致程序无法并发执行。
例子:若失去共享性,QQ和微信就不能同时访问硬盘资源,就无法同时发送文件,即会失去并发性;若失去并发性,系统中只能由一个程序运行,就不再需要共享性。
14、一个程序需要放入内存并给它分配CPU才能执行。
15、如果失去了并发性,则一个时间段内系统只能运行一道程序,就是无需再实现虚拟性。
16、运行环境相同,OS就必须保证多次运行进程后都能获得相同的结果。
17、操作系统实现了对计算机资源的扩充,通常把覆盖了软件的机器称为扩充机器或虚拟机。

操作系统发展历程

1、手工操作阶段缺点:用户独占全机,资源利用率低;CPU等待手工操作,CPU利用不充分。
2、手工操作阶段借助纸带机将程序读取到计算机中,纸带有孔表示1,无孔表示0。人机速度矛盾越来越大。
3、批处理阶段操作系统开始出现。
4、批处理系统分为单道批处理系统、多道批处理系统(多道程序设计技术出现以后)。
5、单道批处理系统:系统对作业的处理成批进行,但内存中始终值保持一道作业
引入脱机输入/输出技术,有监督程序负责控制作业的输入、输出。
采用外围机+磁带的方式将程序输入到计算机中。
过程:磁带→计算机→磁带。
主要特征:自动性(磁带上的一批作业自动逐个执行,无需人工干预)、顺序性(先调入内存的作业先完成)、单道性(内存中仅有一道程序运行)。
主要优点:缓解了一定程度的人机素的矛盾,资源利用率有所提升。
主要缺点:内存中只能有一道程序运行,只有该程序运行结束或发生异常情况时才能调入下一道程序。CPU(高速)有大量时间空闲等待I/O(低速)完成工作,资源利用率依旧很低。
6、多道批处理系统:允许多个程序同时进入内存并允许它们在CPU中交替地运行,这些程序共享系统中的各种硬/软件资源。把用户提交的作业成批地送入计算机内存,然后由作业调度程序自动地选择作业运行(多道批处理操作系统)。
每次往内存中读入多道程序。
特点:多道、宏观上并行、微观上串行。
多道程序设计技术的实现需要解决的问题:如何分配处理器、多道程序的内存分配问题、I/O设备如何分配、如何组织和存放大量的程序和数据,以方便用户使用并保证其安全性与一致性。
主要优点:多道程序并发执行,共享计算机资源,资源利用率大幅提升;CPU和其他资源更能保持“忙碌状态”,系统吞吐量增大。
主要缺点:用户相应的时间较长;不提供人机交互能力,用户既不能了解自己程序的运行情况(用户提交自己作业之后只能等待计算机处理完成,中间不能控制自己的作业执行),也不能控制计算机(例子:计算机执行程序过程中无法调试程序,无法在程序运行过程中输入一些参数)。
7、分时操作系统:多个用户通过终端同时共享一台主机,这些终端连接在主机上,用户可以同时与主机进行角度操作而互不干扰(即:各个用户可通过终端与计算机进行交互)。
分时技术:把处理器的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。
实现分时系统最关键的问题:如何使用户能与自己的作业进行交互。
主要特征:同时性(多路性)、交互性、独立性、及时性。
主要有点:用户请求可以被及时相应,解决了人机交互问题;允许多个用户同时使用一台计算机;用户对计算机的操作相互独立。
主要缺点:不能优点处理一些紧急任务;操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,部分任务的紧急性。
8、实时操作系统:能在某个时间限制内完成某些紧急任务而不需要时间片排队
两种情况:硬实时系统(某个动作必须绝对地在规定的时间(或是范围)发生)和软实时系统(能够偶尔接受违反时间规定而不会引起任何永久性的损害)。
例子:飞行器的飞行自动控制系统(硬实时系统)、飞机订票系统(软实时系统)、银行管理系统(软实时系统)。
主要特征:及时性、可靠性。
在实时操作系统的控制下:计算机系统接收到外部信号后及时进行处理,并在严格的时间限制内处理完接收的事件。

操作系统运行环境

1、程序运行的过程其实就是CPU执行一条一条机器指令的过程。
2、处理器CPU能识别、执行的最基本指令是二进制的。
3、C语言程序的运行需要将C语言代码通过编译器转变为机器指令(二进制)。
4、使用cmd打开的命令框中输入的不是指令,而是交互式命令接口。
5、CPU中通常执行两种不同性质的程序:操作系统内核程序、用户自编程序(跑在应用系统上边的,系统外层的应用程序)。
6、很多内核程序组成了“操作系统内核”,或简称“内核”,内核是操作系统最重要最核心的部分,也是最接近硬件的部分。
7、特权指令是内核程序能执行的,用户自编程序出于安全考虑不能执行。
8、特权指令是指不允许用户直接使用的执行,如I/O指令、置中断指令,存取用于内存保护的寄存器、送程序状态字到程序状态字寄存器等的指令。
9、非特权指令是指允许用户直接使用的指令,它不能直接访问系统中的软硬件资源,仅限于访问用户的地址空间,这也是为了防止用户程序对系统造成括破坏。例子:加法指令、减法指令。
10、在CPU设计和生产的时候就划分了特权指令和非特权指令,因此CPU执行一条指令前就能判断出其类型。
11、刚开机时CPU为内核态,操作系统内核会使用一条特权指令把PSW状态位设置为“用户态”,让出CPU给用户态使用(主动的)。
12、CPU的运行模式划分为用户态(目态)和核心态(管态、内核态)。PSW标志位置1:用户态;PSW标志位置0:核心态。
13、CPU处于核心态时可以执行特权指令,切换到用户态的指令也是特权指令
14、CPU处于用户态时只能执行非特权指令。
15、用户自编程序运行在用户态,操作系统内核程序运行在核心态。
16、内核是计算机上配置的底层软件,它管理着系统的各种资源,可以看作是连接应用程序和硬件的一座桥梁。大多数OS内核包括:时钟管理、中断机制、原语、系统控制的数据结构及处理。
17、时钟管理(与硬件关联紧密):时钟的第一功能是计时,操作系统需要通过失踪管理向用户提供标准的系统时间;时钟管理还可实现进程的切换。例子:分时操作系统中采用时间片轮转调度;实时系统中按截止时间控制运行;批处理系统中通过时钟管理衡量一个作业的运行程度。
18、中断机制(与硬件关联紧密):引入中断机制是为了提高多道程序运行环境中CPU的利用率(主要针对外部设备)。例子:键盘或鼠标信息的输入、进程的管理和调度、系统功能的调用、设备驱动、文件访问。中断机制中只有一小部分功能属于内核,它们负责保护和恢复中断现场的信息,转移控制权到相关的处理程序(这样可以减少中断的处理时间,提高系统的并行处理能力)。
19、原语(与硬件关联紧密):处于操作系统底层的一些可被调用的公用小程序。
特点:处于操作系统的最底层,是最接近硬件的部分;这些程序的运行具有原子性,其操作只能“一气呵成”(处于系统安全性和便于管理考虑);这些程序的运行时间都较短,并且调用频繁。
例子:系统中的设备驱动、CPU切换、进程通信等功能中的部分操作。
20、系统控制的数据结构及处理(与数据结构关联紧密):
常见操作:进程管理;存储器管理;设备管理。
系统中用来登记状态信息的数据结构:作业控制块、进程控制块(PCB)、设备控制块、各类链表、消息队列、缓冲区、空闲去登记表、内存分配表等。
进程管理:进程状态管理、进程调度和分派、创建与撤销进程控制块等。
存储器管理:存储器的空间分配和回收、内存信息保护程序、代码对换程序等。
设备管理:缓冲区管理、设备分配和回收。
21、内核态→用户态:执行一条特权指令,修改PSW的标志位为“用户态”,操作系统主动让出CPU的使用权。
22、用户态→内核态:由“中断”引发,硬件自动完成变态过程,除法中断信号意味着OS将强行夺回CPU的使用权。
23、中断是让操作系统内核夺回CPU使用权的唯一途径,没有中断,一旦应用程序在CPU上运行,CPU就会一直运行这个应用程序。
24、计算机工作过程中需要操作系统介入时会触发中断信号。
25、中断(外中断):指来自CPU执行指令外部的事件,通常用于信息输入/输出。与当前执行的指令无关,中断信号来源于CPU外部。
26、I/O中断:设备发出的I/O结束中断,表示设备输入/输出处理已经完成。
27、时钟中断:表示一个固定的时间片已到,让出立即处理及时,启动定时运行的任务等。
中断过程:应用程序1→处理时钟中断的内核程序→应用程序2
28、异常(内中断):指来自CPU执行指令内部的事件。若当前执行的指令是非法的,会引发一个中断信号。
例子:程序的非法操作码、地址越界、运算溢出、虚存系统的缺页、试图在用户态下执行特权指令、执行除法指令时发下除数为0、若应用程序想要请求OS内核服务会执行一条陷入指令(意味着应用程序主动将CPU控制权还给OS内核,“系统调用”就是通过陷入指令完成的),该指令会引发一个内部中断信号,让CPU进入核心态。
29、异常不能被屏蔽,一段出现要立即处理。
30、陷入指令不是特权指令。
31、外中断可分为可屏蔽中断不可屏蔽中断
32、不可屏蔽中断:紧急的硬件故障,比如电源掉电。
33、异常可分为:故障、自陷、终止
34、故障(软件中断):通常是有指令执行引起的异常,如非法操作码、缺页故障、除数为0、运算溢出。
35、自陷(软件中断):是一种事先安排好的“异常”事件,用于在用户态下调用操作系统内核程序,比如条件陷阱指令。
36、终止(硬件终端):是指出现了使得CPU无法继续执行的硬件故障。由致命错误引起,内核程序无法修复该错误,因此一般不再将CPU使用权还给引发终止的应用程序,而是直接终止该应用程序。比如:控制器出错、存储器校验错等。
37、中断和异常的处理过程:
当CPU在执行用户程序的第i条指令时检测到异常事件,或在执行第i条指令后发现一个中断请求信号,则CPU打断当前的用户程序;
根据中断信号的类型查询“中断向量表”,以此来找到相应的中断处理程序在内存中的存放位置;
若中断或异常处理程序能够解决相应的问题,则在异常处理程序最后CPU通过执行中断或异常返回指令回到被打断的用户程序的第i条指令或第i+1条指令继续执行;
若中断或异常处理程序发现是不可恢复的致命错误,则终止用户程序。
38、不同的中断信号需要用不同的中断处理程序来处理。
39、中断或异常处理程序时内核程序,需要在“内核态”运行。
40、检查中断信号:
内中断:CPU在执行指令时会检查是否有异常发生。
外中断:每个指令周期末尾,CPU都会检查是否有外中断信号需要处理。
41、系统调用:指用户在程序中调用操作系统所提供的一些子功能,系统调用可视为特殊的公共子程序。
42、系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作都必须通过系统调用的方式向操作系统提出服务请求,并由操作系统代为完成(可保证系统的稳定性和安全性,防止用户进行非法操作)。比如:存储分配、进行I/O传输、管理文件等。
43、系统调用分类:设备管理、文件管理、进程控制、进程通信
设备管理:完成设备的请求和释放,以及设备启动等功能。
文件管理:完成文件的读、写、创建及删除等功能。
进程控制:完成进程的创建、撤销、阻塞及唤醒等功能。
内存管理:完成内存的分配、回收以及获取作业占用内存区大小及始址等功能。
44、系统调用过程:传参指令(指明系统调用类型,比如fork类型)→把参数(系统调用所需的)传递给寄存器→陷入指令→内中断信号→中断处理程序→调用所需系统调用服务→系统调用服务程序→把CPU归还给用户态继续执行用户程序。
45、陷入指令(访管指令或trap指令):用户程序可使用该指令发起系统调用,请求操作系统提供服务。相当于把CPU的使用权主动交给操作系统内核程序(CPU状态从用户态进入核心态),之后操作系统内存程序再对系统调用请求做出相应处理,处理完成后,CPU再由核心态回到用户态。(目的:用户程序不能直接执行对操作系统影响非常大的操作,必须通过系统调用的方式来请求操作系统带为执行,以保证系统的稳定性和安全性,防止用户程序随意更改或访问重要的系统资源,影响其他进程的运行。)
46、发出系统调用是在用户态,对系统调用的相关处理是在核心态。
在这里插入图片描述
47、例子:WPS、Word都可使用打印机打印:由操作系统内核对共享资源进行统一的管理,并向上提供“系统调用”,用户进程想要使用打印机只能通过系统调用,向OS内核发出请求,内核对各个请求进行协调处理。
48、凡是与共享资源有关的操作会直接影响到其他进程的操作,因此需要操作系统介入(通过系统调用来实现)。

操作系统结构

1、分层法:将操作系统分为若干层,最底层为硬件,最高层为用户接口,每层只能调用紧邻它的底层的功能和服务(单向依赖)。
优点:便于系统的调试和验证,简化了系统的设计和实现;易扩充,易维护。
缺点:合理定义各层比较困难;效率较差。
2、模块化:将操作系统按功能划分为若干具有一定独立性的模块,每个模块具有某方面的管理功能,并规定好各模块间的接口,使模块之间能够通过接口进行通信。还可进一步将各模块细分为若干具有一定该功能的子模块,同样也规定好各子模块之间的接口(模块-接口法)。
在划分模块时:如果模块划分得过小,能降低模块本身的复杂性,但是会使模块之间的联系过多,造成系统比较混乱;如果模块划分得过大,会增加模块内部的复杂性。
模块独立性越高,各模块之间的交互就越少,系统的结构就越清晰。
衡量模块独立性的标准:内聚性、耦合度
内聚性:模块内部各部分间联系的紧密程度。
耦合度:模块间相互联系和影响的程度。
内聚性越高,耦合度越低,模块的独立性越好。
优点:提高了操作系统设计的正确性、可理解性、可维护性;增强了操作系统的可适应性;加速了操作系统的开发过程。
缺点:模块间的接口规定很难满足对接口的实际需求;各模块设计者齐头并进,每个决定无法建立在上一个已验证的正确决定的基础上,因此无法找到一个可靠的决定顺序。
3、从操作系统的内核架构来分,可分为:宏内核和微内核。
4、宏内核(大内核或单内核):指将操作系统的主要功能模块都作为一个紧密联系的整体运行在核心态,从而为用户程序提供高性能的系统服务。
优点:高性能。
缺点:内核代码庞大,结构混乱,难以维护。
基于宏内核构架的操作系统:Windows、Android、iOS、macOS、Linux等。
5、微内核:指将内核中最基本的功能保留在内核,而将那些不需要在核心态执行的功能移到用户态执行,从而降低内核的设计复杂性。
微内核结构将操作系统划分为两法部分:微内核和多个服务器。
微内核值精心设计的、能实现操作系统最基本核心功能的小型内核,通常包含:与硬件处理紧密相关的部分;一些较基本的功能;客服和服务器之间的通信。
操作系统中的决大部分功能都放在微内核外的一组服务器(进程)中实现。
微内核结构中,只有微内核运行在内核态,其余模块都运行在用户态。(能够实现高可靠性
微内核的基本功能:进程(线程管理)、低级存储器川力、中断和陷入处理。
微内核结构通常利用“机制与策略分离”的原理来构造OS结构,将机制部分以及与硬件紧密相关的部分放入微内核。
优点:拓展性和灵活性;可靠性和安全性;可移植性;分布式计算;内核功能少,结构清晰,方便维护。
缺点:要频繁地在核心态和用户态之间切换,性能低。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值