计算机操作系统----学习笔记2020-06-14
第一章 操作系统引论
1 操作系统的目标:
有效性 方便性 可扩充性 开放性
2.操作系统的作用:
(1)OS作为用户和计算机硬件系统之间的接口
(2)OS作为计算机系统资源的管理者
(3)OS实现了对计算机资源的抽象
3.推动计算机系统发展的主要动力:
(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展
4.操作系统的发展过程:
人工操作方式------------单道批处理系统---------多道批处理系统---------分时系统--------实时系统
多到批处理系统设计的基本概念:在单道批处理系统中,内存仅有一道作业,无法充分利用系统中的所有资源致使系统性能较差。为进一步提高系统资源的利用率和系统吞吐量。 优缺点:资源利用率高;系统吞吐量大;平均周转时间长;无交互能力
5.为什么要引入实时系统:
实时控制和实时信息处理的需要
实时系统与分时系统的特征比较:多路性;独立性;及时性(最大区别);交互性;可靠性
6.操作系统的基本特征:
并发性;共享性;虚拟技术;异步性
7.操作系统的主要功能:
处理机管理功能:进程控制、进程同步、进程通信、调度
储存器管理功能:内存分配、内存保护、地址映射、内存扩充
设备管理功能:缓冲管理、设备分配、设备处理
文件管理功能:文件储存空间的管理、目录管理、文件读/写管理和保护
操作系统与用户之间的接口:用户接口、程序接口
8.传统操作系统
无结构操作系统--------模块化结构OS-------分层式结构OS--------微内核结构的OS(现代结构的OS)
9.面向对象的程序设计
对象:指在现实世界中具有相同属性、服从相同规则的一系列事物的抽象,而把其中具体事物成为对象的实例
继承:继承是父类和子类之间共享变量的方法的机制,该机制中子类自动继承父类中定义的变量和方法,并允许子类增加新的内容。
面向对象的优点:(1)通过‘重用’提高产品质量的生产率(2)使系统具有更好的易修改性和易扩展性(3)更易于保证系统的‘正确性’和‘可靠性’
10.微内核OS结构
微内核的基本特点:足够小的内核、基于客户/服务器模式、应用“机制与策略分离”原理、采用面向对象技术
基本功能:进程管理、储存器管理、进程通信管理、I/O设备管理
优点:提高了系统的可扩展性、增强了系统放入可靠性、可移植性、提供了对分布式系统的支持、融入了面向对象技术
计算机操作系统----学习笔记2020-06-22
第二章 进程管理
2.1 进程的定义、组成、组织方式、特征
2.2 进程的状态与转换
2.3_进程控制
2.4_进程通信
2.5_线程概念与多线程模型
第三章 处理机调度与死锁
3.1 处理机调度的概念、层次
3.1 进程调度的时机、切换与过程、方式
3.1 调度算法的评价指标
3.4 调度算法:先来先服务、最短作业优先、最高响应比优先
3.5 调度算法:时间片轮转、优先级、多级反馈队列
第四章存储器管理
一、存储器管理的基础知识
(在计算机的存储系统,存储器是计算机的重要组成部分,它可分为:计算机内部的存储器(简称内存),计算机外部的存储器(简称外存)。内存储器从功能上又可以分为:读写存储器RAM,只读存储器ROM两大类)
1. 层次结构:
1)主存储器(简称内存)
作用:保存进程运行时的程序和数据
寄存器和高速缓存
作用:缓和内存的访问速度与CPU指令执行速度不匹配的矛盾
磁盘缓存
作用:缓和磁盘I/O速度与内存的访问速度不匹配的矛盾
程序的装入和链接
对用户程序的处理和步骤
源程序 目标模块 装入模块 内存
2.几个重要概念(地址的分类):
物理地址(绝对地址):计算机内存单元的真实地址
内存空间:物理内存是各程序共享的物质基础,由0-(m-1)个物理地址组成
逻辑地址(相对地址):用户的程序地址
逻辑空间:程序地址均从“0”开始
名地址:源程序地址
3.程序的装入的分类及依据
(1)绝对装入方式
装入模块被装入后,程序中的逻辑地址与实际物理地址完全相同
缺点:只适用于单道系统,要求程序员熟悉内存的使用情况等
(2)可重定位装入方式
(3)动态运行时装入方式
在把装入模块装入到内存后,并不立即把装入模块中的相对地址转换成绝对地址,而是把这种地址转换推迟到程序真正执行时才进行。因此,装入内存后的所有地址都仍然是相对地址。
4.程序的链接的分类及依据
(1)静态链接方式
对相对地址的修改,变换外部调用符号
(2)装入时动态链接
将几个目标模块装入内存时边装入边连接
优点:便于修改和更新;便于实现对目标模块的共享
(3)运行时动态链接
将某些目标模块的链接,推迟到执行时才进行
优点:加快程序的装入过程;节省内存空间
重定位
定义:对地址部分的调整过程
类型:①静态重定位
映射时间:装入内存时,地址映射一次完成
特点:运行过程中不可移动位置;内存利用率低
优点:不需要硬件支持。
缺点:使用静态重定位方法进行地址变换无法实现虚拟存储器。
必须占用连续的内存空间,这就难以做到程序和数据的共享。
②动态重定位
映射时间:执行期间,地址映射由“硬件地址变换机构”动态完成
特点:运行过程中可移动位置;需附加硬件支持
优点:可以对内存进行非连续分配。
动态重定位提供了实现虚拟存储器的基础。
有利于程序段的共享。
缺点:需要硬件支持
实现存储管理的软件算法比较复杂
4.连续分配方式
4.1.连续分配存储管理分配的定义:
是指为一个用户程序分配一个连续的内存空间
4.2.分类:
单一连续分配
基本思想:内存划分为:系统区和用户区
只能用于单用户,单任务的操作系统中
特点:方法简单,易于实现
单道程序:内存和CPU利用率低,难于实现共享
固定分区分配
基本思想:把内存用户空间划分为若干个固定大小的分区
每个分区只装入一道作业
划分分区的方法:分区大小相等;分区大小不等
具体实现:将分区按大小排队
建立分区使用表
表项包括:①分区号 ②分区起始地址 ③分区大小 ④分区状态
当程序装入时,由内存分配程序检索分区使用表
若找到符合要求的分区,则完成内存分配,并进行标记
若未找到,则拒绝内存分配
缺点:内碎片问题;限制了并发执行的程序数目
动态分区分配
基本思想:作业装入时,根据实际需要和内存空间的使用情况进行动态分配
特点:分区个数,分区大小不固定
分区分配中的数据结构:空闲分区表,空闲分区链
分区分配算法:
①基于顺序搜索的动态分区分配算法
首次适应算法(FF)
算法思想:
空闲分区表或空闲分区按照分区起址递增的次序排序。顺序查找,若找到第一个大小满足要求的空闲分区,则从中划出一块内存空间分配给作业;若未能找到,则此次内存分配失败
2.循环首次适应算法(NF)
算法思想:
从上次分配的空间区位置之后开始查找。若找到一个满足要求的空闲分区,则从中划出一块内存空间分配给作业。若最后一块空闲分区大小仍不能满足要求,则返回到第一个空闲分区继续查找
3.最佳适应算法(BF)
算法思想:
从满足要求的,最小的空闲分区中划出一块空间分配给作业,要求空闲分区表或空闲分区链按照分区容量递增的次序排序,顺序查找第一个满足要求的空闲分区
4.最坏适应算法(WF)
算法思想:
从满足要求的,最大的空闲分区中划出一块空间分配给作业。要求空闲分区表或空闲分区链按照扥去容量递增的次序排序
优点:查找速度快,分配后剩下的可用空间较大
缺点:一段时间后会缺乏较大空闲区
离散分配方式
分页存储管理方式、分段存储管理方式、段页式存储管理方式。
1.分页存储管理
系统为每个进程建立了一张页面映像表,简称页表
页表项记录了作业中各个页面的页号与相应页在内存中对应的物理块号
★地址变换机构
实现从逻辑地址到物理地址的转换,地址变换任务是借助于页表来完成的,主要由页表和页表寄存器构成。
快表不可能做的很大,通常只存放16~512个页表项
页式管理的优点:
不要求作业连续存放,有效地解决了“碎片”问题。
与分区式比,不需要移动作业;与多重分区比,无零星碎片产生。
内存利用率高,不常用的页面尽量不留在内存。
缺点:
地址变换机构复杂,为提高速度采用硬件实现,增加了机器成本。
要处理页面中断、缺页中断处理等,系统开销较大
有可能产生“抖动”
2.分段存储管理
作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息
段的长度由相应的逻辑信息组的长度决定,因此各段的长度并不相等
3.★分段和分页的主要区别
管理形式相似但概念不同
4.段页式存储管理
结合了二者的优点,克服了二者的缺点
内部划分:按页式存储管理方案
内存分配:以页为单位进行分配