操作系统
- 什么是操作系统?
操作系统是管理和控制计算机硬件与软件资源的计算机程序软件
是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
- 通常将操作系统分为哪几种类型?各自有什么特点?
1.批处理系统(单道批处理 多道批处理)(周转时间和系统吞吐量)
2.分时系统(交互性和响应时间)
3.实时系统(及\实时性和可靠性)
多道批处理系统 | 分时系统 | 实时系统 | |
CPU时间分配 | 作业运行时独占时间段 | 分时 | 事件发生时立即分配 |
内存 | 同时存放多批作业 | 同时存放多道程序 | 存放预置的事件处理程序 |
响应时间 | 运行期间不响应 | 及时响应 | 立即响应 |
特殊要求 | 极大的资源利用率 | 公平面向多用户 | 高可靠性 |
操作系统的功能与特征
功能:
- 作为系统资源的管理者
- 文件系统管理功能
- 存储管理功能
- 处理机管理功能
- 设备管理功能
二.作为用户与计算机硬件之间的接口
5. 用户接口管理功能
1.命令接口
2.程序接口
3.图形用户界面
特征:
- 并发性:
并发 即同一时间间段,不同一时刻
操作系统的并发性计算机系统中同时存在者多个运行者程序
一个单核处理机(cpu)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上时交替执行的,宏观上时同时发生的)
并发:两个或两个以上的时间在同一时间间隔内发生。这些事情宏观上是同时发生的,但时同时发生的,但微观上时交替发生的。
并行:指两个或多个事件同一时刻发生的
2.共享性:
共享 即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
两种资源共享方式:
1.互斥共享方式
2.同时访问方式
3.虚拟性:
虚拟 是指把一个物理上的实体变为若干个逻辑上的对应物。物体实体是实际存在的,
而逻辑上对应物是用户感受到的
4.异步性:
异步 是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯道底的,而是走走停停的。
二 进程与线程
- 进程的概念
程序:是静态的,就是一个存放在磁盘理的可执行文件
进程:是动态的,是一个程序的一次执行过程 有生命周期
同一个程序多次执行会对应多个进程
进程的定义: 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
程序: 就是一个指令序列(指令的集合)
进程:资源分配的基本单位
为了方便操作系统管理,完成各程序并发执行,引入了进程
PCB(进程控制块)、程序段、数据段三部分构成了进程实体 (进程实体简称为进程 但严格来说不同)
PCB是进程存在的唯一标志
PCB:进程描述信息、进程控制和管理信息、资源分配清单、处理机相关信息
进程的组成讨论的是一个进程内部由哪些构成的问题?PCB(进程控制块)、程序段、数据段
而进程的组织讨论的是多个进程之间的组织方式问题?链接方式 索引方式
执行指针
就绪队列指针
阻塞队列指
进程的特征:
- 程序是静态的,进程是动态的,相比于程序拥有以下特征:
- 动态性: 进程的最基本特征
- 并发性
- 独立性: 进程是系统进行资源分配、调度的独立单位
- 异步性:各进程以不同预知的速度向前推进, 可能导致运行结果的不确定性
- 结构性:每个京城都会配置一个PCB。结构上看,进程由程序段、数据段、PCB
- 进程的状态与转换
调度算法的评价指标
题目:系统有5个进程,它们的到达时间和服务时间(运行时间)如下表所示。
新进程(没有运行过)与老进程(运行过的进程)的条件相同时,假定系统选新进程运行。
请给各种进程调度算法下,各个进程的完成时间、周转时间、带权周转时间,及所有的进程的平均周转时间和平均带权周装时间
进程名 | 到达时间 | 服务时间 |
A | 0 | 3 |
B | 2 | 6 |
C | 4 | 4 |
D | 6 | 5 |
E | 8 | 2 |
分析:
0时刻A进入就绪队列 , 执行,执行道2时刻B到达,执行道3时刻A完成,此时就绪队列中只有B到达,所以B开始执行,然后C、D、E分别在4时刻、6时刻、8时刻达到。
计算思路:不同调度算法决定了进程的执行顺序,也就是决定了进程的开始时间和完成时间,根据不同的调度算法的思想分析出进程的执行顺序,得出每个进程的完成时间,然后根据完成时间求出周转时间,再求带权周转时间。
计算公式:
- 完成时间 = 开始时间+服务时间
- 周转时间 = 完成时间-到达时间
- 带权周转时间 = 周转时间/服务时间
服务时间就是CPU执行时间
-
- 先来先服务(FCFS)
算法思想: 调度程序每次总是按照进程进入后背/收容队列的先后顺序,选择最先进入改队列的进程/作业,把处理机分配给它,使之投入运行(谁先来谁运行)
1.先来先服务的执行顺序:A-B-C-D-E
2.画出执行顺序: 得出每个进程的完成时间
0 3 9 13 18 20
A 3 | B 6 | C 4 | D 5 | E 2 |
进程名 | 到达时间 | 服务时间运行时间 | 完成时间 | 周转时间=完成时间-到达时间 | 带权周转时间=周转时间/服务时间 |
A | 0 | 3 | 3 | 3 | 3/3=1 |
B | 2 | 6 | 9 | 7 | 7/6=1.17 |
C | 4 | 4 | 13 | 9 | 9/4=2.25 |
D | 6 | 5 | 18 | 12 | 12/5=2.4 |
E | 8 | 2 | 20 | 12 | 12/2=6 |