第一章 计算机系统概述
1. 操作系统的概念
-
操作系统是计算机系统中最重要和最基础的系统软件
-
它统一管理软硬件资源,控制程序执行,改善人机界面,合理组织计算机工作流程,为用户使用计算机提供了良好的运行环境。
-
核心功能:多道程序设计
-
特征:并发、共享、虚拟、异步
-
功能:处理机管理、存储管理、文件管理、设备管理、作业控制管理。
2. 批处理操作系统
-
优点:资源利用率高,作业吞吐量大
-
缺点:不具备交互式计算能力
3.分时操作系统
在分时操作系统中,时间片固定时,用户数越多,每个用户分到的时间片就越少,响应时间自然越长
-
分时操作系统特点:
-
分时性
-
独立性
-
及时性
-
交互性
-
4.实时操作系统
-
分类:硬实时操作系统、软实时操作系统
-
特点:
-
及时响应
-
高可靠性
-
5.系统调用
-
系统调用是应用程序获得操作系统服务的唯一途径
-
实现系统调用功能的机制称为系统陷阱或系统异常处理机制
第二章 处理器管理
1.两种处理器状态
-
内核态(管态): 特权指令和非特权指令都可执行
-
用户态(目态): 只能执行非特权指令
-
中断是用户态到内核态的转换的唯一途径
2.中断的概念
-
中断是指程序执行过程中当遇到急需处理事件是暂时中止现行程序在cpu上的运行
3.进程
(1)概念
-
进程是在多道程序系统中为了描述系统内部状态,描述运行程序活动规律而提出的概念
(2)作用
-
进程的提出,使系统具有并发性,资源具有共享性
(3)组成
-
进程(进程实体) 由程序段、数据段、PCB 三部分组成
进程控制块PCB:进程存在的唯一标识
(4)基本状态
4.进程与线程
-
进程是系统资源分配和保护的独立单元,不需要频繁切换
-
线程是资源调度和分配的基本单位
5.处理器调度
-
高级调度——作业调度
-
中级调度——内存调度
-
低级调度——进程调度
6.处理器调度算法
-
FCFS:先来先服务调度
-
SJF:短作业优先调度
-
SRTF:最短剩余时间
-
HRRF:最高响应比优先
第三章 存储管理
1.主存复用方式
- 分区复用:将主存划分为多个固定或可变尺寸的分区,一个程序或一个程序段需占用一个分区
- 页框复用:将主存划分为多个大小固定的页框,一个程序或一个程序段根据页框大小自动划分成页面,进而占用多个页框
2.地址重定位
为了实现动态存储分配,需采用地址重定位,即把逻辑地址转换成物理地址,静态由连接装入程序实现,动态重定位由硬件地址变换机构实现。
-
地址重定位指的是把逻辑地址转换成物理地址
(1)静态地址重定位:程序装入内存时进行地址转换
-
无需硬件地址转换机制,易于实现,但是无法实现主存重新分配,空间利用率低,用户需要提前确定所需空间。
(2)动态地址重定位:cpu执行程序时进行地址转换
-
不需要连续的存储空间,作业执行过程中可以动态申请,有利于程序段的共享:缺点是需要附加硬件的支持,实现存储管理的算法比较复杂。
3.主存空间的扩充
交换技术:将目前不需要的部分移到外存,提高主存利用率
4.单连续分区存储管理
-
单用户连续分区
-
固定分区
-
可变分区
5.页式存储管理
(1)页式存储地址转换
-
给定逻辑地址最少访问两次内存,一次访问页表,一次访问指令
-
快表一一存放进程最近访问的部分页表项
-
基本地址变换与快表地址变换的比较
(2)页面调度算法
OPT、FIFO、LRU、LFU(稍后补充)
第四章 设备管理
1.设备控制器的组成
-
(1) 设备控制器与处理机的接口,该接口用于实现CPU与设备控制器之间的通信,该接口中有三个信号线:数据线、地址线和控制线。
-
(2) 设备控制器与设备的接口,在一个设备控制器上,可以连接一个或多个设备,所以控制器中便有一个或多个接口。
-
(3) I/O 逻辑
2.设备管理的功能
- 中断处理
- I/O缓冲区管理
- 设备分配与去配
- 设备驱动调度
- 虚拟设备实现
3.I/O控制方式
-
I/O的控制方式可分为:轮询方式(忙-等待方式)、中断方式、DMA方式(直接存储器访问)和通道方式。
-
DMA方式是在 I/O设备和主存之间建立一条直接数据通路。
4.I/O软件的层次及主要功能
4.磁盘的物理结构
5.磁盘读写时间
6.磁盘调度算法
最短查找时间优先、扫描算法
7.SPOOLing技术——假脱机技术
共享型磁盘设备模拟独占型物理设备,提高·了外设与CPU并行处理能力
五.文件管理
1.文件的概念:
文件是具有符号名,在逻辑上具有完整意义的一组相关信息项的序列
2.文件逻辑结构的两种实现方式:
-
(1)基于字节的流式文件
-
(2)基于记录的记录式文件
3.记录成组与分解的特征
-
成组:若干个逻辑记录在凑满一个物理块后才将输出缓冲区中的信息写入存储介质中
-
分解:当存储介质上的物理记录被读入输入缓冲区后,将逻辑记录从块中分离出来的操作
-
两个特征:
-
提前读:一次读操作可能读入了多个逻辑记录,即在读第一个记录时就将与之存储于同一个物理记录的第二个和第三个记录也读人了输人缓冲区,这一现象称为提前读。
-
推迟写:对于用户的写请求而言,写逻辑记录并不是真正地写到物理块中,而是先写人输出缓冲区中,只有当该系统缓冲区被填满后才会执行实际的输出,这一现象称为推迟写。
4.文件的物理结构数据分配方式
-
连续分配
-
链接分配
-
索引分配
5.文件目录
文件目录:文件目录是实现文件“按名存取”的关键数据结构,其基本功能是将文件名转换成该文件信息在磁盘上的物理位置。文件目录包含许多目录项,目录项具体记录两类实体,分别用于描述文件子目录和文件。
6.文件的保密措施
-
(1)隐藏文件目录
-
(2)设置口令
-
(3)使用密码
六.并发程序设计
1.顺序程序设计的特性
-
程序执行的顺序性
-
计算环境的封闭性
-
计算结果的确定性
-
计算过程的可再现性
2.并发程序设计的特性
-
并发性
-
共享性
-
交互性
3.临界区
(1)临界资源:互斥共享变量,即一次只能供给一个进程使用的资源
(2)临界区:访问临界资源的代码段
(3)临界区调度规则:
-
1.一次至多有一个进程进入临界区内执行
-
2.若已有进程在临界区中,试图进入此临界区的其他进程应等待
-
3.进入临界区内的进程应在有限时间内退出,以便让等待队列中等待的进程进入
4.PV操作
5.哲学家就餐问题
6.死锁
在许多应用中,一个进程需要独占访问不止一个资源,当操作系统允许多个进程并发执行共享系统资源时,可能会出现所有进程被永久阻塞的现象,这时就产生了死锁
(1)死锁定义
-
死锁是系统中的一组并发进程因等待其他进程所占用的资源而永远不能向前推进的僵化状态
(2)死锁产生的来源
-
1.竞争资源产生死锁
-
2.PV操作使用不当产生死锁
-
3.同类资源分配不当产生死锁
-
4.对临时性资源使用不加限制产生死锁
(3)死锁产生的条件
-
1.互斥(mutual exclusion)条件。进程应互斥使用资源,任一时刻一个资源仅为一个进程独占,若另一个进程请求一个已被占用的资源时,则将其置为等待状态,直到占用者释放资源
-
2.占有和等待(hold and wait)条件。一个进程因请求资源得不到满足而等待时,不释放已占有的资源。
-
3.不剥夺(no preemption)条件。任一进程不能从另一进程那里抢夺资源,即已被占用的资源,只能由占用进程自己来释放。
-
4.循环等待(circular wait)条件。存在一个循环等待链,其中,每一个进程分别等待它前一个进程所持有的资源,造成永远等待。
(4)解决死锁的策略
-
1.死锁防止
-
2.死锁避免
-
3.死锁检测和解除
7.银行家算法
银行家算法是荷兰学者 Dikstra 为银行系统设计的,以确保银行在发放现金贷款时,不会发生不能满足所有客户需要的情况。后来该算法被用在操作系统中,用于避免死锁。
-
核心思想:在进程提出资源申请时,先预判此次分配是否会导致系统进入不安全状态。如果会进入不安全状态,就暂时不答应这次请求,让该进程先阻塞等待。