《操作系统基础》读书笔记(二)

1、若计算机是使用于多用户的多道程序的设计环境中时,它的指令系统中的指令必须要区分成:特权指令与非特权指令。


特权指令是指在指令系统中那些只能由操作系统使用的指令,一般不允许用户使用。


用户只能使用非特权指令,只有操作系统才能使用所有的指令。根据处理器的状态标识判断CPU是操作系统在执行还是一般用户在执行。


有些系统将处理器工作状态分为核心状态、管理状态、用户状态。但多数系统分为管态(操作系统管理程序运行的状态)和目态(用户程序运行时的状态)。


在计算机中有些特殊寄存器用在指示计算机的状态、权限、行为等。有程序计数器(PC)(用来指示下一条要执行的指令)、程序状态字(PSW)(用在指示寄存器状态)等。


处理器的状态通常包括条件码:反映指令执行后的结果特征;
中断屏蔽码:指出是否允许中断,有些机器使用中断优先级;
CPU工作状态:管态还是目态;
对于微型机:
在这里插入图片描述
C:进位标志; V:溢出标志; Z:结果为零标志位;N:结果为负标志位
I0-I2:中断屏蔽位,它建立CPU的中断优先级由0到7,只接受优先级高于这几位的设定值的中断。
S:CPU状态标志位,为1说明为管态,为0说明为目态。
T:自陷中断指示位,位1时,在下一条指令执行后引起自陷中断,主要用于连机调试排错。
大型机的PSW略,看书看书。


处理器还有很多其他的寄存器,分为两类:
1.用户可见寄存器,又称为通用或专用寄存器,在用汇编和机器码编程时用来存放参数和地址。
2.用来控制处理器的操作和操作系统的子程序控制程序的执行。除了上述的PSW外,还有:
*程序计数器(PC):包含要取下一条指令的地址。
*指令寄存器(IR):包含有新近取来的指令。
*主存地址寄存器MAR:存放CPU将要访问的主存单元地址。
*主存缓冲寄存器MBR:存放写入主存中或从主存中读取的数据。
*I/O地址寄存器IOAR:标明某个特定的I/O设备。
*I/O缓冲寄存器IOBR:用来和I/O设备与处理器交换数据。


2、存储器类型:RAM可以把数据存入其中任一地址单元,并且可在以后的任何时候把数据读出来。ROM只读存储器,只能读但不能用普通的方法写,其变形有PROM,可以用特殊PROM写入器写入数据,EPROM可以用紫外线擦除信息位来复位。
通常计算机把常驻内存的模块放在ROM中。


为简化对存储器的分配和管理,在不少计算机系统中把存储器分成块,在为用户分配主存空间时,以块为最小单位。


保护主存中的用户程序和操作系统:
1.界地址寄存器,在CPU设置一对界限寄存器来存放用户作业在主存中的下限和上限地址,称为下限寄存器和上限寄存器。当访问的寄存器越界时,产生越界中断。
2.存储键,把存储器分块后,每个存储块都有一个与其相关的由五位二进位组成的存储保护键。其中五位中最左四位称为存储保护键,可用特权指令设置为0到15之间的存储键号。当用户作业被允许进入主存时,系统给它分配一个唯一的存储键号,并将分配给作业的各存储块的存储键也设置成同样的键号。当作业被CPU翻牌时,将作业的牌号(键号)放入PSW用来存放键号的地方中。每次CPU访问主存时,都会与主存块进行键号比对,匹配就允许访问。剩下的一位为保护位,当为0时,即使键号不匹配,也可以读数据,但不可以写。当为1时,不可读写,只供用户自己访问。


3、缓冲,即当输入设备输入数据时,先把数据放缓冲区,再给CPU处理。因为CPU处理数据速度与设备传输数据速度不匹配,在输入缓冲区期间CPU可以做其他事情。


为提高设备利用率,用单个缓冲区是不够的,在单个缓冲区下,设备向该缓冲区输入数据直到装满后,必须等到CPU将其取完,才能继续向其中输入数据。用两个缓冲区,设备利用率可提高。多数机子用多缓存技术,例如两个缓冲池,有多个缓冲区,一个是为磁盘块设备准备的,一个是为慢速字符设备准备的。
所有的缓冲区都用链指针链入不同的缓冲区队列,当需要缓冲区时,向操作系统提出请求,操作系统分一块相应的空闲缓冲区供其使用。


4、中断指CPU对系统中的异步事件的响应,异步事件指无一定时序关系的随机发生的时间。中断的定义:当异步事件发生后,打断处理器对当前程序的执行,而转去处理该异步事件,直到处理完该异步事件后,再转回原程序的中断点继续执行。


中断的作用:
1.充分发挥处理器的使用效率。
2.提高系统的实时处理能力。


