1、PCB
进程控制块包含三类消息1、标识信息(进程标识符、父进程的标识符等) 2、现场信息(寄存器的内容、控制寄存器(如PSW寄存器)的内容、用户堆栈指针) 3、控制信息(进程调度的相关信息)
进程控制块包含三类信息
1.标识信息。
用于唯一地标识一个进程,常常分由用户使用的外部标识符和被系统使用的内部标识号。几乎所有操作系统中进程都被赋予一个唯一的、内部使用的数值型的进程号,操作系统的其他控制表可以通过进程号来交叉引用进程控制表。常用的标识信息包括进程标识符、父进程的标识符、用户进程名、用户组名等。
2.现场信息。
用于保留一个进程在运行时存放在处理器现场中的各种信息,任何一个进程在让出处理器时必须把此时的处理器现场信息保存到进程控制块中,而当该进程重新恢复运行时也应恢复处理器现场。常用的现场信息包括通用寄存器的内容、控制寄存器(如PSW寄存器)的内容、用户堆战指针、系统堆饺指针等。
3.控制信息。
用于管理和调度一个进程。常用的控制信息包括:
l)进程的调度相关信息,如进程状态、等待事件和等待原因、进程优先级、队列指引元等
2)进程组成信息,如正文段指针、数据段指针
3)引进程间通信相关信息,如消息队列指针、信号量等互斥和同步机制
4)进程在辅存储器内的地址
5)CPU资源的占用和使用信息,如时间片余量、进程己占用CPU的时间、进程己执行的时间总和,记账信息
6)进程特权信息,如在内存访问和处理器状态方面的特权...
2、块设备和字符设备
块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘、软盘、CD-ROM驱动器和闪存都是典型的块设备,应用程序可以寻址磁盘上的任何位置,并由此读取数据。此外,数据的读写只能以块(通常是512B)的倍数进行。与字符设备不同,块设备并不支持基于字符的寻址。
Linux中I/O设备分为两类:字符设备和块设备。两种设备本身没有严格限制,但是,基于不同的功能进行了分类来。
(1)字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节自/字符来读写数据。举例来说,百键盘、串口、调制解调器都是典型的字符设备。
(2)块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘、软盘、CD-ROM驱动器和闪存都是典型度的块设备,应用程序可以寻址磁盘上的任何位置,并由此读取数据。此外,数据的读写知只能以块(通常是512B)的倍数进行。与字符设备不同,块设备并不支持基于字符的寻址。
3、CPU与外设传输数据的方式
CPU与外设传输数据共有三种方式:
1.程序控制方式
2.中断方式
3.DMA方式
程序控制方式:
程序控制方式可细分为无条件传送和查询式传送
(1)无条件传送:
无条件传送是一种最简单的程序控制传送方式。该种方式是由用户进程直接控制内存或CPU和外围设备之间的信息传送。这种方式控制者都是用户进程。当程序执行到输入输出指令时,CPU不需要了解端口的状态,直接进行数据的传送。该种方式的输入输出口电路很简单,如让数码管显示输出代码。
(2)查询传送方式
与无条件传送方式的不同点在于查询传送方式在执行输入输出操作之前,需要通过测试程序来对外部设备的状态进行检测,只有当选定的外设已经“准备就绪”后,才能够开始进行输入输出操作。
中断方式:
当外设准备好与CPU进行数据传输时,外设首先会通过中断引脚向CPU发出中断请求,CPU接收到中断请求后在一定的条件下暂停原来的程序执行中断服务处理程序,执行完毕之后再返回原来的程序继续执行。
DMA方式:
DMA:direct memory access,直接存储器访问。
DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来实行和完成。在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。
DMA方式最明显的一个特点是,它不是使用软件而是采用一个专门的控制器来管理内存与外设之间的数据交流,无需CPU直接来进行数据的操作,大大提高了CPU的工作效率。
4、页面置换方法
请求分页系统建立在基本分页系统基础之上,为了支持虚拟存储器功能而增加了请求调页功能和页面置换功能。请求分页是目前最常用的一种实现虚拟存储器的方法。
在请求分页系统中,只要求将当前需要的一部分页面装入内存,以便可以启动作业运行。在作业执行过程中,当所要访问的页面不在内存时,再通过调页功能将其调入,同时还可以通过置换功能将暂时不用的页面换出到外存上,以便腾出内存空间。
页面置换算法的主要目标是使页面置换频率最低(也可以说缺页率最低)。
常见的页面置换算法有以下几种:
1、最佳置换算法(Optimal,OPT)
2、先进先出页面置换算法(First In First Out,FIFO)
3、最近最久未使用( Least Recently Used,LRU)置换算法
4、第二次机会算法
5、时钟算法(clock)
6、改进时钟算法
7、最不常用算法(LFU,Least Frequently Used)
OPT是理想情况下的页面置换算法,是不可能实现的
FIFO(先入先出)是最简单的页面置换算法
LRU(最近最久未使用算法),实质是当需要置换一页时,选择在最近一段时间里最久没有使用过的页面予以置换,LRU经常使用。
CLOCK(与LRU近似实现)