一、操做系统分类
批处理操做系统、分时操做系统(Unix)、实时操做系统、网络操做系统、分布式操做系统、微机操做系统(Linux、Windows、IOS等)、嵌入式操做系统。linux
二、操做系统的4个特征:并发性、共享性、虚拟性、不肯定性。
三、操做系统的功能有:处理机管理、文件管理、存储管理、设备管理、做业管理。
- 处理机管理:也称进程管理。实质上是对处理机执行时间进行管理,采用多道程序等技术将CPU的时间真正合理地分配给每一个任务。主要包括进程管理、进程同步、进程通讯和进程调度。
- 文件管理:又称信息管理。主要包括文件存储空间管理、目录管理、文件的读写管理和存取管理。
- 存储管理:是对主存储器空间的管理。主要包括存储分配与回收、存储保护、地址映射(变换)和主存扩充。(即内存管理)
- 设备管理:实质上是对硬件设备进行管理,其中包括输入输出设备的分配、启动、完成和回收。
- 做业管理:包括人物、人机交互和用户界面管理等。
四、处理机管理
-
一、程序顺序执行的特征:
- 顺序性:每一操做必须在下一操做开始以前结束
- 封闭性:程序运行时独占全机资源,资源的状态(除初始状态外)只有本程序才能改变,程序一旦执行,其结果不受外界影响
- 可再现性:程序执行环境和初始条件相同,重复执行时,结果相同
-
二、程序并发执行的特征:
- 间断性:程序并发运行时,共享系统资源,为完成同一任务相互合做,会造成相互制约关系,致使并发程序具备“执行-暂停-执行”这种间断性的活动规律
- 失去封闭性:程序并发执行时,资源状态由多个程序改变,某程序执行时,会受到其余程序影响,失去封闭性
- 不可再现性:失去封闭性,致使失去可再现性
-
三、进程的特征
- 结构特征:程序段、相关数据段和PCB三部分构成进程实体
- 动态性:进程实体的一次执行过程,具备生命期,而程序是有序指令集合,是静态的
- 并发性:多个进程同时存于内存,在一段时间内同时运行
- 独立性:进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位
- 异步性:进程按各自独立的、不可预知的速度向前推动
-
4.进程的状态:三态模型(左图)、五态模型(右图)

