windows是一个多任务操作系统。
linux 是UNIX变种。支持多用户,多任务,分页式虚拟存储。动态链接库,动态调整文件系统缓存区大小功能。
其网络功能非常强大,几乎能与当前绝大多数网络互连。
操作系统是计算机系统中最重要的一个系统软件,对操作系统的四种基本观点:用户环境的观点、虚拟机的观点,作业组织的观点和资源管理的观点。
若干因素推动着操作系统的发展,
进程
程序的顺序执行
程序:源代码程序,目标程序和可执行程序
程序执行:编译,编译、链接、执行
程序的结构:顺序结构,分支结构和循环结构
进程:可并发执行的过程,在一个数据集合上的运行过程。
申请/拥有资源,线程是调度的基本单位
程序:静态概念,是指令与数据的集合,可长期存储。
进程与程序对应的关系
一个程序可以对应一个进程或多个进程
一个进程可以对应一个程序,或者一段程序。
进程的特征
动态性:具有生命周期
并发性:多个进程交替执行
独立性:
异步性:推进的次序
进程的组成:程序、数据集合、进程控制块PCB
PCB是继承存在的唯一标志,创建线程时,创建PCB,进程结束时,系统将撤销PCB。
PCB
进程标识信息:进程的内部和外部标识符
处理机状态信息:通用寄存器值,指令计数器值、程序状态字PSW值、用户栈指针值。
进程调度信息信息:程序状态、进程优先权、进程调度的其他信息。
其他信息:程序及数据地址、进程同步和通讯机制、资源清单。链接指针。
PCB的组织方式之一:单一队列,所有进程的PCB通过链表组织成为一个单一队列。适用于进程数目不多的系统。如windows系统。
PCB的组织方式之二:表格结构,PCB按照进程状态不同,组织成不同的表格,就绪进程表,执行进程表及阻塞进程表。
系统分别记载各PCB表的起始地址。
PCB的组织方式之三:多级队列,PCB按照进程状态不同用链接指针组成不同的队列:就绪进程队列,阻塞进程队列。系统分别记载各PCB链表的起始地址。
进程的状态:
进程的轨迹:进程执行的指令序列,用以观察处理机的执行过程。
两状态进程模型
执行、未执行
进程获得处理机,进入执行状态,当时间片结束或者其他某种原因,进程释放处理机,暂停执行,处于未执行状态。
队列形式:
进入——》队列形式(未执行)——》处理机——循环
未执行状态分为就绪队列和阻塞(等待I/O或其他资源)队列。
进程的五状态
执行状态(RUNNING):占用处理机(单处理机环境中,某一个时刻仅有一个进程占用处理机)
就绪(READY):准备执行
阻塞状态(Block):等待某时间发生才能执行,如等待I/O完成等
新状态(NEW):进程已经创建,但未被OS被接纳为可执行进程。(可能有一部分资源没有获得)
终止状态(Terminated):因停止或取消,被os从执行状态释放。
空:新状态,新状态的进程首先处于新状态
新状态——就绪状态:当系统允许增加就绪状态时,操作系统接纳新建状态进程。将他变为就绪状态,插入就绪队列中。
就绪状态——执行状态;当处理机空闲时,将从就绪状态队列中选择一个进程执行,该选择过程称为进程调度,或将处理机分派给一个进程,该进程状态从就绪状态转变为执行。
执行状态—终止状态:执行状态的进程执行完毕,或初选诸如访问地址越界,非法指令等错误,而被异常结束,则进程从执行状态转换为终止状态。
执行状态——就绪状态:分时系统时间片到,或优先级高的进程到来。将终端较低优先级进程的执行。进程从执行状态转变为就绪状态。等待下一次调度。
执行状态——阻塞状态:阻塞状态执行进程需要等待某事件发生,通常,会因为进程需要的系统调用不能立即完成。如读文件,共享虚拟内存。等待Io操作
阻塞状态——就绪状态:当阻塞进程等待事件发生,就转换为就绪状态。进入就绪队列排队,等待被调度执行。
某些系统允许父进程在任何情况下终止子进程。如果一个父进程被终止,其子孙进程都必须终止。
多个进程竞争内存资源,内存资源紧张。无就绪进程,处理机空闲。处理方法:采用交换技术,换出一部分到外存,以腾出内存空间。采用虚拟存储技术,内个进程只能装入已备份程序和数据。
将内存中暂时不能运行的进程,或暂时不用的数据和程序,换出到内存,以腾出足弓的内存空间,把已具备运行的进程,或进程所需要的数据和程序,还如内存。‘
进程被交换到外存,状态变为挂起状态。
进程挂起的原因:进程全部阻塞,处理机空闲
系统负荷过重,内存空间紧张
操作系统的需要,操作系统可能需要挂起后台进程或一些服务进程。或者某些导致系统故障的进程。
终端用户的请求。
父进程的需求。
被挂起线程的特征
不能立即执行。
可能是等待某件事发生,若是,则阻塞条件独立于挂起条件,即使阻塞事件发生,该线程也不能执行。
使之挂起的进程为:自身,其父进程,os
只有挂起它的进程才能使之由挂起状态转换为其他状态。
进程是否等待事件? 阻塞是否
进程是否被换出内存?挂起是否
就绪:进程在内存,准备执行。
阻塞:进程在内存,等待事件
就绪/阻塞:进程在外存,只要调入内存即可执行
阻塞/挂起:进程在外存,等待事件
处理机可以执行的进程有两种:
新创建的进程
或换一个以前挂起的进程(为避免增加系统负载,系统会换一个以前挂起的线程)
进程控制:
两种执行模式
系统模式(系模式)、控制模式(内核模式)
具有较高特权
运行系统特定的指令,包括读写控制寄存器的指令,基本Io指令以及与存储器管理有关的指令。
内核模式下的处理机及其指令
用户模式(用户态)
具有较低的特权
用户程序一般运行在用户模式
模式切换
用户模式——系统模式:用户程序执行到一系统调用,进入操作系统内核执行
系统模式——用户模式:执行完系统调用的功能,返回到用户模式。
程序执行到结束语句时,切换到系统模式,不再返回到用户程序。
操作系统的内核:基于硬件的第一层软件的扩充。是操作系统工作的基础。
将硬件紧密相关的,基础的,公共的,以及关键性数据结构独立开来。使之常驻内存,并对他们进行特殊的保护。操作系统内核的功能为资源管理功能和支撑功能。
资源管理:进程管理、存储管理、和I/O设备管理
支撑功能:中断处理、统计、监测、时钟管理。原语操作等。
进程管理:进程的创建和终止,调度。状态转换,同步和通信,管理PCB
存储管理:为进程分配地址空间、对换、段/页管理
I/o设备管理:缓存管理,为进程分配I/O通道和设备。
支撑功能:中断功能,时钟管理,原语:原子操作,统计、监测。