要学会的算法:
1、 单任务操作系统模拟-----第一章 操作系统引论
2、 进程同步模拟-----------第二章 进程的描述与控制
a) 哲学家进餐问题
b) 读者—写者问题
c) 生产者-消费者问题
3、 进程调度模拟-------------第三章 处理机调度与死锁
a) 优先级调度算法
b) 多队列调度算法
c) 多级反馈队列调度算法
d) 基于公平原则的调度算法
4、 死锁的检测与解除---------第三章 处理机调度与死锁
a) 死锁检测算法
b) 死锁解除算法
5、 内存的动态分区分配模拟---第四章 存储器管理
a) 循环首次适应算法
b) 最佳适应算法
c) 最坏适应算法—基于索引搜索类的
d) 快速适应算法
e) 伙伴算法
f) 哈希算法
6、 请求分页存储管理模拟-----第五章 虚拟存储器
a) 最佳置换算法
b) 最近最久未使用置换算法(LRU)
c) 最少使用置换算法(LFU)
d) Clock 置换算法
e) 页面缓冲算法
7、 输入输出设备分配模拟-----第六章 输入输出系统
a) 先来先服务算法
b) 优先级高者优先算法
8、 文件管理模拟-------------第七章 文件管理
a) 采用二级文件目录结构编制一个简单的文件管理模拟程序
i. 必备功能:创建用户、登陆、读文件、写文件、列文件
目录、打开文件、关闭文件
ii. 可选做:查找文件、显示文件相关信息、删除文件、修
改文件名、修改文件属性
第一章:操作系统引论
1.1 操作系统的目标和作用
1.1.1 操作系统的目标
方便性、有效性、可扩充性、开放性
1.1.2 操作系统的作用
OS 作为用户与计算机硬件之间的接口
OS 作为计算机系统的资源管理者
OS 实现了对计算机资源的抽象
1.2 操作系统的发展过程
未配置操作系统的计算机系统
手工操作系统:问题:人— 机矛盾 CPU—I/O 速度不匹
配的矛盾 。
脱机系统将少了 CPU 的空闲时间、提高了 I/O 速度
单道批处理系统
工作方式:把一批作业以脱机方式输入到磁带上,并在系
统中配上监督程序(Monitor),在它的控制下使这批作业能
一个接一个连续处理
特点:自动性、顺序性、单道性
多道批处理系统
用户所提交的作业都先存放在外存上并排成一个队列,作
业调度程序按一定算法从后备队列中选择若干个作业调
入内存,使它们共享 CPU 和系统中的各种资源。
优点:资源利用率高、系统和吞吐量大
缺点:平均周转时间长、无交互能力
特征:多道性、无序性、调度性
需要解决的问题:
处理机管理问题
在多道程序之间如何共享处理机,使
CPU 既能满足各程序运行的需要,又能提高处
理机的利用率。
内存管理问题
系统用能为每道程序分配必要的内存空
间,使它们“各得其所”,且不会因某道程序出
现异常情况而破坏其它程序
I/O 设备管理问题
有多种类型的 I/O 设备供多道程序共
享,如何分配设备?如何既方便用户使用又能
提高设备利用率?
文件管理问题
如何组织这些以文件形式存在的数据
和程序?
作业管理问题
有的作业是 I/O 型,有些是计算型,
有的要求系统能及时响应。如何组织这些作
业?
分时系统
产生原因:人机交互、共享主机、方便用户
可及时接收(通过配置多路卡实现多路复用,然后扫描按
顺序接受用户输入的命令)、及时处理(存入内存中+时
间片)
特征:多路性、独立性、及时性、交互性
实时系统
实时控制、实时信息处理系统
硬实时任务(严格要求任务截止时间)、软实时任务
1.2.6 微机操作系统的发展
单用户单任务操作系统、单用户多任务操作系统、多用户
多任务操作系统
1.3 操作系统的基本特性
并发:并发性是指在一段时间内宏观上有多个程序在同时运行
并发,微观上交替执行
进程总可包含若干个线程
共享:互斥共享方式、同时访问方式
临界资源 :在一段时间内只允许一个进程访问的资源,称
为临界资源(或独占资源)
虚拟:时分复用技术(虚拟处理机和设备,将资源在不同的时
间片内分配给各进程以使该资源被重复利用,从而提高资源的利用
率)、空分复用技术(虚拟存储)
异步:异步性也称不确定性,指进程的执行顺序和执行时间的
不确定性、不可再现、不可预知、进程异步
1.4 操作系统的主要功能
处理机管理功能—Ch2、Ch3
进程控制、进程同步、进程通信、调度(作业和进程)
存储器管理功能—Ch4、Ch5、Ch8
内存分配、内存保护、地址映射、内存扩充
设备管理功能----Ch6
缓冲管理、设备分配、设备处理
文件管理功能----Ch7
文件存储空间管理、目录管理、文件的读写管理和保护
操作系统与用户接口—Ch9
联机用户接口、脱机用户接口、图形用户接口
1.5 OS 结构设计
无结构 OS
模块化的 OS
分层式 OS
在某一层次上的代码只能调用低层次上的代码,使模块
间的调用变得有序
现代结构 OS
现代操作系统的结构设计广泛采用了客户/服务器模式、
面向对象技术以及微内核 OS 结构。
第二章 进程的描述和控制
2.1 前趋图和程序执行
顺序执行
并发执行特征:失去封闭性、失去可再现性、
2.2 进程的描述
进程:进程控制块 PCB、程序段、相关的数据
特征:动态性、并发性、独立性、异步性
进程的三种状态:就绪状态、执行状态、阻塞状态
原语:由若干个指令组成的,用于完成一定功能的一个过程,执
行过程不可分割。
2.2.4 进程管理中的数据结构
PCB 的作用:作为独立运行基本单位的标志、能实现间断性运
行方式、提供进程管理所需要的信息、提供进程调度所需要的信息、
实现与其他进程的同步与通信。
PCB 中的信息:进程标识符、处理机状态、进程调度信息(进
程优先级、状态)、进程控制信息(程序、数据地址)
PCB 的组织形式:线性方式、链接方式、索引方式
2.3 进程控制
2.3.1 操作系统内核
原子操作:防止程序遭到破坏,对软件进行保护;提高 OS 的
运行效率。
系统态 用户态
支撑功能:中断处理、时钟管理、原语操作
资源管理功能:进程管理、存储器管理、设备管理
2.3.2 进程的创建
申请空白 PCB、为新进程分配资源、初始化进程控制块、将新
进程插入到就绪队列
2.3.3 进程的终止
2.3.4 进程的阻塞与唤醒
2.3.5 进程的挂起与激活
2.4 进程同步
同步机制应遵循的规则:空闲让进、忙则等待、有限等待、让权
等待
硬件同步机制: