文章目录
一.操作系统引论
1.1 到底什么是os?
1.1.1 操作系统的定义
操作系统是最基本的系统软件,是一组有效管理和控制计算机软硬件资源的,合理调度各种作业的,并方便用户使用的计算机的程序的集合。
1.1.2 引入操作系统的目的
- 有效性(系统管理的观点):管理和分配硬件、软件资源,合理地组织计算机的工作流程
- 方便性(用户的观点):提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别
- 可扩充性(开放的观点):硬件的类型和规模、操作系统本身的功能和管理策略、多个系统之间的资源共享和互操作
1.1.3 操作系统的作用
- OS是计算机硬件、软件资源的管理者
- OS是用户使用系统硬件、软件的接口。
- OS是扩展机(extended machine)/虚拟机(virtual machine)。
用户不能对系统内核造成伤害
不同用户可以有不同的权限
各个用户之间互不干扰
1.1.4 操作系统的组成及层次模型
内核通过硬件接口的端口使用处理器指令集对外围设备进行控制
1.2 操作系统用户接口与系统调用
1.2.1 操作系统用户接口分类
基于接口表现形式划分:
1.用户交互接口
- 命令接口(具体可分为联/脱机命令接口)
- 图形化用户接口(图形化操作界面)
2.用户程序接口(方便用户程序访问系统资源,由一组系统调用组成)
基于接口使用者类型划分:
(1)本地用户接口
(2)远程用户接口(网络用户接口)
1.2.2 联机命令接口的构成
- 一组联机命令(分为内部命令和外部命令)
- 键盘终端处理程序
- 命令解释程序
1.2.3 联机命令及其格式与分类
联机命令格式
<命令> [<可选项>] <参数序列>
联机命令类型
系统访问类(如用户登陆、注销)
磁盘操作类、文件操作类、目录操作类
网络通信类
输入输出重定向、管道连接、过滤命令
批处理方式(批处理文件/脚本文件)
管道连接:
ps - A| grep ssh
ps指的是当前进程,grep 指的是检索信息,检索范围来自于ps的查询结果
1.2.4 键盘终端处理程序
基本功能
I.接收用户从终端输入的字符 面向字符/行方式
II.管理字符缓冲,以暂存所接收的字符 专用缓冲区、公用缓冲池方式
III.将用户键入字符回送屏幕显示
硬件/软件实现方式
提供屏幕编辑(编辑键)
特殊字符处理(中断/停止或恢复上卷
1.2.5 命令解释程序工作流程
1.2.6 图形化用户接口
1.元素及操作
- 桌面、图标、鼠标指针
- 窗口、标题栏、菜单栏、工具栏
- 菜单
- 菜单条(弹出式菜单, 下拉式菜单)
- 对话框
2.特点
- 基于图形元素来表示功能,方便用户操纵和触发对应功能
- 同屏多窗口与并发进程相对应
- 支持即时交互,鼠标点击和键盘输入并举
- 操作直观,不必死记命令行参数,传递信息量大
1.2.7 系统调用概念及实现机理
1.定义
操作系统与用户程序之间的接口由操作系统提供的“扩展指令”集来定义,这些扩展指令被称为系统调用
2.与普通过程调用的区别
- 运行在不同的系统状态
- 软中断进入机制
- 返回及重新调度问题
- 嵌套调用
1.3 操作系统的发展历史
1.3.1 操作系统发展动力及技术基础
推动操作系统发展的主要动力:
- 不断提高计算机资源利用率和系统性能的需要:计算机发展的初期,计算机系统昂贵,用作集中计算。
- 改善和方便用户使用计算机的需要:用户上机、调试程序,方便计算时的事务处理和非专业用户(商业和办公、家庭)。
- 适应器件不断更新换代的需要:CPU的位宽度(指令和数据)、快速外存。
- 适应计算机体系结构不断发展变化的需要:
1.3.2 单道批处理系统
为解决人机矛盾和CPU与I/O设备速率不匹配的矛盾而形成,也即其旨在提高系统资源的利用率和系统吞吐量。
把一批作业以脱机输入方式输入到磁带上,并在系统所配置的监督程序的控制下使这批作业能一个接一个地自动依次连续处理。
系统对作业的处理成批进行,但在内存中始终只保存着一道作业。
1.批处理中的作业的组成:
- 用户程序
- 数据
- 作业说明书(作业控制语言)
2.单道批处理的特征:
- 自动性
磁带上的一批作业能自动地逐个依次执行,而无需人工干预。 - 顺序性
磁带上的各道作业是顺序地进入内存,各道作业完成的顺序与它们进入内存的顺序完全一致。 - 单道性
监控程序每次仅从磁带上调入一道程序进入内存运行,仅当该程序完成或发生异常情况时,才调入其后继程序进入内存运行。
1.3.3 多道批处理系统
在当前运行的作业需作I/O处理时,CPU转而执行另一个作业。
作业后备队列/作业调度算法/系统资源共享。
包括CPU、内存和I/O设备在内的系统资源利用率的提高。
系统吞吐量增加。
特征:
- 多道性
内存中同时驻留多道程序,并允许并发执行。
宏观上并行运行:都处于运行状态,但都未运行完;
微观上串行运行:各作业交替使用CPU; - 无序性
多个作业完成的先后次序与它们进入内存的顺序之间,并无严格的对应关系 - 调度性
作业调度
进程调度
优点:资源领用率高,系统吞吐量大
缺点:平均周转时间长,对短作业不公平,无交互能力不利于调试和修改
需求分析:
- 处理机管理问题
- 内存管理问题
- I/O 设备管理问题
- 文件管理问题
- 作业管理问题
1.3.4 分时系统
分时系统的概念
- 70年代中期至今
- 一台主机、多个终端、多用户同时以交互方式共享使用计算机硬件和软件资源。
分时系统的产生
- 人机交互:程序修改与调试、直接控制
- 共享主机:19世纪60年代计算机十分昂贵
- 便于用户上机:通过自己终端直接将作业传送到机器上进行处理,并能对自己的作业进行控制。
实现方式:
- 单道分时系统
- 具有前台和后台的分时系统
- 多道分时系统
分时系统特征:
- 多路性
宏观上多个用户同时工作和共享系统资源
微观上每个用户作业轮流运行一个时间片 - 独立性
各用户在各自终端上独立操作,互不干扰 - 及时性
- 交互性
用户可通过终端与系统进行广泛的人机对话
1.3.5 实时系统
实时系统的引入
- 实时控制系统
- 实时信息处理系统
- 实时系统和分时系统相比较更有及时性,相对高度可靠
1.4 操作系统功能及特征
1.4.1 操作系统的处理器管理功能概要
1.处理器调度
- 作业调度
作业后备队列
作业选择与资源分配
调入内存与建立进程 - 进程调度
就绪进程队列
进程选择与处理机分配
设置运行现场与启动运行 - 调度算法
先来先服务/优先权高者优先调度算法
2.进程控制
- 主要任务
创建进程
撤销进程
进程状态转换 - 进程控制机制
原语
进程&线程
3.进程同步
- 主要任务
进程/线程并发执行协调
互斥/同步方式
临界资源&临界区 - 进程同步机制
开/关锁原语
信号量机制
管程
4.进程通信
- 主要任务
进程(或线程)间信息交换 - 进程通信方式
共享存储器
管道方式
消息传递系统
A.消息缓冲队列
B.邮箱
1.4.2 操作系统的特征
- 并发
并行与并发、程序与进程/线程 - 共享
互斥共享方式、同时访问方式 - 虚拟
虚拟处理机、虚拟内存、虚拟盘、虚拟设备 - 异步性
进程执行顺序与执行时间的不确定性
1.5 操作系统的设计原则
- 可维护性
纠错性/适应性/完善性/预防性维护 - 可靠性
正确性/健壮性 - 可理解性
- 可用性
性能
系统资源利用率及用户请求响应