操作系统学习笔记(day1)操作系统引论
知识点
引言
操作系统是什么?为什么要学操作系统?
操作系统是一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度(有效性),以及方便用户(方便性)的程序的集合。
掌控计算机上所有事情的软件系统。
学习操作系统的原因是操作系统是计算机技术的基石,其富含管理哲学。
1. 操作系统的目标和作用
1.1 操作系统的目标
方便性:配置OS后可使计算机更容易使用,不需要用户手工输入0,1码
有效性:有效控制和管理计算机各种软硬件资源,提高资源的利用率
可扩充性:便于扩充新功能
开放性:不同机型可运行相同程序
1.2 操作系统的作用
1. 从用户角度看:OS是用户与计算机硬件系统之间的接口(是计算机硬件上的第一层软件)
2. 从计算机资源的角度看:OS是计算机资源(包括软硬件资源、处理机、存储器、I/O设备、文件等)的管理者
3.从功能扩充的角度看:实现计算机资源的抽象,增加了OS的计算机,称为功能更强、使用更方便的扩充机器或虚机器
4.虚拟机:OS将物理资源(如处理机、内存或磁盘)转换为更通用、更强大且更易于使用的虚拟形式(虚拟化)
2. 操作系统的发展
2.1 人工操作方式
由程序员将事先已穿孔的纸带,装入纸带输入机,再启动它们将纸带上的程序和数据输入计算机,然后启动计算机运行。仅当程序运行完毕并取走计算结果后,才允许下一个用户上机。
主要缺点:
- 用户独占全机。一台计算机的全部资源由上机用户独占。
- 人机速度矛盾导致资源利用率极低。
2.2 脱机输入/输出方式
系统机制:事先将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,把纸带上的数据输入到磁带上。当CPU需要这些程序和数据时,再从磁带上高速地调入。当CPU需要输出时,可先由CPU把数据直接从内存高速地输送到磁带上,然后在另一台外围机的控制下,再将磁带上的结果通过相应的输出设备输出。
脱机输入/输出方式: 程序和数据的输入和输出都是在外围机的控制下完成的,即它们都是在脱离主机的情况下进行的,称为脱机输入/输出方式。
联机输入/输出方式: 把在主机的直接控制下进行输入/输出的方式称为联机输入/输出方式。
脱机I/O方式的
主要优点:
- 减少了CPU的空闲时间。
- 提高了I/O速度。
主要缺点:
- 效率较低
- 一个用户仍独占所有计算机资源
2.3 单道批处理系统
目的: 为实现对作业的连续处理,需要先把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序,在它的控制下,使这批作业能一个接一个地连续处理。
单道批处理的
主要优点:
- 缓解了一定程度的人机速度矛盾
- 资源利用率和系统吞吐量有所提升
主要缺点:
- 内存中仅能有一道程序进行,只有该程序运行结束后才能调入下一道程序。CPU有大量的时间是在等待空闲I/O完成。资源利用率依然低。
单道批处理的特征:
- 自动性:计算机的控制权自动由监督程序控制
- 顺序性:作业只能一个接一个地连续处理
- 单道性:某一时刻只有一单作业在运行
2.4 多道批处理系统(OS开始出现)
后备队列: 用户所提交的作业先存放在外存上,并排成一个队列,称为“后备队列”。
系统机制:用户所提交的作业先存放在外存上,并排成一个队列。然后由作业调度程序按一定的算法,从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。由于在内存中装有若干道程序,这样便可以在运行程序A时,利用其因I/O操作而暂停执行时的CPU空档时间,再调度另一道程序B运行,同样可以利用程序B在I/O操作时的CPU空档时间,再调度程序C运行,使多道程序交替地运行,保持CPU处于忙碌状态。
多道批处理的
主要优点:
- 资源利用率高
- 系统吞吐量大
主要缺点:
- 平均周转时间长
- 无人机交互能力
特征:
多道性、无序性、调度性
多道批处理系统是非常复杂的系统,需要解决的问题有:
1)处理机争用问题
2)内存分配和保护问题
3)I/O设备分配问题
4)文件的组织和管理问题
5)作业管理问题
6)用户与系统的接口问题
2.5 分时系统
定义:在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享计算机的资源。
分时系统必须解决的关键问题: 如何使用户能与自己的作业进行交互?
1)系统首先必须能提供多个终端,同时给多个用户使用
2)其次,当用户在自己的终端上键入命令时,系统能够及时接收,并及时处理该命令,再将结果返回给用户。(及时接收、及时处理)
分时系统的特征:
- 多路性:系统中有多个用户程序同时运行
- 独立性:每个用户(程序)独立操作,互不干扰
- 及时性:用户的请求能在较短(秒级或以下)时间内获得响应
- 交互性:用户可以同系统进行人机对话
分时系统的
主要优点: 用户请求可以即时被响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。
主要缺点: 不能处理一些紧急任务。
2.6 实时系统
定义:实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
实时系统的类型:
- 工业(武器)控制系统。 火炮的自动控制系统、飞机的自动驾驶系统、导弹的制导系统
- 信息查询系统。 飞机或火车的订票系统
- 多媒体系统。 用于播放音频和视频的多媒体系统
- 嵌入式系统。 智能仪器、智能设备。
实时任务的类型:
- 周期性实时任务和非周期性实时任务
- 硬实时系统和软实时系统
实时系统的特征:
多路性、独立性、及时性、交互性、可靠性
2.7 微机操作系统发展
定义:配置在微型机上的操作系统称为微机操作系统。
- 单用户单任务操作系统
只允许一个用户上机,且只允许用户程序作为一个任务运行,最简单的微机操作系统,主要配置在8位和16位微机上。
代表:CP/M和MS-DOS - 单用户多任务操作系统
只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效地改善了系统的性能。
代表:Windows - 单用户多任务操作系统
允许多个用户通过各自的终端,使用同一台机器,共享主机系统中的各种资源,而每个用户程序可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系统吞吐量。
代表:UNIX OS(Bell实验室),Solaris OS,Linux OS
2.8 常用的操作系统举例
最早的操作系统——IBM704大型机
微型计算机操作系统的鼻祖——20世纪70年代–CP/M
早期霸主——DOS
当代大亨——Windows
UNIX、Linux、MacOS
2.9 计算机的分类
巨型机、小巨型机、大型机、小型机、工作站、个人计算机
3. 操作系统的基本特征
4. 操作系统的功能
4.1 处理机管理功能
- 进程控制
-创建进程:分配必要的资源
-运行进程:控制进程在运行过程中的状态转换
-撤销进程:进程运行结束时撤销,及时回收资源 - 进程同步
-进程互斥:进程互斥访问临界资源(配锁)
-进程同步:多进程按顺序协调完成同一任务(信号量机制) - 进程通信
-进程间进行信息交换,如输入进程将数据送给计算进程,计算
进程将结果送给打印进程 - 调度
-进程调度:从就绪队列中按照一定的算法选择出一个进程进入处理机
-作业调度:从后备队列中按照一定的算法选择出若干个作业调入内存
4.2 存储器管理功能
主要任务:为多道程序的运行提供良好的环境,提高存储器的利用率,方便用户使用,并能从逻辑上扩充内存。
- 内存分配
- 内存保护
- 地址映射
- 内存扩充
4.3 设备管理功能
主要任务:
1)完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作
2)提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备
- 缓冲管理
- 设备分配
- 设备处理
4.4 文件管理功能
主要任务: 对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性。
- 文件存储空间的管理
- 目录管理
- 文件的读/写管理和保护
4.5 用户接口
- 命令接口
- 程序接口
- 图形界面接口