1.1 .1操作系统的定义与目标
定义:操作系统是配置在计算机硬件上的第一层软件,是管理计算机硬件与软件资源的计算机程序。在计算机用户和计算机硬件之间起媒介作用的一种程序。
目标:方便性(方便用户使用),有效性(提高系统资源的利用率、提高系统的吞吐量),可扩充性,开放性。
计算机的系统构成:用户,应用程序,操作系统,硬件。
1.1.2操作系统的发展过程
第一代 (1946年-1955年): 真空管时代,无操作系统
第二代 (1955年-1965年): 晶体管时代,批处理系统
第三代 (1965年-1980年): 集成电路时代,多道程序设计
第四代 (1980年 - 至今): 大规模和超大规模集成电路时代,分时系统。
现代计算机正向着巨型、微型、并行、分布、网络化和智能化几个方面发展。
1. 手工操作
- 1946 ~ 50年代(真空管)
- 集中计算(计算中心)
- 计算机资源昂贵
- 用户独占全机
第一代计算机:ENIAC
工作方式:人工操作方式,用户是计算机专业人员;
编程语言:机器语言;
I/O:纸带或卡片;
缺点:
用户独占全机,独占系统的全部硬件资源,设备利用率很低
CPU等待用户:手工装入/卸取纸带或卡片
主要矛盾:
人机矛盾:人工操作方式与机器利用率的矛盾
CPU与I/O之速度不匹配的矛盾
提高效率的途径
批处理
脱机I/O
脱机I/O方式
I/O工作在外围机/卫星机的控制下完成,或者说是在脱离主机的情况下进行。使用磁带作为输入/输出的中介,这种具体的输入/输出不需要在主计算机上进行的方式称“脱机输入/输出”
2. 单道批处理系统
- 50年代末 ~ 60年代中(晶体管)
- 把一批作业以脱机输入方式输入到磁带/磁鼓
- 利用磁带或磁盘把任务分类编成作业顺序执行
- 每批作业由专门监督程序(Monitor)自动依次处理
- 批处理系统解决了高速计算机的运算、处理能力与人工干预之间的速度矛盾,实现了作业自动过渡。
运行特征
顺序性:磁带上的各道作业是顺序地进入内存,各作业的完成顺序与他们进入内存的顺序相同
单道性:内存中仅有一道程序运行
自动性
优点
减少了CPU的空闲时间,提高了主机CPU和I/O设备的使用效率,提高了吞吐量
缺点
CPU和I/O设备使用忙闲不均(在等待I/O时CPU停止工作)
3. 多道程序设计
- 60年代中 ~ 70年代中(集成电路)
- 多道:内存中同时存放几个作业,使之都处于执行的开始点和结束点之间
- 多个作业共享CPU、内存、外设等资源
- 目的:利用多道批处理提高资源的利用率
- 多道通过组织作业使得CPU总在执行其中一个作业,从而提高了CPU的利用率
通道和中断 60年代通道和中断技术的出现解决了输入输出等待计算的问题 通道: 是一种专用部件,负责外部设备与内存之间信息的传输。 中断: 指主机接到外界的信号(来自CPU外部或内部)时,立即中止原来的工作,转去处理这一外来事件, 处理完后,主机又回到原来工作点继续工作。
单道程序与多道程序的比较
单道程序在请求I/O时CPU处于空闲状态
多道程序在一个程序请求I/O时可以运行另外一个程序,只要系统中总是存在可执行的作业,
CPU就永远不会因无事可干而闲着。
多道程序对OS的要求
- 存储管理:系统必须为若干作业分派空间
- 调度:系统必须在就绪作业中挑选
- 设备分配
- 系统提供I/O程序
- 多道批处理所用技术
- 作业调度:作业的现场保存和恢复--上下文切换
- 资源共享:资源的竞争和同步--互斥(exclusion)和同步(synchronization)机制;
- 内存使用:提高内存使用效率(为当前由CPU执行的程序提供足够的内存)--覆盖(overlap),交换(swap)和虚拟存储(virtual memory);
- 内存保护:系统存储区和各应用程序存储区不可冲突;
- 文件非顺序存放、随机存取。
特征
- 多道性:内存中同时驻留多道程序并发执行,从而有效地提高了资源利用率和系统吞吐量
- 无序性:作业的完成顺序与它进入内存的顺序之间无严格的对应关系
- 调度性:作业调度、进程调度
优点
- 资源利用率高:CPU,内存,I/O设备
- 系统吞吐量大
缺点
- 无交互能力,用户响应时间长
- 作业平均周转时间长
4. 分时系统
- 70年代中期至今
- 分时是指多个用户分享使用同一台计算机,多个程序分时共享硬件和软件资源
- 多个用户分时
- 前台和后台程序(foreground & background)分时
实现方式
多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入后程序暂停,等待下一次用户输入--时走时停
前台和后台程序(foreground & background)分时:后台程序不占用终端输入输出,不与用户交互--现在的图形用户界面(GUI),除当前交互的程序(输入焦点)之外,其他程序均作为后台
通常按时间片(time slice)分配:各个程序在CPU上执行的轮换时间
作业直接进入内存
每个作业一次只运行很短的时间
分时技术:把CPU的时间分成若干个大小相等(或不等)的时间单位,称为时间片(如100毫秒),
每个终端用户获得CPU(获得一个时间片)后开始运行,当时间片到,该用户程序暂停运行,等待下一次运行。
特点
人机交互性好
共享主机:多个用户同时使用
- 多路性:众多联机用户可以同时使用同一台计算机;
- 独占性:各终端用户感觉到自己独占了计算机;
- 交互性:用户与计算机之间可进行“会话”;
- 及时性:用户的请求能在很短时间内获得响应
5. 实时系统
通常作为控制设备在诸如控制科学实验、医学影象系统、工业控制系统以及一些显示系统中应用严格确定的时间限制
硬实时系统:如导弹,自动驾驶
软实时系统:12306订票
特征
- 实时时钟管理:提供系统日期和时间、定时和延时等时钟管理功能;
- 过载保护:缓冲区排队,丢弃某些任务,动态调整任务周期;过载是指进入系统的任务数目超出系统的处理能力;
- 高度可靠性和安全性--容错能力(如故障自动复位)和冗余备份(双机,关键部件)。
实时系统与批处理系统和分时系统的区别 1.专用系统:许多实时系统是专用系统,而批处理与分时系统通常是通用系统。 2.实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构。 3.高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统。 4.事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理。 5.可与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业。
6. 并行系统
也称多处理机系统
提高计算机系统性能有两条途径:
提高各个组成部分的速度
增大处理的并行程度。
特点
- 紧密通信的、多于一个CPU的多处理器系统
- 紧偶合系统- 处理器共享内存和时钟;一般通过共享内存进行通信
优点
- 增大吞吐量(Increased throughput)
- 经济(Economical)
- 提高可靠性(Increased reliability)
- (有故障时)优雅的降低性能(graceful degradation)
- (又称)软失效系统(fail-soft systems)
分类
- 对称多处理器
- 非对称多处理器
1.1.3 操作系统的基本功能/作用
1.统一管理计算机资源:处理器资源,IO设备资源,存储器资源,文件(数据和程序)资源;
2.实现了对计算机资源的抽象:IO设备管理软件提供读写接口,文件管理软件提供操作文件接;
3.提供了用户与计算机之间的接口:GUI(图形用户界面),命令接口,程序接口(系统调用形式)。 /其中命令接口和GUI是用户直接使用,程序接口需用户通过程序间接使用
命令接口:1.联机命令接口:说一句做一句,类似于dos命令
2.脱机命令接口:说一堆做一堆
目标
功能
- 进程控制:创建、撤销、挂起、改变运行优先级等--主动改变进程的状态
- 进程调度: 作业和进程的运行切换,以充分利用处理机资源和提高系统性能
- 进程同步:协调并发进程之间的推进步骤,以协调资源共享
- 进程通信: 进程之间的信息交换
存储器管理:存储管理的任务是对要运行的作业分配内存空间,作业运行结束时要收回其所占用的内存空间。操作系统要对每一个作业的内存空间和系统内存空间实施保护
目标
提高内存利用率、方便用户使用、提供足够的存储空间
功能
- 存储分配与回收
- 存储保护
- 地址重定位
- 内存扩充
设备管理
目标
完成用户的I/O请求,为用户分配I/O设备、提高I/O速度,提高CPU与I/O设备利用率、方便设备使用
功能
- 缓冲管理
- 设备分配与回收
- 设备处理:利用设备驱动程序(通常在内核中)完成对设备的操作。
- 虚拟设备
- 设备独立性:提供统一的I/O设备接口,使应用程序独立于物理设备
文件管理
目标
实现外存上的信息资源“按名存取”
功能
- 文件存储空间管理:如何存放信息,以提高空间利用率
- 目录管理:文件检索
- 文件存取控制:文件保护
- 软件管理:软件的版本、相互依赖关系、安装和拆除等
用户接口
为用户使用计算机系统提供一个友好的访问OS的接口
- 作业级接口:行命令、菜单、或图形化的操作界面(GUI)、语音以及作业控制语言等;“联机”或“脱机”。
- 程序级接口:供用户程序和系统程序调用操作系统功能,也称系统调用;
1.1.4操作系统的特征
4个基本特征:并发,共享,虚拟,异步
最基本的特征,互为存在条件:并发,共享;(没有并发和共享,就谈不上虚拟和异步)
(1)并行:指两个或多个事件可以在同一个时刻发生,多核CPU可以实现并行,一个cpu同一时刻只有一个程序在运行;
(2)并发:指两个或多个事件可以在同一个时间间隔发生,用户看起来是每个程序都在运行,实际上是每个程序都交替执行。
(3)共享性:操作系统的中资源可供多个并发的程序共同使用,这种形式称之为资源共享。
互斥共享:当资源被程序占用时,其它想使用的程序只能等待。(qq和微信视频,同一时间只允许摄像头分配给一个)
同时访问:某种资源并发的被多个程序访问。(qq发送文件A,微信发送文件B,同时读取并发送文件)
虚拟和异步特性前提是具有并发性。
(4)虚拟性:表现为把一个物理实体转变为若干个逻辑实体。
时分复用技术:资源在时间上进行复用,不同程序并发使用,多道程序分时使用计算机的硬件资源,提高资源的利用率。
空分复用技术:用来实现虚拟磁盘(物理磁盘虚拟为逻辑磁盘,电脑上的C盘、D盘等)、虚拟内存(在逻辑上扩大程序的存储容量)等,提高资源的利用率,提高编程效率。
(5)异步性:在多道程序环境下,允许多个进程并发执行,但由于资源等因素的限制,使进程的执行以“停停走走”的方式运行,而且每个进程执行的情况(运行、暂停、速度、完成)也是未知的。
***指令就是处理器(cpu)能识别,执行的最基本命令***