操作系统复习框架
2017-04-16 15:45:44 0 举报
AI智能生成
操作系统复习框架主要包括以下几个部分:首先,理解操作系统的基本概念和功能,包括进程管理、内存管理、文件系统和设备管理等。其次,掌握操作系统的分类和主要类型,如单任务系统、多任务系统、分布式系统等。再次,深入研究操作系统的核心原理,如调度算法、死锁处理、内存分配策略等。此外,还需要了解现代操作系统的新特性和技术,如虚拟化、云计算、微服务等。最后,通过实践操作,加深对操作系统的理解和应用能力。
作者其他创作
大纲/内容
操作系统复习框架
CPU 调度
基础概念
CPU调度是多道程序OS的基础
多道程序的目标是 CPU利用率最大化
CPU成功调度依赖于: CPU-I/O Burst cycle
CPU调度过程
当一个cpu idle(空闲)
short-term scheduler 从ready选择一个 running
为其分配资源
CPU调度的情况
非抢占式(只有调度没有选择)non-preemptive
running-terminated
running-waiting
抢占式(有选择)preemptive
running-ready
waiting-ready
new-ready
抢占式&非抢占式区别
有无选择||是否自愿
抢占式需要注意临界区问题,所以更复杂;非抢占式更简单,但低效。
Dispatcher 分派程序
调度准则
CPU utilization CPU 利用率
Throughput 吞吐量
单位时间内,完成的进程数
Turnaround 周转时间
从被提交到完成进程
waiting time 周转时间
整个过程中的等待时间
response time 响应时间
从被提交到第一次被响应
调度算法
有道大例题
FCFS
非抢占 要等前一个执行结束
吞吐量很低,对短的job不公平
SJF
抢占 & 非抢占
非抢占 选择最短作业直到执行结束,再选择下一个
抢占 来了一个新的,如果当前剩余更大,则较短的新进程抢占CPU
平均等待时间最短
long job 会饥饿
优先级调度
解决饥饿问题
aging 老化
每过一段时间,提高ready队列中进程的优先级
FCFS & SJF 是特殊的优先级调度
抢占式 & 非抢占式
非抢占式
选定一个优先级高的,直到它执行结束
抢占式
当有一个新的进程进来时,比较它与当前进程的优先级
round-robin
为time-sharing system 设计的
RR是 FCFS+时间片限制
quantum时间片
时间一到,自动让出CPU,该进程去队尾排队
和SJF的比较
RR平均周转时间差于SJF
RR 响应时间更好
多级队列
前端后端采用不同的调度算法
有固定的优先级,前端比后端更优先,会饥饿
多级反馈队列
允许队列之间的优先级移动
多处理器调度
负载均衡
push & pull
Asymmetric &Symmetric 非对称(主从)&对称调度
processor affinity亲和性
避免进程在处理器之间移动
软亲和
硬亲和
实时调度
priority inversion优先级逆转
优先级高的进程需要优先级低的进程运行后产生的数据
解决方法
逆转高低优先级,运行完再转回来
线程调度
用户级线程
Local Scheduling
thread library决定下一个运行谁
内核级线程
Global Scheduling
kernel决定下一个运行谁
算法评估
Process Synchronization进程同步
Race Condition
多个进程操作同一数据急且执行结果与运行顺序有关
the Critical-Section Problem
解决临界区问题的三个条件
mutual exclusion 互斥
progress 空闲让进
Bounded waiting 有限等待
用turn能不能进,满足互斥有限等待
用flag想不想进,同上
四部分
enter section
critical section
exit section
remander section
Peterson's solution
解决两个进程之间的临界区问题
turn&flag,对方或者不想进或者没轮上,你都能进
三个条件的满足说明
进入条件:另外一个不想进或者不能进,你都能进。
互斥:当一个已经进入,另一个请求,while(true)状态,不能进
progress:有turn,会把权力让给另一个
Bounded waiting:就两个进程,还相互让。
Bakery Algorithm
机制:
数据结构
choosing【i】
number【i】
每次让number最小的进程进入临界区
choosing语句的作用
满足三个条件
是对n个进程之间临界区问题的解决算法
硬件同步
禁止中断
机制
适用
单处理器多处理器
特殊的机器指令
test & set
三个条件
互斥
空闲让进
不满足有限等待
只要检测中和别的进程无关,就无法确定下一个是谁,
testAndSet代码
lock
进程的代码
swap
swap代码
local想不想进 key
global 锁 lock
实现代码
机制解释
TestAndSet的改进版
满足三个条件【实现有限等待】
执行完一个进程后,优先让【别的】进程进去
代码
OS介绍
什么是OS
三个方面
OS相关硬件
中断
中断的分类2
OS是中断驱动的
中断处理
存储结构
main memory
secondary memory-cache
I/O结构
local buffer & DMA
硬件保护
双模式
user & kerel
CPU保护
Timer
memory保护
base &limit register
I/O保护
all
OS的发展
mainframe system
batch system
multiprocess system
time-sharing system
麦序
destop system
parallel system
多处理器系统
distributed system
物理上分离的,联网的
clustered system
介于分布式和并行系统之间
real-time system
硬实时 & 软实时
OS Structure
OS功能
Main Memory Management
内存管理的活动2
Secondary-Storage Management
辅存管理活动3
Process Management
进程是什么
执行中的程序
进程管理的活动3
File Management
为什么要有文件管理
文件管理的活动5
I/O System Management
目的
把外设的不同向用户屏蔽
I/O子系统的组成3
OS服务
for helping users
5都是软件运行,使用层面上来说的
for ensuring system operations
3如何保证OS的工作
OS接口
为了实现服务
interface to users
GUI
command-line interface
interface to programs
SCI ( system call interface )
SCI向OS传参数的方式3
SCI的类型5
API
OS结构
简单结构Simple Structure
分层结构Layered Structure
虚拟机
实现&假象
虚拟机&非虚拟机
优点3
微内核结构Microkernel Structure
把很多功能从kernel到user
模块化 Mudules
OS设计&实现
Policy 策略
what
Mechanism 机制
how
Process
进程概念
进程是执行中的一段程序
进程执行的顺序依赖于程序中代码的顺序
进程包含: 5
text section
程序代码
program counter
指向当前程序
contents of the processor's register
Heap-stack
临时数据:参数,返回值,局部变量
data section
全局变量
Process in Memory
全局变量——data
一般局部变量——stack
显式malloc变量——heap
进程的特征
Dynamic 动态性
有生命周期,是动态的
Independency 独立性
Concurrence 并发性
Structure 结构化
进程和程序的区别和联系
联系
进程不能脱离程序存在
进程和程序不是一一对应的
区别
动/静
暂时/永久
进程是竞争计算机资源的基本单位
进程的状态
new
ready
running
wating
terminated
CPU在非核心状态下,ready running waiting 最多最少有几个进程。()
ready running waiting状态图 & 状态转换原因
进程控制块
Process Control Block (PCB)
中断的时候必须save,有关动态改变的
CPU register
包含一个特定进程的内容
进程调度
进程调度队列
Schedulers 调度程序
Long-term Schedulers
从进程调度队列中选择队列放入内存,并ready
infrequently & may be slow
控制多道程序能进入内存的总数degree
应当合理选择CPU为主或I/O为主的进程
Short-term Schedulers
从ready下一个被执行的,并为之分配CPU
frequently & fast
Medium-term Schedulers
running->waiting->ready
Context Switch 上下文切换
进程切换时的 save state & state restore
上下文切换是一个额外开销,overhead。
时间依赖于硬件质量
在进程上的操作
进程创建 Creation
父进程创建子进程&pid
资源分配
父子共享所有资源
子进程只能使用父进程分配给他的资源
父子不共享任何资源
执行情况
concurrently 并发执行
wait 父进程等待子进程结束
Address Space
duplicate
a new program loaded in it
UNIX 例子
fork ( )
创建子进程。(父进程返回子进程pid,子进程返回0)
exec( )
可以把一段新的程序覆盖原位置
进程终止 Termination
exit( )
Interprocess Communication 进程间通信
进程间的关系
独立进程
协作进程
共享内存系统
Producer-Consumer Problem
unbounded-buffer
bounded-buffer
缓冲最大空间数的问题
进程传递系统
直接通信& 间接通信
Synchroniazation & Asynchronization
同步
blocking
异步
non-blocking
Communication in Client-Server System
Socket
通信的两个端口,一次通信需要一对sockets
由IP和port组成
同一机器的不同进程分配了不同的port
Remote Procedure Calls
Thread
线程的概念
什么是线程
是一个进程控制流
可看成一个轻量级的线程
是CPU的基本使用单位
线程的组成
thread ID
stack
同一进程中的多个线程
共享 code data 其他OS资源
独享 Stack register
好处
responsiveness 响应度高
资源共享
经济
多处理器体系结构的利用
进程的分类
CPU感知不到,一个线程block整个进程block
受内核支持
线程的创建,终止调度需线程库支持
CPU能感受到,一个block不会影响其他
内核支持和管理
受os内核支持
多线程模型
多对一
一对一
多对多
两级模型
线程库
提供创建和管理线程的API
线程的状态
joinable
函数join()=进程的wait()
detached
线程issues
fork() & exec()
线程取消
在线程完成之前终止线程
信号机制
信号机制与中断机制的异同
中断有优先级,信号没有,所有信号皆平等
信号处理在用户态进行,中断机制在内核态进行
中断响应及时,信号通常都是延时的
都采用异步通信的方式
当检测出信号或中断请求时都暂停正在执行的程序而转去执行相应的处理程序
都在处理结束后回到原来的断点
对信号和中断都可以进行屏蔽
Thread Pool
进程开始时,创建一定数量的线程,这样响应更快
线程池可以控制线程的总数,防止无尽的线程耗尽系统的资源
0 条评论
回复 删除
下一页