操作系统简述
操作系统
第一章 操作系统引论
操作系统:是一组
控制和管理计算机硬件和软件资源,合理地组织计算工作流程,以及方便用户使用的程序集合
一、操作系统系统目的、目标
- 使计算机系统更易于使用(方便性)
- 以一种效率的方式使用资源(有效性)
- 采用模块化结构,已与增、删、改(可扩充性)
- 要求统一开放环境,能通过网络集成化并正确、有效地协同工作,实现应用程序的移植(开放性)
二、计算机系统组成
操作系统的的地位:紧贴系统硬件之上,所有其他软件之下(是其他软件的共同环境)
三、操作系统的作用
- Os作为用于与计算机硬件系统之间的接口
- Os作为计算机系统资源的管理者
- Os作为扩充机器
四、操作系统的基本特征
- 并发
- 共享
- 虚拟
- 异步性
并发:指在计算机系统中同时存在着多道运行的程序(进程)宏观上:多道程序同时在执行;微观上:任何时刻只有一道程序在执行,即微观上多道程序在CPU上轮流(交替)执行(单机)
并行:与并发相似,指多道程序在同一时刻执行,但需多个硬件支持。
并发是操作系统最重要的特征,其它特征均以并发为前提。
共享:指系统中的资源不再为某道程序所独占,而是供多道程序共同使用。
资源共享方式:互斥共享式、同时访问式
虚拟:把一个物理实体
映射为若干个对应的逻辑实体
——分时或分空间
虚拟是操作系统管理系统资源的重要手段,可提高资源利用率
如:虚拟处理机、虚拟存储器、虚拟设备
异步性:也称不确定性,指进程在执行中,其执行时间、顺序、向前推进的速度和完成的时间等都是不可预知的。
五、操作系统的功能
- 处理机管理
- 存储器管理
- 设备管理
- 文件管理
- 用户接口
(1)处理机管理的功能
处理机管理的主要任务
是对处理机进行
分配
对处理机
运行进行有效的控制和管理
注:处理机的分配和运行以进程为基本单位,因此对处理机的管理可归结于对进程的管理
- 处理机管理的功能
- 进程管理
- 进程同步
- 进程通信
- 调度
(2)存储器管理的功能
- 主要任务
- 为多道程序的运行提供良好的环境
- 方便用户使用存储器
- 提高存储器的利用率
- 从逻辑上扩充内存
- 功能
- 内存分配
- 内存保护
- 地址映射
- 内存扩充
(3)设备管理的功能
- 主要任务
- 完成用户提出的I/O请求
- 为用户分配I/O设备
- 提高I/O设备的利用率及速度
- 方便用户使用I/O设备
- 功能
- 缓冲管理
- 设备分配
- 设备处理
- 虚拟设备
(4)文件管理的功能
- 主要任务
- 对用户文件和系统文件进行管理
- 方便用户使用文件
- 保证文件的安全性
- 功能
- 文件存储空间的管理
- 目录管理
- 文件的读、写管理
- 文件的共享与保护
(5)用户接口管理的功能
- 主要任务
- 方便用户使用操作系统
- 功能
- 命令接口
- 程序接口(系统调用)
- 图形接口
第二章 进程管理
一、进程(process)的概念
1、进程的定义
(1)进程是程序的一次执行
(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动
(3)进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位
2、进程与程序的区别
(1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态概念。
(2)程序的存在是永久的。而进程则是有生命期的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤消而消亡。
(3)程序仅是指令的有序集合。而进程则由程序段、相关数据段和进程控制块(PCB)组成。
(4)进程与程序之间不是一一对应。
3、进程的特征
(1)结构特征:为了描述和记录进程的运动变化过程,并使之能正确运行,每个进程都应配置了一个进程PCB。所以,从结构上看,每个进程(进程实体)都是由程序段、相关数据段及进程控制块(PCB)组成。
(2)动态性:进程的实质是程序在处理机上的一次执行过程,因此是动态性的。所以动态性是进程的最基本的特征。同时动态性还表现在 进程则是有生命期的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤消而消亡。
(3)并发性:指多个进程实体同时存在于内存中,能在一段时间内同时运行。引入进程的目的就是为了使进程能并发执行,以提高资源利用率,所以并发性是进程的重要特征,也是OS的重要特征。
(4)独立性:指进程是一个能独立运行的基本单位,也是系统进行资源分配和调度的独立单位。
(5)异步性:指进程以各自独立的、不可预知的速度向前推进。
二、进程的状态
1、三种基本状态
- 就绪态:进程已获得了除
处理机
以外的所有资源,等待分配处理机执行的等待状态。 - 执行态:当一个进程获得必要的资源并正在处理机上执行的状态。
- 阻塞态:正在执行的进程由于发生某事件而暂时无法执行下去,此时进程所处的状态。
进程在运行期间并非固定处于某个状态,而是不断从一个状态转换到另一个状态。
2、状态转换
3、进程的挂起/静止状态
程序在运行期间,由于某种需要,往往要将进程暂停执行,使其静止下来,以满足其需要。这种静止状态就称为进程的挂起状态。
4、引起挂起状态的原因
终端用户的需要:终端用户在自己程序运行中发现问题要求使正在执行的进程暂停执行而使进程处于挂起状态。
父进程的需要:父进程为了考查和修改某个子进程,或者协调各子进程间的活动,需要将该子进程挂起。
操作系统的需要:操作系统为了检查运行中的资源使用情况或进行记 帐,而将某些进程挂起。
对换的需要:为了提高内存的利用率,而将内存中某些进程挂起,以调进其它程序运行。
负荷调节的需要:由于工作负荷较重,而将一些不重要的进程挂起,以保证系统能正常运行(实时操作系统)
5、具有挂起状态的进程状态
三、进程控制块(Process Control Block PCB)
1、进程控制块的概念
是操作系统为了管理和控制进程的运行而为每一个进程定义的一个数据结构
,它记录了系统管理进程所需的全部信息。系统根据PCB而感知进程的存在,PCB是进程存在的唯一
标志。
2、作用
(1)是OS对并发执行的进程进行控制和管理的根据。
(2)也是系统用来感知进程存在的根据,即PCB是进程存在的唯一标志。
3、进程控制块PCB中的信息
根据操作系统的要求不同,PCB所包含信息有些不同,但通常包含以下信息:
(1)进程标志符:由系统创建进程时分配给进程的唯一标识号,通常为一整数,称为进程号,用于区分不同的进程。其所属用户通常也为一整数,称为用户号。
(2)处理机状态(断点信息):即处理机中各种寄存器(通用寄存器、PC、PSW等)的内容
(3)进程调度:记录了进程调度的相关信息(状态、优先级、事件等)。
(4)进程控制:记录了系统对进程控制的信息(程序和数据的地址、同步机制、资源清单、链接指针)
4、进程控制块PCB的组织方式
(1)链接方式
(2)索引方式
未完待续…….(因为期末变成大作业了,开摆!)
专有名词解释
[1]批处理
程序或作业在计算机上执行过程中不必人工干预的任务处理方式
[2]优先级调度
一种进程调度策略,根据进程优先级选择下一个要占用处理器的就绪进程
[3]死锁
多个事物竞争共享的数据对象而处于永远等待的状态
[4]系统资源
一个计算机系统能被单独分配给计算任务的软件和硬件的总称,例如运算处理部件、存储器、输入/输出设备、程序库、数据库等
[5]信号量
一种取值为整数的变量,表示可用的临界资源数目或等待资源的进程数,进程调用PV原语改变该变量的值,用来实现进程间同步或互斥
[6]控制块
唯一标识操作系统内核对象并保存其属性的专用数据结构、用于管理控制该内核对象,如进程控制块、文件控制块等
知识点
并发和并行的区别
并发:指一个处理器同时处理多个任务(在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行)
并行:指在同一时刻,有多条指令在多个处理器上同时执行(无论从微观还是从宏观来看,二者都是一起执行的)
创建一个新的进程时的步骤是
(1)需要申请一个空白PCB
(2)为新进程分配资源
(3)初始化PCB
(4)将新进程插入就绪队列
选择实时调度算法的重要准则是截止时间的保证
死锁的四个必要条件
(1)互斥条件(资源互斥是资源使用的固有特性是无法改变、破坏的)
(2)请求和保持条件
(3)非剥夺条件
(4)循环等待条件(资源有序分配策略可以限制循环等待条件的发生)
死锁的避免是根据防止系统进入不安全状态采取措施实现的、
银行家算法是一种最具有代表性的避免死锁的算法
银行家算法是需要(每个本身有点+空闲的)都大于等于需求的eg(2,2,2)>(1,1,1)可以,但是(7,2,3)和(1,5,3)则不行,因为2不大于5
同步应遵循的原则有:
1、空闲让进
2、忙则等待
3、有限等待
4、让权等待
那信号量上面值n代表什么意思呢?
n>0:当前有可用资源,可用资源数量为n
n=0:资源都被占用,可用资源数量为0
n<0:资源都被占用,并且还有n个进程正在排队
信号量的初值可以是:
1、大于0的数
2、等于0
3、小于0的数(初值不能为负)
进程的挂起状态可以分为:
1、挂起就绪
2、挂起阻塞
进程控制的作用:
1、创建新进程
2、终止已完成进程
3、终止由于某事件而无法运行下去的进程
4、负责进程的各状态间的转换
引起阻塞的事件
1、请求系统服务
2、数据尚未到达
3、无新工作可做
启动某种操作(启动操作是主动的行为,不会被其他程序阻塞)
进程控制块的具体作用
(1)作为独立运行基本单位的标志
(2)能实现间断性运行方式
(3)提供进程管理所需要的信息
(4)提供进程调度所需要的信息
(5)实现与其他进程的同步与通信
简述处理机三级调度分别完成什么工作
(1)高级调度:即作业调度,用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后,再将新创建的进程排在就绪队列上,准备执行。
(2)中级调度:实际上就是存储器管理中的对换功能,完成内存和外存信息的交换调度
(3)低级调度:即进程调度,它决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作