1.基本概念
1.1操作系统的类型
1 批处理操作系统:
许多用户作业组成一批作业,输入计算机,系统自动、依次执行每个作业。
2 分时操作系统:
将处理机(CPU)的时间划分成若干个时间片,然后按照一定的方式分配给各个作业轮流使用。
3 实时操作系统:
及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有的实时设备和实时任务协调一致的工作。
2.五大管理功能:
2.1.进程管理(处理机管理):
对处理机执行时间的管理,即如何将CPU合理地分配给每个任务进程控制、进程同步、进程通信和调度。
进程的状态:
三态模型:运行态、就绪态、等待态。
信号量与PV操作
进程之间经常会存在互斥和同步两种关系,为了有效地处理这两种情况,Dijkstra在1965年提出信号量和PV操作。
(1)信号量:一种特殊的变量,一个整型S(signal)。
(2)P操作:S=S- 1,若S<0,进程暂停执行,进入等待对列。
(3)V操作:S=S+1,若S<=0,唤醒等待队列中的一个进程。
互斥控制:一次只允许一个进程访问的资源称为临界资源。访问这些资源的代码段,称为临界区。互斥控制阻止多个进程同时进入访问临界区,进而只允许一个进程使用临界资源。表示如下:
P(S)
临界区 S初始值设为1
V(S)
同步控制:进程A在进程B到达L2之前,不应前进超过L1,如下所示:
进程A 进程B
... ...
L1:P(S) L2:V(S) S初始值设为0
... ...
生产者—消费者问题:系统中有个缓冲区,进程P1不断写数据到缓冲区,进程2不断从缓冲区取出数据。假设缓冲区只能容纳一个数据。不仅要解决生产者进程与消费者进程的同步关系,还要处理缓冲区的互斥关系。如下表示:
S1:empty,初始值为1,表示缓冲的empyt区域个数为1.
S2: full,初始值为0,表示一开始fuli为0,empty=1,没有数据。
P1 P(empty),送缓冲区,V(full),循环;
P2 P (full), 取走数据,V(empty),循环。
理解P、V操作:
(1)信号量与P、V操作是解决并发问题的,并发问题最重要的问题就是互斥与同步两个关系,只要这两个关系存在,信号量就有用武之地。遇到这类问题,应先从寻找互斥与同步关系开始,套用 简单互斥、简单同步、生产者-消费者问题。
(2)一个互斥或一个同步关系可以使用一个信号量来解决。
(3)信号量的初值通常就是可用资源的可用数。对初始为0的信号量,会先做V操作。
(4)使用资源之前,将会使用P操作,资源使用完之后,将会使用V操作。在互斥关系中,对一个信号量的P、V操作在一个进程中成对出现;在同步关系中,P、V操作一定在两个甚至多个进程中成对出现。
死锁问题:
多个进程之前,互相等待对方的资源,而在得到对方资源之前又不释放自己的资源,这样,造成循环等待的一种现象。
在分配资源之前,先看清楚,如果资源分配下去后,是否会死锁。如果会死锁,则不分配,否则就分配。
2.2.存储管理:
对存储空间的管理,主要指对内存的管理:内存的分配、保护、扩充、地址映射、逻辑地址和物理地址的转换。
1.虚拟存储技术:
在内存中保留一部分程序或数据,在外存(硬盘)中放置整个地址空间的副本。当需要的程序或数据不在内存时,就将内存中部分内容写回外存,然后从外存调入所需程序或数据,实现作业内部的局部对换。
2.虚拟存储器的分类:
3.虚存管理;
- 最优算法:将不用的或最远才用的的页对换出去。(理想算法,不可能实现)
- 随机算法:随机对换。
- 先进先出算法:将最先调入的页对换出去。
- 最近最少使用算法:选择最近一段时间使用最少的页对换出去。
2.3.作业管理:
1.作业的状态
一般要经历:提交、后备、执行和完成四个状态。
(1)提交状态:作业由输入设备进入外存储器的过程。
(2)后备状态:作业全部信息进入外存后,系统为作业建立一个作业控制块。
(3)执行状态:一个后备作业被作业调度程序选中,分配了必要的资源,进入了内存,同时为其建立了相应的进程,该作业就由后备状态变成了执行状态。
(4)完成状态:当作业正常运行结束,它所占用的资源尚未全部被系统回收的状态称为完成状态。
2.处理机的调度:三级调度
(1)高级调度。也称作业调度,主要功能在后备作业队列中选择一个或一组作业,为它们建立进程、分配必要资源,使它们能够运行起来。
(2)中级调度。也称交换调度,主要功能是在内存资源不足时将某些处于等待状态或就绪状态的进程调出内存,腾出空间后,再将外存上的就绪程序调入内存。
(3)低级调度。也称进程调度,主要功能是确定处理器在就绪程序间的分配。
3.作业的调度算法
作业调度主要完成从后备状态到执行状态的转变,及从执行状态到完成状态的转变。
(1)先来先服务(FCFS)。
(2)短作业优先(SJF)。
(3)响应比高者优先(HRN)。
响应比:HRN=(估计运行时间+等待时间)/估计运行时间。
(4)优先级调度。根基作业的优先级别调度。
计算机的性能指标:系统响应速度和作业吞吐量。
作业周转时间等于完成时间减去提交时间,或等于等待时间加上运行时间。
2.4.设备管理
1.设备管理的功能
在计算机系统中,除了处理器和内存之外,其他的大部分硬件设备称为外部设备,包括输入/输出设备,辅存设备(硬盘)以及终端设备(显示器,打印机)。设备管理的功能有:
(1)提供和进程管理系统的接口。如进程需要通过这个接口申请设备资源。
(2)进行设备分配。
(3)实现设备和设备、设备和CPU等之间的并行操作。
(4)进行缓冲区管理。减少外设和内存与CPU之间的数据速度不匹配的问题。
2.设备驱动程序处在操作系统与硬件之间,与上层软件无关。驱动程序的任务是
3.虚拟设备
SPOOLING(Simultaneous Peripheral Operation On Line),外部设备同时联机操作,又称假脱机输入输出操作,采用一组程序或进程模拟一台I/O处理器。
该技术利用了专门的外围控制机将低速I/O设备上的数据传送到高速设备上,然后在高速设备与内存之间传送数据。或者相反。在主机的控制下实现脱机输入、输出的功能。此时外围操作与CPU对数据的处理同时进行,将这种在联机情况下实现的外围操作称为SPOOING,或称为假脱机操作。
采用假脱机技术,可以将低速的独占设备改造成一种可共享的设备,而且一台物理设备可以对应若干态虚拟的同类设备。