- 操作系统的目标
- 方便性
- 有效性
- 可扩充性
- 开放性
- 操作系统的作用
- 作为用户与计算机硬件系统的接口
- 作为计算机资源的管理者‘
- 实现了对计算机资源的抽象
- 发展过程
- 未配置操作系统的计算机系统
- 单道批操作系统
- 多道批操作系统
- 分时系统
- 实时系统
- 分时,实时系统的特征和优缺点
- 分时系统的特征 多路性 独立性 及时性 交互性 可靠性(实时系统有)
- 优缺点
- 微机发展
- 单用户任务操作系统 CP/M MS-DOS
- 单用户多任务操作系统
- 多用户多任务os Linux Solaris
- os的特征 并发 共享 虚拟 异步
- os的功能
- 处理机管理功能 进程控制 进程同步 进程通信
- 存储器管理功能 内存分配 内存保护 地址映射 内存扩充
- 设备管理功能 缓冲管理 设备分配 设备处理
- 文件管理功能 文件存储空间的管理 目录管理 文件的读写管理和保护
- 会画前趋图——用于描述程序的执行顺序的=
- 进程的状态 控制块 pcb 同步机制 pv操作
- PCB 是进程存在的唯一标识, 创建一个进程就会创建一个pcb 进程撤销系统回收,系统对镜陈的控制根据pcb进行 管理也是通过这个,,能实现间断性的运行方式 ,提供进程间通信管理所需的资源,提供进程调度所需的信息
- pcb 里面有进程的标识信息,进程的状态信息(就绪,运行,阻塞) ,进程的控制信息
-
进程和线程的区别?相比进程,线程有哪些好处?
一个进程可以有多个线程,多个线程可以并发,可以共享进程数据,拥有自己独立的栈空间和执行序列。
进程与线程是不同的系统资源管理方式。进程拥有独立的地址空间,而线程没有。一个进程崩溃后,在保护模式下,不会对其他进程造成影响;而线程只是进程的一个执行路径,没有自己独立的地址空间,一旦一个线程崩溃,整个进程就会崩溃。所以,多进程的程序比多线程程序更加健壮。
线程不占用系统资源,调度线程比调度进程开销更小,在线程间切换比在进程间切换效率高。
对于一些要求同时进行而又共享某些变量的并发操作来说,只能用多线程,不能用多进程。 -
使用线程有哪些好处?
创建线程比创建进程需要的时间更少
终止线程比终止进程时间更少
切换线程比切换进程更快
线程间通信无需调用内核即可实现。同一进程的线程共享进程的数据。 -
问:什么是线程同步?
答:线程同步是指多线程通过特定的方式(如互斥量)来控制线程之间的执行顺序(同步),也可以说是在线程之间通过同步建立起执行顺序的关系,如果没有同步那线程之间是各自运行各自的。
问:线程同步方式有哪些?
答:
互斥(信号)量,每个时刻只有一个线程可以访问公共资源。只有拥有互斥对象的线程才能访问公共资源,互斥对象只有一个,一个时刻只能有一个线程持有,所以保证了公共资源不会被多个线程同时访问。
信号量,允许多个线程同时访问公共资源。当时控制了访问资源的线程的最大个数。通过通知的方式保持多线程的同步,还可以方便的实现多线程优先级的比较
临界区。任意时刻只能有一个线程进入临界区,访问临界资源。
问:进程同步的方式有哪些?
答:
原子操作 信号量 管程 会合 分布式系统 -
.15 线程(进程)同步与PV操作
PV是线程同步的基本操作,P表示proberen(测试),V表示verhogen(增加),是荷兰语,这是在计算机术语中不是用英 语表达的极少数的例子之一。PV也可以用semWait和semSignal表示,注意对应关系。
三个经典的线程同步问题(读写,哲学家,生产消费)生产者-消费者问题
-
读者-写者问题
任意多的读进程可以同时读文件
一次只有一个写进程可以写文件
如果有进程在写,则不可以读说明了
读进程不需要排斥其他读进程
写进程需要排斥其他所有进程包含读写读者写者问题有两种实现,即读者优先和写者优先
(1)读者优先
读进程拥有优先权,当一个读进程开始读时,就为读进程保持所有权,知道它们都读完,写进程会饥饿。 -
(2)写者优先
当一个写者想写时,不允许新的读进程访问数据区哲学家就餐问题
-
五名哲学家围坐在一张圆桌旁,没人手边有两把叉子,每个人吃面都需要两把叉子,如何设计,能免死锁和饥饿?即没有两位哲学家同时用同一把叉子。解决方法是用一个信号量,每次只允许4名哲学家同时进餐,由于最多只有4人同时吃面,一定有一个哲学家可以等到两把叉子,不会出现死锁和饥饿。
-
一个生产者负责生产,一个消费者负责消费。需要注意的是消费者不能读空缓冲区,生产者不能向满缓冲区加数据。且生产者和消费者对缓冲区的访问互斥。 -
打印机问题
一个进程负责把内容放入缓冲区,另一个进程负责打印缓冲区的内容 -
互斥量是一种特殊的信号量,对一个互斥量的PV操作都在一个线程中,是一种对临界区的封锁方法。互斥量总是初始化为1。
信号量是线程间通信的一种方法,PV操作在两个线程中,通常由一个线程释放信号量,另一个线程在信号量上排队。初始化值为非负数(0~n)。
互斥量和信号量的原语是一样的。
semWait使信号量减一,若为负数,则此线程阻塞,加入阻塞队列,否则继续执行
semSignal使信号量加一,若<=0,则从信号量的阻塞队列中拿出队首,加入就绪队列
信号量负数的绝对值n表示了有多少个线程在此信号量上排队,一共n+1个线程,但是只有一个在运行,其余在排队(阻塞队列中)。比如-4表示有4个线程在此信号量上排队。正数的绝对值表示可用资源数,负数的绝对值表示欠缺资源数也表示排队的线程数。
互斥量的变化范围是 1 ~ -(n-1), n表示共有n个线程尝试访问公共资源 -
1.14 死锁?
问:什么是死锁?
答:在两个以上的并发进程中,如果每个进程都持有某种资源而又等待其他进程释放他们持有的资源,在未改变这种状态前,谁都无法推进,则发生了死锁。所有进程无限期等待,且循环等待,都处于阻塞态。
问:死锁产生的四个必要条件?互斥。一个资源一次只能被一个进程占有
请求与保持。一个进程因为请求资源而阻塞时,不释放自己持有的资源
非剥夺。无法在进程结束前剥夺它对资源的所有权
循环等待。若干进程收尾相接形成环形等待关系问:死锁处理的策略?死锁的处理方法
答:预防死锁。破坏后三个条件中的一个即可(互斥是非共享设备的特性,无法更改):
破坏请求与保持条件。规定一个进程开始前,必须申请所有需要的资源。
破坏不可抢占条件。当无法得到需要的资源时,释放自己持有的资源,等需要时再重新申请。
破坏循环等待条件。将所有资源按类型线性排队,并赋予不同的编号,所有进程请求资源时,必须按照资源递增顺序,以防出现环路。如果一个进程已经分配到了R资源,那么它再申请时,只能申请排在R后面的资源,而不能申请前面的资源。
死锁避免。避免死锁并不是事先采取某种限制措施破坏死锁的必要条件,而是再资源动态分配过程中,防止系统进入不安全状态,以避免发生死锁:
银行家算法
系统安全状态
安全性算法
死锁的检测与解除
资源分配图
死锁定理
死锁解除
-
处理机调度的层次 高级调度 低级调度 中级调度
-
处理机调度算法的目标 资源利用率 公平性 平衡性 策略强制执行
-
批处理的系统的目标 评剧周转时间 系统吞吐量高 处理机利用率高、
- 调度算法
-
调度算法时间片轮转调度算法(RR):给每个进程固定的执行时间,根据进程到达的先后顺序让进程在单位时间片内执行,执行完成后便调度下一个进程执行,时间片轮转调度不考虑进程等待时间和执行时间,属于抢占式调度。优点是兼顾长短作业;缺点是平均等待时间较长,上下文切换较费时。适用于分时系统。
先来先服务调度算法(FCFS):根据进程到达的先后顺序执行进程,不考虑等待时间和执行时间,会产生饥饿现象。属于非抢占式调度,优点是公平,实现简单;缺点是不利于短作业。
优先级调度算法(HPF):在进程等待队列中选择优先级最高的来执行。
多级反馈队列调度算法:将时间片轮转与优先级调度相结合,把进程按优先级分成不同的队列,先按优先级调度,优先级相同的,按时间片轮转。优点是兼顾长短作业,有较好的响应时间,可行性强,适用于各种作业环境。
高响应比优先调度算法:根据“响应比=(进程执行时间+进程等待时间)/ 进程执行时间”这个公式得到的响应比来进行调度。高响应比优先算法在等待时间相同的情况下,作业执行的时间越短,响应比越高,满足段任务优先,同时响应比会随着等待时间增加而变大,优先级会提高,能够避免饥饿现象。优点是兼顾长短作业,缺点是计算响应比开销大,适用于批处理系统。
-
-
连续分配的管理方式 单一连续分配 固定分区分配 动态分区分配 基于顺序搜索的动态分区分配方法(选择题)
-
算法描述 ——动态分区分配算法
-
first fit
-
循环首次适应算法 next fit
-
最佳适应算法 best fit
-
最坏适应算法 worstfit
-
-
动态可重定位分区分配 紧凑 动态重定位 动态重定位分区分配算法 选择题
-
对换的概念也叫作交换技术 内外存的之间的对换
-
分页分段的计算
-
局部性处理
-
页表中应该包含 页号 物理块号 状态位号 状态位 访问字段A 修改位M 外存地址
-
置换算法 缺页 162页 162页
-
p214页 计算 6.8
-
输入输出的基本概念选择题
-
什么是文件和文件系统他的属性有哪些
-
p232 234 计算 文件控制块 重点 目录文件和文件目录的区别
-
文件的存放 250页
-
计算文件大小文件分配表 p254 557页
操作系统复习
本文详细介绍了操作系统的四大目标:方便性、有效性、可扩充性和开放性。讨论了其作用,包括作为用户与硬件的接口和资源管理者。回顾了操作系统的发展历程,从无操作系统到单道批处理、多道批处理、分时系统和实时系统。文章还深入讲解了分时和实时系统的特征及优缺点,并探讨了微机操作系统的历史,从单用户任务到多用户多任务系统。此外,文章阐述了操作系统的特征(并发、共享、虚拟、异步)和主要功能,如处理机管理、存储器管理、设备管理和文件管理。特别提到了进程和线程的区别,以及线程带来的优势,如资源占用少、调度开销小和高效的通信。最后,文章涉及了线程同步、死锁的概念、处理机调度算法和内存管理策略,如页表和置换算法。
摘要由CSDN通过智能技术生成