1、从用户的观点看:OS是用户和计算机之间的接口。
2、从资源管理的观点看:OS是管理和控制计算机系统资源的管理软件。
3、从进程的观点看:OS是合理组织计算机工作流程的大型软件。
4、从软件分层、扩充机器的观点看:OS是扩充裸机的第一层系统软件,它是由若干层次、按照一定结构形式组成的有机体。
5、从发展观点看:OS是为了给计算机系统功能扩展提供支撑平台,使之在追加新的服务和功能时更加容易,且不影响原有的服务和功能。
操作系统引论
操作系统的发展过程
人工操作阶段:人—— 机矛盾(CPU等待人工操作)
联机(CPU直接控制I/O)批处理:高速的CPU与慢速的I/O设备之间的矛盾
脱机批处理:实现了CPU运行与I/O的并发操作,提高了系统的利用率。批之间的切换不灵活;
多道批处理系统的优缺点:
(1)资源利用率高。
(2) 系统吞吐量大。
(3) 平均周转时间长。
(4) 无交互能力。
分时系统 :(1) 人—机交互。 (2) 共享主机。
所谓分时技术,是把处理机的时间划分成很短的时间片(如几百毫秒),轮流地分配给各个联机作业使用。如果某个作业在分配的时间片用完之前计算还未完成,该作业就暂时中断,等待下一轮继续计算。即CPU的分配,是可剥夺的。
实时操作系统:一种对外部输入的信息,能够在很短的、 规定时间内处理完毕,并作出反应的专用操作系统。
实时操作系统的特点:及时响应高可靠性和安全性、系统的整体性强。
操作系统的基本特性
并行性和并发性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生。并发性是指两个或多个事件在同一时间间隔内发生。
共享:
临界资源共享方式称为互斥式共享方式。在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。
系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。
虚拟:
时分复用技术:在虚拟处理机技术中,是通过多道程序设计技术,让多道程序并发执行的方法,来分时使用一台处理机的。
空分复用技术:通过虚拟存储器技术,将一台机器的物理存储器变为虚拟存储器,以便从逻辑上来扩充存储器的容量。
进程描述与控制
前趋图和程序执行
前趋图是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的先后顺序。
程序顺序执行时的特征:顺序性、封闭性、可再现性。
把一个程序分成若干个可同时执行的程序模块的方法称为并发程序设计,能够并发执行的程序称为并发程序。
程序并发执行是指两个或多个作业程序在同一时间间隔内或者同时或者交替的执行。是为了增强计算机系统的处理能力和提高资源利用率所采取的一种同时操作技术。
进程的描述
所谓进程,就是一个程序在给定活动空间和初始环境下,在一个处理机上的执行过程。是系统进行资源分配和调度的一个独立单位。
进程的特征:动态性、并发性、独立性、异步性。
进程与程序的区别与联系:
(1)进程是动态的概念,有生命周期(创建、执行、消亡)。程序是静态的概念。
(2)进程具有并发特征,而程序没有。
(3)进程是竞争系统资源的基本单位。
(4)一个程序由一个以上的多个进程组成;一个进程可以执行一个或几个程序。
进程的三种基本状态:
据优先级调度用的进程状态变迁图:
采用优先调度与时间片调度相结合的调度策略。优先照顾了I/O量大的进程; 适当照顾了计算量大的进程。
进程管理中的数据结构:
进程控制块(PCB):PCB是用以记录进程有关信息的一块主存,由系统建立。PCB是进程存在的唯一标志。系统创建一个新进程时,就为它建立了一个PCB;进程结束时又回收起PCB,进程于是也随之消亡。
进程控制块的组织方式:线性方式 、链接方式、索引方式。
进程控制
原语:是由若干条指令组成的,用于完成一定功能的一个过程。进程控制是通过原语来实现的。
原语是原子操作。原子操作是指一个操作中的所有操作要么全做,要么全不做。原子操作在系统态下执行,常驻内存。原语是一个不可分割的基本单位。
进程同步
两种形式的制约关系:
临界资源:一段时间内,一次仅允许一个进程使用的资源称为临界资源。
临界区:在每个进程中访问临界资源的那段代码称为临界区。
信号量机制:wait(S)和signal(S)。这两个操作一直被分别称为P、V操作。
S->value的初值表示系统中某类资源的数目,因而又称为资源信号量,对它的每次wait操作,意味着进程请求一个单位的该类资源。对信号量的每次signal操作,表示执行进程释放一个单位资源,故S->value++操作表示资源数目加1。
AND同步机制的基本思想是:将进程在整个运行过程中需要的所有资源,一次性全部地分配给进程,待进程使用完后再一起释放。只要尚有一个资源未能分配给进程,其它所有可能为之分配的资源,也不分配给他。
信号量的应用:
利用信号量实现进程互斥:
利用信号量实现前趋关系
经典进程的同步问题
生产者—消费者问题:
假定在生产者和消费者之间的公用缓冲池中,具有n个缓冲区。
Mutex:互斥信号量,实现诸进程对缓冲池的互斥使用;
empty:同步信号量,表示缓冲池中空缓冲区的数量。
full:同步信号量,表示缓冲池中满缓冲区的数量。
哲学家进餐问题:
进程通信
进程通信的类型:
1、共享存储器系统
2、管道(Pipe)通信系统
3、消息传递系统:又因其实现方式的不同而进一步分成直接通信方式和间接通信方式两种。
4、客户机-服务器系统
线程(Threads)的基本概念
为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。
线程运行的三个状态:
(1)执行状态,表示线程已获得处理机而正在运行;
(2)就绪状态,指线程已具备了各种执行条件,只须获得CPU便可立即执行;
(3)阻塞状态,指线程在执行中因某事件而受阻而处于暂停状态。
多线程OS中的进程属性:
(1) 进程是一个可拥有资源的基本单位;
(2) 多个线程可并发执行;
(3) 进程已不是可执行的实体。