学习操作系统,首先遇到的问题:
(1)操作系统是什么
用课本上的话来说,操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。
其主要作用是管理好这些设备,提高他们的利用率和系统吞吐量,并为用户和应用程序提供一个简单的接口,便于用户使用。
1.加深对使用的OS的理解,有利于深入编程:用户为了开发应用程序必须与操作系统打交道;
2.编程时借鉴操作系统的设计思想和算法: 操作系统中所用的许多概念和技巧可以推广应用到其他领域;比如对JAVA虚拟机的理解
3.设计操作系统或者修改现有的系统: 嵌入式系统(Embedded OS);
在了解了操作系统的含义之后,就开始进一步了解操作系统:
1.1 操作系统的目标、作用和模型
OS的目标:
①方便性:用户无需了解底层硬件,极大方便用户,使得计算机变得易学易用;
②有效性:提高系统资源利用率;提高系统的吞吐量;
③可扩充性:扩充应用软件;适应硬件和体系结构发展,扩充底层管理功能模块等;
④开放性:网络环境,遵循开放互联标准;
OS的作用:
①OS作为用户与计算机硬件系统之间的接口(达成了方便性的目标);
②OS作为计算机系统资源的管理者(达成有效性目标);
③OS用作扩充机器,实现了对计算机资源的抽象(可扩充性);
1.2操作系统的发展过程
①人工操作方式
特点:资源利用率低;CPU利用率低;
②脱机输入、输出方式(off-Line I/O)方式
优点:减少CPU空闲时间;提高I/O速度; 缺点:系统开销大
③单道批处理系统 作业成批处理,内存中只有一道;
特征:单道性;顺序性;自动性;
优点:
①一定程度解决人机矛盾,CPU与I/O速度矛盾;
②提高了资源利用率和系统吞吐量;
③算作OS的前身,但还不是现在所理解的OS;
④多道批处理系统 (一个重要的思想诞生:多道程序设计)
用户作业、外存上队列,称为“后备队列”;
作业调度程序、按照一定的算法、从后备队列中选择若干作业调入内存
入内存的作业 共享CPU和系统中的各种资源,自动批量处理;
“多道”程序的好处:
①CPU利用率提高:减少了CPU等待时间(正在运行的程序若因为I/O操作暂停,可调度其他程序执行,不必装卸);
②内存利用率提高:容量尽可能多的被利用;
③多种I/O设备并发被使用,也提高了利用率;
④总体→系统吞吐量增加(虽然CPU总是串行的,但一段时间被运行的作业数相对要多);
多道批处理系统的特征:
①多道性
②无序性 作业进入内存由算法决定,不按提交顺序;入内存后顺序执行;
③调度性 作业调度、进程调度
多道批处理系统的优缺点:
优点:
资源利用率高:CPU和内存利用率较高;
系统吞吐量大:单位时间内完成的工作总量大;
缺点:
平均周转时间长:短作业的周转时间显著增长;
无交互能力:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;
多道批处理系统解决的五大问题:
a.处理机管理问题
b.内存管理问题
c.I/O设备管理问题
d.文件管理问题
e.作业管理问题
操作系统成型,定义如下:
操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度(多道),方便用户使用的程序的集合。
⑤分时系统
1)分时系统的产生
用户的新需求是主要动力:
A.人机交互
B.共享主机
C.便于用户上机
2)分时系统实现中的关键问题
交互:当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回给用户。
共享:强调即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理。
3)分时系统的实现方法
改变批处理系统的运行方式:
①多个用户连接主机;
②请求的作业发送到主机后,直接进入主机内存以快速响应;
③系统采用时间片轮转方式处理服务请求
4)分时系统的特征:
多路、独立、及时、交互
分时系统是指在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式
使用计算机,共享主机中的资源。
分时系统是多道程序的逻辑扩充;
⑥实时系统 实时控制;实施信息处理;
实时系统是指:系统能及时或(即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务
协调一致地运行。
/*
操作系统发展是随着计算机硬件技术的发展而发展的,目标:充分利用硬件
推动操作系统发展的主要动力:器件的不断更新换代;方便用户;不断提高计算机资源利用率;计算机体系结构的不断发展
三大基本类型:多道批处理系统;分时系统;实时系统
多道批处理系统引发了现代操作系统的几乎所有问题
多道批处理系统与分时系统的出现标志着现代操作系统的形成
多道批处理系统只有在中断和通道引入之后才真正有意义
*/
1.3 操作系统的基本特性
并发,共享,虚拟,异步
/*并发和进程是现代OS最重要的基本概念*/
①并发
并行性:两个或多个事件在同一时刻发生;
并发性:两个或多个事件在同一时段发生;
理解CPU并发:
单处理器系统中,多道程序在宏观上看似并行,实际在微观上是多道程序占用CPU交替执行的,
并不是真正的“并行”。多处理器系统才有CPU并行。
单处理器系统中的并行:
在硬件技术支持的条件下,CPU和I/O操作能实现并行,这也是多道程序设计能够提高效率的原因之一。
②共享
互斥共享方式:
对临界资源采用该方式,资源分配给某进程后未释放前,不能被其他进程所用。
临界资源(独占资源):一段时间内只允许一个进程访问的资源。
同时访问方式:
对允许“同时”访问的资源采用该方式,但“同时”仍然是“宏观并行微观串行”的,不是真正的同时
并发和共享互为存在的条件
多个程序并发才导致了资源需要共享;
资源共享若没有协调好,必然影响程序的并发执行;
③虚拟
通过某种技术把一个物理实体变为若干个逻辑对应物,两种实现方式:
时分复用
空分复用
④异步
指进程的执行顺序和执行时间的不确定性
只要环境相同,无论快慢,结果应该相同,这需要进程互斥和同步手段来保证;
1.4 操作系统的主要功能
①处理机管理功能
主要解决内存中多道并发执行的“进程” 如何占用CPU,如何运行的问题
1)进程控制
2)进程同步
3)进程通信
4)调度
②存储器管理功能
1)内存分配
2)内存保护
3)地址映射(变换)
4)内存扩充
③设备管理功能
1)缓冲管理
2)设备分配
3)设备处理
④文件管理功能
1)存储空间的管理
2) 目录管理
3)文件的读写管理和保护
⑤用户接口
1)命令接口 联机用户接口;脱机用户接口;
2)程序接口
3)图形接口
1.5 操作系统的结构
①传统的OS结构
1)无结构OS
2)模块化OS结构
3)分层式OS结构
②微内核OS结构
1)C/S模式
2)面向对象编程技术 Object-Orientated Programming
3) 微内核
本章小结
了解操作系统的目标
理解操作系统的作用
了解推动操作系统发展的主要动力,认识其发展过程,及三大基本操作系统的特征和优缺点。
理解操作系统的并发、共享、虚拟和异步性。
理解其五大功能。
理解操作系统结构