OS的目标和作用
其目标有以下几点:
- 有效性(提高利用率和吞吐率) --面向系统的
- 方便性(易学易用)—面向用户的
- 可扩充性 (层次化和模块化结构)
- 开放性 (兼容和互连)--遵循统一的标准
- 安全性
作用:
- OS作为用户与计算机硬件系统之间的接口 (OS是一个系统软件,因而这种接口是软件接口)
- OS作为计算机系统资源的管理者 (资源分为四类:处理器、存储器、 I/O设备以及信 息(数据和程序))。
- OS用作扩充机器 (通常把覆盖了软件的机器称为扩充机器或虚机器。)
接口方式:命令方式、系统调用方式、图形窗口方式
批处理系统
单道批处理系统
提高系统资源利用率 -> 尽量让系统资源(CPU)连续被使用。
主要特征:
- 自动性
- 顺序性
- 单道性 (内存最多只有一个作业驻留)
多道批处理系统
后备队列:在该系统中, 用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列” ;
由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种 资源
多道的含义:同一时刻,内存中同时驻留多个作业。
多道的好处:
- 有效的、全面提高资源利用率 (CPU)
- 可提高内存和I/O设备利用率
- 增加系统的吞吐量
多道批处理系统的特征:
- 多道性
- 无序性 (调度顺序 不等于 完成顺序)
- 调度性 (作业调度 + 进程调度)
多道批处理系统的优缺点:
- 资源利用率高
- 系统吞吐量大
- 平均周转时间长
- 无交互能力 (一旦作业被提交,直到它运行完毕,用户无法干预。)
分时系统
分时系统是在多道环境中,增加了人机交互能力。
用户交互的需求,主要表现如下方面:
- 人机交互:人可以随时使用计算机,干预作业。
- 共享主机:用户需求+系统需求
- 方便用户上机:催生了操作系统的命令接口。
时间片:将一小段时间平均分成若干个非常小的时间段
最简单的分时系统:以时间片为单位轮转的方式进行运行。
特征:
- 多路性/同时性 -> 分时并发
- 分时并发 -> 交互性
- 独立性
- 及时性
实时系统
实时系统:系统能及时(或即时)响应外部事件的请求--在规定的时间内完成对该事件的处理,
实时系统程序运行也采用分时时间片的 方式。但是,为了保证紧迫任务能够及时的被处理,在实时系统中,可以根据任务的重要程度、紧迫程度为程序设定优先级。优先级高的程序优先获得CPU,而不是完全按照分时轮转的方式调度。从而保证实时任务的处理
OS基本特征
并发
并发性是指两个或多个事件在同一时间间隔内发生。
特征:
- 在微观上(一个时间点)呈现顺序性,在宏观上 (一段时间)呈现同时性。
- 并发的本质是顺序性。
- 在微观上的顺序性,即可能无序交替执行,也可能分时地交替执行。
并行性是指两个或多个事件在同一时刻发生;
并发是微观上顺序性,宏观上同时性。并行是微观和宏观都具有同时性。
共享
同时共享
一个资源可以同时被多个程序访问或使用。 (多个程序可以同时使用一个只读文 件。)
互斥共享或独占共享
一个资源的使用具有排他性,一段时间, 只允许一个程序独占使用;(CPU)
并发和共享是操作系统的两个最基本的特征。它们又是互为存在的条件。
虚拟
并发执行的程序共享系统的资源,会使得用户在感觉上事物与实际使用情况不一样。这种用户的感觉效果称之为:虚拟。
os中的虚拟:指通过某种技术把一个物理实体变为若干个逻辑上的对应物。
异步性
并发运行的程序,共享着系统的所有资源。这意味着:一个程序在执行过程中,资源并不可能及时的获得满足。当它需要某种资源而不能得到满足时,它只能停下来等待; 只有获得满足当前条件的资源,它才能继续运行下去。
进程是以人们不可预知的速度向前推进,此即为进程的异步性(不确定性、随机性)。
这种情况在多道环境是普遍存在的!
虽然,并发执行的程序具有异步性,但是只要运行环境相同,程序经过多次执行,都会获得完全相同的结果。
OS运行机制
1.两种指令:
特权指令:如内存清零指令,不允许用户程序使用
非特权指令:如普通的运算指令
2.两种处理器状态(由程序状态寄存器psw保存)
用户态(目态):只能执行非特权指令
核心态(管态):特权、非特权指令都能执行
3.两种程序:
内核程序:运行在核心态,可以执行特权和非特权指令
应用程序:只能执行非特权
OS主要功能
进程管理
包括:进程的创建、撤销、状态转换
进程同步
并发执行的进程是无序的、异步推进的,这种异步性解决不了很多问题,比如:具有协作关系的多个进程的执行顺序必须要固定。对于排他性资源的访问,必须保证以互斥的方式进行。
处理机调度
调度的分类—三级调度体系
调度算法
内存管理
内存分配:
- 早期的连续分配方式:静态、动态
- 现代的离散分配方式:分页、分段、段页式
虚拟存储管理
离散存储管理分配、运行时装入技术
请求调入功能和置换功能