操作系统(operating system)是控制和管理计算机系统的硬件和软件资源、合理地组织工作流程以及方便用户的程序集合。
操作系统的特征1、并发性(Concurrence)并发性是指两个或多个事件在同一时间间隔内发生。
具有此特性的程序称并发程序。
在多道程序环境下,并发性是指在一段时间间隔内宏观上有多道程序同时运行,但在微观上可能是交替或顺序运行的。
并行性(parallel)是指两个或多个事件在同一时刻发生。
具有此特性的程序称并行程序。
并行执行意即同时执行。
并行是一种物理的、或微观的同时性概念。
并发是一种逻辑的、或宏观的同时性概念。
单处理机系统不能实现并行,但可实现并发。
多处理机系统既可实现并发,又可实现并行。
2共享性是指OS与多个用户程序共同使用计算机系统中的资源。
资源共享方式互斥共享:指某个资源在一段时间内只允许一个进程使用,这种资源称临界资源。
同时共享:指某个资源在一段时间内允许多个进程同时使用。
但这里的同时的概念是宏观的,微观上则可能是交替地对资源进行访问。
3、虚拟性虚拟是指将一个物理的实体变为若干个逻辑上的对应物。
前者是实的后者是虚的,是一种感觉性存在,如虚存、虚网、虚设备、虚文件等。
4、异步性又称:不确定性:多道程序环境下,进程以独立的、不可预知的速度向前推进,即为异步运行方式。
但只要运行环境相同,进程虽经多次运行,都会得到完全相同的结果。
注意:并发性和共享性是OS的两个最基本的特征,这两者之间又是互为存在条件的。
1.6 操作系统的分类批处理操作系统(多道批处理)分时操作系统实时操作系统(前三个为基本操作系统)嵌入式操作系统个人计算机操作系统网络操作系统分布式操作系统1.7 操作系统的功能1、处理机管理2、存储管理3、设备的管理4、文件管理5、用户接口进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。
作业:把一次业务处理过程中,从输入开始到输出结束,用户要求计算机所做的全部工作,称为作业进程状态间转换在进程运行过程中,由于进程自身进展情况及外界环境的变化,这三种基本状态可以依据一定的条件相互转换j 就绪—运行k 运行—就绪l 运行—等待m 等待—就绪利用P、V操作解决同步与互斥问题1、根据问题描述,列出各进程(实体)要执行的程序(行为步骤),找出临界资源。
2、为每一个临界资源设置信号量。
确定信号量的初值,通常取为临界资源的个数。
3、互斥问题中,在临界区前面加P(S),临界区后面加V(S)。
4、同步问题中,P、V操作必须在合作进程中成对出现,有一个P操作就一定有一个V操作。
进程调度算法一、先来先服务(FCFS/FIFO)该法总是把处理机分配给最先进入就绪队列的进程,一个进程一旦分得处理机,便一直执行下去,直到该进程完成或阻塞时,才释放处理机。
二、最短CPU运行期优先调度法(短进程优先调度算法)(SCBF--Shortest CPU Burst First)该法从就绪队列中选出“下一个CPU执行期”最短的进程,为之分配处理机。
三、基于优先数的调度(HPF—Highest Priority First)优先选择就绪队列中优先级最高的进程投入运行,优先级根据优先数来决定,优先数越小,优先级越高。
(HPF—Highest Priority First)四、时间片轮转调度算法(RR—Round Robin)把CPU时间划分成若干时间片,并且按顺序赋给就绪队列中的每一个进程,进程轮流占有CPU,当时间片用完时,即使进程未执行完毕,系统也剥夺该进程的CPU,将该进程排在就绪队列末尾。
同时系统选择另一个进程运行。
(RR—Round Robin)五、多级反馈队列调度算法在系统中设置多个就绪队列,并赋予各队列以不同的优先权。
死锁:一组进程中,每个进程都无限等待被该组进程中另一进程所占有的资源,因而永远无法得到的资源,这种现象称为进程死锁,这一组进程就称为死锁进程。
若死锁发生,会浪费大量系统资源,甚至导致系统崩溃。
银行家算法中的数据结构:Available 可利用的资源数Max[i] 进程i需求的最大资源数Allocation[i] 已分配进程i资源数Need[i] 进程i还需资源数Request[i] 进程i请求资源数4.5.1 简单页式(simple paging)将逻辑地址空间和物理内存划分为固定大小的页或页框(page or page frame),程序加载时,分配其所需的所有页,这些页不必连续。
需要CPU的硬件支持。
在分页存储管理的方式中,如果不具备页对换功能,则称为基本的(纯)分页管理方式,又称静态页式管理。
不具有支持实现虚拟存储器的功能,要么全部调入,要么全部不调入。
页与物理块页:将一个进程的逻辑地址空间分成若干个大小相等的片,称为页。
物理块:把内存空间分成与页相同大小的若干个存储块,称为物理块或页框。
页大小应是2n,通常为512B—8KB。
小->内碎片小;从而减少内存碎片的总空间,有利于提高内存的利用率。
但也会使每个进程占用较多的页。
从而导致进程的页表过长。
大->页表短,管理开销小,交换时对外存I/O效率高,却会使页内碎片增大。
简单段式简单段式管理的基本原理将进程的地址空间划分为若干个段(segment),程序加载时,分配其所需的所有段(内存分区),这些段不必连续;物理内存的管理采用动态分区。
需要CPU的硬件支持。
设备的独立性(Device Independence)也称为设备无关性,指用户编程时使用逻辑设备名,所使用的设备与实际使用的设备无关。
5.1.3 设备的分类1、按数据传输率分类①低速设备。
它是指传输速度为每秒中几个字节至数百个字节的一类设备。
②中速设备。
③高速设备。
2、按信息交换的单位分类①块设备(Block Device)—以数据块为单位存储、传输信息,如磁盘,磁带,光盘。
磁盘的基本特征是传输速度较高,另一特征是可寻址,即可随即地读/写任意一块;再一个特征是采用DMA方式。
②字符设备(Character Device)—以字符为单位存储、传输信息。
如打印机,终端、键盘,鼠标和串口设备。
基本特征:①速率较低;②不可寻址;即不能指定输入时的源地址及输出时的目标地址;③中断I/O方式。
3、从设备的共享属性分类①独占设备—在一段时间内只能有一个进程使用的设备。
(如打印机,磁带等)②共享设备—在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高。
(如硬盘)③虚拟设备—它是指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户进程同时使用,通常把这种经过虚拟技术处理的设备,称为虚拟设备。
目的:将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率。
实例:Spooling技术,利用虚设备技术——用硬盘模拟输入输出设备。
4、按使用特性分类①存储型设备②输入输出型设备(交互型设备)③终端设备④脱机设备Spooling(Simultaneous Peripheral Operating On-Line)技术是以通道为基础,在OS的配合下,实现联机情况下输入、输出外围操作同时进行,也称为假脱机操作。
是OS中统一管理信息资源的一种软件,管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并且方便用户使用。
文件:一组带标识的在逻辑上有完整意义的信息项的序列,这个标识为文件名。
信息项:构成文件内容的基本单位。
长度单位:字节。
文件内容的意义:由文件的建立者和使用者解释。
文件管理系统是指文件和对文件进行操纵和管理的软件集合。
先来先服务:按访问请求到达的先后次序服务。
优点:简单,公平;缺点:效率不高,相临两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利。
最短寻道时间优先:优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先。
优点:改善了磁盘平均服务时间;缺点:造成某些访问请求长期等待得不到服务。
扫描算法(电梯算法):克服了最短寻道优先的缺点,既考虑了距离,同时又考虑了方向。
具体做法:当设备无访问请求时,磁头不动;当有访问请求时,磁头按一个方向移动,在移动过程中对遇到的访问请求进行服务,然后判断该方向上是否还有访问请求,如果有则继续扫描;否则改变移动方向,并为经过的访问请求服务,如此反复。
进程VS程序1、进程是由程序和数据两部分组成的2、进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。
通常进程不可在计算机之间迁移;而程序通常对应着文件、静态和可以复制。
3、进程是暂时的,有生命周期;程序是永久的:进程是一个状态变化的过程,程序可长久保存。
4、进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。
5、进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。
6、进程具有创建其他进程的功能,而程序没有。
页式管理VS段式管理分页是出于系统管理的需要,分段是出于用户应用的需要。
一条指令或一个操作数可能会跨越两个页的分界处,而不会跨越两个段的分界处。
页大小是系统固定的,而段大小则通常不固定。
逻辑地址表示:分页是一维的,各个模块在链接时必须组织成同一个地址空间;分段是二维的,各个模块在链接时可以每个段组织成一个地址空间。
内碎片Internal fragmentation :占用分区之内未被利用的空间。
外碎片External fragmentation :占用分区之间难以利用的空闲分区(通常是小空闲分区)分时系统将处理机运行时间分成很短的时间片,轮流分配给终端用户。
分时系统解决了批处理系统用户不能控制程序运行问题,又解决了手工阶段计算机效率不高问题。
多道程序设计是指允许多个程序同时进入内存并运行。
并发性是指两个或多个事件在同一时间间隔内发生。
具有此特性的程序称并发程序。
并行性(parallel)是指两个或多个事件在同一时刻发生。
具有此特性的程序称并行程序。
进程的三种基本状态:运行、就绪、等待。
进程控制块(PCB):系统为了管理进程设置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化过程。
进程映象由进程基本控制块(proc结构)、正文段和数据段组成。
内核:是加在硬件上的第一层软件,通过执行各种原语操作来实现各种控制和管理功能,具有创建进程、撤消进程、进程通信、资源管理的功能。
系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量。
在每个进程中访问临界资源的代码称为临界区。
进程同步:指系统中一些进程需要相互合作,共同完成一项任务。
具体说,一个进程运行到某一点时要求另一伙伴进程为它提供消息,在未获得消息之前,该进程处于等待状态,获得消息后被唤醒进入就绪态。