-
五、进程间的通讯(同步与互斥):因为多个进程能够并发执行,因此进程间必然存在资源共享和相互合做的问题。进程通讯是指各个进程交换信息的过程。
同步是合做进程间直接制约问题,互斥是申请临界资源进程间的间接制约问题。(临界资源(Critical Resource, CR):在同一时间只能供一个进程使用的资源)临界区管理4条原则:算法
-
- 有空即进:
- 无空则等:
- 有限等待:要求访问临界区的进程,保证有限时间内进入临界区,避免死等
- 让权等待:进程不能进入临界区时,应当即释放处理机,避免忙等
-
六、信号量机制:即利用PV操做来对信号量进行处理。
信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用状况有关。windows
-
- 当它的值大于0时,表示当前可用资源的数量;
- 当它的值小于0时,其绝对值表示等待使用该资源的进程个数。
- 注意,信号量的值仅能由PV操做来改变。
通常来讲,信号量S >= 0时,S表示可用资源的数量。执行一次P操做意味着请求分配一个单位资源,所以S的值减1;当S < 0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V操做意味着释放一个单位资源,所以S的值加1;若S <= 0,表示有某些进程正在等待该资源,所以要唤醒一个等待状态的进程,使之运行下去。安全
调度方法分为可剥夺和不可剥夺两种。即当有更高优先级的进程到来时,是否能够将正在运行进程的CPU分配给高优先级的进程,能够则为可剥夺,不然为不可剥夺的。网络
在某些操做系统中,一个做业从提交到完成须要经历高、中、低三级调度。数据结构
-
- 高级调度:又称长调度或做业调度。它决定处于输入池中的哪一个后备做业能够调入主系统作好运行的准备,成为一个或一组就绪进程。系统中一个做业只需通过一次高级调度。
- 中级调度:又称短程调度或对换调度。它决定处于交换区中的就绪进程哪一个能够调入内存,以便直接参与对CPU的竞争。在内存资源紧张时,为了将进程调入内存,必须将内存中处于阻塞状态的进程调出交换区,以便为调入进程腾出空间。
- 低级调度:又称短程调度或进程调度。它决定处于内存中的就绪进程中的哪一个能够占用CPU。最活跃、最重要的调度程序,对系统影响也是最大的。
常见的进程调度算法:先来先服务(FCFS)、短做业优先、时间片轮转(固定时间片、可变时间片)、优先级调度(静态优先级、动态优先级)、多级反馈调度(时间片轮转+优先级调度)。多线程
-
八、死锁:两个以上的进程互相要求对方已经占有的资源致使没法继续运行下去的现象
-
(1) 由于系统资源不足。并发
(2) 进程运行推动的顺序不合适。异步
(3) 资源分配不当等。分布式
若是系统资源充足,进程的资源请求都可以获得知足,死锁出现的可能性就很低,不然就会因争夺有限的资源而陷入死锁。其次,进程运行推动顺序与速度不一样,也可能产生死锁。
-
- 产生死锁的四个必要条件:互斥条件、请求与保持条件、不剥夺条件、循环等待条件。
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已得到的资源保持不放。
(3) 不剥夺条件:进程已得到的资源,在末使用完以前,不能强行剥夺。
(4) 循环等待条件:若干进程之间造成一种头尾相接的循环等待资源关系。
这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不知足,就不会发生死锁。
-
- 解决死锁的4种处理策略:鸵鸟策略(即不理睬策略)、预防策略、避免策略、检测与解除策略。
死锁预防:预先静态分配法(破坏不可剥夺条件)、资源有序分配法(将资源分类按顺序排列,保证不造成环路)。
死锁避免:银行家算法(对每一个资源请求进行检测,确保安全。须要很大的系统开销)。
死锁解除:资源剥夺法、撤销进程法。
-
九、线程与进程
-
定义:
- 进程是具备必定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。
- 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程本身基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),可是它可与同属一个进程的其余的线程共享进程所拥有的所有资源。也有就绪、运行、阻塞三态。
- 关系
- 一个线程能够建立和撤销另外一个线程;同一个进程中的多个线程之间能够并发执行.
- 相对进程而言,线程是一个更加接近于执行体的概念,它能够与同进程中的其余线程共享数据,但拥有本身的栈空间,拥有独立的执行序列。
- 区别:
1) 简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
2) 线程的划分尺度小于进程,使得多线程程序的并发性高。
3) 另外,进程在执行过程当中拥有独立的内存单元,而多个线程共享内存,从而极大地提升了程序的运行效率。
4) 线程在执行过程当中与进程仍是有区别的。每一个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。可是线程不可以独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
5) 从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分能够同时执行。但操做系统并无将多个线程看作多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。
线程执行开销小,但不利于资源的管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则能够跨机器迁移。
五、存储管理
- 地址重定位:指将逻辑地址变换成物理地址的过程。分为静态重定位和动态重定位。
- 存储管理方案:分区存储管理(固定分区、可变分区、可重定位分区)、分页存储管理(将一个进程的地址空间划分为若干个大小相等的区域,成为页,相应地,将主存空间划分红与页相同大小的若干个物理块,称为块。至少须要两次访问主存)、分段存储管理、段页式存储管理(地址结构:段号+段内页号+页内地址)、虚拟存储管理。
可变分区的请求和释放主要算法:最佳适应算法、最差适应算法、首次适应算法、循环首次适应算法。
快表:在页式存储管理中将当前最活跃的少数几页的物理块号保存在高速存储器中,用以提升页式存储管理的性能。(不用两次访问主存)
页面置换算法:最佳置换算法(最长时间内再也不被访问的页面置换出去)、先进先出置换算法、最近最少未使用置换算法、最近未用置换算法。
六、设备管理
- 设备管理的目标是如何提升设备的利用率,为用户提供方便统一的界面。
- 设备管理采用的缓冲技术:通道技术、DMA技术、缓冲技术、Spooling技术。
- 磁盘调度算法:先来先服务(FCFS)、最短寻道时间(SSTF)、扫描算法(SCAN)(先由里向外,到达最外后由外向里)、单向扫描调度算法(CSCAN)(没法换向,只能由里向外)。
七、文件管理
- 文件的逻辑结构:有结构的记录式文件(由一个以上的记录构成。记录分为定长记录、不定长记录)、无结构的流式文件(由一串顺序的字符流构成的文件,不划分记录)。
- 文件的物理结构:顺序结构、连接结构、索引结构、多个物理块的索引表。
- Unix的三级索引结构:
- 文件的存取方法:顺序存取法、随机存取法。
- 文件的存储空间管理:外存空闲空间管理的数据结构一般称为磁盘分配表。经常使用的空闲空间的管理方法:位示图(用一个bit为的0、1表示一个物理块的空闲状况)、空闲区表、空闲块链、成组连接法(每100块为一组进行记录空闲的块号和大小)。
- 文件连接:硬连接(两个文件目录表目指向同一个索引节点,即指不一样的文件名与同一个文件实体的连接)、符号连接(在创建的新文件或目录并与原来的文件或目录的路径名进行映射)。
- 硬链接:原文件名和链接文件名都指向相同的物理地址。目录不能有硬链接;硬链接不能跨越文件系统(不能跨越不一样的分区)文件在磁盘中只有一个拷贝,节省硬盘空间;因为删除文件要在同一个索引节点属于惟一的链接时才能成功,所以能够防止没必要要的误删除。
- 符号链接:用ln -s命令创建文件的符号链接符号链接是linux特殊文件的一种,做为一个文件,它的数据是它所链接的文件的路径名。相似windows下的快捷方式。能够删除原有的文件而保存链接文件,没有防止误删除功能。
八、做业管理
- 做业状态分为4种:提交(经过输入设备送入计算机)、后备(经过Spooling系统将做业输入到计算机系统的后备存储器中,等待做业调度程序调度)、执行和完成。
- 经常使用的做业调度算法:先来先服务、短做业优先、响应比高优先、优先级调度算法、均衡调度算法。