可屏蔽中断请求:主要是输入输出设备的I/O中断,这种中断可以通过建立在PSW中的中断屏蔽位加以屏蔽。
不可屏蔽中断请求:这种中断主要属于机器故障中断,包括内存奇偶校验错以及掉电使得机器无法继续操作下去等。
初次之外还有程序问题(溢出、除法错等)和软件中断。由中断优先级来管理。


处理器为了能捕获中断信号:在控制部件中增设一个能检测中断的机构,即中断扫描机构。通常在每条指令执行周期内的最后时刻扫描中断寄存器,询问是否有中断到来。


中断分类:
1.机器故障中断:如电源故障,机器电路检验错,内存奇偶校验等。
2.输入输出中断:用以反映输入输出设备和通道的数据传输状态。
3.外部中断:包括时钟中断,操作员控制台中断,多机系统中其他机器的通讯要求。
4.程序中断:如错误地使用指令或数据、溢出等问题,存储保护,虚拟存储管理中的缺页、缺段等。
5.访管中断:用户程序在运行中要请求操作系统为其提供某种功能的服务。


通常具有相同特性和相同优先级的设备可以连到同一中断级(线)上。
若在同一中断级中的多个设备接口中同时都有中断请求时,可以:
1.固定的优先级数:每个设备接口被安排一个不同的、固定的优先数顺序。有些是以设备在总线中的位置来定,离CPU近的设备优先级高于离CPU远的设备。
2.轮转:用一个表,依次轮转相应。


关于CPU处理中断:
1.通常CPU的一个指令周期后,在最后时刻接受中断请求。在大型计算机中是在此时扫描中断寄存器。
2.用向量中断法查找中断请求的设备或中断源。当CPU接受某优先级较高的中断请求时,该设备接口给处理器发送一个具有惟一性的中断向量以标识该设备。


当处理器一旦接受某中断请求时,首先由硬件进行如下操作:
1.将处理器的程序状态字PSW压入堆栈。
2.将指令指针IP即程序代码段的段内相对地址和程序代码段基地址寄存器CS的内容压栈,以保存被中断程序的返回地址。
3.取出被接受的中断请求的中断向量地址(其中包含有中断处理程序的IP,CS的内容),以便转入中断处理程序。
4.按中断向量地址把中断处理程序的程序状态字取出,放入处理器PSW中。


5、时钟是计算机系统中必不可少的元素:
1.在多道程序运行的环境中,它可以为系统发现一个陷入死循环的作业。
2.在分时系统中,用间隔时钟来实现用户作业间按时间片轮转。
3.在实时系统中,按要求的时间间隔输出正确的时间讯号传递给一个实时控制设备。
4.定时地唤醒要求延迟执行的各个外部事件。
5.用作可编程的波特数率发生器。
6.记录用户使用各设备的时间。
7.记录某外部事件发生的时间间隔。
8.提供用户和系统需要的绝对时间,即年月日。


绝对时钟:记录当时的时间(年月日时分秒),以便打印统计报表和日记使用,通过时间寄存器实现。
间隔时钟:又称相对时钟,也是通过时间寄存器实现。由操作员置上时间间隔的初值,以后每经过一个单位时间,时间寄存器减少1,直到值为负数时,促发时钟中断。


6、用户指要计算机为他工作的人,作业是用户要求计算机给以计算的一个相对独立的任务,一个作业可以分成几个必须顺序处理的工作单位(作业步),一个作业步可以分为若干个作业步任务(进程),一个进程有可能要执行多个线程。


7、关于重定位:
关于绝对地址、相对地址、逻辑地址空间:
1.绝对地址是指存储控制部件能够识别的主存单元编号,也就是主存单元的实际地址。
2.相对地址是指相对于某个基准量编制时所使用的地址(个人理解就是地址加上偏移等)。
3.逻辑地址空间指一个被汇编、编译或连接装配后的目标程序所限定的地址的集合。
程序用到数据的地址和实际装载进内存后的地址是不同的,所以重定位是要把程序用到的数据的相对地址转换为实际放入内存后的绝对地址。


静态重定位:程序开始运行前,程序中各于地址有关的项均已重定位完毕。
动态重定位:在处理器每次访问主存时,由动态地址变换机构(硬件)自动进行把相对地址转换为绝对地址。


8、程序运行前,要先把需要用到的过程和子程序装配成完整的大程序(个人理解像调用库函数)来运行。它们很可能不是同一次编译的,所以它们的地址空间还没有建立好联系。这时需要系统来把它们和主程序装配起来。
通常,连接装入程序可分为两类:

绝对装入程序:
在个人计算机中,用户能使用的主存起始地址是可以知道的,这种机器上的编译和汇编程序往往把原程序翻译成绝对地址形式的目标程序。所以只要按其给出的起始地址,依次将程序读入即可。

相对装入程序:
用相对装入程序,把主程序同被其调用的各子程序连接装配成一个大的完整的程序,并装入主存运行。
识别装入程序:
1.对程序中各数据项附加上指示字以说明是否需要重定位。
2.使用一个与该程序相关联的重定位表,依次给出那些需要重定位的数据项。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值