1、操做系统引论html
操做系统目标算法
1:方面性,2:有效性,3:可扩展性,4:开放性编程
操做系统基本特性数组
1:并发、2:共享、3:虚拟、4:异步安全
描述多道批处理、分时、实时操做系统的特色各是什么?服务器
批处理操做系统:多道性、无序性、调度性,系统利用率高、吞吐量大、平均周转时间长、但无交互能力。网络
分时操做系统:有多路性、独立性、及时性和交互性。 有较好的人机交互的特性,而且能够实现共享主机数据结构
实时系统:有多路性、独立性、及时性、交互性和可靠性。其实是指操做系统工做时,其各类资源能够根据须要随时进行动态分配。因为各类资源能够进行动态分配,所以,其处理事务的能力较强、速度较快。多线程
总结:从可靠性:实时系统更强,从交互性:分时系统更强并发
2、进程的描述与控制
程序并发执行的特征
1:间断性:程序在并发执行的时候,由于是共享资源,以及完成同一项任务而相互合做,导致在这些并发执行的程序之间造成了相互制约的关系,致使程序执行呈现:执行--暂停--执行
2:失去封闭性:当系统中有多个并发执行的程序时,各个资源是他们所共享的,这些资源的状态也由这些程序所改变,因此摸一个程序的运行环境会受到其余程序的影响。
3:不可再生性
进程的特征与三种基本状态
一、特征:
线程与进程的区别联系
一、定义:
进程:进程是具备必定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。(包括程序段,相关数据段,和进程控制块PCB)
线程:线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程本身基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),可是它可与同属一个进程的其余的线程共享进程所拥有的所有资源.
进程间的通讯是如何实现的?
早期的属于低级通讯:缘由:1:效率低,生产者每次只能向缓冲池投放一个信息 2:通讯对用户不透明,隐藏了通讯的具体细节。如今发展为高级通讯:用户能够利用操做系统所提供的一组通讯命令传送大量数据。操做系统隐藏了进程通讯的实现细节。或者说,通讯过程对用户是透明的。
高级通讯机制:
1:共享存储器系统(存储器中划分的共享存储区)
实际操做中对应的是“剪贴板”(剪贴板其实是系统维护管理的一块内存区域)的通讯方式。
2:消息传递系统(进程间的数据交换以消息(message)为单位)
当今最流行的微内核操做系统中,微内核与服务器之间的通讯,都采用 了消息传递机制
3:管道通讯系统(链接读写进程实现他们之间通讯的共享文件(pipe文件,相似先进先出的队列,由一个进程写,另外一进程读))
管道分为匿名管道、命名管道。匿名管道是未命名的、单向管道,经过父进程和一个子进程之间传输数据。匿名管道只能实现本地机器上两个进程之间的通讯,不能实现跨网络的通讯。命名管道不只能够在本机上实现两个进程间的通讯,还能够跨网络实现进程间的通讯。
4:客户机-服务器系统
包括:套接字(socket),远程过程调用和远程方法调用
什么是临界区?如何解决冲突?
每一个进程中访问临界资源的那段程序称为临界区,每次只准许一个进程进入临界区,进入后不容许其余进程进入。
1:若是有若干进程要求进入空闲的临界区,一次仅容许一个进程进入;
2:任什么时候候,处于临界区内的进程不可多于一个。如已有进程进入本身的临界区,则其它全部试图进入临界区的进程必须等待;
3:进入临界区的进程要在有限时间内退出,以便其它进程能及时进入本身的临界区;
4:若是进程不能进入本身的临界区,则应让出CPU,避免进程出现“忙等”现象。
进程同步原则
进程同步的主要任务:是对多个相关进程在执行次序上进行协调,以使并发执行的诸进程之间能有效地共享资源和相互合做,从而使程序的执行具备可再现性。同步机制遵循的原则:
1:空闲让进;
2:忙则等待(保证对临界区的互斥访问);
3:有限等待(有限表明有限的时间,避免死等);
4:让权等待,(当进程不能进入本身的临界区时,应该释放处理机,以避免陷入忙等状态)。
进程同步
因为进程同步产生了一系列经典的同步问题“生产者-消费者”问题,“哲学家进餐”问题,“读者-写者”问题。
程序和进程的区别
程序:计算机指令的集合,它以文件的形式存储在磁盘上。程序是静态实体(passive Entity),在多道程序系统中,它是不能独立运行的,更不能与其余程序并发执行。
使用系统资源状况:不使用(程序不能申请系统资源,不能被系统调度,也不能做为独立运行的单位,它不占用系统的运行资源)。
进程:进程是进程实体(包括:程序段、相关的数据段、进程控制块PCB)的运行过程,是一个程序在其自身的地址空间中的一次执行活动。是系统进行资源分配和调度的一个独立单位。
使用系统资源状况:使用(进程是资源申请、调度和独立运行的单位,所以,它使用系统中的运行资源)
3、处理机调度与死锁
处理机调度的层次:
1:高级调度
主要用于多道批处理系统中,又称长做业调度,调度队像是做业,根据某种算法决定将后备队列中的哪几个做业调入内存。
2:低级调度
操做系统中最基本的一种调度方式(频率最高),在多道批处理、分时和时实三中类型的OS中都存在,又称为短做业调度。
3:中级调度
又称为内存调度,目的是为了提升内存的利用率和系统的吞吐率,
做业调度的算法:
3:优先级调度算法(PSA)
优先级:对于先来先服务算法,做业的等待时间就是他的优先级,等待时间越长优先级越高,对于短做业优先级做业的长短就是他的优先级。在优先级算法中,基于做业的紧迫程度。
4:高响应比优先调度算法(HRRN)
在FSFS中只是考虑做业的等待时间而忽略做业的运行时间,SJF算法正好相反,高响应比算法既考虑做业的等待时间有考虑做业的运行时间,
优先权 = (等待时间+要求服务时间)/要求服务时间
因为等待时间与服务时间之和就是做业的相应时间,顾优先级至关于响应比:Rp
Rp = (等待时间+要求服务时间)/要求服务时间 = 响应时间/要求服务时间
什么是死锁,死锁产生的4个条件
死锁定义:
在两个或多个并发进程中,若是每一个进程持有某种资源而又都等待别的进程释放它或它们如今保持着的资源,在未改变这种状态以前都不能向前推动,称这一组进程产生了死锁。通俗地讲,就是两个或多个进程被无限期地阻塞、相互等待的一种状态。
产生条件:
优势:简单,安全。 缺点:资源严重浪费,恶化了系统的利用率;
2: 破坏“不剥夺”条件:进程逐个的提出资源请求,当一个已经保持了某些资源的进程,再提出新的资源请求而不能当即获得知足时,必须释放它已经保持了的全部资源,待之后须要时再从新申请。缺点:实现复杂,代价大,反复地申请和释放资源,而使进程的执行无限的推迟、延长了进程的周转时间增长系统开销、下降系统吞吐量。
3: 破坏“环路等待”条件:将全部的资源按类型进行线性排队,并赋予不一样的序号。全部进程请求资源必须按照资源递增的次序提出,防止出现环路。缺点:一、序号必须相对稳定,限制了新设备类型的增长二、做业(进程)使用资源顺序和系统规定的顺序不一样而形成资源的浪费三、限制了用户编程
注意:因为互斥条件是非共享设备所必需的,不能改变
4、存储器管理
连续分配存储管理方式
1:单一连续分配分页存储管理方式
分段存储管理方式
段页式存储管理方式
基本原理是分段和分页相结合,其地址结构由:段号、段内页号、页内地址三部分组成。在段页式系统中得到一条指令须要三次访问内存,第一次访问内存中的段表,第二次访问内存中的页表,第三次访问内存中的数据。
Windows下的内存是如何管理的?
Windows提供了3种方法来进行内存管理:
1:虚拟内存,最适合用来管理大型对象或者结构数组;
2:内存映射文件,最适合用来管理大型数据流(一般来自文件)以及在单个计算机上运行多个进程之间共享数据;
3:内存堆栈,最适合用来管理大量的小对象。
Windows操纵内存能够分两个层面:物理内存和虚拟内存。
其中物理内存由系统管理,不容许应用程序直接访问
5、虚拟存储器
操做系统的内容分为几块?什么叫作虚拟内存?他和主存的关系如何?内存管理属于操做系统的内容吗?
请求分页存储管理方式
页号 | 物理块号 | 状态位P | 访问字段A | 修改位M | 外存地址 |
虚拟存储器页面置换算法
6、输入输出系统
7、文件管理
文件逻辑结构分类
按文件的有无结构分:
1:有结构文件(记录式文件) 2:无结构文件(流式文件)
按文件组织方式分:
1:顺序文件,2:索引文件,3:索引顺序文件
8、磁盘存储器管理