网站建设前端切图,厦门专业网站排名推广,崇明专业网站建设,祁连网站建设公司一、计算机系统概述
1、基本构成
计算机有四个主要的结构化部件#xff1a;
①处理器#xff08;Processor#xff09;#xff1a;控制计算机的操作#xff0c;执行数据处理功能。当只有一个处理器时#xff0c;它通常指中央处理器#xff08;CPU#xff09;
②内存…一、计算机系统概述
1、基本构成
计算机有四个主要的结构化部件
①处理器Processor控制计算机的操作执行数据处理功能。当只有一个处理器时它通常指中央处理器CPU
②内存Main memory存储数据和程序
③输入/输出模块I/O modules在计算机和外部环境之间移动数据
④系统总线System bus在处理器、内存和输入/输出模块间提供通信的设施
2、部件补充
①存储器地址寄存器MAR确定下一次读/写的存储器地址
②存储器缓存寄存器MBR存放要写入存储器的数据或从存储器读取的数据
③程序计数器PC保存下一次要取的指令地址
④指令寄存器IR存放取到的指令
3、中断
中断最初是用于提高处理器效率的手段。
利用中断功能处理器可以在I/O操作的执行过程中执行其他指令。
4、重要习题
1.列出简要定义计算机的四个主要组成部分
2.一般而言一条机器指令能指定的四种不同操作是什么
3.什么是中断
4.多处理器系统和多核系统区别是什么
5.空间局部性和时间局部性的区别是什么
6.开发空间局部性和时间局部性的策略是什么
二、操作系统概述
1、操作系统的目标
操作系统是控制应用程序执行的程序是应用程序和计算机硬件之间的接口。它有三个目标
①方便操作系统使计算机更易于使用
②有效操作系统允许以更有效的方式使用计算机资源
③扩展能力在构造操作系统时应允许在不妨碍服务的前提下有效的开发、测试和引入新的系统功能。
2、操作系统的概念
操作系统是指控制和管理整个计算机系统的硬件和软件资源并且合理地自主调度计算机的工作和资源的分配提供给用户和其他软件比较方便的接口和环境是计算机系统中最基本的系统软件。
3、操作系统的基本特征
①并发指两个或多个事件在同一时间间隔内发生宏观上看是同时发生微观上看是交替发生的
并行是指系统具有同时进行运算或操作的特性在同一时刻能完成两种或以上的工作
PS单核CPU的程序只能并发执行多核CPU的程序可以并行执行
②共享系统中的资源可供内存中多个并发执行的进程共同使用
互斥共享资源在特定一段时间内只允许一个进程访问该资源
同时共享一个时间段内允许多个进程同时对某些资源进行访问
③虚拟
④异步在多道程序环境下允许多个程序并发执行但由于资源有限进程的执行不是一贯到底。而是走走停停的以不可预知的速度向前推进。
4、操作系统的功能和接口
操作系统作为系统资源的管理者对资源进行管理处理机管理、存储器管理、文件管理、设备管理
①处理机管理
在多道程序环境下处理机的分配和运行都以进程为基本单位因而对处理机的管理可归纳为对进程的管理
进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度
②存储器管理
主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充
③文件管理
主要包括文件存储空间的管理、目录管理以及文件读写管理和保护
④设备管理
主要包括缓冲管理、设备分配、设备处理和虚拟设备
操作系统作为用户与计算机硬件系统之间的接口提供了用户接口
①命令接口
联机命令接口交互式命令接口适用于分时或实时系统的接口
脱机命令接口批处理命令接口适用于批处理系统
向上层提供服务给软件或程序员提供程序接口系统调用
②程序接口
程序接口由一组系统调用组成。用户通过在程序中使用这些系如调用来请求操作系统为其提供服务
5、操作系统的发展过程
1单道批处理系统
特点单路性、独占性、自动性、封闭性、顺序性
缺点系统的资源得不到充分利用
2多道批处理系统
特点多路性、共享性、自动性、封闭性、无序性、调度性
好处提高CPU利用率提高内存和I/O设备的利用率增加系统吞吐量
缺点平均周转时间长无交互能力
PS引入多道程序设计的前提之一是系统具有中断功能
3分时系统
允许多个用户同时通过自己的终端以交互方式使用计算机共享主机中的资源
采用“时间片轮转”的处理机调度策略
PS分时系统的主要目的是比较快速地响应用户
4实时系统
系统能及时响应外部事件的请求在规定时间内完成对该事件的处理并控制素有实时任务协调一致的运行。
6、操作系统的运行环境
1.CPU执行两种不同性质的程序操作系统内核程序、应用程序
操作系统划分为用户态和核心态严格区分两类程序
用户自编的程序在用户态操作系统内核程序在核心态
2.内核
是计算机最低层的软件是计算机功能的延申。包含四个方面内容
①时钟管理操作系统需要通过时钟管理向用户提供准确时间通过时钟中断的管理可实现进程的切换
②中断机制引入中断机制的初衷是提高多道程序环境中CPU的利用率
③原语原语是底层的一些可被调用的公用小程序他们各自完成一个规定的操作是不可划分的单位
④系统控制及其数据结构处理
3.中断和异常
本质发生中断就意味着需要操作系统介入开展管理工作
中断可以使CPU从用户态切换为核心态使操作系统获得计算机的控制权。
“核心态”→“用户态”的切换是通过执行一个特权指令将程序状态字(PSW)的标志位设置为“用户态”
4.中断的分类
①内中断异常a、资源中断-指令中断trap指令b、强迫中断缺页
②外中断a、外设请求中断信号b、人工干预用户强制
三、进程控制与描述
1、进程的概念
1、定义进程是程序的一次执行
2、组成进程由程序控制块PCB、程序段、数据段组成
操作系统通过PCB来管理进程PCB中应该包含操作系统对其进行管理所需的各种信息。
3、组织方式
①链式方式按照进程状态将PCB分为多个队列操作系统持有指向各个队列的指针
②索引方式依据进程的状态不同建立索引表操作系统持有指向各个索引表的指针
4、进程的特征
①动态性进程是程序的一次执行过程是动态的产生、变化和消亡
②并发性内存中有多个进程实体各进程可并发执行
③独立性进程是能独立运行、独立获得资源、独立接受调度的基本单位
④异步性各个进程按各自独立的、不可预知的速度向前推进操作系统要提供进程同步机制来解决异步问题
⑤结构性每个进程都会配置一个PCB
PS进程和程序本质区别在于前者可以并发执行后者不能并发执行
2、进程的状态和切换
1、进程有五个状态就绪状态、运行状态、阻塞状态、创建状态、终止状态。
创建态进程在创建时需要申请一个空白的PCB向其中填写控制和管理进程的信息完成资源分配如果创建工作无法完成此时进程所处的状态称为创建态
运行态进程占用CPU并在CPU上运行
就绪态进程已具备运行条件但由于未分配CPU无法运行
阻塞态进程因等待某个事件发生而暂时不能运行
终止态进程结束或出现错误或被系统终止
2、状态的转换 3、进程通信
1.进程通信是指进程之间的信息交换
PV操作是最低级的通信
高级通信方法主要有三类
①共享存储生产者消费者
②消息传递
③管道通信pipe文件
4、线程
1、引入线程的目的正是为了简化进程间的通信以小的开销来提高进程内的并发程度
线程是进程中执行运算的最小单位是进程中的一个实体是被系统独立调度和分派的基本单位。线程不拥有系统资源但可与同属一个进程的其他线程共享进程拥有的全部资源
一个线程可以创建和撤销另一个线程同一进程中的多个线程之间可以并发执行
2.线程表示进程的一个控制点。
进程是系统资源分配的单位线程是处理机调度的单位
3、比较 四、处理机调度
1、基本概念
1、不同的调度算法具有不同的特性主要的评价准则
①CPU利用率
②系统吞吐量单位时间内CPU完成的作业数
③周转时间从作业提交到作业完成所经历的时间 ④等待时间进程处于等处理机状态的时间之和
⑤响应时间 2、进程调度方式
①非剥夺调度当一个进程正在处理机上执行即使有更为重要的进程进入就绪队列仍然让正在执行的进程继续执行直到该进程完成或进入阻塞态才把处理机分配给更为重要的进程
②剥夺调度抢占方式遵循一定的原则。
2、先来先服务算法
FCFS按照作业到达的先后顺序进行调度
适用情况作业调度、进程调度
优点算法实现简单
缺点对长作业有利对短作业不利
3、短作业优先算法
SJF以作业的长短来计算优先级
适用情况作业调度、进程调度
优点最短的平均等待时间及平均周转时间
缺点①必须先知道作业的运行时间
②对长作业不利会出现饥饿现象
③没有考虑作业的紧迫程度
4、优先级算法
基于进程的紧迫程度由外部赋予进程相应的优先级进行调度
适用情况作业调度、进程调度、I/O调度
优点用优先级区分紧急程度运用于实时OS
缺点可能导致低优先级进程的饥饿
优先级类型
①静态优先级在创建进程时确定其在进程的整个运行期间不变
②动态优先级在创建进程之初先赋予一个优先级然后动态调整
5、时间片轮转算法
RR公平地、轮流地为各个进程服务让每个进程在一定时间间隔内都可以得到响应
算法规则按照各进程到达就绪队列的顺序轮流让各个进程执行一个时间片若进程未到一个时间片内执行完则剥夺处理机将进程重新放到就绪队列队尾重新排队
适用情况进程调度
属于抢占式算法
优点公平、响应快、适用于分时OS
缺点不能区分任务的紧急程度需要进程切换消耗较大
6、高相应比优先算法
HRRN综合考虑作业的等待时间和要求服务的时间
算法规则在每次调度前计算各个作业的响应比选择响应比最高的作业为其服务 适用情况作业调度、进程调度
优点综合考虑了等待时间和运行时间
缺点每次调度前都要计算响应比增加系统的开销
PS不会导致饥饿
7、多级反馈队列调度算法
算法规则设置多个就绪队列各级队列优先级从高到低时间片从大到小
每个队列采用FCFS算法
按队列优先级调度 适用情况进程调度
优点用优先级区分紧急程度运用于实时OS
缺点可能导致低优先级进程的饥饿
五、并发死锁与饥饿
1、死锁的概念
1.死锁的定义各进程互相等待对方手里的资源导致各进程都阻塞无法向前推进的现象
注意区分 2.产生死锁的必要条件
①互斥条件只有对互斥使用的资源才会导致死锁哲学家的筷子
②请求和保持条件进程至少已经保持了一个资源但是又提出了新的资源请求而还资源又被其他进程占有此时请求进程被阻塞但又对自己的资源保持不放
③循环等待条件存在一种进程资源的循环等待链链中的每一个进程已获得的资源同时被下一个进程请求
④不剥夺条件进程获得的资源在未使用完之前不能由其他进程强行夺走只能主动释放
2、死锁的预防
死锁的处理就是不允许死锁的发生分为静态策略预防死锁和动态策略避免死锁
1.预防死锁破坏死锁产生的必要条件
2.避免死锁用某种方法防止系统进入不安全状态从而避免死锁银行家算法
3.死锁的检测和解除允许死锁的发生不过操作系统会检测出死锁的发生然后采取某种措施解除死锁
①破坏互斥条件
如果把互斥使用的资源改造为允许共享使用则系统不会进入死锁状态。例如SPOOLing技术
②破坏不剥夺条件
当某个进程请求新的资源得不到满足时。它必须立即释放保持的所有资源待以后需要时再重新申请。
③破坏请求和保持条件
可以采用静态分配的方法即进程在运行请按一次申请完它所需要的全部资源在它的资源未满足前不让它投入运行。一旦投入运行后这些资源就一直归他所有该进程就不会再请求别的资源了
④破坏循环等待条件
对所有资源类型进行先行排序顺序资源分配法。首先给系统中的资源编号规定每个进程必须按编号递增的顺序情求资源同类资源一次申请完
PS产生死锁的原因可能是①时间上调度时机不合适②空间上独占资源分配不当 3、死锁的避免--银行家算法
1.系统安全状态
在避免死锁方法中把系统的状态分为安全和不安全。当系统处于安全状态时可避免发生死锁。
2.安全序列
如果系统按照这种序列分配资源则么各进程都能顺利完成只要找出一个安全序列系统就是安全状态
3.银行家算法
核心思想在资源分配之前预先判断这次分配是否导致系统进入不安全状态依此决定是否应答资源分配请求让该进程先阻塞等待
1数据结构
①可利用资源向量Available。长度为m的一维数组表示还有多少可用资源
②最大需求矩阵Max。表示各进程对资源的最大需求数n×m矩阵
③分配矩阵Allocation。表示已经给各进程分配了多少资源n×m矩阵
④需求矩阵Need。表示各进程最多还需要多少资源Max-AllocationNeed
⑤进程P的请求向量。长度为m的一维数组表示进程此次申请的各种资源数
2算法步骤 ④系统执行安全性算法检查此次资源分配后系统是否处于安全状态。
3安全性算法 例 1由题已占有资源 A11B36C1531D2424
用资源拥有量减去相应已占有资源再相加15208
2 3 4、死锁的检测与解除
如果系统中既不采用预防死锁也不采用避免死锁的措施系统应当提供两个算法
1.死锁检测算法 2.死锁解除算法 六、并发性互斥与同步